c_src: update
[nit.git] / c_src / parser_nodes.sep.1.c
1 #include "parser_nodes.sep.0.h"
2 /* method parser_nodes#ANode#location for (self: ANode): Location */
3 val* parser_nodes__ANode__location(val* self) {
4 val* var /* : Location */;
5 val* var1 /* : nullable Location */;
6 var1 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on <self:ANode> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Cast failed");
9 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 27);
10 show_backtrace(1);
11 }
12 var = var1;
13 goto RET_LABEL;
14 RET_LABEL:;
15 return var;
16 }
17 /* method parser_nodes#ANode#location for (self: Object): Location */
18 val* VIRTUAL_parser_nodes__ANode__location(val* self) {
19 val* var /* : Location */;
20 val* var1 /* : Location */;
21 var1 = parser_nodes__ANode__location(self);
22 var = var1;
23 RET_LABEL:;
24 return var;
25 }
26 /* method parser_nodes#ANode#hot_location for (self: ANode): Location */
27 val* parser_nodes__ANode__hot_location(val* self) {
28 val* var /* : Location */;
29 val* var1 /* : Location */;
30 {
31 var1 = parser_nodes__ANode__location(self);
32 }
33 var = var1;
34 goto RET_LABEL;
35 RET_LABEL:;
36 return var;
37 }
38 /* method parser_nodes#ANode#hot_location for (self: Object): Location */
39 val* VIRTUAL_parser_nodes__ANode__hot_location(val* self) {
40 val* var /* : Location */;
41 val* var1 /* : Location */;
42 var1 = parser_nodes__ANode__hot_location(self);
43 var = var1;
44 RET_LABEL:;
45 return var;
46 }
47 /* method parser_nodes#ANode#debug for (self: ANode, String) */
48 void parser_nodes__ANode__debug(val* self, val* p0) {
49 val* var_message /* var message: String */;
50 val* var /* : Sys */;
51 val* var2 /* : Sys */;
52 val* var3 /* : OStream */;
53 val* var5 /* : OStream */;
54 val* var6 /* : Location */;
55 static val* varonce;
56 val* var7 /* : String */;
57 char* var8 /* : NativeString */;
58 long var9 /* : Int */;
59 val* var10 /* : FlatString */;
60 val* var11 /* : String */;
61 static val* varonce12;
62 val* var13 /* : String */;
63 char* var14 /* : NativeString */;
64 long var15 /* : Int */;
65 val* var16 /* : FlatString */;
66 static val* varonce17;
67 val* var18 /* : String */;
68 char* var19 /* : NativeString */;
69 long var20 /* : Int */;
70 val* var21 /* : FlatString */;
71 val* var22 /* : Location */;
72 static val* varonce23;
73 val* var24 /* : String */;
74 char* var25 /* : NativeString */;
75 long var26 /* : Int */;
76 val* var27 /* : FlatString */;
77 val* var28 /* : String */;
78 static val* varonce29;
79 val* var30 /* : String */;
80 char* var31 /* : NativeString */;
81 long var32 /* : Int */;
82 val* var33 /* : FlatString */;
83 val* var34 /* : Array[Object] */;
84 long var35 /* : Int */;
85 val* var36 /* : NativeArray[Object] */;
86 val* var37 /* : String */;
87 var_message = p0;
88 {
89 { /* Inline kernel#Object#sys (self) on <self:ANode> */
90 var2 = glob_sys;
91 var = var2;
92 goto RET_LABEL1;
93 RET_LABEL1:(void)0;
94 }
95 }
96 {
97 { /* Inline file#Sys#stderr (var) on <var:Sys> */
98 var5 = var->attrs[COLOR_file__Sys___stderr].val; /* _stderr on <var:Sys> */
99 if (unlikely(var5 == NULL)) {
100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr");
101 PRINT_ERROR(" (%s:%d)\n", "lib/standard/file.nit", 533);
102 show_backtrace(1);
103 }
104 var3 = var5;
105 RET_LABEL4:(void)0;
106 }
107 }
108 {
109 var6 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__hot_location]))(self) /* hot_location on <self:ANode>*/;
110 }
111 if (varonce) {
112 var7 = varonce;
113 } else {
114 var8 = " ";
115 var9 = 1;
116 var10 = string__NativeString__to_s_with_length(var8, var9);
117 var7 = var10;
118 varonce = var7;
119 }
120 {
121 var11 = string__Object__class_name(self);
122 }
123 if (varonce12) {
124 var13 = varonce12;
125 } else {
126 var14 = ": ";
127 var15 = 2;
128 var16 = string__NativeString__to_s_with_length(var14, var15);
129 var13 = var16;
130 varonce12 = var13;
131 }
132 if (varonce17) {
133 var18 = varonce17;
134 } else {
135 var19 = "\n";
136 var20 = 1;
137 var21 = string__NativeString__to_s_with_length(var19, var20);
138 var18 = var21;
139 varonce17 = var18;
140 }
141 {
142 var22 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__hot_location]))(self) /* hot_location on <self:ANode>*/;
143 }
144 if (varonce23) {
145 var24 = varonce23;
146 } else {
147 var25 = "0;32";
148 var26 = 4;
149 var27 = string__NativeString__to_s_with_length(var25, var26);
150 var24 = var27;
151 varonce23 = var24;
152 }
153 {
154 var28 = location__Location__colored_line(var22, var24);
155 }
156 if (varonce29) {
157 var30 = varonce29;
158 } else {
159 var31 = "\n";
160 var32 = 1;
161 var33 = string__NativeString__to_s_with_length(var31, var32);
162 var30 = var33;
163 varonce29 = var30;
164 }
165 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
166 { /* var34 = array_instance Array[Object] */
167 var35 = 8;
168 var36 = NEW_array__NativeArray(var35, &type_array__NativeArraykernel__Object);
169 ((struct instance_array__NativeArray*)var36)->values[0] = (val*) var6;
170 ((struct instance_array__NativeArray*)var36)->values[1] = (val*) var7;
171 ((struct instance_array__NativeArray*)var36)->values[2] = (val*) var11;
172 ((struct instance_array__NativeArray*)var36)->values[3] = (val*) var13;
173 ((struct instance_array__NativeArray*)var36)->values[4] = (val*) var_message;
174 ((struct instance_array__NativeArray*)var36)->values[5] = (val*) var18;
175 ((struct instance_array__NativeArray*)var36)->values[6] = (val*) var28;
176 ((struct instance_array__NativeArray*)var36)->values[7] = (val*) var30;
177 {
178 ((void (*)(val*, val*, long))(var34->class->vft[COLOR_array__Array__with_native]))(var34, var36, var35) /* with_native on <var34:Array[Object]>*/;
179 }
180 }
181 {
182 var37 = ((val* (*)(val*))(var34->class->vft[COLOR_string__Object__to_s]))(var34) /* to_s on <var34:Array[Object]>*/;
183 }
184 {
185 file__OFStream__write(var3, var37); /* Direct call file#OFStream#write on <var3:OStream>*/
186 }
187 RET_LABEL:;
188 }
189 /* method parser_nodes#ANode#debug for (self: Object, String) */
190 void VIRTUAL_parser_nodes__ANode__debug(val* self, val* p0) {
191 parser_nodes__ANode__debug(self, p0); /* Direct call parser_nodes#ANode#debug on <self:Object(ANode)>*/
192 RET_LABEL:;
193 }
194 /* method parser_nodes#ANode#parent for (self: ANode): nullable ANode */
195 val* parser_nodes__ANode__parent(val* self) {
196 val* var /* : nullable ANode */;
197 val* var1 /* : nullable ANode */;
198 var1 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on <self:ANode> */
199 var = var1;
200 RET_LABEL:;
201 return var;
202 }
203 /* method parser_nodes#ANode#parent for (self: Object): nullable ANode */
204 val* VIRTUAL_parser_nodes__ANode__parent(val* self) {
205 val* var /* : nullable ANode */;
206 val* var1 /* : nullable ANode */;
207 val* var3 /* : nullable ANode */;
208 { /* Inline parser_nodes#ANode#parent (self) on <self:Object(ANode)> */
209 var3 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on <self:Object(ANode)> */
210 var1 = var3;
211 RET_LABEL2:(void)0;
212 }
213 var = var1;
214 RET_LABEL:;
215 return var;
216 }
217 /* method parser_nodes#ANode#parent= for (self: ANode, nullable ANode) */
218 void parser_nodes__ANode__parent_61d(val* self, val* p0) {
219 self->attrs[COLOR_parser_nodes__ANode___parent].val = p0; /* _parent on <self:ANode> */
220 RET_LABEL:;
221 }
222 /* method parser_nodes#ANode#parent= for (self: Object, nullable ANode) */
223 void VIRTUAL_parser_nodes__ANode__parent_61d(val* self, val* p0) {
224 { /* Inline parser_nodes#ANode#parent= (self,p0) on <self:Object(ANode)> */
225 self->attrs[COLOR_parser_nodes__ANode___parent].val = p0; /* _parent on <self:Object(ANode)> */
226 RET_LABEL1:(void)0;
227 }
228 RET_LABEL:;
229 }
230 /* method parser_nodes#ANode#init for (self: ANode) */
231 void parser_nodes__ANode__init(val* self) {
232 RET_LABEL:;
233 }
234 /* method parser_nodes#ANode#init for (self: Object) */
235 void VIRTUAL_parser_nodes__ANode__init(val* self) {
236 { /* Inline parser_nodes#ANode#init (self) on <self:Object(ANode)> */
237 RET_LABEL1:(void)0;
238 }
239 RET_LABEL:;
240 }
241 /* method parser_nodes#ANode#replace_child for (self: ANode, ANode, nullable ANode) */
242 void parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
243 const char* var_class_name;
244 var_class_name = self == NULL ? "null" : self->type->name;
245 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "replace_child", var_class_name);
246 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 96);
247 show_backtrace(1);
248 RET_LABEL:;
249 }
250 /* method parser_nodes#ANode#replace_child for (self: Object, ANode, nullable ANode) */
251 void VIRTUAL_parser_nodes__ANode__replace_child(val* self, val* p0, val* p1) {
252 const char* var_class_name;
253 { /* Inline parser_nodes#ANode#replace_child (self,p0,p1) on <self:Object(ANode)> */
254 var_class_name = self == NULL ? "null" : self->type->name;
255 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "replace_child", var_class_name);
256 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 96);
257 show_backtrace(1);
258 RET_LABEL1:(void)0;
259 }
260 RET_LABEL:;
261 }
262 /* method parser_nodes#ANode#replace_with for (self: ANode, ANode) */
263 void parser_nodes__ANode__replace_with(val* self, val* p0) {
264 val* var_node /* var node: ANode */;
265 val* var /* : nullable ANode */;
266 val* var2 /* : nullable ANode */;
267 val* var3 /* : null */;
268 short int var4 /* : Bool */;
269 short int var5 /* : Bool */;
270 val* var_other /* var other: nullable Object */;
271 short int var7 /* : Bool */;
272 short int var8 /* : Bool */;
273 short int var9 /* : Bool */;
274 val* var10 /* : nullable ANode */;
275 val* var12 /* : nullable ANode */;
276 val* var13 /* : null */;
277 var_node = p0;
278 {
279 { /* Inline parser_nodes#ANode#parent (self) on <self:ANode> */
280 var2 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on <self:ANode> */
281 var = var2;
282 RET_LABEL1:(void)0;
283 }
284 }
285 var3 = NULL;
286 if (var == NULL) {
287 var4 = 0; /* is null */
288 } else {
289 var4 = 1; /* arg is null and recv is not */
290 }
291 if (0) {
292 { /* Inline kernel#Object#!= (var,var3) on <var:nullable ANode> */
293 var_other = var3;
294 {
295 var8 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_other) /* == on <var:nullable ANode(ANode)>*/;
296 var7 = var8;
297 }
298 var9 = !var7;
299 var5 = var9;
300 goto RET_LABEL6;
301 RET_LABEL6:(void)0;
302 }
303 var4 = var5;
304 }
305 if (unlikely(!var4)) {
306 PRINT_ERROR("Runtime error: %s", "Assert failed");
307 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 117);
308 show_backtrace(1);
309 }
310 {
311 { /* Inline parser_nodes#ANode#parent (self) on <self:ANode> */
312 var12 = self->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on <self:ANode> */
313 var10 = var12;
314 RET_LABEL11:(void)0;
315 }
316 }
317 if (var10 == NULL) {
318 PRINT_ERROR("Runtime error: %s", "Receiver is null");
319 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 118);
320 show_backtrace(1);
321 } else {
322 ((void (*)(val*, val*, val*))(var10->class->vft[COLOR_parser_nodes__ANode__replace_child]))(var10, self, var_node) /* replace_child on <var10:nullable ANode>*/;
323 }
324 var13 = NULL;
325 {
326 { /* Inline parser_nodes#ANode#parent= (self,var13) on <self:ANode> */
327 self->attrs[COLOR_parser_nodes__ANode___parent].val = var13; /* _parent on <self:ANode> */
328 RET_LABEL14:(void)0;
329 }
330 }
331 RET_LABEL:;
332 }
333 /* method parser_nodes#ANode#replace_with for (self: Object, ANode) */
334 void VIRTUAL_parser_nodes__ANode__replace_with(val* self, val* p0) {
335 parser_nodes__ANode__replace_with(self, p0); /* Direct call parser_nodes#ANode#replace_with on <self:Object(ANode)>*/
336 RET_LABEL:;
337 }
338 /* method parser_nodes#ANode#visit_all for (self: ANode, Visitor) */
339 void parser_nodes__ANode__visit_all(val* self, val* p0) {
340 const char* var_class_name;
341 var_class_name = self == NULL ? "null" : self->type->name;
342 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "visit_all", var_class_name);
343 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 122);
344 show_backtrace(1);
345 RET_LABEL:;
346 }
347 /* method parser_nodes#ANode#visit_all for (self: Object, Visitor) */
348 void VIRTUAL_parser_nodes__ANode__visit_all(val* self, val* p0) {
349 const char* var_class_name;
350 { /* Inline parser_nodes#ANode#visit_all (self,p0) on <self:Object(ANode)> */
351 var_class_name = self == NULL ? "null" : self->type->name;
352 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "visit_all", var_class_name);
353 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 122);
354 show_backtrace(1);
355 RET_LABEL1:(void)0;
356 }
357 RET_LABEL:;
358 }
359 /* method parser_nodes#ANodes#parent for (self: ANodes[ANode]): ANode */
360 val* parser_nodes__ANodes__parent(val* self) {
361 val* var /* : ANode */;
362 val* var1 /* : ANode */;
363 var1 = self->attrs[COLOR_parser_nodes__ANodes___parent].val; /* _parent on <self:ANodes[ANode]> */
364 if (unlikely(var1 == NULL)) {
365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parent");
366 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 131);
367 show_backtrace(1);
368 }
369 var = var1;
370 RET_LABEL:;
371 return var;
372 }
373 /* method parser_nodes#ANodes#parent for (self: Object): ANode */
374 val* VIRTUAL_parser_nodes__ANodes__parent(val* self) {
375 val* var /* : ANode */;
376 val* var1 /* : ANode */;
377 val* var3 /* : ANode */;
378 { /* Inline parser_nodes#ANodes#parent (self) on <self:Object(ANodes[ANode])> */
379 var3 = self->attrs[COLOR_parser_nodes__ANodes___parent].val; /* _parent on <self:Object(ANodes[ANode])> */
380 if (unlikely(var3 == NULL)) {
381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parent");
382 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 131);
383 show_backtrace(1);
384 }
385 var1 = var3;
386 RET_LABEL2:(void)0;
387 }
388 var = var1;
389 RET_LABEL:;
390 return var;
391 }
392 /* method parser_nodes#ANodes#items for (self: ANodes[ANode]): Array[ANode] */
393 val* parser_nodes__ANodes__items(val* self) {
394 val* var /* : Array[ANode] */;
395 val* var1 /* : Array[ANode] */;
396 var1 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
397 if (unlikely(var1 == NULL)) {
398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
399 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
400 show_backtrace(1);
401 }
402 var = var1;
403 RET_LABEL:;
404 return var;
405 }
406 /* method parser_nodes#ANodes#items for (self: Object): Array[ANode] */
407 val* VIRTUAL_parser_nodes__ANodes__items(val* self) {
408 val* var /* : Array[ANode] */;
409 val* var1 /* : Array[ANode] */;
410 val* var3 /* : Array[ANode] */;
411 { /* Inline parser_nodes#ANodes#items (self) on <self:Object(ANodes[ANode])> */
412 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:Object(ANodes[ANode])> */
413 if (unlikely(var3 == NULL)) {
414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
415 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
416 show_backtrace(1);
417 }
418 var1 = var3;
419 RET_LABEL2:(void)0;
420 }
421 var = var1;
422 RET_LABEL:;
423 return var;
424 }
425 /* method parser_nodes#ANodes#iterator for (self: ANodes[ANode]): Iterator[ANode] */
426 val* parser_nodes__ANodes__iterator(val* self) {
427 val* var /* : Iterator[ANode] */;
428 val* var1 /* : Array[ANode] */;
429 val* var3 /* : Array[ANode] */;
430 val* var4 /* : ArrayIterator[nullable Object] */;
431 {
432 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
433 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
434 if (unlikely(var3 == NULL)) {
435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
436 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
437 show_backtrace(1);
438 }
439 var1 = var3;
440 RET_LABEL2:(void)0;
441 }
442 }
443 {
444 var4 = array__AbstractArrayRead__iterator(var1);
445 }
446 var = var4;
447 goto RET_LABEL;
448 RET_LABEL:;
449 return var;
450 }
451 /* method parser_nodes#ANodes#iterator for (self: Object): Iterator[nullable Object] */
452 val* VIRTUAL_parser_nodes__ANodes__iterator(val* self) {
453 val* var /* : Iterator[nullable Object] */;
454 val* var1 /* : Iterator[ANode] */;
455 var1 = parser_nodes__ANodes__iterator(self);
456 var = var1;
457 RET_LABEL:;
458 return var;
459 }
460 /* method parser_nodes#ANodes#length for (self: ANodes[ANode]): Int */
461 long parser_nodes__ANodes__length(val* self) {
462 long var /* : Int */;
463 val* var1 /* : Array[ANode] */;
464 val* var3 /* : Array[ANode] */;
465 long var4 /* : Int */;
466 {
467 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
468 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
469 if (unlikely(var3 == NULL)) {
470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
471 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
472 show_backtrace(1);
473 }
474 var1 = var3;
475 RET_LABEL2:(void)0;
476 }
477 }
478 {
479 var4 = array__AbstractArrayRead__length(var1);
480 }
481 var = var4;
482 goto RET_LABEL;
483 RET_LABEL:;
484 return var;
485 }
486 /* method parser_nodes#ANodes#length for (self: Object): Int */
487 long VIRTUAL_parser_nodes__ANodes__length(val* self) {
488 long var /* : Int */;
489 long var1 /* : Int */;
490 var1 = parser_nodes__ANodes__length(self);
491 var = var1;
492 RET_LABEL:;
493 return var;
494 }
495 /* method parser_nodes#ANodes#is_empty for (self: ANodes[ANode]): Bool */
496 short int parser_nodes__ANodes__is_empty(val* self) {
497 short int var /* : Bool */;
498 val* var1 /* : Array[ANode] */;
499 val* var3 /* : Array[ANode] */;
500 short int var4 /* : Bool */;
501 {
502 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
503 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
504 if (unlikely(var3 == NULL)) {
505 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
506 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
507 show_backtrace(1);
508 }
509 var1 = var3;
510 RET_LABEL2:(void)0;
511 }
512 }
513 {
514 var4 = array__AbstractArrayRead__is_empty(var1);
515 }
516 var = var4;
517 goto RET_LABEL;
518 RET_LABEL:;
519 return var;
520 }
521 /* method parser_nodes#ANodes#is_empty for (self: Object): Bool */
522 short int VIRTUAL_parser_nodes__ANodes__is_empty(val* self) {
523 short int var /* : Bool */;
524 short int var1 /* : Bool */;
525 var1 = parser_nodes__ANodes__is_empty(self);
526 var = var1;
527 RET_LABEL:;
528 return var;
529 }
530 /* method parser_nodes#ANodes#push for (self: ANodes[ANode], ANode) */
531 void parser_nodes__ANodes__push(val* self, val* p0) {
532 short int var /* : Bool */;
533 int cltype;
534 int idtype;
535 const struct type* type_struct;
536 const char* var_class_name;
537 val* var_e /* var e: ANode */;
538 val* var1 /* : Array[ANode] */;
539 val* var3 /* : Array[ANode] */;
540 /* Covariant cast for argument 0 (e) <p0:ANode> isa Sequence#0 */
541 /* <p0:ANode> isa Sequence#0 */
542 type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0];
543 cltype = type_struct->color;
544 idtype = type_struct->id;
545 if(cltype >= p0->type->table_size) {
546 var = 0;
547 } else {
548 var = p0->type->type_table[cltype] == idtype;
549 }
550 if (unlikely(!var)) {
551 var_class_name = p0 == NULL ? "null" : p0->type->name;
552 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name);
553 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 136);
554 show_backtrace(1);
555 }
556 var_e = p0;
557 {
558 parser_nodes__ANodes__hook_add(self, var_e); /* Direct call parser_nodes#ANodes#hook_add on <self:ANodes[ANode]>*/
559 }
560 {
561 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
562 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
563 if (unlikely(var3 == NULL)) {
564 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
565 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
566 show_backtrace(1);
567 }
568 var1 = var3;
569 RET_LABEL2:(void)0;
570 }
571 }
572 {
573 array__AbstractArray__push(var1, var_e); /* Direct call array#AbstractArray#push on <var1:Array[ANode]>*/
574 }
575 RET_LABEL:;
576 }
577 /* method parser_nodes#ANodes#push for (self: Object, nullable Object) */
578 void VIRTUAL_parser_nodes__ANodes__push(val* self, val* p0) {
579 parser_nodes__ANodes__push(self, p0); /* Direct call parser_nodes#ANodes#push on <self:Object(ANodes[ANode])>*/
580 RET_LABEL:;
581 }
582 /* method parser_nodes#ANodes#pop for (self: ANodes[ANode]): ANode */
583 val* parser_nodes__ANodes__pop(val* self) {
584 val* var /* : ANode */;
585 val* var1 /* : Array[ANode] */;
586 val* var3 /* : Array[ANode] */;
587 val* var4 /* : nullable Object */;
588 val* var_res /* var res: ANode */;
589 {
590 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
591 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
592 if (unlikely(var3 == NULL)) {
593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
594 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
595 show_backtrace(1);
596 }
597 var1 = var3;
598 RET_LABEL2:(void)0;
599 }
600 }
601 {
602 var4 = array__AbstractArray__pop(var1);
603 }
604 var_res = var4;
605 {
606 parser_nodes__ANodes__hook_remove(self, var_res); /* Direct call parser_nodes#ANodes#hook_remove on <self:ANodes[ANode]>*/
607 }
608 var = var_res;
609 goto RET_LABEL;
610 RET_LABEL:;
611 return var;
612 }
613 /* method parser_nodes#ANodes#pop for (self: Object): nullable Object */
614 val* VIRTUAL_parser_nodes__ANodes__pop(val* self) {
615 val* var /* : nullable Object */;
616 val* var1 /* : ANode */;
617 var1 = parser_nodes__ANodes__pop(self);
618 var = var1;
619 RET_LABEL:;
620 return var;
621 }
622 /* method parser_nodes#ANodes#unshift for (self: ANodes[ANode], ANode) */
623 void parser_nodes__ANodes__unshift(val* self, val* p0) {
624 short int var /* : Bool */;
625 int cltype;
626 int idtype;
627 const struct type* type_struct;
628 const char* var_class_name;
629 val* var_e /* var e: ANode */;
630 val* var1 /* : Array[ANode] */;
631 val* var3 /* : Array[ANode] */;
632 /* Covariant cast for argument 0 (e) <p0:ANode> isa Sequence#0 */
633 /* <p0:ANode> isa Sequence#0 */
634 type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0];
635 cltype = type_struct->color;
636 idtype = type_struct->id;
637 if(cltype >= p0->type->table_size) {
638 var = 0;
639 } else {
640 var = p0->type->type_table[cltype] == idtype;
641 }
642 if (unlikely(!var)) {
643 var_class_name = p0 == NULL ? "null" : p0->type->name;
644 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name);
645 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 147);
646 show_backtrace(1);
647 }
648 var_e = p0;
649 {
650 parser_nodes__ANodes__hook_add(self, var_e); /* Direct call parser_nodes#ANodes#hook_add on <self:ANodes[ANode]>*/
651 }
652 {
653 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
654 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
655 if (unlikely(var3 == NULL)) {
656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
657 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
658 show_backtrace(1);
659 }
660 var1 = var3;
661 RET_LABEL2:(void)0;
662 }
663 }
664 {
665 array__AbstractArray__unshift(var1, var_e); /* Direct call array#AbstractArray#unshift on <var1:Array[ANode]>*/
666 }
667 RET_LABEL:;
668 }
669 /* method parser_nodes#ANodes#unshift for (self: Object, nullable Object) */
670 void VIRTUAL_parser_nodes__ANodes__unshift(val* self, val* p0) {
671 parser_nodes__ANodes__unshift(self, p0); /* Direct call parser_nodes#ANodes#unshift on <self:Object(ANodes[ANode])>*/
672 RET_LABEL:;
673 }
674 /* method parser_nodes#ANodes#shift for (self: ANodes[ANode]): ANode */
675 val* parser_nodes__ANodes__shift(val* self) {
676 val* var /* : ANode */;
677 val* var1 /* : Array[ANode] */;
678 val* var3 /* : Array[ANode] */;
679 val* var4 /* : nullable Object */;
680 val* var_res /* var res: ANode */;
681 {
682 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
683 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
684 if (unlikely(var3 == NULL)) {
685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
686 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
687 show_backtrace(1);
688 }
689 var1 = var3;
690 RET_LABEL2:(void)0;
691 }
692 }
693 {
694 var4 = array__AbstractArray__shift(var1);
695 }
696 var_res = var4;
697 {
698 parser_nodes__ANodes__hook_remove(self, var_res); /* Direct call parser_nodes#ANodes#hook_remove on <self:ANodes[ANode]>*/
699 }
700 var = var_res;
701 goto RET_LABEL;
702 RET_LABEL:;
703 return var;
704 }
705 /* method parser_nodes#ANodes#shift for (self: Object): nullable Object */
706 val* VIRTUAL_parser_nodes__ANodes__shift(val* self) {
707 val* var /* : nullable Object */;
708 val* var1 /* : ANode */;
709 var1 = parser_nodes__ANodes__shift(self);
710 var = var1;
711 RET_LABEL:;
712 return var;
713 }
714 /* method parser_nodes#ANodes#has for (self: ANodes[ANode], ANode): Bool */
715 short int parser_nodes__ANodes__has(val* self, val* p0) {
716 short int var /* : Bool */;
717 short int var1 /* : Bool */;
718 int cltype;
719 int idtype;
720 const struct type* type_struct;
721 const char* var_class_name;
722 val* var_e /* var e: ANode */;
723 val* var2 /* : Array[ANode] */;
724 val* var4 /* : Array[ANode] */;
725 short int var5 /* : Bool */;
726 /* Covariant cast for argument 0 (e) <p0:ANode> isa Collection#0 */
727 /* <p0:ANode> isa Collection#0 */
728 type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Collection_FT0];
729 cltype = type_struct->color;
730 idtype = type_struct->id;
731 if(cltype >= p0->type->table_size) {
732 var1 = 0;
733 } else {
734 var1 = p0->type->type_table[cltype] == idtype;
735 }
736 if (unlikely(!var1)) {
737 var_class_name = p0 == NULL ? "null" : p0->type->name;
738 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name);
739 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 158);
740 show_backtrace(1);
741 }
742 var_e = p0;
743 {
744 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
745 var4 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
746 if (unlikely(var4 == NULL)) {
747 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
748 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
749 show_backtrace(1);
750 }
751 var2 = var4;
752 RET_LABEL3:(void)0;
753 }
754 }
755 {
756 var5 = array__AbstractArrayRead__has(var2, var_e);
757 }
758 var = var5;
759 goto RET_LABEL;
760 RET_LABEL:;
761 return var;
762 }
763 /* method parser_nodes#ANodes#has for (self: Object, nullable Object): Bool */
764 short int VIRTUAL_parser_nodes__ANodes__has(val* self, val* p0) {
765 short int var /* : Bool */;
766 short int var1 /* : Bool */;
767 var1 = parser_nodes__ANodes__has(self, p0);
768 var = var1;
769 RET_LABEL:;
770 return var;
771 }
772 /* method parser_nodes#ANodes#[] for (self: ANodes[ANode], Int): ANode */
773 val* parser_nodes__ANodes___91d_93d(val* self, long p0) {
774 val* var /* : ANode */;
775 long var_index /* var index: Int */;
776 val* var1 /* : Array[ANode] */;
777 val* var3 /* : Array[ANode] */;
778 val* var4 /* : nullable Object */;
779 var_index = p0;
780 {
781 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
782 var3 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
783 if (unlikely(var3 == NULL)) {
784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
785 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
786 show_backtrace(1);
787 }
788 var1 = var3;
789 RET_LABEL2:(void)0;
790 }
791 }
792 {
793 var4 = array__Array___91d_93d(var1, var_index);
794 }
795 var = var4;
796 goto RET_LABEL;
797 RET_LABEL:;
798 return var;
799 }
800 /* method parser_nodes#ANodes#[] for (self: Object, Int): nullable Object */
801 val* VIRTUAL_parser_nodes__ANodes___91d_93d(val* self, long p0) {
802 val* var /* : nullable Object */;
803 val* var1 /* : ANode */;
804 var1 = parser_nodes__ANodes___91d_93d(self, p0);
805 var = var1;
806 RET_LABEL:;
807 return var;
808 }
809 /* method parser_nodes#ANodes#[]= for (self: ANodes[ANode], Int, ANode) */
810 void parser_nodes__ANodes___91d_93d_61d(val* self, long p0, val* p1) {
811 short int var /* : Bool */;
812 int cltype;
813 int idtype;
814 const struct type* type_struct;
815 const char* var_class_name;
816 long var_index /* var index: Int */;
817 val* var_e /* var e: ANode */;
818 val* var1 /* : ANode */;
819 val* var2 /* : Array[ANode] */;
820 val* var4 /* : Array[ANode] */;
821 /* Covariant cast for argument 1 (e) <p1:ANode> isa Sequence#0 */
822 /* <p1:ANode> isa Sequence#0 */
823 type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0];
824 cltype = type_struct->color;
825 idtype = type_struct->id;
826 if(cltype >= p1->type->table_size) {
827 var = 0;
828 } else {
829 var = p1->type->type_table[cltype] == idtype;
830 }
831 if (unlikely(!var)) {
832 var_class_name = p1 == NULL ? "null" : p1->type->name;
833 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name);
834 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 166);
835 show_backtrace(1);
836 }
837 var_index = p0;
838 var_e = p1;
839 {
840 var1 = parser_nodes__ANodes___91d_93d(self, var_index);
841 }
842 {
843 parser_nodes__ANodes__hook_remove(self, var1); /* Direct call parser_nodes#ANodes#hook_remove on <self:ANodes[ANode]>*/
844 }
845 {
846 parser_nodes__ANodes__hook_add(self, var_e); /* Direct call parser_nodes#ANodes#hook_add on <self:ANodes[ANode]>*/
847 }
848 {
849 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
850 var4 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
851 if (unlikely(var4 == NULL)) {
852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
853 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
854 show_backtrace(1);
855 }
856 var2 = var4;
857 RET_LABEL3:(void)0;
858 }
859 }
860 {
861 array__Array___91d_93d_61d(var2, var_index, var_e); /* Direct call array#Array#[]= on <var2:Array[ANode]>*/
862 }
863 RET_LABEL:;
864 }
865 /* method parser_nodes#ANodes#[]= for (self: Object, Int, nullable Object) */
866 void VIRTUAL_parser_nodes__ANodes___91d_93d_61d(val* self, long p0, val* p1) {
867 parser_nodes__ANodes___91d_93d_61d(self, p0, p1); /* Direct call parser_nodes#ANodes#[]= on <self:Object(ANodes[ANode])>*/
868 RET_LABEL:;
869 }
870 /* method parser_nodes#ANodes#remove_at for (self: ANodes[ANode], Int) */
871 void parser_nodes__ANodes__remove_at(val* self, long p0) {
872 long var_index /* var index: Int */;
873 val* var /* : Array[ANode] */;
874 val* var2 /* : Array[ANode] */;
875 val* var3 /* : nullable Object */;
876 val* var4 /* : Array[ANode] */;
877 val* var6 /* : Array[ANode] */;
878 var_index = p0;
879 {
880 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
881 var2 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
882 if (unlikely(var2 == NULL)) {
883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
884 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
885 show_backtrace(1);
886 }
887 var = var2;
888 RET_LABEL1:(void)0;
889 }
890 }
891 {
892 var3 = array__Array___91d_93d(var, var_index);
893 }
894 {
895 parser_nodes__ANodes__hook_remove(self, var3); /* Direct call parser_nodes#ANodes#hook_remove on <self:ANodes[ANode]>*/
896 }
897 {
898 { /* Inline parser_nodes#ANodes#items (self) on <self:ANodes[ANode]> */
899 var6 = self->attrs[COLOR_parser_nodes__ANodes___items].val; /* _items on <self:ANodes[ANode]> */
900 if (unlikely(var6 == NULL)) {
901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
902 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 132);
903 show_backtrace(1);
904 }
905 var4 = var6;
906 RET_LABEL5:(void)0;
907 }
908 }
909 {
910 array__AbstractArray__remove_at(var4, var_index); /* Direct call array#AbstractArray#remove_at on <var4:Array[ANode]>*/
911 }
912 RET_LABEL:;
913 }
914 /* method parser_nodes#ANodes#remove_at for (self: Object, Int) */
915 void VIRTUAL_parser_nodes__ANodes__remove_at(val* self, long p0) {
916 parser_nodes__ANodes__remove_at(self, p0); /* Direct call parser_nodes#ANodes#remove_at on <self:Object(ANodes[ANode])>*/
917 RET_LABEL:;
918 }
919 /* method parser_nodes#ANodes#hook_add for (self: ANodes[ANode], ANode) */
920 void parser_nodes__ANodes__hook_add(val* self, val* p0) {
921 short int var /* : Bool */;
922 int cltype;
923 int idtype;
924 const struct type* type_struct;
925 const char* var_class_name;
926 val* var_e /* var e: ANode */;
927 val* var1 /* : ANode */;
928 val* var3 /* : ANode */;
929 /* Covariant cast for argument 0 (e) <p0:ANode> isa ANodes#0 */
930 /* <p0:ANode> isa ANodes#0 */
931 type_struct = self->type->resolution_table->types[COLOR_parser_nodes__ANodes_FT0];
932 cltype = type_struct->color;
933 idtype = type_struct->id;
934 if(cltype >= p0->type->table_size) {
935 var = 0;
936 } else {
937 var = p0->type->type_table[cltype] == idtype;
938 }
939 if (unlikely(!var)) {
940 var_class_name = p0 == NULL ? "null" : p0->type->name;
941 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ANodes#0", var_class_name);
942 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 177);
943 show_backtrace(1);
944 }
945 var_e = p0;
946 {
947 { /* Inline parser_nodes#ANodes#parent (self) on <self:ANodes[ANode]> */
948 var3 = self->attrs[COLOR_parser_nodes__ANodes___parent].val; /* _parent on <self:ANodes[ANode]> */
949 if (unlikely(var3 == NULL)) {
950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parent");
951 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 131);
952 show_backtrace(1);
953 }
954 var1 = var3;
955 RET_LABEL2:(void)0;
956 }
957 }
958 {
959 { /* Inline parser_nodes#ANode#parent= (var_e,var1) on <var_e:ANode> */
960 var_e->attrs[COLOR_parser_nodes__ANode___parent].val = var1; /* _parent on <var_e:ANode> */
961 RET_LABEL4:(void)0;
962 }
963 }
964 RET_LABEL:;
965 }
966 /* method parser_nodes#ANodes#hook_add for (self: Object, ANode) */
967 void VIRTUAL_parser_nodes__ANodes__hook_add(val* self, val* p0) {
968 parser_nodes__ANodes__hook_add(self, p0); /* Direct call parser_nodes#ANodes#hook_add on <self:Object(ANodes[ANode])>*/
969 RET_LABEL:;
970 }
971 /* method parser_nodes#ANodes#hook_remove for (self: ANodes[ANode], ANode) */
972 void parser_nodes__ANodes__hook_remove(val* self, val* p0) {
973 short int var /* : Bool */;
974 int cltype;
975 int idtype;
976 const struct type* type_struct;
977 const char* var_class_name;
978 val* var_e /* var e: ANode */;
979 val* var1 /* : nullable ANode */;
980 val* var3 /* : nullable ANode */;
981 val* var4 /* : ANode */;
982 val* var6 /* : ANode */;
983 short int var7 /* : Bool */;
984 short int var8 /* : Bool */;
985 val* var_other /* var other: nullable Object */;
986 short int var10 /* : Bool */;
987 short int var12 /* : Bool */;
988 val* var13 /* : null */;
989 /* Covariant cast for argument 0 (e) <p0:ANode> isa ANodes#0 */
990 /* <p0:ANode> isa ANodes#0 */
991 type_struct = self->type->resolution_table->types[COLOR_parser_nodes__ANodes_FT0];
992 cltype = type_struct->color;
993 idtype = type_struct->id;
994 if(cltype >= p0->type->table_size) {
995 var = 0;
996 } else {
997 var = p0->type->type_table[cltype] == idtype;
998 }
999 if (unlikely(!var)) {
1000 var_class_name = p0 == NULL ? "null" : p0->type->name;
1001 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ANodes#0", var_class_name);
1002 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 182);
1003 show_backtrace(1);
1004 }
1005 var_e = p0;
1006 {
1007 { /* Inline parser_nodes#ANode#parent (var_e) on <var_e:ANode> */
1008 var3 = var_e->attrs[COLOR_parser_nodes__ANode___parent].val; /* _parent on <var_e:ANode> */
1009 var1 = var3;
1010 RET_LABEL2:(void)0;
1011 }
1012 }
1013 {
1014 { /* Inline parser_nodes#ANodes#parent (self) on <self:ANodes[ANode]> */
1015 var6 = self->attrs[COLOR_parser_nodes__ANodes___parent].val; /* _parent on <self:ANodes[ANode]> */
1016 if (unlikely(var6 == NULL)) {
1017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parent");
1018 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 131);
1019 show_backtrace(1);
1020 }
1021 var4 = var6;
1022 RET_LABEL5:(void)0;
1023 }
1024 }
1025 if (var1 == NULL) {
1026 var7 = 0; /* <var4:ANode> cannot be null */
1027 } else {
1028 { /* Inline kernel#Object#== (var1,var4) on <var1:nullable ANode> */
1029 var_other = var4;
1030 {
1031 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable ANode(ANode)> */
1032 var12 = var1 == var_other;
1033 var10 = var12;
1034 goto RET_LABEL11;
1035 RET_LABEL11:(void)0;
1036 }
1037 }
1038 var8 = var10;
1039 goto RET_LABEL9;
1040 RET_LABEL9:(void)0;
1041 }
1042 var7 = var8;
1043 }
1044 if (unlikely(!var7)) {
1045 PRINT_ERROR("Runtime error: %s", "Assert failed");
1046 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 184);
1047 show_backtrace(1);
1048 }
1049 var13 = NULL;
1050 {
1051 { /* Inline parser_nodes#ANode#parent= (var_e,var13) on <var_e:ANode> */
1052 var_e->attrs[COLOR_parser_nodes__ANode___parent].val = var13; /* _parent on <var_e:ANode> */
1053 RET_LABEL14:(void)0;
1054 }
1055 }
1056 RET_LABEL:;
1057 }
1058 /* method parser_nodes#ANodes#hook_remove for (self: Object, ANode) */
1059 void VIRTUAL_parser_nodes__ANodes__hook_remove(val* self, val* p0) {
1060 parser_nodes__ANodes__hook_remove(self, p0); /* Direct call parser_nodes#ANodes#hook_remove on <self:Object(ANodes[ANode])>*/
1061 RET_LABEL:;
1062 }
1063 /* method parser_nodes#ANodes#unsafe_add_all for (self: ANodes[ANode], Collection[Object]) */
1064 void parser_nodes__ANodes__unsafe_add_all(val* self, val* p0) {
1065 val* var_nodes /* var nodes: Collection[Object] */;
1066 val* var /* : ANode */;
1067 val* var2 /* : ANode */;
1068 val* var_parent /* var parent: ANode */;
1069 val* var3 /* : Iterator[nullable Object] */;
1070 short int var4 /* : Bool */;
1071 val* var5 /* : nullable Object */;
1072 val* var_n /* var n: Object */;
1073 short int var6 /* : Bool */;
1074 int cltype;
1075 int idtype;
1076 const struct type* type_struct;
1077 var_nodes = p0;
1078 {
1079 { /* Inline parser_nodes#ANodes#parent (self) on <self:ANodes[ANode]> */
1080 var2 = self->attrs[COLOR_parser_nodes__ANodes___parent].val; /* _parent on <self:ANodes[ANode]> */
1081 if (unlikely(var2 == NULL)) {
1082 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parent");
1083 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 131);
1084 show_backtrace(1);
1085 }
1086 var = var2;
1087 RET_LABEL1:(void)0;
1088 }
1089 }
1090 var_parent = var;
1091 {
1092 var3 = ((val* (*)(val*))(var_nodes->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_nodes) /* iterator on <var_nodes:Collection[Object]>*/;
1093 }
1094 for(;;) {
1095 {
1096 var4 = ((short int (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var3) /* is_ok on <var3:Iterator[nullable Object]>*/;
1097 }
1098 if(!var4) break;
1099 {
1100 var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__item]))(var3) /* item on <var3:Iterator[nullable Object]>*/;
1101 }
1102 var_n = var5;
1103 /* <var_n:Object> isa ANodes#0 */
1104 type_struct = self->type->resolution_table->types[COLOR_parser_nodes__ANodes_FT0];
1105 cltype = type_struct->color;
1106 idtype = type_struct->id;
1107 if(cltype >= var_n->type->table_size) {
1108 var6 = 0;
1109 } else {
1110 var6 = var_n->type->type_table[cltype] == idtype;
1111 }
1112 if (unlikely(!var6)) {
1113 PRINT_ERROR("Runtime error: %s", "Assert failed");
1114 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 193);
1115 show_backtrace(1);
1116 }
1117 {
1118 abstract_collection__Sequence__add(self, var_n); /* Direct call abstract_collection#Sequence#add on <self:ANodes[ANode]>*/
1119 }
1120 {
1121 { /* Inline parser_nodes#ANode#parent= (var_n,var_parent) on <var_n:Object(ANode)> */
1122 var_n->attrs[COLOR_parser_nodes__ANode___parent].val = var_parent; /* _parent on <var_n:Object(ANode)> */
1123 RET_LABEL7:(void)0;
1124 }
1125 }
1126 CONTINUE_label: (void)0;
1127 {
1128 ((void (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__next]))(var3) /* next on <var3:Iterator[nullable Object]>*/;
1129 }
1130 }
1131 BREAK_label: (void)0;
1132 RET_LABEL:;
1133 }
1134 /* method parser_nodes#ANodes#unsafe_add_all for (self: Object, Collection[Object]) */
1135 void VIRTUAL_parser_nodes__ANodes__unsafe_add_all(val* self, val* p0) {
1136 parser_nodes__ANodes__unsafe_add_all(self, p0); /* Direct call parser_nodes#ANodes#unsafe_add_all on <self:Object(ANodes[ANode])>*/
1137 RET_LABEL:;
1138 }
1139 /* method parser_nodes#ANodes#replace_child for (self: ANodes[ANode], ANode, nullable ANode): Bool */
1140 short int parser_nodes__ANodes__replace_child(val* self, val* p0, val* p1) {
1141 short int var /* : Bool */;
1142 val* var_old_child /* var old_child: ANode */;
1143 val* var_new_child /* var new_child: nullable ANode */;
1144 val* var1 /* : ANode */;
1145 val* var3 /* : ANode */;
1146 val* var_parent /* var parent: ANode */;
1147 val* var4 /* : Range[Int] */;
1148 long var5 /* : Int */;
1149 long var6 /* : Int */;
1150 val* var7 /* : Discrete */;
1151 val* var8 /* : Discrete */;
1152 val* var9 /* : Iterator[Discrete] */;
1153 short int var10 /* : Bool */;
1154 val* var11 /* : nullable Object */;
1155 long var_i /* var i: Int */;
1156 long var12 /* : Int */;
1157 val* var13 /* : ANode */;
1158 short int var14 /* : Bool */;
1159 short int var15 /* : Bool */;
1160 val* var_other /* var other: nullable Object */;
1161 short int var17 /* : Bool */;
1162 short int var19 /* : Bool */;
1163 val* var20 /* : null */;
1164 short int var21 /* : Bool */;
1165 short int var22 /* : Bool */;
1166 val* var_other24 /* var other: nullable Object */;
1167 short int var25 /* : Bool */;
1168 short int var26 /* : Bool */;
1169 short int var27 /* : Bool */;
1170 short int var28 /* : Bool */;
1171 int cltype;
1172 int idtype;
1173 const struct type* type_struct;
1174 short int var30 /* : Bool */;
1175 short int var31 /* : Bool */;
1176 var_old_child = p0;
1177 var_new_child = p1;
1178 {
1179 { /* Inline parser_nodes#ANodes#parent (self) on <self:ANodes[ANode]> */
1180 var3 = self->attrs[COLOR_parser_nodes__ANodes___parent].val; /* _parent on <self:ANodes[ANode]> */
1181 if (unlikely(var3 == NULL)) {
1182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parent");
1183 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 131);
1184 show_backtrace(1);
1185 }
1186 var1 = var3;
1187 RET_LABEL2:(void)0;
1188 }
1189 }
1190 var_parent = var1;
1191 var4 = NEW_range__Range(&type_range__Rangekernel__Int);
1192 var5 = 0;
1193 {
1194 var6 = parser_nodes__ANodes__length(self);
1195 }
1196 {
1197 var7 = BOX_kernel__Int(var5); /* autobox from Int to Discrete */
1198 var8 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
1199 range__Range__without_last(var4, var7, var8); /* Direct call range#Range#without_last on <var4:Range[Int]>*/
1200 }
1201 {
1202 var9 = range__Range__iterator(var4);
1203 }
1204 for(;;) {
1205 {
1206 var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on <var9:Iterator[Discrete]>*/;
1207 }
1208 if(!var10) break;
1209 {
1210 var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on <var9:Iterator[Discrete]>*/;
1211 }
1212 var12 = ((struct instance_kernel__Int*)var11)->value; /* autounbox from nullable Object to Int */;
1213 var_i = var12;
1214 {
1215 var13 = parser_nodes__ANodes___91d_93d(self, var_i);
1216 }
1217 {
1218 { /* Inline kernel#Object#== (var13,var_old_child) on <var13:ANode> */
1219 var_other = var_old_child;
1220 {
1221 { /* Inline kernel#Object#is_same_instance (var13,var_other) on <var13:ANode> */
1222 var19 = var13 == var_other;
1223 var17 = var19;
1224 goto RET_LABEL18;
1225 RET_LABEL18:(void)0;
1226 }
1227 }
1228 var15 = var17;
1229 goto RET_LABEL16;
1230 RET_LABEL16:(void)0;
1231 }
1232 var14 = var15;
1233 }
1234 if (var14){
1235 var20 = NULL;
1236 if (var_new_child == NULL) {
1237 var21 = 0; /* is null */
1238 } else {
1239 var21 = 1; /* arg is null and recv is not */
1240 }
1241 if (0) {
1242 { /* Inline kernel#Object#!= (var_new_child,var20) on <var_new_child:nullable ANode> */
1243 var_other24 = var20;
1244 {
1245 var26 = ((short int (*)(val*, val*))(var_new_child->class->vft[COLOR_kernel__Object___61d_61d]))(var_new_child, var_other24) /* == on <var_new_child:nullable ANode(ANode)>*/;
1246 var25 = var26;
1247 }
1248 var27 = !var25;
1249 var22 = var27;
1250 goto RET_LABEL23;
1251 RET_LABEL23:(void)0;
1252 }
1253 var21 = var22;
1254 }
1255 if (var21){
1256 /* <var_new_child:nullable ANode(ANode)> isa ANodes#0 */
1257 type_struct = self->type->resolution_table->types[COLOR_parser_nodes__ANodes_FT0];
1258 cltype = type_struct->color;
1259 idtype = type_struct->id;
1260 if(cltype >= var_new_child->type->table_size) {
1261 var28 = 0;
1262 } else {
1263 var28 = var_new_child->type->type_table[cltype] == idtype;
1264 }
1265 if (unlikely(!var28)) {
1266 PRINT_ERROR("Runtime error: %s", "Assert failed");
1267 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 205);
1268 show_backtrace(1);
1269 }
1270 {
1271 parser_nodes__ANodes___91d_93d_61d(self, var_i, var_new_child); /* Direct call parser_nodes#ANodes#[]= on <self:ANodes[ANode]>*/
1272 }
1273 {
1274 { /* Inline parser_nodes#ANode#parent= (var_new_child,var_parent) on <var_new_child:nullable ANode(ANode)> */
1275 var_new_child->attrs[COLOR_parser_nodes__ANode___parent].val = var_parent; /* _parent on <var_new_child:nullable ANode(ANode)> */
1276 RET_LABEL29:(void)0;
1277 }
1278 }
1279 } else {
1280 {
1281 parser_nodes__ANodes__remove_at(self, var_i); /* Direct call parser_nodes#ANodes#remove_at on <self:ANodes[ANode]>*/
1282 }
1283 }
1284 var30 = 1;
1285 var = var30;
1286 goto RET_LABEL;
1287 } else {
1288 }
1289 CONTINUE_label: (void)0;
1290 {
1291 ((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on <var9:Iterator[Discrete]>*/;
1292 }
1293 }
1294 BREAK_label: (void)0;
1295 var31 = 0;
1296 var = var31;
1297 goto RET_LABEL;
1298 RET_LABEL:;
1299 return var;
1300 }
1301 /* method parser_nodes#ANodes#replace_child for (self: Object, ANode, nullable ANode): Bool */
1302 short int VIRTUAL_parser_nodes__ANodes__replace_child(val* self, val* p0, val* p1) {
1303 short int var /* : Bool */;
1304 short int var1 /* : Bool */;
1305 var1 = parser_nodes__ANodes__replace_child(self, p0, p1);
1306 var = var1;
1307 RET_LABEL:;
1308 return var;
1309 }
1310 /* method parser_nodes#ANodes#visit_all for (self: ANodes[ANode], Visitor) */
1311 void parser_nodes__ANodes__visit_all(val* self, val* p0) {
1312 val* var_v /* var v: Visitor */;
1313 val* var /* : Iterator[ANode] */;
1314 short int var1 /* : Bool */;
1315 val* var2 /* : nullable Object */;
1316 val* var_n /* var n: ANode */;
1317 var_v = p0;
1318 {
1319 var = parser_nodes__ANodes__iterator(self);
1320 }
1321 for(;;) {
1322 {
1323 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[ANode]>*/;
1324 }
1325 if(!var1) break;
1326 {
1327 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[ANode]>*/;
1328 }
1329 var_n = var2;
1330 {
1331 parser_nodes__Visitor__enter_visit(var_v, var_n); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:Visitor>*/
1332 }
1333 CONTINUE_label: (void)0;
1334 {
1335 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[ANode]>*/;
1336 }
1337 }
1338 BREAK_label: (void)0;
1339 RET_LABEL:;
1340 }
1341 /* method parser_nodes#ANodes#visit_all for (self: Object, Visitor) */
1342 void VIRTUAL_parser_nodes__ANodes__visit_all(val* self, val* p0) {
1343 parser_nodes__ANodes__visit_all(self, p0); /* Direct call parser_nodes#ANodes#visit_all on <self:Object(ANodes[ANode])>*/
1344 RET_LABEL:;
1345 }
1346 /* method parser_nodes#ANodes#init for (self: ANodes[ANode], ANode) */
1347 void parser_nodes__ANodes__init(val* self, val* p0) {
1348 self->attrs[COLOR_parser_nodes__ANodes___parent].val = p0; /* _parent on <self:ANodes[ANode]> */
1349 RET_LABEL:;
1350 }
1351 /* method parser_nodes#ANodes#init for (self: Object, ANode) */
1352 void VIRTUAL_parser_nodes__ANodes__init(val* self, val* p0) {
1353 { /* Inline parser_nodes#ANodes#init (self,p0) on <self:Object(ANodes[ANode])> */
1354 self->attrs[COLOR_parser_nodes__ANodes___parent].val = p0; /* _parent on <self:Object(ANodes[ANode])> */
1355 RET_LABEL1:(void)0;
1356 }
1357 RET_LABEL:;
1358 }
1359 /* method parser_nodes#Token#prev_token= for (self: Token, nullable Token) */
1360 void parser_nodes__Token__prev_token_61d(val* self, val* p0) {
1361 self->attrs[COLOR_parser_nodes__Token___prev_token].val = p0; /* _prev_token on <self:Token> */
1362 RET_LABEL:;
1363 }
1364 /* method parser_nodes#Token#prev_token= for (self: Object, nullable Token) */
1365 void VIRTUAL_parser_nodes__Token__prev_token_61d(val* self, val* p0) {
1366 { /* Inline parser_nodes#Token#prev_token= (self,p0) on <self:Object(Token)> */
1367 self->attrs[COLOR_parser_nodes__Token___prev_token].val = p0; /* _prev_token on <self:Object(Token)> */
1368 RET_LABEL1:(void)0;
1369 }
1370 RET_LABEL:;
1371 }
1372 /* method parser_nodes#Token#next_token= for (self: Token, nullable Token) */
1373 void parser_nodes__Token__next_token_61d(val* self, val* p0) {
1374 self->attrs[COLOR_parser_nodes__Token___next_token].val = p0; /* _next_token on <self:Token> */
1375 RET_LABEL:;
1376 }
1377 /* method parser_nodes#Token#next_token= for (self: Object, nullable Token) */
1378 void VIRTUAL_parser_nodes__Token__next_token_61d(val* self, val* p0) {
1379 { /* Inline parser_nodes#Token#next_token= (self,p0) on <self:Object(Token)> */
1380 self->attrs[COLOR_parser_nodes__Token___next_token].val = p0; /* _next_token on <self:Object(Token)> */
1381 RET_LABEL1:(void)0;
1382 }
1383 RET_LABEL:;
1384 }
1385 /* method parser_nodes#Token#to_s for (self: Token): String */
1386 val* parser_nodes__Token__to_s(val* self) {
1387 val* var /* : String */;
1388 static val* varonce;
1389 val* var1 /* : String */;
1390 char* var2 /* : NativeString */;
1391 long var3 /* : Int */;
1392 val* var4 /* : FlatString */;
1393 val* var5 /* : String */;
1394 static val* varonce6;
1395 val* var7 /* : String */;
1396 char* var8 /* : NativeString */;
1397 long var9 /* : Int */;
1398 val* var10 /* : FlatString */;
1399 val* var11 /* : Array[Object] */;
1400 long var12 /* : Int */;
1401 val* var13 /* : NativeArray[Object] */;
1402 val* var14 /* : String */;
1403 if (varonce) {
1404 var1 = varonce;
1405 } else {
1406 var2 = "\'";
1407 var3 = 1;
1408 var4 = string__NativeString__to_s_with_length(var2, var3);
1409 var1 = var4;
1410 varonce = var1;
1411 }
1412 {
1413 var5 = lexer_work__Token__text(self);
1414 }
1415 if (varonce6) {
1416 var7 = varonce6;
1417 } else {
1418 var8 = "\'";
1419 var9 = 1;
1420 var10 = string__NativeString__to_s_with_length(var8, var9);
1421 var7 = var10;
1422 varonce6 = var7;
1423 }
1424 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1425 { /* var11 = array_instance Array[Object] */
1426 var12 = 3;
1427 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
1428 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var1;
1429 ((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
1430 ((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
1431 {
1432 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
1433 }
1434 }
1435 {
1436 var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
1437 }
1438 var = var14;
1439 goto RET_LABEL;
1440 RET_LABEL:;
1441 return var;
1442 }
1443 /* method parser_nodes#Token#to_s for (self: Object): String */
1444 val* VIRTUAL_parser_nodes__Token__to_s(val* self) {
1445 val* var /* : String */;
1446 val* var1 /* : String */;
1447 var1 = parser_nodes__Token__to_s(self);
1448 var = var1;
1449 RET_LABEL:;
1450 return var;
1451 }
1452 /* method parser_nodes#Token#visit_all for (self: Token, Visitor) */
1453 void parser_nodes__Token__visit_all(val* self, val* p0) {
1454 val* var_v /* var v: Visitor */;
1455 var_v = p0;
1456 RET_LABEL:;
1457 }
1458 /* method parser_nodes#Token#visit_all for (self: Object, Visitor) */
1459 void VIRTUAL_parser_nodes__Token__visit_all(val* self, val* p0) {
1460 val* var_v /* var v: Visitor */;
1461 { /* Inline parser_nodes#Token#visit_all (self,p0) on <self:Object(Token)> */
1462 var_v = p0;
1463 RET_LABEL1:(void)0;
1464 }
1465 RET_LABEL:;
1466 }
1467 /* method parser_nodes#Token#replace_child for (self: Token, ANode, nullable ANode) */
1468 void parser_nodes__Token__replace_child(val* self, val* p0, val* p1) {
1469 val* var_old_child /* var old_child: ANode */;
1470 val* var_new_child /* var new_child: nullable ANode */;
1471 var_old_child = p0;
1472 var_new_child = p1;
1473 RET_LABEL:;
1474 }
1475 /* method parser_nodes#Token#replace_child for (self: Object, ANode, nullable ANode) */
1476 void VIRTUAL_parser_nodes__Token__replace_child(val* self, val* p0, val* p1) {
1477 val* var_old_child /* var old_child: ANode */;
1478 val* var_new_child /* var new_child: nullable ANode */;
1479 { /* Inline parser_nodes#Token#replace_child (self,p0,p1) on <self:Object(Token)> */
1480 var_old_child = p0;
1481 var_new_child = p1;
1482 RET_LABEL1:(void)0;
1483 }
1484 RET_LABEL:;
1485 }
1486 /* method parser_nodes#SourceFile#first_token= for (self: SourceFile, nullable Token) */
1487 void parser_nodes__SourceFile__first_token_61d(val* self, val* p0) {
1488 self->attrs[COLOR_parser_nodes__SourceFile___first_token].val = p0; /* _first_token on <self:SourceFile> */
1489 RET_LABEL:;
1490 }
1491 /* method parser_nodes#SourceFile#first_token= for (self: Object, nullable Token) */
1492 void VIRTUAL_parser_nodes__SourceFile__first_token_61d(val* self, val* p0) {
1493 { /* Inline parser_nodes#SourceFile#first_token= (self,p0) on <self:Object(SourceFile)> */
1494 self->attrs[COLOR_parser_nodes__SourceFile___first_token].val = p0; /* _first_token on <self:Object(SourceFile)> */
1495 RET_LABEL1:(void)0;
1496 }
1497 RET_LABEL:;
1498 }
1499 /* method parser_nodes#SourceFile#last_token= for (self: SourceFile, nullable Token) */
1500 void parser_nodes__SourceFile__last_token_61d(val* self, val* p0) {
1501 self->attrs[COLOR_parser_nodes__SourceFile___last_token].val = p0; /* _last_token on <self:SourceFile> */
1502 RET_LABEL:;
1503 }
1504 /* method parser_nodes#SourceFile#last_token= for (self: Object, nullable Token) */
1505 void VIRTUAL_parser_nodes__SourceFile__last_token_61d(val* self, val* p0) {
1506 { /* Inline parser_nodes#SourceFile#last_token= (self,p0) on <self:Object(SourceFile)> */
1507 self->attrs[COLOR_parser_nodes__SourceFile___last_token].val = p0; /* _last_token on <self:Object(SourceFile)> */
1508 RET_LABEL1:(void)0;
1509 }
1510 RET_LABEL:;
1511 }
1512 /* method parser_nodes#Prod#location= for (self: Prod, Location) */
1513 void parser_nodes__Prod__location_61d(val* self, val* p0) {
1514 val* var_l /* var l: Location */;
1515 var_l = p0;
1516 self->attrs[COLOR_parser_nodes__ANode___location].val = var_l; /* _location on <self:Prod> */
1517 RET_LABEL:;
1518 }
1519 /* method parser_nodes#Prod#location= for (self: Object, Location) */
1520 void VIRTUAL_parser_nodes__Prod__location_61d(val* self, val* p0) {
1521 parser_nodes__Prod__location_61d(self, p0); /* Direct call parser_nodes#Prod#location= on <self:Object(Prod)>*/
1522 RET_LABEL:;
1523 }
1524 /* method parser_nodes#Prod#n_annotations for (self: Prod): nullable AAnnotations */
1525 val* parser_nodes__Prod__n_annotations(val* self) {
1526 val* var /* : nullable AAnnotations */;
1527 val* var1 /* : nullable AAnnotations */;
1528 var1 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:Prod> */
1529 var = var1;
1530 goto RET_LABEL;
1531 RET_LABEL:;
1532 return var;
1533 }
1534 /* method parser_nodes#Prod#n_annotations for (self: Object): nullable AAnnotations */
1535 val* VIRTUAL_parser_nodes__Prod__n_annotations(val* self) {
1536 val* var /* : nullable AAnnotations */;
1537 val* var1 /* : nullable AAnnotations */;
1538 var1 = parser_nodes__Prod__n_annotations(self);
1539 var = var1;
1540 RET_LABEL:;
1541 return var;
1542 }
1543 /* method parser_nodes#Prod#n_annotations= for (self: Prod, nullable AAnnotations) */
1544 void parser_nodes__Prod__n_annotations_61d(val* self, val* p0) {
1545 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
1546 var_n_annotations = p0;
1547 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:Prod> */
1548 RET_LABEL:;
1549 }
1550 /* method parser_nodes#Prod#n_annotations= for (self: Object, nullable AAnnotations) */
1551 void VIRTUAL_parser_nodes__Prod__n_annotations_61d(val* self, val* p0) {
1552 parser_nodes__Prod__n_annotations_61d(self, p0); /* Direct call parser_nodes#Prod#n_annotations= on <self:Object(Prod)>*/
1553 RET_LABEL:;
1554 }
1555 /* method parser_nodes#Prod#replace_with for (self: Prod, ANode) */
1556 void parser_nodes__Prod__replace_with(val* self, val* p0) {
1557 val* var_n /* var n: ANode */;
1558 short int var /* : Bool */;
1559 int cltype;
1560 int idtype;
1561 val* var1 /* : nullable Location */;
1562 val* var2 /* : null */;
1563 short int var3 /* : Bool */;
1564 short int var4 /* : Bool */;
1565 val* var5 /* : nullable Location */;
1566 var_n = p0;
1567 {
1568 ((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__Prod__replace_with]))(self, p0) /* replace_with on <self:Prod>*/;
1569 }
1570 /* <var_n:ANode> isa Prod */
1571 cltype = type_parser_nodes__Prod.color;
1572 idtype = type_parser_nodes__Prod.id;
1573 if(cltype >= var_n->type->table_size) {
1574 var = 0;
1575 } else {
1576 var = var_n->type->type_table[cltype] == idtype;
1577 }
1578 if (unlikely(!var)) {
1579 PRINT_ERROR("Runtime error: %s", "Assert failed");
1580 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 282);
1581 show_backtrace(1);
1582 }
1583 var1 = var_n->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on <var_n:ANode(Prod)> */
1584 var2 = NULL;
1585 if (var1 == NULL) {
1586 var3 = 1; /* is null */
1587 } else {
1588 var3 = 0; /* arg is null but recv is not */
1589 }
1590 if (0) {
1591 var4 = location__Location___61d_61d(var1, var2);
1592 var3 = var4;
1593 }
1594 if (var3){
1595 var5 = self->attrs[COLOR_parser_nodes__ANode___location].val; /* _location on <self:Prod> */
1596 var_n->attrs[COLOR_parser_nodes__ANode___location].val = var5; /* _location on <var_n:ANode(Prod)> */
1597 } else {
1598 }
1599 RET_LABEL:;
1600 }
1601 /* method parser_nodes#Prod#replace_with for (self: Object, ANode) */
1602 void VIRTUAL_parser_nodes__Prod__replace_with(val* self, val* p0) {
1603 parser_nodes__Prod__replace_with(self, p0); /* Direct call parser_nodes#Prod#replace_with on <self:Object(Prod)>*/
1604 RET_LABEL:;
1605 }
1606 /* method parser_nodes#Visitor#enter_visit for (self: Visitor, nullable ANode) */
1607 void parser_nodes__Visitor__enter_visit(val* self, val* p0) {
1608 val* var_e /* var e: nullable ANode */;
1609 val* var /* : null */;
1610 short int var1 /* : Bool */;
1611 short int var2 /* : Bool */;
1612 val* var_other /* var other: nullable Object */;
1613 short int var4 /* : Bool */;
1614 short int var6 /* : Bool */;
1615 val* var7 /* : nullable ANode */;
1616 val* var_old /* var old: nullable ANode */;
1617 var_e = p0;
1618 var = NULL;
1619 if (var_e == NULL) {
1620 var1 = 1; /* is null */
1621 } else {
1622 var1 = 0; /* arg is null but recv is not */
1623 }
1624 if (0) {
1625 { /* Inline kernel#Object#== (var_e,var) on <var_e:nullable ANode> */
1626 var_other = var;
1627 {
1628 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable ANode(ANode)> */
1629 var6 = var_e == var_other;
1630 var4 = var6;
1631 goto RET_LABEL5;
1632 RET_LABEL5:(void)0;
1633 }
1634 }
1635 var2 = var4;
1636 goto RET_LABEL3;
1637 RET_LABEL3:(void)0;
1638 }
1639 var1 = var2;
1640 }
1641 if (var1){
1642 goto RET_LABEL;
1643 } else {
1644 }
1645 var7 = self->attrs[COLOR_parser_nodes__Visitor___current_node].val; /* _current_node on <self:Visitor> */
1646 var_old = var7;
1647 self->attrs[COLOR_parser_nodes__Visitor___current_node].val = var_e; /* _current_node on <self:Visitor> */
1648 {
1649 ((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__Visitor__visit]))(self, var_e) /* visit on <self:Visitor>*/;
1650 }
1651 self->attrs[COLOR_parser_nodes__Visitor___current_node].val = var_old; /* _current_node on <self:Visitor> */
1652 RET_LABEL:;
1653 }
1654 /* method parser_nodes#Visitor#enter_visit for (self: Object, nullable ANode) */
1655 void VIRTUAL_parser_nodes__Visitor__enter_visit(val* self, val* p0) {
1656 parser_nodes__Visitor__enter_visit(self, p0); /* Direct call parser_nodes#Visitor#enter_visit on <self:Object(Visitor)>*/
1657 RET_LABEL:;
1658 }
1659 /* method parser_nodes#Visitor#current_node for (self: Visitor): nullable ANode */
1660 val* parser_nodes__Visitor__current_node(val* self) {
1661 val* var /* : nullable ANode */;
1662 val* var1 /* : nullable ANode */;
1663 var1 = self->attrs[COLOR_parser_nodes__Visitor___current_node].val; /* _current_node on <self:Visitor> */
1664 var = var1;
1665 goto RET_LABEL;
1666 RET_LABEL:;
1667 return var;
1668 }
1669 /* method parser_nodes#Visitor#current_node for (self: Object): nullable ANode */
1670 val* VIRTUAL_parser_nodes__Visitor__current_node(val* self) {
1671 val* var /* : nullable ANode */;
1672 val* var1 /* : nullable ANode */;
1673 var1 = parser_nodes__Visitor__current_node(self);
1674 var = var1;
1675 RET_LABEL:;
1676 return var;
1677 }
1678 /* method parser_nodes#Visitor#init for (self: Visitor) */
1679 void parser_nodes__Visitor__init(val* self) {
1680 RET_LABEL:;
1681 }
1682 /* method parser_nodes#Visitor#init for (self: Object) */
1683 void VIRTUAL_parser_nodes__Visitor__init(val* self) {
1684 { /* Inline parser_nodes#Visitor#init (self) on <self:Object(Visitor)> */
1685 RET_LABEL1:(void)0;
1686 }
1687 RET_LABEL:;
1688 }
1689 /* method parser_nodes#TEol#to_s for (self: TEol): String */
1690 val* parser_nodes__TEol__to_s(val* self) {
1691 val* var /* : String */;
1692 static val* varonce;
1693 val* var1 /* : String */;
1694 char* var2 /* : NativeString */;
1695 long var3 /* : Int */;
1696 val* var4 /* : FlatString */;
1697 if (varonce) {
1698 var1 = varonce;
1699 } else {
1700 var2 = "end of line";
1701 var3 = 11;
1702 var4 = string__NativeString__to_s_with_length(var2, var3);
1703 var1 = var4;
1704 varonce = var1;
1705 }
1706 var = var1;
1707 goto RET_LABEL;
1708 RET_LABEL:;
1709 return var;
1710 }
1711 /* method parser_nodes#TEol#to_s for (self: Object): String */
1712 val* VIRTUAL_parser_nodes__TEol__to_s(val* self) {
1713 val* var /* : String */;
1714 val* var1 /* : String */;
1715 var1 = parser_nodes__TEol__to_s(self);
1716 var = var1;
1717 RET_LABEL:;
1718 return var;
1719 }
1720 /* method parser_nodes#TokenKeyword#to_s for (self: TokenKeyword): String */
1721 val* parser_nodes__TokenKeyword__to_s(val* self) {
1722 val* var /* : String */;
1723 static val* varonce;
1724 val* var1 /* : String */;
1725 char* var2 /* : NativeString */;
1726 long var3 /* : Int */;
1727 val* var4 /* : FlatString */;
1728 val* var5 /* : String */;
1729 static val* varonce6;
1730 val* var7 /* : String */;
1731 char* var8 /* : NativeString */;
1732 long var9 /* : Int */;
1733 val* var10 /* : FlatString */;
1734 val* var11 /* : Array[Object] */;
1735 long var12 /* : Int */;
1736 val* var13 /* : NativeArray[Object] */;
1737 val* var14 /* : String */;
1738 if (varonce) {
1739 var1 = varonce;
1740 } else {
1741 var2 = "keyword \'";
1742 var3 = 9;
1743 var4 = string__NativeString__to_s_with_length(var2, var3);
1744 var1 = var4;
1745 varonce = var1;
1746 }
1747 {
1748 var5 = lexer_work__Token__text(self);
1749 }
1750 if (varonce6) {
1751 var7 = varonce6;
1752 } else {
1753 var8 = "\'";
1754 var9 = 1;
1755 var10 = string__NativeString__to_s_with_length(var8, var9);
1756 var7 = var10;
1757 varonce6 = var7;
1758 }
1759 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1760 { /* var11 = array_instance Array[Object] */
1761 var12 = 3;
1762 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
1763 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var1;
1764 ((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
1765 ((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
1766 {
1767 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
1768 }
1769 }
1770 {
1771 var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
1772 }
1773 var = var14;
1774 goto RET_LABEL;
1775 RET_LABEL:;
1776 return var;
1777 }
1778 /* method parser_nodes#TokenKeyword#to_s for (self: Object): String */
1779 val* VIRTUAL_parser_nodes__TokenKeyword__to_s(val* self) {
1780 val* var /* : String */;
1781 val* var1 /* : String */;
1782 var1 = parser_nodes__TokenKeyword__to_s(self);
1783 var = var1;
1784 RET_LABEL:;
1785 return var;
1786 }
1787 /* method parser_nodes#TokenOperator#to_s for (self: TokenOperator): String */
1788 val* parser_nodes__TokenOperator__to_s(val* self) {
1789 val* var /* : String */;
1790 static val* varonce;
1791 val* var1 /* : String */;
1792 char* var2 /* : NativeString */;
1793 long var3 /* : Int */;
1794 val* var4 /* : FlatString */;
1795 val* var5 /* : String */;
1796 static val* varonce6;
1797 val* var7 /* : String */;
1798 char* var8 /* : NativeString */;
1799 long var9 /* : Int */;
1800 val* var10 /* : FlatString */;
1801 val* var11 /* : Array[Object] */;
1802 long var12 /* : Int */;
1803 val* var13 /* : NativeArray[Object] */;
1804 val* var14 /* : String */;
1805 if (varonce) {
1806 var1 = varonce;
1807 } else {
1808 var2 = "operator \'";
1809 var3 = 10;
1810 var4 = string__NativeString__to_s_with_length(var2, var3);
1811 var1 = var4;
1812 varonce = var1;
1813 }
1814 {
1815 var5 = lexer_work__Token__text(self);
1816 }
1817 if (varonce6) {
1818 var7 = varonce6;
1819 } else {
1820 var8 = "\'";
1821 var9 = 1;
1822 var10 = string__NativeString__to_s_with_length(var8, var9);
1823 var7 = var10;
1824 varonce6 = var7;
1825 }
1826 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1827 { /* var11 = array_instance Array[Object] */
1828 var12 = 3;
1829 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
1830 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var1;
1831 ((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
1832 ((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
1833 {
1834 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
1835 }
1836 }
1837 {
1838 var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
1839 }
1840 var = var14;
1841 goto RET_LABEL;
1842 RET_LABEL:;
1843 return var;
1844 }
1845 /* method parser_nodes#TokenOperator#to_s for (self: Object): String */
1846 val* VIRTUAL_parser_nodes__TokenOperator__to_s(val* self) {
1847 val* var /* : String */;
1848 val* var1 /* : String */;
1849 var1 = parser_nodes__TokenOperator__to_s(self);
1850 var = var1;
1851 RET_LABEL:;
1852 return var;
1853 }
1854 /* method parser_nodes#TClassid#to_s for (self: TClassid): String */
1855 val* parser_nodes__TClassid__to_s(val* self) {
1856 val* var /* : String */;
1857 static val* varonce;
1858 val* var1 /* : String */;
1859 char* var2 /* : NativeString */;
1860 long var3 /* : Int */;
1861 val* var4 /* : FlatString */;
1862 val* var5 /* : String */;
1863 static val* varonce6;
1864 val* var7 /* : String */;
1865 char* var8 /* : NativeString */;
1866 long var9 /* : Int */;
1867 val* var10 /* : FlatString */;
1868 val* var11 /* : Array[Object] */;
1869 long var12 /* : Int */;
1870 val* var13 /* : NativeArray[Object] */;
1871 val* var14 /* : String */;
1872 if (varonce) {
1873 var1 = varonce;
1874 } else {
1875 var2 = "type identifier \'";
1876 var3 = 17;
1877 var4 = string__NativeString__to_s_with_length(var2, var3);
1878 var1 = var4;
1879 varonce = var1;
1880 }
1881 {
1882 var5 = lexer_work__Token__text(self);
1883 }
1884 if (varonce6) {
1885 var7 = varonce6;
1886 } else {
1887 var8 = "\'";
1888 var9 = 1;
1889 var10 = string__NativeString__to_s_with_length(var8, var9);
1890 var7 = var10;
1891 varonce6 = var7;
1892 }
1893 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1894 { /* var11 = array_instance Array[Object] */
1895 var12 = 3;
1896 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
1897 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var1;
1898 ((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
1899 ((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
1900 {
1901 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
1902 }
1903 }
1904 {
1905 var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
1906 }
1907 var = var14;
1908 goto RET_LABEL;
1909 BREAK_label: (void)0;
1910 RET_LABEL:;
1911 return var;
1912 }
1913 /* method parser_nodes#TClassid#to_s for (self: Object): String */
1914 val* VIRTUAL_parser_nodes__TClassid__to_s(val* self) {
1915 val* var /* : String */;
1916 val* var1 /* : String */;
1917 var1 = parser_nodes__TClassid__to_s(self);
1918 var = var1;
1919 RET_LABEL:;
1920 return var;
1921 }
1922 /* method parser_nodes#TId#to_s for (self: TId): String */
1923 val* parser_nodes__TId__to_s(val* self) {
1924 val* var /* : String */;
1925 static val* varonce;
1926 val* var1 /* : String */;
1927 char* var2 /* : NativeString */;
1928 long var3 /* : Int */;
1929 val* var4 /* : FlatString */;
1930 val* var5 /* : String */;
1931 static val* varonce6;
1932 val* var7 /* : String */;
1933 char* var8 /* : NativeString */;
1934 long var9 /* : Int */;
1935 val* var10 /* : FlatString */;
1936 val* var11 /* : Array[Object] */;
1937 long var12 /* : Int */;
1938 val* var13 /* : NativeArray[Object] */;
1939 val* var14 /* : String */;
1940 if (varonce) {
1941 var1 = varonce;
1942 } else {
1943 var2 = "identifier \'";
1944 var3 = 12;
1945 var4 = string__NativeString__to_s_with_length(var2, var3);
1946 var1 = var4;
1947 varonce = var1;
1948 }
1949 {
1950 var5 = lexer_work__Token__text(self);
1951 }
1952 if (varonce6) {
1953 var7 = varonce6;
1954 } else {
1955 var8 = "\'";
1956 var9 = 1;
1957 var10 = string__NativeString__to_s_with_length(var8, var9);
1958 var7 = var10;
1959 varonce6 = var7;
1960 }
1961 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1962 { /* var11 = array_instance Array[Object] */
1963 var12 = 3;
1964 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
1965 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var1;
1966 ((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
1967 ((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
1968 {
1969 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
1970 }
1971 }
1972 {
1973 var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
1974 }
1975 var = var14;
1976 goto RET_LABEL;
1977 BREAK_label: (void)0;
1978 RET_LABEL:;
1979 return var;
1980 }
1981 /* method parser_nodes#TId#to_s for (self: Object): String */
1982 val* VIRTUAL_parser_nodes__TId__to_s(val* self) {
1983 val* var /* : String */;
1984 val* var1 /* : String */;
1985 var1 = parser_nodes__TId__to_s(self);
1986 var = var1;
1987 RET_LABEL:;
1988 return var;
1989 }
1990 /* method parser_nodes#TAttrid#to_s for (self: TAttrid): String */
1991 val* parser_nodes__TAttrid__to_s(val* self) {
1992 val* var /* : String */;
1993 static val* varonce;
1994 val* var1 /* : String */;
1995 char* var2 /* : NativeString */;
1996 long var3 /* : Int */;
1997 val* var4 /* : FlatString */;
1998 val* var5 /* : String */;
1999 static val* varonce6;
2000 val* var7 /* : String */;
2001 char* var8 /* : NativeString */;
2002 long var9 /* : Int */;
2003 val* var10 /* : FlatString */;
2004 val* var11 /* : Array[Object] */;
2005 long var12 /* : Int */;
2006 val* var13 /* : NativeArray[Object] */;
2007 val* var14 /* : String */;
2008 if (varonce) {
2009 var1 = varonce;
2010 } else {
2011 var2 = "attribute \'";
2012 var3 = 11;
2013 var4 = string__NativeString__to_s_with_length(var2, var3);
2014 var1 = var4;
2015 varonce = var1;
2016 }
2017 {
2018 var5 = lexer_work__Token__text(self);
2019 }
2020 if (varonce6) {
2021 var7 = varonce6;
2022 } else {
2023 var8 = "\'";
2024 var9 = 1;
2025 var10 = string__NativeString__to_s_with_length(var8, var9);
2026 var7 = var10;
2027 varonce6 = var7;
2028 }
2029 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2030 { /* var11 = array_instance Array[Object] */
2031 var12 = 3;
2032 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
2033 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var1;
2034 ((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
2035 ((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
2036 {
2037 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
2038 }
2039 }
2040 {
2041 var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
2042 }
2043 var = var14;
2044 goto RET_LABEL;
2045 BREAK_label: (void)0;
2046 RET_LABEL:;
2047 return var;
2048 }
2049 /* method parser_nodes#TAttrid#to_s for (self: Object): String */
2050 val* VIRTUAL_parser_nodes__TAttrid__to_s(val* self) {
2051 val* var /* : String */;
2052 val* var1 /* : String */;
2053 var1 = parser_nodes__TAttrid__to_s(self);
2054 var = var1;
2055 RET_LABEL:;
2056 return var;
2057 }
2058 /* method parser_nodes#TokenLiteral#to_s for (self: TokenLiteral): String */
2059 val* parser_nodes__TokenLiteral__to_s(val* self) {
2060 val* var /* : String */;
2061 static val* varonce;
2062 val* var1 /* : String */;
2063 char* var2 /* : NativeString */;
2064 long var3 /* : Int */;
2065 val* var4 /* : FlatString */;
2066 val* var5 /* : String */;
2067 static val* varonce6;
2068 val* var7 /* : String */;
2069 char* var8 /* : NativeString */;
2070 long var9 /* : Int */;
2071 val* var10 /* : FlatString */;
2072 val* var11 /* : Array[Object] */;
2073 long var12 /* : Int */;
2074 val* var13 /* : NativeArray[Object] */;
2075 val* var14 /* : String */;
2076 if (varonce) {
2077 var1 = varonce;
2078 } else {
2079 var2 = "literal value \'";
2080 var3 = 15;
2081 var4 = string__NativeString__to_s_with_length(var2, var3);
2082 var1 = var4;
2083 varonce = var1;
2084 }
2085 {
2086 var5 = lexer_work__Token__text(self);
2087 }
2088 if (varonce6) {
2089 var7 = varonce6;
2090 } else {
2091 var8 = "\'";
2092 var9 = 1;
2093 var10 = string__NativeString__to_s_with_length(var8, var9);
2094 var7 = var10;
2095 varonce6 = var7;
2096 }
2097 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2098 { /* var11 = array_instance Array[Object] */
2099 var12 = 3;
2100 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
2101 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var1;
2102 ((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
2103 ((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
2104 {
2105 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
2106 }
2107 }
2108 {
2109 var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
2110 }
2111 var = var14;
2112 goto RET_LABEL;
2113 BREAK_label: (void)0;
2114 RET_LABEL:;
2115 return var;
2116 }
2117 /* method parser_nodes#TokenLiteral#to_s for (self: Object): String */
2118 val* VIRTUAL_parser_nodes__TokenLiteral__to_s(val* self) {
2119 val* var /* : String */;
2120 val* var1 /* : String */;
2121 var1 = parser_nodes__TokenLiteral__to_s(self);
2122 var = var1;
2123 RET_LABEL:;
2124 return var;
2125 }
2126 /* method parser_nodes#TBadString#to_s for (self: TBadString): String */
2127 val* parser_nodes__TBadString__to_s(val* self) {
2128 val* var /* : String */;
2129 static val* varonce;
2130 val* var1 /* : String */;
2131 char* var2 /* : NativeString */;
2132 long var3 /* : Int */;
2133 val* var4 /* : FlatString */;
2134 val* var5 /* : String */;
2135 val* var6 /* : Array[Object] */;
2136 long var7 /* : Int */;
2137 val* var8 /* : NativeArray[Object] */;
2138 val* var9 /* : String */;
2139 if (varonce) {
2140 var1 = varonce;
2141 } else {
2142 var2 = "malformed string ";
2143 var3 = 17;
2144 var4 = string__NativeString__to_s_with_length(var2, var3);
2145 var1 = var4;
2146 varonce = var1;
2147 }
2148 {
2149 var5 = lexer_work__Token__text(self);
2150 }
2151 var6 = NEW_array__Array(&type_array__Arraykernel__Object);
2152 { /* var6 = array_instance Array[Object] */
2153 var7 = 2;
2154 var8 = NEW_array__NativeArray(var7, &type_array__NativeArraykernel__Object);
2155 ((struct instance_array__NativeArray*)var8)->values[0] = (val*) var1;
2156 ((struct instance_array__NativeArray*)var8)->values[1] = (val*) var5;
2157 {
2158 ((void (*)(val*, val*, long))(var6->class->vft[COLOR_array__Array__with_native]))(var6, var8, var7) /* with_native on <var6:Array[Object]>*/;
2159 }
2160 }
2161 {
2162 var9 = ((val* (*)(val*))(var6->class->vft[COLOR_string__Object__to_s]))(var6) /* to_s on <var6:Array[Object]>*/;
2163 }
2164 var = var9;
2165 goto RET_LABEL;
2166 BREAK_label: (void)0;
2167 RET_LABEL:;
2168 return var;
2169 }
2170 /* method parser_nodes#TBadString#to_s for (self: Object): String */
2171 val* VIRTUAL_parser_nodes__TBadString__to_s(val* self) {
2172 val* var /* : String */;
2173 val* var1 /* : String */;
2174 var1 = parser_nodes__TBadString__to_s(self);
2175 var = var1;
2176 RET_LABEL:;
2177 return var;
2178 }
2179 /* method parser_nodes#TBadChar#to_s for (self: TBadChar): String */
2180 val* parser_nodes__TBadChar__to_s(val* self) {
2181 val* var /* : String */;
2182 static val* varonce;
2183 val* var1 /* : String */;
2184 char* var2 /* : NativeString */;
2185 long var3 /* : Int */;
2186 val* var4 /* : FlatString */;
2187 val* var5 /* : String */;
2188 val* var6 /* : Array[Object] */;
2189 long var7 /* : Int */;
2190 val* var8 /* : NativeArray[Object] */;
2191 val* var9 /* : String */;
2192 if (varonce) {
2193 var1 = varonce;
2194 } else {
2195 var2 = "malformed character ";
2196 var3 = 20;
2197 var4 = string__NativeString__to_s_with_length(var2, var3);
2198 var1 = var4;
2199 varonce = var1;
2200 }
2201 {
2202 var5 = lexer_work__Token__text(self);
2203 }
2204 var6 = NEW_array__Array(&type_array__Arraykernel__Object);
2205 { /* var6 = array_instance Array[Object] */
2206 var7 = 2;
2207 var8 = NEW_array__NativeArray(var7, &type_array__NativeArraykernel__Object);
2208 ((struct instance_array__NativeArray*)var8)->values[0] = (val*) var1;
2209 ((struct instance_array__NativeArray*)var8)->values[1] = (val*) var5;
2210 {
2211 ((void (*)(val*, val*, long))(var6->class->vft[COLOR_array__Array__with_native]))(var6, var8, var7) /* with_native on <var6:Array[Object]>*/;
2212 }
2213 }
2214 {
2215 var9 = ((val* (*)(val*))(var6->class->vft[COLOR_string__Object__to_s]))(var6) /* to_s on <var6:Array[Object]>*/;
2216 }
2217 var = var9;
2218 goto RET_LABEL;
2219 BREAK_label: (void)0;
2220 RET_LABEL:;
2221 return var;
2222 }
2223 /* method parser_nodes#TBadChar#to_s for (self: Object): String */
2224 val* VIRTUAL_parser_nodes__TBadChar__to_s(val* self) {
2225 val* var /* : String */;
2226 val* var1 /* : String */;
2227 var1 = parser_nodes__TBadChar__to_s(self);
2228 var = var1;
2229 RET_LABEL:;
2230 return var;
2231 }
2232 /* method parser_nodes#EOF#to_s for (self: EOF): String */
2233 val* parser_nodes__EOF__to_s(val* self) {
2234 val* var /* : String */;
2235 static val* varonce;
2236 val* var1 /* : String */;
2237 char* var2 /* : NativeString */;
2238 long var3 /* : Int */;
2239 val* var4 /* : FlatString */;
2240 if (varonce) {
2241 var1 = varonce;
2242 } else {
2243 var2 = "end of file";
2244 var3 = 11;
2245 var4 = string__NativeString__to_s_with_length(var2, var3);
2246 var1 = var4;
2247 varonce = var1;
2248 }
2249 var = var1;
2250 goto RET_LABEL;
2251 RET_LABEL:;
2252 return var;
2253 }
2254 /* method parser_nodes#EOF#to_s for (self: Object): String */
2255 val* VIRTUAL_parser_nodes__EOF__to_s(val* self) {
2256 val* var /* : String */;
2257 val* var1 /* : String */;
2258 var1 = parser_nodes__EOF__to_s(self);
2259 var = var1;
2260 RET_LABEL:;
2261 return var;
2262 }
2263 /* method parser_nodes#AModule#n_moduledecl for (self: AModule): nullable AModuledecl */
2264 val* parser_nodes__AModule__n_moduledecl(val* self) {
2265 val* var /* : nullable AModuledecl */;
2266 val* var1 /* : nullable AModuledecl */;
2267 var1 = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
2268 var = var1;
2269 goto RET_LABEL;
2270 RET_LABEL:;
2271 return var;
2272 }
2273 /* method parser_nodes#AModule#n_moduledecl for (self: Object): nullable AModuledecl */
2274 val* VIRTUAL_parser_nodes__AModule__n_moduledecl(val* self) {
2275 val* var /* : nullable AModuledecl */;
2276 val* var1 /* : nullable AModuledecl */;
2277 var1 = parser_nodes__AModule__n_moduledecl(self);
2278 var = var1;
2279 RET_LABEL:;
2280 return var;
2281 }
2282 /* method parser_nodes#AModule#n_imports for (self: AModule): ANodes[AImport] */
2283 val* parser_nodes__AModule__n_imports(val* self) {
2284 val* var /* : ANodes[AImport] */;
2285 val* var1 /* : ANodes[AImport] */;
2286 var1 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
2287 if (unlikely(var1 == NULL)) {
2288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
2289 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 697);
2290 show_backtrace(1);
2291 }
2292 var = var1;
2293 RET_LABEL:;
2294 return var;
2295 }
2296 /* method parser_nodes#AModule#n_imports for (self: Object): ANodes[AImport] */
2297 val* VIRTUAL_parser_nodes__AModule__n_imports(val* self) {
2298 val* var /* : ANodes[AImport] */;
2299 val* var1 /* : ANodes[AImport] */;
2300 val* var3 /* : ANodes[AImport] */;
2301 { /* Inline parser_nodes#AModule#n_imports (self) on <self:Object(AModule)> */
2302 var3 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:Object(AModule)> */
2303 if (unlikely(var3 == NULL)) {
2304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
2305 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 697);
2306 show_backtrace(1);
2307 }
2308 var1 = var3;
2309 RET_LABEL2:(void)0;
2310 }
2311 var = var1;
2312 RET_LABEL:;
2313 return var;
2314 }
2315 /* method parser_nodes#AModule#n_extern_code_blocks for (self: AModule): ANodes[AExternCodeBlock] */
2316 val* parser_nodes__AModule__n_extern_code_blocks(val* self) {
2317 val* var /* : ANodes[AExternCodeBlock] */;
2318 val* var1 /* : ANodes[AExternCodeBlock] */;
2319 var1 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
2320 if (unlikely(var1 == NULL)) {
2321 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
2322 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 698);
2323 show_backtrace(1);
2324 }
2325 var = var1;
2326 RET_LABEL:;
2327 return var;
2328 }
2329 /* method parser_nodes#AModule#n_extern_code_blocks for (self: Object): ANodes[AExternCodeBlock] */
2330 val* VIRTUAL_parser_nodes__AModule__n_extern_code_blocks(val* self) {
2331 val* var /* : ANodes[AExternCodeBlock] */;
2332 val* var1 /* : ANodes[AExternCodeBlock] */;
2333 val* var3 /* : ANodes[AExternCodeBlock] */;
2334 { /* Inline parser_nodes#AModule#n_extern_code_blocks (self) on <self:Object(AModule)> */
2335 var3 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:Object(AModule)> */
2336 if (unlikely(var3 == NULL)) {
2337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
2338 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 698);
2339 show_backtrace(1);
2340 }
2341 var1 = var3;
2342 RET_LABEL2:(void)0;
2343 }
2344 var = var1;
2345 RET_LABEL:;
2346 return var;
2347 }
2348 /* method parser_nodes#AModule#n_classdefs for (self: AModule): ANodes[AClassdef] */
2349 val* parser_nodes__AModule__n_classdefs(val* self) {
2350 val* var /* : ANodes[AClassdef] */;
2351 val* var1 /* : ANodes[AClassdef] */;
2352 var1 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
2353 if (unlikely(var1 == NULL)) {
2354 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
2355 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 699);
2356 show_backtrace(1);
2357 }
2358 var = var1;
2359 RET_LABEL:;
2360 return var;
2361 }
2362 /* method parser_nodes#AModule#n_classdefs for (self: Object): ANodes[AClassdef] */
2363 val* VIRTUAL_parser_nodes__AModule__n_classdefs(val* self) {
2364 val* var /* : ANodes[AClassdef] */;
2365 val* var1 /* : ANodes[AClassdef] */;
2366 val* var3 /* : ANodes[AClassdef] */;
2367 { /* Inline parser_nodes#AModule#n_classdefs (self) on <self:Object(AModule)> */
2368 var3 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:Object(AModule)> */
2369 if (unlikely(var3 == NULL)) {
2370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
2371 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 699);
2372 show_backtrace(1);
2373 }
2374 var1 = var3;
2375 RET_LABEL2:(void)0;
2376 }
2377 var = var1;
2378 RET_LABEL:;
2379 return var;
2380 }
2381 /* method parser_nodes#AModuledecl#n_doc for (self: AModuledecl): nullable ADoc */
2382 val* parser_nodes__AModuledecl__n_doc(val* self) {
2383 val* var /* : nullable ADoc */;
2384 val* var1 /* : nullable ADoc */;
2385 var1 = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
2386 var = var1;
2387 goto RET_LABEL;
2388 RET_LABEL:;
2389 return var;
2390 }
2391 /* method parser_nodes#AModuledecl#n_doc for (self: Object): nullable ADoc */
2392 val* VIRTUAL_parser_nodes__AModuledecl__n_doc(val* self) {
2393 val* var /* : nullable ADoc */;
2394 val* var1 /* : nullable ADoc */;
2395 var1 = parser_nodes__AModuledecl__n_doc(self);
2396 var = var1;
2397 RET_LABEL:;
2398 return var;
2399 }
2400 /* method parser_nodes#AModuledecl#n_name for (self: AModuledecl): AModuleName */
2401 val* parser_nodes__AModuledecl__n_name(val* self) {
2402 val* var /* : AModuleName */;
2403 val* var1 /* : AModuleName */;
2404 var1 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on <self:AModuledecl> */
2405 if (unlikely(var1 == NULL)) {
2406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
2407 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 719);
2408 show_backtrace(1);
2409 }
2410 var = var1;
2411 goto RET_LABEL;
2412 RET_LABEL:;
2413 return var;
2414 }
2415 /* method parser_nodes#AModuledecl#n_name for (self: Object): AModuleName */
2416 val* VIRTUAL_parser_nodes__AModuledecl__n_name(val* self) {
2417 val* var /* : AModuleName */;
2418 val* var1 /* : AModuleName */;
2419 var1 = parser_nodes__AModuledecl__n_name(self);
2420 var = var1;
2421 RET_LABEL:;
2422 return var;
2423 }
2424 /* method parser_nodes#AStdImport#n_visibility for (self: AStdImport): AVisibility */
2425 val* parser_nodes__AStdImport__n_visibility(val* self) {
2426 val* var /* : AVisibility */;
2427 val* var1 /* : AVisibility */;
2428 var1 = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on <self:AStdImport> */
2429 if (unlikely(var1 == NULL)) {
2430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
2431 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 733);
2432 show_backtrace(1);
2433 }
2434 var = var1;
2435 goto RET_LABEL;
2436 RET_LABEL:;
2437 return var;
2438 }
2439 /* method parser_nodes#AStdImport#n_visibility for (self: Object): AVisibility */
2440 val* VIRTUAL_parser_nodes__AStdImport__n_visibility(val* self) {
2441 val* var /* : AVisibility */;
2442 val* var1 /* : AVisibility */;
2443 var1 = parser_nodes__AStdImport__n_visibility(self);
2444 var = var1;
2445 RET_LABEL:;
2446 return var;
2447 }
2448 /* method parser_nodes#AStdImport#n_name for (self: AStdImport): AModuleName */
2449 val* parser_nodes__AStdImport__n_name(val* self) {
2450 val* var /* : AModuleName */;
2451 val* var1 /* : AModuleName */;
2452 var1 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on <self:AStdImport> */
2453 if (unlikely(var1 == NULL)) {
2454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
2455 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 739);
2456 show_backtrace(1);
2457 }
2458 var = var1;
2459 goto RET_LABEL;
2460 RET_LABEL:;
2461 return var;
2462 }
2463 /* method parser_nodes#AStdImport#n_name for (self: Object): AModuleName */
2464 val* VIRTUAL_parser_nodes__AStdImport__n_name(val* self) {
2465 val* var /* : AModuleName */;
2466 val* var1 /* : AModuleName */;
2467 var1 = parser_nodes__AStdImport__n_name(self);
2468 var = var1;
2469 RET_LABEL:;
2470 return var;
2471 }
2472 /* method parser_nodes#AClassdef#n_propdefs for (self: AClassdef): ANodes[APropdef] */
2473 val* parser_nodes__AClassdef__n_propdefs(val* self) {
2474 val* var /* : ANodes[APropdef] */;
2475 val* var1 /* : ANodes[APropdef] */;
2476 var1 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AClassdef> */
2477 if (unlikely(var1 == NULL)) {
2478 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
2479 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
2480 show_backtrace(1);
2481 }
2482 var = var1;
2483 RET_LABEL:;
2484 return var;
2485 }
2486 /* method parser_nodes#AClassdef#n_propdefs for (self: Object): ANodes[APropdef] */
2487 val* VIRTUAL_parser_nodes__AClassdef__n_propdefs(val* self) {
2488 val* var /* : ANodes[APropdef] */;
2489 val* var1 /* : ANodes[APropdef] */;
2490 val* var3 /* : ANodes[APropdef] */;
2491 { /* Inline parser_nodes#AClassdef#n_propdefs (self) on <self:Object(AClassdef)> */
2492 var3 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:Object(AClassdef)> */
2493 if (unlikely(var3 == NULL)) {
2494 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
2495 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
2496 show_backtrace(1);
2497 }
2498 var1 = var3;
2499 RET_LABEL2:(void)0;
2500 }
2501 var = var1;
2502 RET_LABEL:;
2503 return var;
2504 }
2505 /* method parser_nodes#AStdClassdef#n_doc for (self: AStdClassdef): nullable ADoc */
2506 val* parser_nodes__AStdClassdef__n_doc(val* self) {
2507 val* var /* : nullable ADoc */;
2508 val* var1 /* : nullable ADoc */;
2509 var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
2510 var = var1;
2511 goto RET_LABEL;
2512 RET_LABEL:;
2513 return var;
2514 }
2515 /* method parser_nodes#AStdClassdef#n_doc for (self: Object): nullable ADoc */
2516 val* VIRTUAL_parser_nodes__AStdClassdef__n_doc(val* self) {
2517 val* var /* : nullable ADoc */;
2518 val* var1 /* : nullable ADoc */;
2519 var1 = parser_nodes__AStdClassdef__n_doc(self);
2520 var = var1;
2521 RET_LABEL:;
2522 return var;
2523 }
2524 /* method parser_nodes#AStdClassdef#n_kwredef for (self: AStdClassdef): nullable TKwredef */
2525 val* parser_nodes__AStdClassdef__n_kwredef(val* self) {
2526 val* var /* : nullable TKwredef */;
2527 val* var1 /* : nullable TKwredef */;
2528 var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
2529 var = var1;
2530 goto RET_LABEL;
2531 RET_LABEL:;
2532 return var;
2533 }
2534 /* method parser_nodes#AStdClassdef#n_kwredef for (self: Object): nullable TKwredef */
2535 val* VIRTUAL_parser_nodes__AStdClassdef__n_kwredef(val* self) {
2536 val* var /* : nullable TKwredef */;
2537 val* var1 /* : nullable TKwredef */;
2538 var1 = parser_nodes__AStdClassdef__n_kwredef(self);
2539 var = var1;
2540 RET_LABEL:;
2541 return var;
2542 }
2543 /* method parser_nodes#AStdClassdef#n_visibility for (self: AStdClassdef): AVisibility */
2544 val* parser_nodes__AStdClassdef__n_visibility(val* self) {
2545 val* var /* : AVisibility */;
2546 val* var1 /* : AVisibility */;
2547 var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on <self:AStdClassdef> */
2548 if (unlikely(var1 == NULL)) {
2549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
2550 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 816);
2551 show_backtrace(1);
2552 }
2553 var = var1;
2554 goto RET_LABEL;
2555 RET_LABEL:;
2556 return var;
2557 }
2558 /* method parser_nodes#AStdClassdef#n_visibility for (self: Object): AVisibility */
2559 val* VIRTUAL_parser_nodes__AStdClassdef__n_visibility(val* self) {
2560 val* var /* : AVisibility */;
2561 val* var1 /* : AVisibility */;
2562 var1 = parser_nodes__AStdClassdef__n_visibility(self);
2563 var = var1;
2564 RET_LABEL:;
2565 return var;
2566 }
2567 /* method parser_nodes#AStdClassdef#n_classkind for (self: AStdClassdef): AClasskind */
2568 val* parser_nodes__AStdClassdef__n_classkind(val* self) {
2569 val* var /* : AClasskind */;
2570 val* var1 /* : AClasskind */;
2571 var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on <self:AStdClassdef> */
2572 if (unlikely(var1 == NULL)) {
2573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classkind");
2574 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 819);
2575 show_backtrace(1);
2576 }
2577 var = var1;
2578 goto RET_LABEL;
2579 RET_LABEL:;
2580 return var;
2581 }
2582 /* method parser_nodes#AStdClassdef#n_classkind for (self: Object): AClasskind */
2583 val* VIRTUAL_parser_nodes__AStdClassdef__n_classkind(val* self) {
2584 val* var /* : AClasskind */;
2585 val* var1 /* : AClasskind */;
2586 var1 = parser_nodes__AStdClassdef__n_classkind(self);
2587 var = var1;
2588 RET_LABEL:;
2589 return var;
2590 }
2591 /* method parser_nodes#AStdClassdef#n_id for (self: AStdClassdef): nullable TClassid */
2592 val* parser_nodes__AStdClassdef__n_id(val* self) {
2593 val* var /* : nullable TClassid */;
2594 val* var1 /* : nullable TClassid */;
2595 var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
2596 var = var1;
2597 goto RET_LABEL;
2598 RET_LABEL:;
2599 return var;
2600 }
2601 /* method parser_nodes#AStdClassdef#n_id for (self: Object): nullable TClassid */
2602 val* VIRTUAL_parser_nodes__AStdClassdef__n_id(val* self) {
2603 val* var /* : nullable TClassid */;
2604 val* var1 /* : nullable TClassid */;
2605 var1 = parser_nodes__AStdClassdef__n_id(self);
2606 var = var1;
2607 RET_LABEL:;
2608 return var;
2609 }
2610 /* method parser_nodes#AStdClassdef#n_formaldefs for (self: AStdClassdef): ANodes[AFormaldef] */
2611 val* parser_nodes__AStdClassdef__n_formaldefs(val* self) {
2612 val* var /* : ANodes[AFormaldef] */;
2613 val* var1 /* : ANodes[AFormaldef] */;
2614 var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2615 if (unlikely(var1 == NULL)) {
2616 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2617 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 824);
2618 show_backtrace(1);
2619 }
2620 var = var1;
2621 RET_LABEL:;
2622 return var;
2623 }
2624 /* method parser_nodes#AStdClassdef#n_formaldefs for (self: Object): ANodes[AFormaldef] */
2625 val* VIRTUAL_parser_nodes__AStdClassdef__n_formaldefs(val* self) {
2626 val* var /* : ANodes[AFormaldef] */;
2627 val* var1 /* : ANodes[AFormaldef] */;
2628 val* var3 /* : ANodes[AFormaldef] */;
2629 { /* Inline parser_nodes#AStdClassdef#n_formaldefs (self) on <self:Object(AStdClassdef)> */
2630 var3 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:Object(AStdClassdef)> */
2631 if (unlikely(var3 == NULL)) {
2632 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2633 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 824);
2634 show_backtrace(1);
2635 }
2636 var1 = var3;
2637 RET_LABEL2:(void)0;
2638 }
2639 var = var1;
2640 RET_LABEL:;
2641 return var;
2642 }
2643 /* method parser_nodes#AStdClassdef#n_superclasses for (self: AStdClassdef): ANodes[ASuperclass] */
2644 val* parser_nodes__AStdClassdef__n_superclasses(val* self) {
2645 val* var /* : ANodes[ASuperclass] */;
2646 val* var1 /* : ANodes[ASuperclass] */;
2647 var1 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2648 if (unlikely(var1 == NULL)) {
2649 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses");
2650 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 828);
2651 show_backtrace(1);
2652 }
2653 var = var1;
2654 RET_LABEL:;
2655 return var;
2656 }
2657 /* method parser_nodes#AStdClassdef#n_superclasses for (self: Object): ANodes[ASuperclass] */
2658 val* VIRTUAL_parser_nodes__AStdClassdef__n_superclasses(val* self) {
2659 val* var /* : ANodes[ASuperclass] */;
2660 val* var1 /* : ANodes[ASuperclass] */;
2661 val* var3 /* : ANodes[ASuperclass] */;
2662 { /* Inline parser_nodes#AStdClassdef#n_superclasses (self) on <self:Object(AStdClassdef)> */
2663 var3 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:Object(AStdClassdef)> */
2664 if (unlikely(var3 == NULL)) {
2665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_superclasses");
2666 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 828);
2667 show_backtrace(1);
2668 }
2669 var1 = var3;
2670 RET_LABEL2:(void)0;
2671 }
2672 var = var1;
2673 RET_LABEL:;
2674 return var;
2675 }
2676 /* method parser_nodes#AStdClassdef#hot_location for (self: AStdClassdef): Location */
2677 val* parser_nodes__AStdClassdef__hot_location(val* self) {
2678 val* var /* : Location */;
2679 val* var1 /* : nullable TClassid */;
2680 val* var2 /* : Location */;
2681 {
2682 var1 = parser_nodes__AStdClassdef__n_id(self);
2683 }
2684 if (var1 == NULL) {
2685 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2686 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 832);
2687 show_backtrace(1);
2688 } else {
2689 var2 = parser_nodes__ANode__location(var1);
2690 }
2691 var = var2;
2692 goto RET_LABEL;
2693 RET_LABEL:;
2694 return var;
2695 }
2696 /* method parser_nodes#AStdClassdef#hot_location for (self: Object): Location */
2697 val* VIRTUAL_parser_nodes__AStdClassdef__hot_location(val* self) {
2698 val* var /* : Location */;
2699 val* var1 /* : Location */;
2700 var1 = parser_nodes__AStdClassdef__hot_location(self);
2701 var = var1;
2702 RET_LABEL:;
2703 return var;
2704 }
2705 /* method parser_nodes#AFormaldef#n_id for (self: AFormaldef): TClassid */
2706 val* parser_nodes__AFormaldef__n_id(val* self) {
2707 val* var /* : TClassid */;
2708 val* var1 /* : TClassid */;
2709 var1 = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on <self:AFormaldef> */
2710 if (unlikely(var1 == NULL)) {
2711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2712 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 896);
2713 show_backtrace(1);
2714 }
2715 var = var1;
2716 goto RET_LABEL;
2717 RET_LABEL:;
2718 return var;
2719 }
2720 /* method parser_nodes#AFormaldef#n_id for (self: Object): TClassid */
2721 val* VIRTUAL_parser_nodes__AFormaldef__n_id(val* self) {
2722 val* var /* : TClassid */;
2723 val* var1 /* : TClassid */;
2724 var1 = parser_nodes__AFormaldef__n_id(self);
2725 var = var1;
2726 RET_LABEL:;
2727 return var;
2728 }
2729 /* method parser_nodes#AFormaldef#n_type for (self: AFormaldef): nullable AType */
2730 val* parser_nodes__AFormaldef__n_type(val* self) {
2731 val* var /* : nullable AType */;
2732 val* var1 /* : nullable AType */;
2733 var1 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
2734 var = var1;
2735 goto RET_LABEL;
2736 RET_LABEL:;
2737 return var;
2738 }
2739 /* method parser_nodes#AFormaldef#n_type for (self: Object): nullable AType */
2740 val* VIRTUAL_parser_nodes__AFormaldef__n_type(val* self) {
2741 val* var /* : nullable AType */;
2742 val* var1 /* : nullable AType */;
2743 var1 = parser_nodes__AFormaldef__n_type(self);
2744 var = var1;
2745 RET_LABEL:;
2746 return var;
2747 }
2748 /* method parser_nodes#ASuperclass#n_type for (self: ASuperclass): AType */
2749 val* parser_nodes__ASuperclass__n_type(val* self) {
2750 val* var /* : AType */;
2751 val* var1 /* : AType */;
2752 var1 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on <self:ASuperclass> */
2753 if (unlikely(var1 == NULL)) {
2754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
2755 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 912);
2756 show_backtrace(1);
2757 }
2758 var = var1;
2759 goto RET_LABEL;
2760 RET_LABEL:;
2761 return var;
2762 }
2763 /* method parser_nodes#ASuperclass#n_type for (self: Object): AType */
2764 val* VIRTUAL_parser_nodes__ASuperclass__n_type(val* self) {
2765 val* var /* : AType */;
2766 val* var1 /* : AType */;
2767 var1 = parser_nodes__ASuperclass__n_type(self);
2768 var = var1;
2769 RET_LABEL:;
2770 return var;
2771 }
2772 /* method parser_nodes#APropdef#n_doc for (self: APropdef): nullable ADoc */
2773 val* parser_nodes__APropdef__n_doc(val* self) {
2774 val* var /* : nullable ADoc */;
2775 val* var1 /* : nullable ADoc */;
2776 var1 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:APropdef> */
2777 var = var1;
2778 goto RET_LABEL;
2779 RET_LABEL:;
2780 return var;
2781 }
2782 /* method parser_nodes#APropdef#n_doc for (self: Object): nullable ADoc */
2783 val* VIRTUAL_parser_nodes__APropdef__n_doc(val* self) {
2784 val* var /* : nullable ADoc */;
2785 val* var1 /* : nullable ADoc */;
2786 var1 = parser_nodes__APropdef__n_doc(self);
2787 var = var1;
2788 RET_LABEL:;
2789 return var;
2790 }
2791 /* method parser_nodes#APropdef#n_kwredef for (self: APropdef): nullable TKwredef */
2792 val* parser_nodes__APropdef__n_kwredef(val* self) {
2793 val* var /* : nullable TKwredef */;
2794 val* var1 /* : nullable TKwredef */;
2795 var1 = self->attrs[COLOR_parser_nodes__APropdef___n_kwredef].val; /* _n_kwredef on <self:APropdef> */
2796 var = var1;
2797 goto RET_LABEL;
2798 RET_LABEL:;
2799 return var;
2800 }
2801 /* method parser_nodes#APropdef#n_kwredef for (self: Object): nullable TKwredef */
2802 val* VIRTUAL_parser_nodes__APropdef__n_kwredef(val* self) {
2803 val* var /* : nullable TKwredef */;
2804 val* var1 /* : nullable TKwredef */;
2805 var1 = parser_nodes__APropdef__n_kwredef(self);
2806 var = var1;
2807 RET_LABEL:;
2808 return var;
2809 }
2810 /* method parser_nodes#APropdef#n_visibility for (self: APropdef): nullable AVisibility */
2811 val* parser_nodes__APropdef__n_visibility(val* self) {
2812 val* var /* : nullable AVisibility */;
2813 val* var1 /* : nullable AVisibility */;
2814 var1 = self->attrs[COLOR_parser_nodes__APropdef___n_visibility].val; /* _n_visibility on <self:APropdef> */
2815 var = var1;
2816 goto RET_LABEL;
2817 RET_LABEL:;
2818 return var;
2819 }
2820 /* method parser_nodes#APropdef#n_visibility for (self: Object): nullable AVisibility */
2821 val* VIRTUAL_parser_nodes__APropdef__n_visibility(val* self) {
2822 val* var /* : nullable AVisibility */;
2823 val* var1 /* : nullable AVisibility */;
2824 var1 = parser_nodes__APropdef__n_visibility(self);
2825 var = var1;
2826 RET_LABEL:;
2827 return var;
2828 }
2829 /* method parser_nodes#AAttrPropdef#n_id for (self: AAttrPropdef): nullable TAttrid */
2830 val* parser_nodes__AAttrPropdef__n_id(val* self) {
2831 val* var /* : nullable TAttrid */;
2832 val* var1 /* : nullable TAttrid */;
2833 var1 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
2834 var = var1;
2835 goto RET_LABEL;
2836 RET_LABEL:;
2837 return var;
2838 }
2839 /* method parser_nodes#AAttrPropdef#n_id for (self: Object): nullable TAttrid */
2840 val* VIRTUAL_parser_nodes__AAttrPropdef__n_id(val* self) {
2841 val* var /* : nullable TAttrid */;
2842 val* var1 /* : nullable TAttrid */;
2843 var1 = parser_nodes__AAttrPropdef__n_id(self);
2844 var = var1;
2845 RET_LABEL:;
2846 return var;
2847 }
2848 /* method parser_nodes#AAttrPropdef#n_id2 for (self: AAttrPropdef): nullable TId */
2849 val* parser_nodes__AAttrPropdef__n_id2(val* self) {
2850 val* var /* : nullable TId */;
2851 val* var1 /* : nullable TId */;
2852 var1 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
2853 var = var1;
2854 goto RET_LABEL;
2855 RET_LABEL:;
2856 return var;
2857 }
2858 /* method parser_nodes#AAttrPropdef#n_id2 for (self: Object): nullable TId */
2859 val* VIRTUAL_parser_nodes__AAttrPropdef__n_id2(val* self) {
2860 val* var /* : nullable TId */;
2861 val* var1 /* : nullable TId */;
2862 var1 = parser_nodes__AAttrPropdef__n_id2(self);
2863 var = var1;
2864 RET_LABEL:;
2865 return var;
2866 }
2867 /* method parser_nodes#AAttrPropdef#n_type for (self: AAttrPropdef): nullable AType */
2868 val* parser_nodes__AAttrPropdef__n_type(val* self) {
2869 val* var /* : nullable AType */;
2870 val* var1 /* : nullable AType */;
2871 var1 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
2872 var = var1;
2873 goto RET_LABEL;
2874 RET_LABEL:;
2875 return var;
2876 }
2877 /* method parser_nodes#AAttrPropdef#n_type for (self: Object): nullable AType */
2878 val* VIRTUAL_parser_nodes__AAttrPropdef__n_type(val* self) {
2879 val* var /* : nullable AType */;
2880 val* var1 /* : nullable AType */;
2881 var1 = parser_nodes__AAttrPropdef__n_type(self);
2882 var = var1;
2883 RET_LABEL:;
2884 return var;
2885 }
2886 /* method parser_nodes#AAttrPropdef#n_readable for (self: AAttrPropdef): nullable AAble */
2887 val* parser_nodes__AAttrPropdef__n_readable(val* self) {
2888 val* var /* : nullable AAble */;
2889 val* var1 /* : nullable AAble */;
2890 var1 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
2891 var = var1;
2892 goto RET_LABEL;
2893 RET_LABEL:;
2894 return var;
2895 }
2896 /* method parser_nodes#AAttrPropdef#n_readable for (self: Object): nullable AAble */
2897 val* VIRTUAL_parser_nodes__AAttrPropdef__n_readable(val* self) {
2898 val* var /* : nullable AAble */;
2899 val* var1 /* : nullable AAble */;
2900 var1 = parser_nodes__AAttrPropdef__n_readable(self);
2901 var = var1;
2902 RET_LABEL:;
2903 return var;
2904 }
2905 /* method parser_nodes#AAttrPropdef#n_writable for (self: AAttrPropdef): nullable AAble */
2906 val* parser_nodes__AAttrPropdef__n_writable(val* self) {
2907 val* var /* : nullable AAble */;
2908 val* var1 /* : nullable AAble */;
2909 var1 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
2910 var = var1;
2911 goto RET_LABEL;
2912 RET_LABEL:;
2913 return var;
2914 }
2915 /* method parser_nodes#AAttrPropdef#n_writable for (self: Object): nullable AAble */
2916 val* VIRTUAL_parser_nodes__AAttrPropdef__n_writable(val* self) {
2917 val* var /* : nullable AAble */;
2918 val* var1 /* : nullable AAble */;
2919 var1 = parser_nodes__AAttrPropdef__n_writable(self);
2920 var = var1;
2921 RET_LABEL:;
2922 return var;
2923 }
2924 /* method parser_nodes#AAttrPropdef#n_expr for (self: AAttrPropdef): nullable AExpr */
2925 val* parser_nodes__AAttrPropdef__n_expr(val* self) {
2926 val* var /* : nullable AExpr */;
2927 val* var1 /* : nullable AExpr */;
2928 var1 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
2929 var = var1;
2930 goto RET_LABEL;
2931 RET_LABEL:;
2932 return var;
2933 }
2934 /* method parser_nodes#AAttrPropdef#n_expr for (self: Object): nullable AExpr */
2935 val* VIRTUAL_parser_nodes__AAttrPropdef__n_expr(val* self) {
2936 val* var /* : nullable AExpr */;
2937 val* var1 /* : nullable AExpr */;
2938 var1 = parser_nodes__AAttrPropdef__n_expr(self);
2939 var = var1;
2940 RET_LABEL:;
2941 return var;
2942 }
2943 /* method parser_nodes#AAttrPropdef#hot_location for (self: AAttrPropdef): Location */
2944 val* parser_nodes__AAttrPropdef__hot_location(val* self) {
2945 val* var /* : Location */;
2946 val* var1 /* : nullable TAttrid */;
2947 val* var2 /* : null */;
2948 short int var3 /* : Bool */;
2949 short int var4 /* : Bool */;
2950 val* var_other /* var other: nullable Object */;
2951 short int var6 /* : Bool */;
2952 short int var7 /* : Bool */;
2953 short int var8 /* : Bool */;
2954 val* var9 /* : nullable TAttrid */;
2955 val* var10 /* : Location */;
2956 val* var11 /* : nullable TId */;
2957 val* var12 /* : Location */;
2958 {
2959 var1 = parser_nodes__AAttrPropdef__n_id(self);
2960 }
2961 var2 = NULL;
2962 if (var1 == NULL) {
2963 var3 = 0; /* is null */
2964 } else {
2965 var3 = 1; /* arg is null and recv is not */
2966 }
2967 if (0) {
2968 { /* Inline kernel#Object#!= (var1,var2) on <var1:nullable TAttrid> */
2969 var_other = var2;
2970 {
2971 var7 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_kernel__Object___61d_61d]))(var1, var_other) /* == on <var1:nullable TAttrid(TAttrid)>*/;
2972 var6 = var7;
2973 }
2974 var8 = !var6;
2975 var4 = var8;
2976 goto RET_LABEL5;
2977 RET_LABEL5:(void)0;
2978 }
2979 var3 = var4;
2980 }
2981 if (var3){
2982 {
2983 var9 = parser_nodes__AAttrPropdef__n_id(self);
2984 }
2985 if (var9 == NULL) {
2986 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2987 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 965);
2988 show_backtrace(1);
2989 } else {
2990 var10 = parser_nodes__ANode__location(var9);
2991 }
2992 var = var10;
2993 goto RET_LABEL;
2994 } else {
2995 {
2996 var11 = parser_nodes__AAttrPropdef__n_id2(self);
2997 }
2998 if (var11 == NULL) {
2999 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3000 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 965);
3001 show_backtrace(1);
3002 } else {
3003 var12 = parser_nodes__ANode__location(var11);
3004 }
3005 var = var12;
3006 goto RET_LABEL;
3007 }
3008 RET_LABEL:;
3009 return var;
3010 }
3011 /* method parser_nodes#AAttrPropdef#hot_location for (self: Object): Location */
3012 val* VIRTUAL_parser_nodes__AAttrPropdef__hot_location(val* self) {
3013 val* var /* : Location */;
3014 val* var1 /* : Location */;
3015 var1 = parser_nodes__AAttrPropdef__hot_location(self);
3016 var = var1;
3017 RET_LABEL:;
3018 return var;
3019 }
3020 /* method parser_nodes#AMethPropdef#n_kwmeth= for (self: AMethPropdef, nullable TKwmeth) */
3021 void parser_nodes__AMethPropdef__n_kwmeth_61d(val* self, val* p0) {
3022 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
3023 var_n_kwmeth = p0;
3024 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AMethPropdef> */
3025 RET_LABEL:;
3026 }
3027 /* method parser_nodes#AMethPropdef#n_kwmeth= for (self: Object, nullable TKwmeth) */
3028 void VIRTUAL_parser_nodes__AMethPropdef__n_kwmeth_61d(val* self, val* p0) {
3029 parser_nodes__AMethPropdef__n_kwmeth_61d(self, p0); /* Direct call parser_nodes#AMethPropdef#n_kwmeth= on <self:Object(AMethPropdef)>*/
3030 RET_LABEL:;
3031 }
3032 /* method parser_nodes#AMethPropdef#n_kwinit for (self: AMethPropdef): nullable TKwinit */
3033 val* parser_nodes__AMethPropdef__n_kwinit(val* self) {
3034 val* var /* : nullable TKwinit */;
3035 val* var1 /* : nullable TKwinit */;
3036 var1 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwinit].val; /* _n_kwinit on <self:AMethPropdef> */
3037 var = var1;
3038 goto RET_LABEL;
3039 RET_LABEL:;
3040 return var;
3041 }
3042 /* method parser_nodes#AMethPropdef#n_kwinit for (self: Object): nullable TKwinit */
3043 val* VIRTUAL_parser_nodes__AMethPropdef__n_kwinit(val* self) {
3044 val* var /* : nullable TKwinit */;
3045 val* var1 /* : nullable TKwinit */;
3046 var1 = parser_nodes__AMethPropdef__n_kwinit(self);
3047 var = var1;
3048 RET_LABEL:;
3049 return var;
3050 }
3051 /* method parser_nodes#AMethPropdef#n_kwinit= for (self: AMethPropdef, nullable TKwinit) */
3052 void parser_nodes__AMethPropdef__n_kwinit_61d(val* self, val* p0) {
3053 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
3054 var_n_kwinit = p0;
3055 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AMethPropdef> */
3056 RET_LABEL:;
3057 }
3058 /* method parser_nodes#AMethPropdef#n_kwinit= for (self: Object, nullable TKwinit) */
3059 void VIRTUAL_parser_nodes__AMethPropdef__n_kwinit_61d(val* self, val* p0) {
3060 parser_nodes__AMethPropdef__n_kwinit_61d(self, p0); /* Direct call parser_nodes#AMethPropdef#n_kwinit= on <self:Object(AMethPropdef)>*/
3061 RET_LABEL:;
3062 }
3063 /* method parser_nodes#AMethPropdef#n_kwnew for (self: AMethPropdef): nullable TKwnew */
3064 val* parser_nodes__AMethPropdef__n_kwnew(val* self) {
3065 val* var /* : nullable TKwnew */;
3066 val* var1 /* : nullable TKwnew */;
3067 var1 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwnew].val; /* _n_kwnew on <self:AMethPropdef> */
3068 var = var1;
3069 goto RET_LABEL;
3070 RET_LABEL:;
3071 return var;
3072 }
3073 /* method parser_nodes#AMethPropdef#n_kwnew for (self: Object): nullable TKwnew */
3074 val* VIRTUAL_parser_nodes__AMethPropdef__n_kwnew(val* self) {
3075 val* var /* : nullable TKwnew */;
3076 val* var1 /* : nullable TKwnew */;
3077 var1 = parser_nodes__AMethPropdef__n_kwnew(self);
3078 var = var1;
3079 RET_LABEL:;
3080 return var;
3081 }
3082 /* method parser_nodes#AMethPropdef#n_kwnew= for (self: AMethPropdef, nullable TKwnew) */
3083 void parser_nodes__AMethPropdef__n_kwnew_61d(val* self, val* p0) {
3084 val* var_n_kwnew /* var n_kwnew: nullable TKwnew */;
3085 var_n_kwnew = p0;
3086 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwnew].val = var_n_kwnew; /* _n_kwnew on <self:AMethPropdef> */
3087 RET_LABEL:;
3088 }
3089 /* method parser_nodes#AMethPropdef#n_kwnew= for (self: Object, nullable TKwnew) */
3090 void VIRTUAL_parser_nodes__AMethPropdef__n_kwnew_61d(val* self, val* p0) {
3091 parser_nodes__AMethPropdef__n_kwnew_61d(self, p0); /* Direct call parser_nodes#AMethPropdef#n_kwnew= on <self:Object(AMethPropdef)>*/
3092 RET_LABEL:;
3093 }
3094 /* method parser_nodes#AMethPropdef#n_methid for (self: AMethPropdef): nullable AMethid */
3095 val* parser_nodes__AMethPropdef__n_methid(val* self) {
3096 val* var /* : nullable AMethid */;
3097 val* var1 /* : nullable AMethid */;
3098 var1 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AMethPropdef> */
3099 var = var1;
3100 goto RET_LABEL;
3101 RET_LABEL:;
3102 return var;
3103 }
3104 /* method parser_nodes#AMethPropdef#n_methid for (self: Object): nullable AMethid */
3105 val* VIRTUAL_parser_nodes__AMethPropdef__n_methid(val* self) {
3106 val* var /* : nullable AMethid */;
3107 val* var1 /* : nullable AMethid */;
3108 var1 = parser_nodes__AMethPropdef__n_methid(self);
3109 var = var1;
3110 RET_LABEL:;
3111 return var;
3112 }
3113 /* method parser_nodes#AMethPropdef#n_signature for (self: AMethPropdef): nullable ASignature */
3114 val* parser_nodes__AMethPropdef__n_signature(val* self) {
3115 val* var /* : nullable ASignature */;
3116 val* var1 /* : nullable ASignature */;
3117 var1 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AMethPropdef> */
3118 var = var1;
3119 goto RET_LABEL;
3120 RET_LABEL:;
3121 return var;
3122 }
3123 /* method parser_nodes#AMethPropdef#n_signature for (self: Object): nullable ASignature */
3124 val* VIRTUAL_parser_nodes__AMethPropdef__n_signature(val* self) {
3125 val* var /* : nullable ASignature */;
3126 val* var1 /* : nullable ASignature */;
3127 var1 = parser_nodes__AMethPropdef__n_signature(self);
3128 var = var1;
3129 RET_LABEL:;
3130 return var;
3131 }
3132 /* method parser_nodes#AMethPropdef#n_block for (self: AMethPropdef): nullable AExpr */
3133 val* parser_nodes__AMethPropdef__n_block(val* self) {
3134 val* var /* : nullable AExpr */;
3135 val* var1 /* : nullable AExpr */;
3136 var1 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val; /* _n_block on <self:AMethPropdef> */
3137 var = var1;
3138 goto RET_LABEL;
3139 RET_LABEL:;
3140 return var;
3141 }
3142 /* method parser_nodes#AMethPropdef#n_block for (self: Object): nullable AExpr */
3143 val* VIRTUAL_parser_nodes__AMethPropdef__n_block(val* self) {
3144 val* var /* : nullable AExpr */;
3145 val* var1 /* : nullable AExpr */;
3146 var1 = parser_nodes__AMethPropdef__n_block(self);
3147 var = var1;
3148 RET_LABEL:;
3149 return var;
3150 }
3151 /* method parser_nodes#AMethPropdef#n_block= for (self: AMethPropdef, nullable AExpr) */
3152 void parser_nodes__AMethPropdef__n_block_61d(val* self, val* p0) {
3153 val* var_n_block /* var n_block: nullable AExpr */;
3154 var_n_block = p0;
3155 self->attrs[COLOR_parser_nodes__AMethPropdef___n_block].val = var_n_block; /* _n_block on <self:AMethPropdef> */
3156 RET_LABEL:;
3157 }
3158 /* method parser_nodes#AMethPropdef#n_block= for (self: Object, nullable AExpr) */
3159 void VIRTUAL_parser_nodes__AMethPropdef__n_block_61d(val* self, val* p0) {
3160 parser_nodes__AMethPropdef__n_block_61d(self, p0); /* Direct call parser_nodes#AMethPropdef#n_block= on <self:Object(AMethPropdef)>*/
3161 RET_LABEL:;
3162 }
3163 /* method parser_nodes#AMethPropdef#n_extern for (self: AMethPropdef): nullable TString */
3164 val* parser_nodes__AMethPropdef__n_extern(val* self) {
3165 val* var /* : nullable TString */;
3166 val* var1 /* : nullable TString */;
3167 var1 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern].val; /* _n_extern on <self:AMethPropdef> */
3168 var = var1;
3169 goto RET_LABEL;
3170 RET_LABEL:;
3171 return var;
3172 }
3173 /* method parser_nodes#AMethPropdef#n_extern for (self: Object): nullable TString */
3174 val* VIRTUAL_parser_nodes__AMethPropdef__n_extern(val* self) {
3175 val* var /* : nullable TString */;
3176 val* var1 /* : nullable TString */;
3177 var1 = parser_nodes__AMethPropdef__n_extern(self);
3178 var = var1;
3179 RET_LABEL:;
3180 return var;
3181 }
3182 /* method parser_nodes#AMethPropdef#n_extern= for (self: AMethPropdef, nullable TString) */
3183 void parser_nodes__AMethPropdef__n_extern_61d(val* self, val* p0) {
3184 val* var_n_extern /* var n_extern: nullable TString */;
3185 var_n_extern = p0;
3186 self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern].val = var_n_extern; /* _n_extern on <self:AMethPropdef> */
3187 RET_LABEL:;
3188 }
3189 /* method parser_nodes#AMethPropdef#n_extern= for (self: Object, nullable TString) */
3190 void VIRTUAL_parser_nodes__AMethPropdef__n_extern_61d(val* self, val* p0) {
3191 parser_nodes__AMethPropdef__n_extern_61d(self, p0); /* Direct call parser_nodes#AMethPropdef#n_extern= on <self:Object(AMethPropdef)>*/
3192 RET_LABEL:;
3193 }
3194 /* method parser_nodes#AMethPropdef#n_extern_calls= for (self: AMethPropdef, nullable AExternCalls) */
3195 void parser_nodes__AMethPropdef__n_extern_calls_61d(val* self, val* p0) {
3196 val* var_n_extern_calls /* var n_extern_calls: nullable AExternCalls */;
3197 var_n_extern_calls = p0;
3198 self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_calls].val = var_n_extern_calls; /* _n_extern_calls on <self:AMethPropdef> */
3199 RET_LABEL:;
3200 }
3201 /* method parser_nodes#AMethPropdef#n_extern_calls= for (self: Object, nullable AExternCalls) */
3202 void VIRTUAL_parser_nodes__AMethPropdef__n_extern_calls_61d(val* self, val* p0) {
3203 parser_nodes__AMethPropdef__n_extern_calls_61d(self, p0); /* Direct call parser_nodes#AMethPropdef#n_extern_calls= on <self:Object(AMethPropdef)>*/
3204 RET_LABEL:;
3205 }
3206 /* method parser_nodes#AMethPropdef#n_extern_code_block= for (self: AMethPropdef, nullable AExternCodeBlock) */
3207 void parser_nodes__AMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
3208 val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */;
3209 var_n_extern_code_block = p0;
3210 self->attrs[COLOR_parser_nodes__AMethPropdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on <self:AMethPropdef> */
3211 RET_LABEL:;
3212 }
3213 /* method parser_nodes#AMethPropdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */
3214 void VIRTUAL_parser_nodes__AMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
3215 parser_nodes__AMethPropdef__n_extern_code_block_61d(self, p0); /* Direct call parser_nodes#AMethPropdef#n_extern_code_block= on <self:Object(AMethPropdef)>*/
3216 RET_LABEL:;
3217 }
3218 /* method parser_nodes#AMethPropdef#hot_location for (self: AMethPropdef): Location */
3219 val* parser_nodes__AMethPropdef__hot_location(val* self) {
3220 val* var /* : Location */;
3221 val* var1 /* : nullable AMethid */;
3222 val* var2 /* : null */;
3223 short int var3 /* : Bool */;
3224 short int var4 /* : Bool */;
3225 val* var_other /* var other: nullable Object */;
3226 short int var6 /* : Bool */;
3227 short int var7 /* : Bool */;
3228 short int var8 /* : Bool */;
3229 val* var9 /* : nullable AMethid */;
3230 val* var10 /* : Location */;
3231 val* var11 /* : nullable TKwinit */;
3232 val* var12 /* : null */;
3233 short int var13 /* : Bool */;
3234 short int var14 /* : Bool */;
3235 short int var16 /* : Bool */;
3236 short int var17 /* : Bool */;
3237 short int var18 /* : Bool */;
3238 val* var19 /* : nullable TKwinit */;
3239 val* var20 /* : Location */;
3240 val* var21 /* : nullable TKwnew */;
3241 val* var22 /* : null */;
3242 short int var23 /* : Bool */;
3243 short int var24 /* : Bool */;
3244 short int var26 /* : Bool */;
3245 short int var27 /* : Bool */;
3246 short int var28 /* : Bool */;
3247 val* var29 /* : nullable TKwnew */;
3248 val* var30 /* : Location */;
3249 val* var31 /* : Location */;
3250 {
3251 var1 = parser_nodes__AMethPropdef__n_methid(self);
3252 }
3253 var2 = NULL;
3254 if (var1 == NULL) {
3255 var3 = 0; /* is null */
3256 } else {
3257 var3 = 1; /* arg is null and recv is not */
3258 }
3259 if (0) {
3260 { /* Inline kernel#Object#!= (var1,var2) on <var1:nullable AMethid> */
3261 var_other = var2;
3262 {
3263 var7 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_kernel__Object___61d_61d]))(var1, var_other) /* == on <var1:nullable AMethid(AMethid)>*/;
3264 var6 = var7;
3265 }
3266 var8 = !var6;
3267 var4 = var8;
3268 goto RET_LABEL5;
3269 RET_LABEL5:(void)0;
3270 }
3271 var3 = var4;
3272 }
3273 if (var3){
3274 {
3275 var9 = parser_nodes__AMethPropdef__n_methid(self);
3276 }
3277 if (var9 == NULL) {
3278 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3279 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1003);
3280 show_backtrace(1);
3281 } else {
3282 var10 = parser_nodes__ANode__location(var9);
3283 }
3284 var = var10;
3285 goto RET_LABEL;
3286 } else {
3287 {
3288 var11 = parser_nodes__AMethPropdef__n_kwinit(self);
3289 }
3290 var12 = NULL;
3291 if (var11 == NULL) {
3292 var13 = 0; /* is null */
3293 } else {
3294 var13 = 1; /* arg is null and recv is not */
3295 }
3296 if (0) {
3297 { /* Inline kernel#Object#!= (var11,var12) on <var11:nullable TKwinit> */
3298 var_other = var12;
3299 {
3300 var17 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_other) /* == on <var11:nullable TKwinit(TKwinit)>*/;
3301 var16 = var17;
3302 }
3303 var18 = !var16;
3304 var14 = var18;
3305 goto RET_LABEL15;
3306 RET_LABEL15:(void)0;
3307 }
3308 var13 = var14;
3309 }
3310 if (var13){
3311 {
3312 var19 = parser_nodes__AMethPropdef__n_kwinit(self);
3313 }
3314 if (var19 == NULL) {
3315 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3316 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1005);
3317 show_backtrace(1);
3318 } else {
3319 var20 = parser_nodes__ANode__location(var19);
3320 }
3321 var = var20;
3322 goto RET_LABEL;
3323 } else {
3324 {
3325 var21 = parser_nodes__AMethPropdef__n_kwnew(self);
3326 }
3327 var22 = NULL;
3328 if (var21 == NULL) {
3329 var23 = 0; /* is null */
3330 } else {
3331 var23 = 1; /* arg is null and recv is not */
3332 }
3333 if (0) {
3334 { /* Inline kernel#Object#!= (var21,var22) on <var21:nullable TKwnew> */
3335 var_other = var22;
3336 {
3337 var27 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_other) /* == on <var21:nullable TKwnew(TKwnew)>*/;
3338 var26 = var27;
3339 }
3340 var28 = !var26;
3341 var24 = var28;
3342 goto RET_LABEL25;
3343 RET_LABEL25:(void)0;
3344 }
3345 var23 = var24;
3346 }
3347 if (var23){
3348 {
3349 var29 = parser_nodes__AMethPropdef__n_kwnew(self);
3350 }
3351 if (var29 == NULL) {
3352 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3353 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1007);
3354 show_backtrace(1);
3355 } else {
3356 var30 = parser_nodes__ANode__location(var29);
3357 }
3358 var = var30;
3359 goto RET_LABEL;
3360 } else {
3361 {
3362 var31 = parser_nodes__ANode__location(self);
3363 }
3364 var = var31;
3365 goto RET_LABEL;
3366 }
3367 }
3368 }
3369 RET_LABEL:;
3370 return var;
3371 }
3372 /* method parser_nodes#AMethPropdef#hot_location for (self: Object): Location */
3373 val* VIRTUAL_parser_nodes__AMethPropdef__hot_location(val* self) {
3374 val* var /* : Location */;
3375 val* var1 /* : Location */;
3376 var1 = parser_nodes__AMethPropdef__hot_location(self);
3377 var = var1;
3378 RET_LABEL:;
3379 return var;
3380 }
3381 /* method parser_nodes#AExternCalls#n_extern_calls for (self: AExternCalls): ANodes[AExternCall] */
3382 val* parser_nodes__AExternCalls__n_extern_calls(val* self) {
3383 val* var /* : ANodes[AExternCall] */;
3384 val* var1 /* : ANodes[AExternCall] */;
3385 var1 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:AExternCalls> */
3386 if (unlikely(var1 == NULL)) {
3387 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_calls");
3388 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1073);
3389 show_backtrace(1);
3390 }
3391 var = var1;
3392 RET_LABEL:;
3393 return var;
3394 }
3395 /* method parser_nodes#AExternCalls#n_extern_calls for (self: Object): ANodes[AExternCall] */
3396 val* VIRTUAL_parser_nodes__AExternCalls__n_extern_calls(val* self) {
3397 val* var /* : ANodes[AExternCall] */;
3398 val* var1 /* : ANodes[AExternCall] */;
3399 val* var3 /* : ANodes[AExternCall] */;
3400 { /* Inline parser_nodes#AExternCalls#n_extern_calls (self) on <self:Object(AExternCalls)> */
3401 var3 = self->attrs[COLOR_parser_nodes__AExternCalls___n_extern_calls].val; /* _n_extern_calls on <self:Object(AExternCalls)> */
3402 if (unlikely(var3 == NULL)) {
3403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_calls");
3404 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1073);
3405 show_backtrace(1);
3406 }
3407 var1 = var3;
3408 RET_LABEL2:(void)0;
3409 }
3410 var = var1;
3411 RET_LABEL:;
3412 return var;
3413 }
3414 /* method parser_nodes#ATypePropdef#n_id for (self: ATypePropdef): TClassid */
3415 val* parser_nodes__ATypePropdef__n_id(val* self) {
3416 val* var /* : TClassid */;
3417 val* var1 /* : TClassid */;
3418 var1 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_id].val; /* _n_id on <self:ATypePropdef> */
3419 if (unlikely(var1 == NULL)) {
3420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3421 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1172);
3422 show_backtrace(1);
3423 }
3424 var = var1;
3425 goto RET_LABEL;
3426 RET_LABEL:;
3427 return var;
3428 }
3429 /* method parser_nodes#ATypePropdef#n_id for (self: Object): TClassid */
3430 val* VIRTUAL_parser_nodes__ATypePropdef__n_id(val* self) {
3431 val* var /* : TClassid */;
3432 val* var1 /* : TClassid */;
3433 var1 = parser_nodes__ATypePropdef__n_id(self);
3434 var = var1;
3435 RET_LABEL:;
3436 return var;
3437 }
3438 /* method parser_nodes#ATypePropdef#n_type for (self: ATypePropdef): AType */
3439 val* parser_nodes__ATypePropdef__n_type(val* self) {
3440 val* var /* : AType */;
3441 val* var1 /* : AType */;
3442 var1 = self->attrs[COLOR_parser_nodes__ATypePropdef___n_type].val; /* _n_type on <self:ATypePropdef> */
3443 if (unlikely(var1 == NULL)) {
3444 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3445 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1175);
3446 show_backtrace(1);
3447 }
3448 var = var1;
3449 goto RET_LABEL;
3450 RET_LABEL:;
3451 return var;
3452 }
3453 /* method parser_nodes#ATypePropdef#n_type for (self: Object): AType */
3454 val* VIRTUAL_parser_nodes__ATypePropdef__n_type(val* self) {
3455 val* var /* : AType */;
3456 val* var1 /* : AType */;
3457 var1 = parser_nodes__ATypePropdef__n_type(self);
3458 var = var1;
3459 RET_LABEL:;
3460 return var;
3461 }
3462 /* method parser_nodes#AAble#n_visibility for (self: AAble): nullable AVisibility */
3463 val* parser_nodes__AAble__n_visibility(val* self) {
3464 val* var /* : nullable AVisibility */;
3465 val* var1 /* : nullable AVisibility */;
3466 var1 = self->attrs[COLOR_parser_nodes__AAble___n_visibility].val; /* _n_visibility on <self:AAble> */
3467 var = var1;
3468 goto RET_LABEL;
3469 RET_LABEL:;
3470 return var;
3471 }
3472 /* method parser_nodes#AAble#n_visibility for (self: Object): nullable AVisibility */
3473 val* VIRTUAL_parser_nodes__AAble__n_visibility(val* self) {
3474 val* var /* : nullable AVisibility */;
3475 val* var1 /* : nullable AVisibility */;
3476 var1 = parser_nodes__AAble__n_visibility(self);
3477 var = var1;
3478 RET_LABEL:;
3479 return var;
3480 }
3481 /* method parser_nodes#AAble#n_visibility= for (self: AAble, nullable AVisibility) */
3482 void parser_nodes__AAble__n_visibility_61d(val* self, val* p0) {
3483 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
3484 var_n_visibility = p0;
3485 self->attrs[COLOR_parser_nodes__AAble___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AAble> */
3486 RET_LABEL:;
3487 }
3488 /* method parser_nodes#AAble#n_visibility= for (self: Object, nullable AVisibility) */
3489 void VIRTUAL_parser_nodes__AAble__n_visibility_61d(val* self, val* p0) {
3490 parser_nodes__AAble__n_visibility_61d(self, p0); /* Direct call parser_nodes#AAble#n_visibility= on <self:Object(AAble)>*/
3491 RET_LABEL:;
3492 }
3493 /* method parser_nodes#AAble#n_kwredef for (self: AAble): nullable TKwredef */
3494 val* parser_nodes__AAble__n_kwredef(val* self) {
3495 val* var /* : nullable TKwredef */;
3496 val* var1 /* : nullable TKwredef */;
3497 var1 = self->attrs[COLOR_parser_nodes__AAble___n_kwredef].val; /* _n_kwredef on <self:AAble> */
3498 var = var1;
3499 goto RET_LABEL;
3500 RET_LABEL:;
3501 return var;
3502 }
3503 /* method parser_nodes#AAble#n_kwredef for (self: Object): nullable TKwredef */
3504 val* VIRTUAL_parser_nodes__AAble__n_kwredef(val* self) {
3505 val* var /* : nullable TKwredef */;
3506 val* var1 /* : nullable TKwredef */;
3507 var1 = parser_nodes__AAble__n_kwredef(self);
3508 var = var1;
3509 RET_LABEL:;
3510 return var;
3511 }
3512 /* method parser_nodes#AIdMethid#n_id for (self: AIdMethid): TId */
3513 val* parser_nodes__AIdMethid__n_id(val* self) {
3514 val* var /* : TId */;
3515 val* var1 /* : TId */;
3516 var1 = self->attrs[COLOR_parser_nodes__AIdMethid___n_id].val; /* _n_id on <self:AIdMethid> */
3517 if (unlikely(var1 == NULL)) {
3518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3519 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1218);
3520 show_backtrace(1);
3521 }
3522 var = var1;
3523 goto RET_LABEL;
3524 RET_LABEL:;
3525 return var;
3526 }
3527 /* method parser_nodes#AIdMethid#n_id for (self: Object): TId */
3528 val* VIRTUAL_parser_nodes__AIdMethid__n_id(val* self) {
3529 val* var /* : TId */;
3530 val* var1 /* : TId */;
3531 var1 = parser_nodes__AIdMethid__n_id(self);
3532 var = var1;
3533 RET_LABEL:;
3534 return var;
3535 }
3536 /* method parser_nodes#ASignature#n_params for (self: ASignature): ANodes[AParam] */
3537 val* parser_nodes__ASignature__n_params(val* self) {
3538 val* var /* : ANodes[AParam] */;
3539 val* var1 /* : ANodes[AParam] */;
3540 var1 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on <self:ASignature> */
3541 if (unlikely(var1 == NULL)) {
3542 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
3543 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
3544 show_backtrace(1);
3545 }
3546 var = var1;
3547 RET_LABEL:;
3548 return var;
3549 }
3550 /* method parser_nodes#ASignature#n_params for (self: Object): ANodes[AParam] */
3551 val* VIRTUAL_parser_nodes__ASignature__n_params(val* self) {
3552 val* var /* : ANodes[AParam] */;
3553 val* var1 /* : ANodes[AParam] */;
3554 val* var3 /* : ANodes[AParam] */;
3555 { /* Inline parser_nodes#ASignature#n_params (self) on <self:Object(ASignature)> */
3556 var3 = self->attrs[COLOR_parser_nodes__ASignature___n_params].val; /* _n_params on <self:Object(ASignature)> */
3557 if (unlikely(var3 == NULL)) {
3558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
3559 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
3560 show_backtrace(1);
3561 }
3562 var1 = var3;
3563 RET_LABEL2:(void)0;
3564 }
3565 var = var1;
3566 RET_LABEL:;
3567 return var;
3568 }
3569 /* method parser_nodes#ASignature#n_type for (self: ASignature): nullable AType */
3570 val* parser_nodes__ASignature__n_type(val* self) {
3571 val* var /* : nullable AType */;
3572 val* var1 /* : nullable AType */;
3573 var1 = self->attrs[COLOR_parser_nodes__ASignature___n_type].val; /* _n_type on <self:ASignature> */
3574 var = var1;
3575 goto RET_LABEL;
3576 RET_LABEL:;
3577 return var;
3578 }
3579 /* method parser_nodes#ASignature#n_type for (self: Object): nullable AType */
3580 val* VIRTUAL_parser_nodes__ASignature__n_type(val* self) {
3581 val* var /* : nullable AType */;
3582 val* var1 /* : nullable AType */;
3583 var1 = parser_nodes__ASignature__n_type(self);
3584 var = var1;
3585 RET_LABEL:;
3586 return var;
3587 }
3588 /* method parser_nodes#AParam#n_id for (self: AParam): TId */
3589 val* parser_nodes__AParam__n_id(val* self) {
3590 val* var /* : TId */;
3591 val* var1 /* : TId */;
3592 var1 = self->attrs[COLOR_parser_nodes__AParam___n_id].val; /* _n_id on <self:AParam> */
3593 if (unlikely(var1 == NULL)) {
3594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3595 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1374);
3596 show_backtrace(1);
3597 }
3598 var = var1;
3599 goto RET_LABEL;
3600 RET_LABEL:;
3601 return var;
3602 }
3603 /* method parser_nodes#AParam#n_id for (self: Object): TId */
3604 val* VIRTUAL_parser_nodes__AParam__n_id(val* self) {
3605 val* var /* : TId */;
3606 val* var1 /* : TId */;
3607 var1 = parser_nodes__AParam__n_id(self);
3608 var = var1;
3609 RET_LABEL:;
3610 return var;
3611 }
3612 /* method parser_nodes#AParam#n_type for (self: AParam): nullable AType */
3613 val* parser_nodes__AParam__n_type(val* self) {
3614 val* var /* : nullable AType */;
3615 val* var1 /* : nullable AType */;
3616 var1 = self->attrs[COLOR_parser_nodes__AParam___n_type].val; /* _n_type on <self:AParam> */
3617 var = var1;
3618 goto RET_LABEL;
3619 RET_LABEL:;
3620 return var;
3621 }
3622 /* method parser_nodes#AParam#n_type for (self: Object): nullable AType */
3623 val* VIRTUAL_parser_nodes__AParam__n_type(val* self) {
3624 val* var /* : nullable AType */;
3625 val* var1 /* : nullable AType */;
3626 var1 = parser_nodes__AParam__n_type(self);
3627 var = var1;
3628 RET_LABEL:;
3629 return var;
3630 }
3631 /* method parser_nodes#AParam#n_dotdotdot for (self: AParam): nullable TDotdotdot */
3632 val* parser_nodes__AParam__n_dotdotdot(val* self) {
3633 val* var /* : nullable TDotdotdot */;
3634 val* var1 /* : nullable TDotdotdot */;
3635 var1 = self->attrs[COLOR_parser_nodes__AParam___n_dotdotdot].val; /* _n_dotdotdot on <self:AParam> */
3636 var = var1;
3637 goto RET_LABEL;
3638 RET_LABEL:;
3639 return var;
3640 }
3641 /* method parser_nodes#AParam#n_dotdotdot for (self: Object): nullable TDotdotdot */
3642 val* VIRTUAL_parser_nodes__AParam__n_dotdotdot(val* self) {
3643 val* var /* : nullable TDotdotdot */;
3644 val* var1 /* : nullable TDotdotdot */;
3645 var1 = parser_nodes__AParam__n_dotdotdot(self);
3646 var = var1;
3647 RET_LABEL:;
3648 return var;
3649 }
3650 /* method parser_nodes#AType#n_kwnullable for (self: AType): nullable TKwnullable */
3651 val* parser_nodes__AType__n_kwnullable(val* self) {
3652 val* var /* : nullable TKwnullable */;
3653 val* var1 /* : nullable TKwnullable */;
3654 var1 = self->attrs[COLOR_parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on <self:AType> */
3655 var = var1;
3656 goto RET_LABEL;
3657 RET_LABEL:;
3658 return var;
3659 }
3660 /* method parser_nodes#AType#n_kwnullable for (self: Object): nullable TKwnullable */
3661 val* VIRTUAL_parser_nodes__AType__n_kwnullable(val* self) {
3662 val* var /* : nullable TKwnullable */;
3663 val* var1 /* : nullable TKwnullable */;
3664 var1 = parser_nodes__AType__n_kwnullable(self);
3665 var = var1;
3666 RET_LABEL:;
3667 return var;
3668 }
3669 /* method parser_nodes#AType#n_id for (self: AType): TClassid */
3670 val* parser_nodes__AType__n_id(val* self) {
3671 val* var /* : TClassid */;
3672 val* var1 /* : TClassid */;
3673 var1 = self->attrs[COLOR_parser_nodes__AType___n_id].val; /* _n_id on <self:AType> */
3674 if (unlikely(var1 == NULL)) {
3675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3676 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1394);
3677 show_backtrace(1);
3678 }
3679 var = var1;
3680 goto RET_LABEL;
3681 RET_LABEL:;
3682 return var;
3683 }
3684 /* method parser_nodes#AType#n_id for (self: Object): TClassid */
3685 val* VIRTUAL_parser_nodes__AType__n_id(val* self) {
3686 val* var /* : TClassid */;
3687 val* var1 /* : TClassid */;
3688 var1 = parser_nodes__AType__n_id(self);
3689 var = var1;
3690 RET_LABEL:;
3691 return var;
3692 }
3693 /* method parser_nodes#AType#n_types for (self: AType): ANodes[AType] */
3694 val* parser_nodes__AType__n_types(val* self) {
3695 val* var /* : ANodes[AType] */;
3696 val* var1 /* : ANodes[AType] */;
3697 var1 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on <self:AType> */
3698 if (unlikely(var1 == NULL)) {
3699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
3700 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397);
3701 show_backtrace(1);
3702 }
3703 var = var1;
3704 RET_LABEL:;
3705 return var;
3706 }
3707 /* method parser_nodes#AType#n_types for (self: Object): ANodes[AType] */
3708 val* VIRTUAL_parser_nodes__AType__n_types(val* self) {
3709 val* var /* : ANodes[AType] */;
3710 val* var1 /* : ANodes[AType] */;
3711 val* var3 /* : ANodes[AType] */;
3712 { /* Inline parser_nodes#AType#n_types (self) on <self:Object(AType)> */
3713 var3 = self->attrs[COLOR_parser_nodes__AType___n_types].val; /* _n_types on <self:Object(AType)> */
3714 if (unlikely(var3 == NULL)) {
3715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types");
3716 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1397);
3717 show_backtrace(1);
3718 }
3719 var1 = var3;
3720 RET_LABEL2:(void)0;
3721 }
3722 var = var1;
3723 RET_LABEL:;
3724 return var;
3725 }
3726 /* method parser_nodes#ALabel#n_id for (self: ALabel): nullable TId */
3727 val* parser_nodes__ALabel__n_id(val* self) {
3728 val* var /* : nullable TId */;
3729 val* var1 /* : nullable TId */;
3730 var1 = self->attrs[COLOR_parser_nodes__ALabel___n_id].val; /* _n_id on <self:ALabel> */
3731 var = var1;
3732 goto RET_LABEL;
3733 RET_LABEL:;
3734 return var;
3735 }
3736 /* method parser_nodes#ALabel#n_id for (self: Object): nullable TId */
3737 val* VIRTUAL_parser_nodes__ALabel__n_id(val* self) {
3738 val* var /* : nullable TId */;
3739 val* var1 /* : nullable TId */;
3740 var1 = parser_nodes__ALabel__n_id(self);
3741 var = var1;
3742 RET_LABEL:;
3743 return var;
3744 }
3745 /* method parser_nodes#ABlockExpr#n_expr for (self: ABlockExpr): ANodes[AExpr] */
3746 val* parser_nodes__ABlockExpr__n_expr(val* self) {
3747 val* var /* : ANodes[AExpr] */;
3748 val* var1 /* : ANodes[AExpr] */;
3749 var1 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on <self:ABlockExpr> */
3750 if (unlikely(var1 == NULL)) {
3751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3752 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424);
3753 show_backtrace(1);
3754 }
3755 var = var1;
3756 RET_LABEL:;
3757 return var;
3758 }
3759 /* method parser_nodes#ABlockExpr#n_expr for (self: Object): ANodes[AExpr] */
3760 val* VIRTUAL_parser_nodes__ABlockExpr__n_expr(val* self) {
3761 val* var /* : ANodes[AExpr] */;
3762 val* var1 /* : ANodes[AExpr] */;
3763 val* var3 /* : ANodes[AExpr] */;
3764 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:Object(ABlockExpr)> */
3765 var3 = self->attrs[COLOR_parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on <self:Object(ABlockExpr)> */
3766 if (unlikely(var3 == NULL)) {
3767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3768 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424);
3769 show_backtrace(1);
3770 }
3771 var1 = var3;
3772 RET_LABEL2:(void)0;
3773 }
3774 var = var1;
3775 RET_LABEL:;
3776 return var;
3777 }
3778 /* method parser_nodes#AVardeclExpr#n_id for (self: AVardeclExpr): TId */
3779 val* parser_nodes__AVardeclExpr__n_id(val* self) {
3780 val* var /* : TId */;
3781 val* var1 /* : TId */;
3782 var1 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_id].val; /* _n_id on <self:AVardeclExpr> */
3783 if (unlikely(var1 == NULL)) {
3784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3785 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1438);
3786 show_backtrace(1);
3787 }
3788 var = var1;
3789 goto RET_LABEL;
3790 RET_LABEL:;
3791 return var;
3792 }
3793 /* method parser_nodes#AVardeclExpr#n_id for (self: Object): TId */
3794 val* VIRTUAL_parser_nodes__AVardeclExpr__n_id(val* self) {
3795 val* var /* : TId */;
3796 val* var1 /* : TId */;
3797 var1 = parser_nodes__AVardeclExpr__n_id(self);
3798 var = var1;
3799 RET_LABEL:;
3800 return var;
3801 }
3802 /* method parser_nodes#AVardeclExpr#n_type for (self: AVardeclExpr): nullable AType */
3803 val* parser_nodes__AVardeclExpr__n_type(val* self) {
3804 val* var /* : nullable AType */;
3805 val* var1 /* : nullable AType */;
3806 var1 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_type].val; /* _n_type on <self:AVardeclExpr> */
3807 var = var1;
3808 goto RET_LABEL;
3809 RET_LABEL:;
3810 return var;
3811 }
3812 /* method parser_nodes#AVardeclExpr#n_type for (self: Object): nullable AType */
3813 val* VIRTUAL_parser_nodes__AVardeclExpr__n_type(val* self) {
3814 val* var /* : nullable AType */;
3815 val* var1 /* : nullable AType */;
3816 var1 = parser_nodes__AVardeclExpr__n_type(self);
3817 var = var1;
3818 RET_LABEL:;
3819 return var;
3820 }
3821 /* method parser_nodes#AVardeclExpr#n_expr for (self: AVardeclExpr): nullable AExpr */
3822 val* parser_nodes__AVardeclExpr__n_expr(val* self) {
3823 val* var /* : nullable AExpr */;
3824 val* var1 /* : nullable AExpr */;
3825 var1 = self->attrs[COLOR_parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on <self:AVardeclExpr> */
3826 var = var1;
3827 goto RET_LABEL;
3828 RET_LABEL:;
3829 return var;
3830 }
3831 /* method parser_nodes#AVardeclExpr#n_expr for (self: Object): nullable AExpr */
3832 val* VIRTUAL_parser_nodes__AVardeclExpr__n_expr(val* self) {
3833 val* var /* : nullable AExpr */;
3834 val* var1 /* : nullable AExpr */;
3835 var1 = parser_nodes__AVardeclExpr__n_expr(self);
3836 var = var1;
3837 RET_LABEL:;
3838 return var;
3839 }
3840 /* method parser_nodes#AReturnExpr#n_expr for (self: AReturnExpr): nullable AExpr */
3841 val* parser_nodes__AReturnExpr__n_expr(val* self) {
3842 val* var /* : nullable AExpr */;
3843 val* var1 /* : nullable AExpr */;
3844 var1 = self->attrs[COLOR_parser_nodes__AReturnExpr___n_expr].val; /* _n_expr on <self:AReturnExpr> */
3845 var = var1;
3846 goto RET_LABEL;
3847 RET_LABEL:;
3848 return var;
3849 }
3850 /* method parser_nodes#AReturnExpr#n_expr for (self: Object): nullable AExpr */
3851 val* VIRTUAL_parser_nodes__AReturnExpr__n_expr(val* self) {
3852 val* var /* : nullable AExpr */;
3853 val* var1 /* : nullable AExpr */;
3854 var1 = parser_nodes__AReturnExpr__n_expr(self);
3855 var = var1;
3856 RET_LABEL:;
3857 return var;
3858 }
3859 /* method parser_nodes#ALabelable#n_label for (self: ALabelable): nullable ALabel */
3860 val* parser_nodes__ALabelable__n_label(val* self) {
3861 val* var /* : nullable ALabel */;
3862 val* var1 /* : nullable ALabel */;
3863 var1 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALabelable> */
3864 var = var1;
3865 goto RET_LABEL;
3866 RET_LABEL:;
3867 return var;
3868 }
3869 /* method parser_nodes#ALabelable#n_label for (self: Object): nullable ALabel */
3870 val* VIRTUAL_parser_nodes__ALabelable__n_label(val* self) {
3871 val* var /* : nullable ALabel */;
3872 val* var1 /* : nullable ALabel */;
3873 var1 = parser_nodes__ALabelable__n_label(self);
3874 var = var1;
3875 RET_LABEL:;
3876 return var;
3877 }
3878 /* method parser_nodes#ABreakExpr#n_expr for (self: ABreakExpr): nullable AExpr */
3879 val* parser_nodes__ABreakExpr__n_expr(val* self) {
3880 val* var /* : nullable AExpr */;
3881 val* var1 /* : nullable AExpr */;
3882 var1 = self->attrs[COLOR_parser_nodes__ABreakExpr___n_expr].val; /* _n_expr on <self:ABreakExpr> */
3883 var = var1;
3884 goto RET_LABEL;
3885 RET_LABEL:;
3886 return var;
3887 }
3888 /* method parser_nodes#ABreakExpr#n_expr for (self: Object): nullable AExpr */
3889 val* VIRTUAL_parser_nodes__ABreakExpr__n_expr(val* self) {
3890 val* var /* : nullable AExpr */;
3891 val* var1 /* : nullable AExpr */;
3892 var1 = parser_nodes__ABreakExpr__n_expr(self);
3893 var = var1;
3894 RET_LABEL:;
3895 return var;
3896 }
3897 /* method parser_nodes#AContinueExpr#n_expr for (self: AContinueExpr): nullable AExpr */
3898 val* parser_nodes__AContinueExpr__n_expr(val* self) {
3899 val* var /* : nullable AExpr */;
3900 val* var1 /* : nullable AExpr */;
3901 var1 = self->attrs[COLOR_parser_nodes__AContinueExpr___n_expr].val; /* _n_expr on <self:AContinueExpr> */
3902 var = var1;
3903 goto RET_LABEL;
3904 RET_LABEL:;
3905 return var;
3906 }
3907 /* method parser_nodes#AContinueExpr#n_expr for (self: Object): nullable AExpr */
3908 val* VIRTUAL_parser_nodes__AContinueExpr__n_expr(val* self) {
3909 val* var /* : nullable AExpr */;
3910 val* var1 /* : nullable AExpr */;
3911 var1 = parser_nodes__AContinueExpr__n_expr(self);
3912 var = var1;
3913 RET_LABEL:;
3914 return var;
3915 }
3916 /* method parser_nodes#ADoExpr#n_block for (self: ADoExpr): nullable AExpr */
3917 val* parser_nodes__ADoExpr__n_block(val* self) {
3918 val* var /* : nullable AExpr */;
3919 val* var1 /* : nullable AExpr */;
3920 var1 = self->attrs[COLOR_parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
3921 var = var1;
3922 goto RET_LABEL;
3923 RET_LABEL:;
3924 return var;
3925 }
3926 /* method parser_nodes#ADoExpr#n_block for (self: Object): nullable AExpr */
3927 val* VIRTUAL_parser_nodes__ADoExpr__n_block(val* self) {
3928 val* var /* : nullable AExpr */;
3929 val* var1 /* : nullable AExpr */;
3930 var1 = parser_nodes__ADoExpr__n_block(self);
3931 var = var1;
3932 RET_LABEL:;
3933 return var;
3934 }
3935 /* method parser_nodes#AIfExpr#n_expr for (self: AIfExpr): AExpr */
3936 val* parser_nodes__AIfExpr__n_expr(val* self) {
3937 val* var /* : AExpr */;
3938 val* var1 /* : AExpr */;
3939 var1 = self->attrs[COLOR_parser_nodes__AIfExpr___n_expr].val; /* _n_expr on <self:AIfExpr> */
3940 if (unlikely(var1 == NULL)) {
3941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3942 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1530);
3943 show_backtrace(1);
3944 }
3945 var = var1;
3946 goto RET_LABEL;
3947 RET_LABEL:;
3948 return var;
3949 }
3950 /* method parser_nodes#AIfExpr#n_expr for (self: Object): AExpr */
3951 val* VIRTUAL_parser_nodes__AIfExpr__n_expr(val* self) {
3952 val* var /* : AExpr */;
3953 val* var1 /* : AExpr */;
3954 var1 = parser_nodes__AIfExpr__n_expr(self);
3955 var = var1;
3956 RET_LABEL:;
3957 return var;
3958 }
3959 /* method parser_nodes#AIfExpr#n_then for (self: AIfExpr): nullable AExpr */
3960 val* parser_nodes__AIfExpr__n_then(val* self) {
3961 val* var /* : nullable AExpr */;
3962 val* var1 /* : nullable AExpr */;
3963 var1 = self->attrs[COLOR_parser_nodes__AIfExpr___n_then].val; /* _n_then on <self:AIfExpr> */
3964 var = var1;
3965 goto RET_LABEL;
3966 RET_LABEL:;
3967 return var;
3968 }
3969 /* method parser_nodes#AIfExpr#n_then for (self: Object): nullable AExpr */
3970 val* VIRTUAL_parser_nodes__AIfExpr__n_then(val* self) {
3971 val* var /* : nullable AExpr */;
3972 val* var1 /* : nullable AExpr */;
3973 var1 = parser_nodes__AIfExpr__n_then(self);
3974 var = var1;
3975 RET_LABEL:;
3976 return var;
3977 }
3978 /* method parser_nodes#AIfExpr#n_else for (self: AIfExpr): nullable AExpr */
3979 val* parser_nodes__AIfExpr__n_else(val* self) {
3980 val* var /* : nullable AExpr */;
3981 val* var1 /* : nullable AExpr */;
3982 var1 = self->attrs[COLOR_parser_nodes__AIfExpr___n_else].val; /* _n_else on <self:AIfExpr> */
3983 var = var1;
3984 goto RET_LABEL;
3985 RET_LABEL:;
3986 return var;
3987 }
3988 /* method parser_nodes#AIfExpr#n_else for (self: Object): nullable AExpr */
3989 val* VIRTUAL_parser_nodes__AIfExpr__n_else(val* self) {
3990 val* var /* : nullable AExpr */;
3991 val* var1 /* : nullable AExpr */;
3992 var1 = parser_nodes__AIfExpr__n_else(self);
3993 var = var1;
3994 RET_LABEL:;
3995 return var;
3996 }
3997 /* method parser_nodes#AIfexprExpr#n_expr for (self: AIfexprExpr): AExpr */
3998 val* parser_nodes__AIfexprExpr__n_expr(val* self) {
3999 val* var /* : AExpr */;
4000 val* var1 /* : AExpr */;
4001 var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
4002 if (unlikely(var1 == NULL)) {
4003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4004 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1548);
4005 show_backtrace(1);
4006 }
4007 var = var1;
4008 goto RET_LABEL;
4009 RET_LABEL:;
4010 return var;
4011 }
4012 /* method parser_nodes#AIfexprExpr#n_expr for (self: Object): AExpr */
4013 val* VIRTUAL_parser_nodes__AIfexprExpr__n_expr(val* self) {
4014 val* var /* : AExpr */;
4015 val* var1 /* : AExpr */;
4016 var1 = parser_nodes__AIfexprExpr__n_expr(self);
4017 var = var1;
4018 RET_LABEL:;
4019 return var;
4020 }
4021 /* method parser_nodes#AIfexprExpr#n_then for (self: AIfexprExpr): AExpr */
4022 val* parser_nodes__AIfexprExpr__n_then(val* self) {
4023 val* var /* : AExpr */;
4024 val* var1 /* : AExpr */;
4025 var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
4026 if (unlikely(var1 == NULL)) {
4027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
4028 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1554);
4029 show_backtrace(1);
4030 }
4031 var = var1;
4032 goto RET_LABEL;
4033 RET_LABEL:;
4034 return var;
4035 }
4036 /* method parser_nodes#AIfexprExpr#n_then for (self: Object): AExpr */
4037 val* VIRTUAL_parser_nodes__AIfexprExpr__n_then(val* self) {
4038 val* var /* : AExpr */;
4039 val* var1 /* : AExpr */;
4040 var1 = parser_nodes__AIfexprExpr__n_then(self);
4041 var = var1;
4042 RET_LABEL:;
4043 return var;
4044 }
4045 /* method parser_nodes#AIfexprExpr#n_else for (self: AIfexprExpr): AExpr */
4046 val* parser_nodes__AIfexprExpr__n_else(val* self) {
4047 val* var /* : AExpr */;
4048 val* var1 /* : AExpr */;
4049 var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
4050 if (unlikely(var1 == NULL)) {
4051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
4052 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1560);
4053 show_backtrace(1);
4054 }
4055 var = var1;
4056 goto RET_LABEL;
4057 RET_LABEL:;
4058 return var;
4059 }
4060 /* method parser_nodes#AIfexprExpr#n_else for (self: Object): AExpr */
4061 val* VIRTUAL_parser_nodes__AIfexprExpr__n_else(val* self) {
4062 val* var /* : AExpr */;
4063 val* var1 /* : AExpr */;
4064 var1 = parser_nodes__AIfexprExpr__n_else(self);
4065 var = var1;
4066 RET_LABEL:;
4067 return var;
4068 }
4069 /* method parser_nodes#AWhileExpr#n_expr for (self: AWhileExpr): AExpr */
4070 val* parser_nodes__AWhileExpr__n_expr(val* self) {
4071 val* var /* : AExpr */;
4072 val* var1 /* : AExpr */;
4073 var1 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
4074 if (unlikely(var1 == NULL)) {
4075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4076 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1573);
4077 show_backtrace(1);
4078 }
4079 var = var1;
4080 goto RET_LABEL;
4081 RET_LABEL:;
4082 return var;
4083 }
4084 /* method parser_nodes#AWhileExpr#n_expr for (self: Object): AExpr */
4085 val* VIRTUAL_parser_nodes__AWhileExpr__n_expr(val* self) {
4086 val* var /* : AExpr */;
4087 val* var1 /* : AExpr */;
4088 var1 = parser_nodes__AWhileExpr__n_expr(self);
4089 var = var1;
4090 RET_LABEL:;
4091 return var;
4092 }
4093 /* method parser_nodes#AWhileExpr#n_block for (self: AWhileExpr): nullable AExpr */
4094 val* parser_nodes__AWhileExpr__n_block(val* self) {
4095 val* var /* : nullable AExpr */;
4096 val* var1 /* : nullable AExpr */;
4097 var1 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
4098 var = var1;
4099 goto RET_LABEL;
4100 RET_LABEL:;
4101 return var;
4102 }
4103 /* method parser_nodes#AWhileExpr#n_block for (self: Object): nullable AExpr */
4104 val* VIRTUAL_parser_nodes__AWhileExpr__n_block(val* self) {
4105 val* var /* : nullable AExpr */;
4106 val* var1 /* : nullable AExpr */;
4107 var1 = parser_nodes__AWhileExpr__n_block(self);
4108 var = var1;
4109 RET_LABEL:;
4110 return var;
4111 }
4112 /* method parser_nodes#ALoopExpr#n_block for (self: ALoopExpr): nullable AExpr */
4113 val* parser_nodes__ALoopExpr__n_block(val* self) {
4114 val* var /* : nullable AExpr */;
4115 val* var1 /* : nullable AExpr */;
4116 var1 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
4117 var = var1;
4118 goto RET_LABEL;
4119 RET_LABEL:;
4120 return var;
4121 }
4122 /* method parser_nodes#ALoopExpr#n_block for (self: Object): nullable AExpr */
4123 val* VIRTUAL_parser_nodes__ALoopExpr__n_block(val* self) {
4124 val* var /* : nullable AExpr */;
4125 val* var1 /* : nullable AExpr */;
4126 var1 = parser_nodes__ALoopExpr__n_block(self);
4127 var = var1;
4128 RET_LABEL:;
4129 return var;
4130 }
4131 /* method parser_nodes#AForExpr#n_ids for (self: AForExpr): ANodes[TId] */
4132 val* parser_nodes__AForExpr__n_ids(val* self) {
4133 val* var /* : ANodes[TId] */;
4134 val* var1 /* : ANodes[TId] */;
4135 var1 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
4136 if (unlikely(var1 == NULL)) {
4137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
4138 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604);
4139 show_backtrace(1);
4140 }
4141 var = var1;
4142 RET_LABEL:;
4143 return var;
4144 }
4145 /* method parser_nodes#AForExpr#n_ids for (self: Object): ANodes[TId] */
4146 val* VIRTUAL_parser_nodes__AForExpr__n_ids(val* self) {
4147 val* var /* : ANodes[TId] */;
4148 val* var1 /* : ANodes[TId] */;
4149 val* var3 /* : ANodes[TId] */;
4150 { /* Inline parser_nodes#AForExpr#n_ids (self) on <self:Object(AForExpr)> */
4151 var3 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:Object(AForExpr)> */
4152 if (unlikely(var3 == NULL)) {
4153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
4154 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1604);
4155 show_backtrace(1);
4156 }
4157 var1 = var3;
4158 RET_LABEL2:(void)0;
4159 }
4160 var = var1;
4161 RET_LABEL:;
4162 return var;
4163 }
4164 /* method parser_nodes#AForExpr#n_expr for (self: AForExpr): AExpr */
4165 val* parser_nodes__AForExpr__n_expr(val* self) {
4166 val* var /* : AExpr */;
4167 val* var1 /* : AExpr */;
4168 var1 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
4169 if (unlikely(var1 == NULL)) {
4170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4171 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1606);
4172 show_backtrace(1);
4173 }
4174 var = var1;
4175 goto RET_LABEL;
4176 RET_LABEL:;
4177 return var;
4178 }
4179 /* method parser_nodes#AForExpr#n_expr for (self: Object): AExpr */
4180 val* VIRTUAL_parser_nodes__AForExpr__n_expr(val* self) {
4181 val* var /* : AExpr */;
4182 val* var1 /* : AExpr */;
4183 var1 = parser_nodes__AForExpr__n_expr(self);
4184 var = var1;
4185 RET_LABEL:;
4186 return var;
4187 }
4188 /* method parser_nodes#AForExpr#n_block for (self: AForExpr): nullable AExpr */
4189 val* parser_nodes__AForExpr__n_block(val* self) {
4190 val* var /* : nullable AExpr */;
4191 val* var1 /* : nullable AExpr */;
4192 var1 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
4193 var = var1;
4194 goto RET_LABEL;
4195 RET_LABEL:;
4196 return var;
4197 }
4198 /* method parser_nodes#AForExpr#n_block for (self: Object): nullable AExpr */
4199 val* VIRTUAL_parser_nodes__AForExpr__n_block(val* self) {
4200 val* var /* : nullable AExpr */;
4201 val* var1 /* : nullable AExpr */;
4202 var1 = parser_nodes__AForExpr__n_block(self);
4203 var = var1;
4204 RET_LABEL:;
4205 return var;
4206 }
4207 /* method parser_nodes#AAssertExpr#n_id for (self: AAssertExpr): nullable TId */
4208 val* parser_nodes__AAssertExpr__n_id(val* self) {
4209 val* var /* : nullable TId */;
4210 val* var1 /* : nullable TId */;
4211 var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
4212 var = var1;
4213 goto RET_LABEL;
4214 RET_LABEL:;
4215 return var;
4216 }
4217 /* method parser_nodes#AAssertExpr#n_id for (self: Object): nullable TId */
4218 val* VIRTUAL_parser_nodes__AAssertExpr__n_id(val* self) {
4219 val* var /* : nullable TId */;
4220 val* var1 /* : nullable TId */;
4221 var1 = parser_nodes__AAssertExpr__n_id(self);
4222 var = var1;
4223 RET_LABEL:;
4224 return var;
4225 }
4226 /* method parser_nodes#AAssertExpr#n_expr for (self: AAssertExpr): AExpr */
4227 val* parser_nodes__AAssertExpr__n_expr(val* self) {
4228 val* var /* : AExpr */;
4229 val* var1 /* : AExpr */;
4230 var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
4231 if (unlikely(var1 == NULL)) {
4232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4233 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1627);
4234 show_backtrace(1);
4235 }
4236 var = var1;
4237 goto RET_LABEL;
4238 RET_LABEL:;
4239 return var;
4240 }
4241 /* method parser_nodes#AAssertExpr#n_expr for (self: Object): AExpr */
4242 val* VIRTUAL_parser_nodes__AAssertExpr__n_expr(val* self) {
4243 val* var /* : AExpr */;
4244 val* var1 /* : AExpr */;
4245 var1 = parser_nodes__AAssertExpr__n_expr(self);
4246 var = var1;
4247 RET_LABEL:;
4248 return var;
4249 }
4250 /* method parser_nodes#AAssertExpr#n_else for (self: AAssertExpr): nullable AExpr */
4251 val* parser_nodes__AAssertExpr__n_else(val* self) {
4252 val* var /* : nullable AExpr */;
4253 val* var1 /* : nullable AExpr */;
4254 var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
4255 var = var1;
4256 goto RET_LABEL;
4257 RET_LABEL:;
4258 return var;
4259 }
4260 /* method parser_nodes#AAssertExpr#n_else for (self: Object): nullable AExpr */
4261 val* VIRTUAL_parser_nodes__AAssertExpr__n_else(val* self) {
4262 val* var /* : nullable AExpr */;
4263 val* var1 /* : nullable AExpr */;
4264 var1 = parser_nodes__AAssertExpr__n_else(self);
4265 var = var1;
4266 RET_LABEL:;
4267 return var;
4268 }
4269 /* method parser_nodes#AAssignFormExpr#n_assign for (self: AAssignFormExpr): TAssign */
4270 val* parser_nodes__AAssignFormExpr__n_assign(val* self) {
4271 val* var /* : TAssign */;
4272 val* var1 /* : TAssign */;
4273 var1 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAssignFormExpr> */
4274 if (unlikely(var1 == NULL)) {
4275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
4276 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1639);
4277 show_backtrace(1);
4278 }
4279 var = var1;
4280 goto RET_LABEL;
4281 RET_LABEL:;
4282 return var;
4283 }
4284 /* method parser_nodes#AAssignFormExpr#n_assign for (self: Object): TAssign */
4285 val* VIRTUAL_parser_nodes__AAssignFormExpr__n_assign(val* self) {
4286 val* var /* : TAssign */;
4287 val* var1 /* : TAssign */;
4288 var1 = parser_nodes__AAssignFormExpr__n_assign(self);
4289 var = var1;
4290 RET_LABEL:;
4291 return var;
4292 }
4293 /* method parser_nodes#AAssignFormExpr#n_value for (self: AAssignFormExpr): AExpr */
4294 val* parser_nodes__AAssignFormExpr__n_value(val* self) {
4295 val* var /* : AExpr */;
4296 val* var1 /* : AExpr */;
4297 var1 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAssignFormExpr> */
4298 if (unlikely(var1 == NULL)) {
4299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
4300 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1642);
4301 show_backtrace(1);
4302 }
4303 var = var1;
4304 goto RET_LABEL;
4305 RET_LABEL:;
4306 return var;
4307 }
4308 /* method parser_nodes#AAssignFormExpr#n_value for (self: Object): AExpr */
4309 val* VIRTUAL_parser_nodes__AAssignFormExpr__n_value(val* self) {
4310 val* var /* : AExpr */;
4311 val* var1 /* : AExpr */;
4312 var1 = parser_nodes__AAssignFormExpr__n_value(self);
4313 var = var1;
4314 RET_LABEL:;
4315 return var;
4316 }
4317 /* method parser_nodes#AReassignFormExpr#n_assign_op for (self: AReassignFormExpr): AAssignOp */
4318 val* parser_nodes__AReassignFormExpr__n_assign_op(val* self) {
4319 val* var /* : AAssignOp */;
4320 val* var1 /* : AAssignOp */;
4321 var1 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AReassignFormExpr> */
4322 if (unlikely(var1 == NULL)) {
4323 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
4324 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1651);
4325 show_backtrace(1);
4326 }
4327 var = var1;
4328 goto RET_LABEL;
4329 RET_LABEL:;
4330 return var;
4331 }
4332 /* method parser_nodes#AReassignFormExpr#n_assign_op for (self: Object): AAssignOp */
4333 val* VIRTUAL_parser_nodes__AReassignFormExpr__n_assign_op(val* self) {
4334 val* var /* : AAssignOp */;
4335 val* var1 /* : AAssignOp */;
4336 var1 = parser_nodes__AReassignFormExpr__n_assign_op(self);
4337 var = var1;
4338 RET_LABEL:;
4339 return var;
4340 }
4341 /* method parser_nodes#AReassignFormExpr#n_value for (self: AReassignFormExpr): AExpr */
4342 val* parser_nodes__AReassignFormExpr__n_value(val* self) {
4343 val* var /* : AExpr */;
4344 val* var1 /* : AExpr */;
4345 var1 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AReassignFormExpr> */
4346 if (unlikely(var1 == NULL)) {
4347 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
4348 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1654);
4349 show_backtrace(1);
4350 }
4351 var = var1;
4352 goto RET_LABEL;
4353 RET_LABEL:;
4354 return var;
4355 }
4356 /* method parser_nodes#AReassignFormExpr#n_value for (self: Object): AExpr */
4357 val* VIRTUAL_parser_nodes__AReassignFormExpr__n_value(val* self) {
4358 val* var /* : AExpr */;
4359 val* var1 /* : AExpr */;
4360 var1 = parser_nodes__AReassignFormExpr__n_value(self);
4361 var = var1;
4362 RET_LABEL:;
4363 return var;
4364 }
4365 /* method parser_nodes#ASendExpr#n_expr for (self: ASendExpr): AExpr */
4366 val* parser_nodes__ASendExpr__n_expr(val* self) {
4367 val* var /* : AExpr */;
4368 val* var1 /* : AExpr */;
4369 var1 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
4370 if (unlikely(var1 == NULL)) {
4371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4372 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1674);
4373 show_backtrace(1);
4374 }
4375 var = var1;
4376 goto RET_LABEL;
4377 RET_LABEL:;
4378 return var;
4379 }
4380 /* method parser_nodes#ASendExpr#n_expr for (self: Object): AExpr */
4381 val* VIRTUAL_parser_nodes__ASendExpr__n_expr(val* self) {
4382 val* var /* : AExpr */;
4383 val* var1 /* : AExpr */;
4384 var1 = parser_nodes__ASendExpr__n_expr(self);
4385 var = var1;
4386 RET_LABEL:;
4387 return var;
4388 }
4389 /* method parser_nodes#ABinopExpr#n_expr2 for (self: ABinopExpr): AExpr */
4390 val* parser_nodes__ABinopExpr__n_expr2(val* self) {
4391 val* var /* : AExpr */;
4392 val* var1 /* : AExpr */;
4393 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
4394 if (unlikely(var1 == NULL)) {
4395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
4396 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1685);
4397 show_backtrace(1);
4398 }
4399 var = var1;
4400 goto RET_LABEL;
4401 RET_LABEL:;
4402 return var;
4403 }
4404 /* method parser_nodes#ABinopExpr#n_expr2 for (self: Object): AExpr */
4405 val* VIRTUAL_parser_nodes__ABinopExpr__n_expr2(val* self) {
4406 val* var /* : AExpr */;
4407 val* var1 /* : AExpr */;
4408 var1 = parser_nodes__ABinopExpr__n_expr2(self);
4409 var = var1;
4410 RET_LABEL:;
4411 return var;
4412 }
4413 /* method parser_nodes#AOrExpr#n_expr for (self: AOrExpr): AExpr */
4414 val* parser_nodes__AOrExpr__n_expr(val* self) {
4415 val* var /* : AExpr */;
4416 val* var1 /* : AExpr */;
4417 var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
4418 if (unlikely(var1 == NULL)) {
4419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4420 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1699);
4421 show_backtrace(1);
4422 }
4423 var = var1;
4424 goto RET_LABEL;
4425 RET_LABEL:;
4426 return var;
4427 }
4428 /* method parser_nodes#AOrExpr#n_expr for (self: Object): AExpr */
4429 val* VIRTUAL_parser_nodes__AOrExpr__n_expr(val* self) {
4430 val* var /* : AExpr */;
4431 val* var1 /* : AExpr */;
4432 var1 = parser_nodes__AOrExpr__n_expr(self);
4433 var = var1;
4434 RET_LABEL:;
4435 return var;
4436 }
4437 /* method parser_nodes#AOrExpr#n_expr2 for (self: AOrExpr): AExpr */
4438 val* parser_nodes__AOrExpr__n_expr2(val* self) {
4439 val* var /* : AExpr */;
4440 val* var1 /* : AExpr */;
4441 var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
4442 if (unlikely(var1 == NULL)) {
4443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
4444 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1702);
4445 show_backtrace(1);
4446 }
4447 var = var1;
4448 goto RET_LABEL;
4449 RET_LABEL:;
4450 return var;
4451 }
4452 /* method parser_nodes#AOrExpr#n_expr2 for (self: Object): AExpr */
4453 val* VIRTUAL_parser_nodes__AOrExpr__n_expr2(val* self) {
4454 val* var /* : AExpr */;
4455 val* var1 /* : AExpr */;
4456 var1 = parser_nodes__AOrExpr__n_expr2(self);
4457 var = var1;
4458 RET_LABEL:;
4459 return var;
4460 }
4461 /* method parser_nodes#AAndExpr#n_expr for (self: AAndExpr): AExpr */
4462 val* parser_nodes__AAndExpr__n_expr(val* self) {
4463 val* var /* : AExpr */;
4464 val* var1 /* : AExpr */;
4465 var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
4466 if (unlikely(var1 == NULL)) {
4467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4468 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1711);
4469 show_backtrace(1);
4470 }
4471 var = var1;
4472 goto RET_LABEL;
4473 RET_LABEL:;
4474 return var;
4475 }
4476 /* method parser_nodes#AAndExpr#n_expr for (self: Object): AExpr */
4477 val* VIRTUAL_parser_nodes__AAndExpr__n_expr(val* self) {
4478 val* var /* : AExpr */;
4479 val* var1 /* : AExpr */;
4480 var1 = parser_nodes__AAndExpr__n_expr(self);
4481 var = var1;
4482 RET_LABEL:;
4483 return var;
4484 }
4485 /* method parser_nodes#AAndExpr#n_expr2 for (self: AAndExpr): AExpr */
4486 val* parser_nodes__AAndExpr__n_expr2(val* self) {
4487 val* var /* : AExpr */;
4488 val* var1 /* : AExpr */;
4489 var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
4490 if (unlikely(var1 == NULL)) {
4491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
4492 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1714);
4493 show_backtrace(1);
4494 }
4495 var = var1;
4496 goto RET_LABEL;
4497 RET_LABEL:;
4498 return var;
4499 }
4500 /* method parser_nodes#AAndExpr#n_expr2 for (self: Object): AExpr */
4501 val* VIRTUAL_parser_nodes__AAndExpr__n_expr2(val* self) {
4502 val* var /* : AExpr */;
4503 val* var1 /* : AExpr */;
4504 var1 = parser_nodes__AAndExpr__n_expr2(self);
4505 var = var1;
4506 RET_LABEL:;
4507 return var;
4508 }
4509 /* method parser_nodes#AOrElseExpr#n_expr for (self: AOrElseExpr): AExpr */
4510 val* parser_nodes__AOrElseExpr__n_expr(val* self) {
4511 val* var /* : AExpr */;
4512 val* var1 /* : AExpr */;
4513 var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
4514 if (unlikely(var1 == NULL)) {
4515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4516 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1723);
4517 show_backtrace(1);
4518 }
4519 var = var1;
4520 goto RET_LABEL;
4521 RET_LABEL:;
4522 return var;
4523 }
4524 /* method parser_nodes#AOrElseExpr#n_expr for (self: Object): AExpr */
4525 val* VIRTUAL_parser_nodes__AOrElseExpr__n_expr(val* self) {
4526 val* var /* : AExpr */;
4527 val* var1 /* : AExpr */;
4528 var1 = parser_nodes__AOrElseExpr__n_expr(self);
4529 var = var1;
4530 RET_LABEL:;
4531 return var;
4532 }
4533 /* method parser_nodes#AOrElseExpr#n_expr2 for (self: AOrElseExpr): AExpr */
4534 val* parser_nodes__AOrElseExpr__n_expr2(val* self) {
4535 val* var /* : AExpr */;
4536 val* var1 /* : AExpr */;
4537 var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
4538 if (unlikely(var1 == NULL)) {
4539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
4540 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1726);
4541 show_backtrace(1);
4542 }
4543 var = var1;
4544 goto RET_LABEL;
4545 RET_LABEL:;
4546 return var;
4547 }
4548 /* method parser_nodes#AOrElseExpr#n_expr2 for (self: Object): AExpr */
4549 val* VIRTUAL_parser_nodes__AOrElseExpr__n_expr2(val* self) {
4550 val* var /* : AExpr */;
4551 val* var1 /* : AExpr */;
4552 var1 = parser_nodes__AOrElseExpr__n_expr2(self);
4553 var = var1;
4554 RET_LABEL:;
4555 return var;
4556 }
4557 /* method parser_nodes#AImpliesExpr#n_expr for (self: AImpliesExpr): AExpr */
4558 val* parser_nodes__AImpliesExpr__n_expr(val* self) {
4559 val* var /* : AExpr */;
4560 val* var1 /* : AExpr */;
4561 var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
4562 if (unlikely(var1 == NULL)) {
4563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4564 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1735);
4565 show_backtrace(1);
4566 }
4567 var = var1;
4568 goto RET_LABEL;
4569 RET_LABEL:;
4570 return var;
4571 }
4572 /* method parser_nodes#AImpliesExpr#n_expr for (self: Object): AExpr */
4573 val* VIRTUAL_parser_nodes__AImpliesExpr__n_expr(val* self) {
4574 val* var /* : AExpr */;
4575 val* var1 /* : AExpr */;
4576 var1 = parser_nodes__AImpliesExpr__n_expr(self);
4577 var = var1;
4578 RET_LABEL:;
4579 return var;
4580 }
4581 /* method parser_nodes#AImpliesExpr#n_expr2 for (self: AImpliesExpr): AExpr */
4582 val* parser_nodes__AImpliesExpr__n_expr2(val* self) {
4583 val* var /* : AExpr */;
4584 val* var1 /* : AExpr */;
4585 var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
4586 if (unlikely(var1 == NULL)) {
4587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
4588 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1738);
4589 show_backtrace(1);
4590 }
4591 var = var1;
4592 goto RET_LABEL;
4593 RET_LABEL:;
4594 return var;
4595 }
4596 /* method parser_nodes#AImpliesExpr#n_expr2 for (self: Object): AExpr */
4597 val* VIRTUAL_parser_nodes__AImpliesExpr__n_expr2(val* self) {
4598 val* var /* : AExpr */;
4599 val* var1 /* : AExpr */;
4600 var1 = parser_nodes__AImpliesExpr__n_expr2(self);
4601 var = var1;
4602 RET_LABEL:;
4603 return var;
4604 }
4605 /* method parser_nodes#ANotExpr#n_expr for (self: ANotExpr): AExpr */
4606 val* parser_nodes__ANotExpr__n_expr(val* self) {
4607 val* var /* : AExpr */;
4608 val* var1 /* : AExpr */;
4609 var1 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
4610 if (unlikely(var1 == NULL)) {
4611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4612 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1750);
4613 show_backtrace(1);
4614 }
4615 var = var1;
4616 goto RET_LABEL;
4617 RET_LABEL:;
4618 return var;
4619 }
4620 /* method parser_nodes#ANotExpr#n_expr for (self: Object): AExpr */
4621 val* VIRTUAL_parser_nodes__ANotExpr__n_expr(val* self) {
4622 val* var /* : AExpr */;
4623 val* var1 /* : AExpr */;
4624 var1 = parser_nodes__ANotExpr__n_expr(self);
4625 var = var1;
4626 RET_LABEL:;
4627 return var;
4628 }
4629 /* method parser_nodes#AIsaExpr#n_expr for (self: AIsaExpr): AExpr */
4630 val* parser_nodes__AIsaExpr__n_expr(val* self) {
4631 val* var /* : AExpr */;
4632 val* var1 /* : AExpr */;
4633 var1 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
4634 if (unlikely(var1 == NULL)) {
4635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4636 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1799);
4637 show_backtrace(1);
4638 }
4639 var = var1;
4640 goto RET_LABEL;
4641 RET_LABEL:;
4642 return var;
4643 }
4644 /* method parser_nodes#AIsaExpr#n_expr for (self: Object): AExpr */
4645 val* VIRTUAL_parser_nodes__AIsaExpr__n_expr(val* self) {
4646 val* var /* : AExpr */;
4647 val* var1 /* : AExpr */;
4648 var1 = parser_nodes__AIsaExpr__n_expr(self);
4649 var = var1;
4650 RET_LABEL:;
4651 return var;
4652 }
4653 /* method parser_nodes#AIsaExpr#n_type for (self: AIsaExpr): AType */
4654 val* parser_nodes__AIsaExpr__n_type(val* self) {
4655 val* var /* : AType */;
4656 val* var1 /* : AType */;
4657 var1 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
4658 if (unlikely(var1 == NULL)) {
4659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
4660 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1802);
4661 show_backtrace(1);
4662 }
4663 var = var1;
4664 goto RET_LABEL;
4665 RET_LABEL:;
4666 return var;
4667 }
4668 /* method parser_nodes#AIsaExpr#n_type for (self: Object): AType */
4669 val* VIRTUAL_parser_nodes__AIsaExpr__n_type(val* self) {
4670 val* var /* : AType */;
4671 val* var1 /* : AType */;
4672 var1 = parser_nodes__AIsaExpr__n_type(self);
4673 var = var1;
4674 RET_LABEL:;
4675 return var;
4676 }
4677 /* method parser_nodes#ANewExpr#n_type for (self: ANewExpr): AType */
4678 val* parser_nodes__ANewExpr__n_type(val* self) {
4679 val* var /* : AType */;
4680 val* var1 /* : AType */;
4681 var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
4682 if (unlikely(var1 == NULL)) {
4683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
4684 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1853);
4685 show_backtrace(1);
4686 }
4687 var = var1;
4688 goto RET_LABEL;
4689 RET_LABEL:;
4690 return var;
4691 }
4692 /* method parser_nodes#ANewExpr#n_type for (self: Object): AType */
4693 val* VIRTUAL_parser_nodes__ANewExpr__n_type(val* self) {
4694 val* var /* : AType */;
4695 val* var1 /* : AType */;
4696 var1 = parser_nodes__ANewExpr__n_type(self);
4697 var = var1;
4698 RET_LABEL:;
4699 return var;
4700 }
4701 /* method parser_nodes#ANewExpr#n_id for (self: ANewExpr): nullable TId */
4702 val* parser_nodes__ANewExpr__n_id(val* self) {
4703 val* var /* : nullable TId */;
4704 val* var1 /* : nullable TId */;
4705 var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
4706 var = var1;
4707 goto RET_LABEL;
4708 RET_LABEL:;
4709 return var;
4710 }
4711 /* method parser_nodes#ANewExpr#n_id for (self: Object): nullable TId */
4712 val* VIRTUAL_parser_nodes__ANewExpr__n_id(val* self) {
4713 val* var /* : nullable TId */;
4714 val* var1 /* : nullable TId */;
4715 var1 = parser_nodes__ANewExpr__n_id(self);
4716 var = var1;
4717 RET_LABEL:;
4718 return var;
4719 }
4720 /* method parser_nodes#ANewExpr#n_args for (self: ANewExpr): AExprs */
4721 val* parser_nodes__ANewExpr__n_args(val* self) {
4722 val* var /* : AExprs */;
4723 val* var1 /* : AExprs */;
4724 var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
4725 if (unlikely(var1 == NULL)) {
4726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4727 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1861);
4728 show_backtrace(1);
4729 }
4730 var = var1;
4731 goto RET_LABEL;
4732 RET_LABEL:;
4733 return var;
4734 }
4735 /* method parser_nodes#ANewExpr#n_args for (self: Object): AExprs */
4736 val* VIRTUAL_parser_nodes__ANewExpr__n_args(val* self) {
4737 val* var /* : AExprs */;
4738 val* var1 /* : AExprs */;
4739 var1 = parser_nodes__ANewExpr__n_args(self);
4740 var = var1;
4741 RET_LABEL:;
4742 return var;
4743 }
4744 /* method parser_nodes#AAttrFormExpr#n_expr for (self: AAttrFormExpr): AExpr */
4745 val* parser_nodes__AAttrFormExpr__n_expr(val* self) {
4746 val* var /* : AExpr */;
4747 val* var1 /* : AExpr */;
4748 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrFormExpr> */
4749 if (unlikely(var1 == NULL)) {
4750 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4751 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1872);
4752 show_backtrace(1);
4753 }
4754 var = var1;
4755 goto RET_LABEL;
4756 RET_LABEL:;
4757 return var;
4758 }
4759 /* method parser_nodes#AAttrFormExpr#n_expr for (self: Object): AExpr */
4760 val* VIRTUAL_parser_nodes__AAttrFormExpr__n_expr(val* self) {
4761 val* var /* : AExpr */;
4762 val* var1 /* : AExpr */;
4763 var1 = parser_nodes__AAttrFormExpr__n_expr(self);
4764 var = var1;
4765 RET_LABEL:;
4766 return var;
4767 }
4768 /* method parser_nodes#AAttrFormExpr#n_id for (self: AAttrFormExpr): TAttrid */
4769 val* parser_nodes__AAttrFormExpr__n_id(val* self) {
4770 val* var /* : TAttrid */;
4771 val* var1 /* : TAttrid */;
4772 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrFormExpr> */
4773 if (unlikely(var1 == NULL)) {
4774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4775 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1877);
4776 show_backtrace(1);
4777 }
4778 var = var1;
4779 goto RET_LABEL;
4780 RET_LABEL:;
4781 return var;
4782 }
4783 /* method parser_nodes#AAttrFormExpr#n_id for (self: Object): TAttrid */
4784 val* VIRTUAL_parser_nodes__AAttrFormExpr__n_id(val* self) {
4785 val* var /* : TAttrid */;
4786 val* var1 /* : TAttrid */;
4787 var1 = parser_nodes__AAttrFormExpr__n_id(self);
4788 var = var1;
4789 RET_LABEL:;
4790 return var;
4791 }
4792 /* method parser_nodes#ACallFormExpr#n_id for (self: ACallFormExpr): TId */
4793 val* parser_nodes__ACallFormExpr__n_id(val* self) {
4794 val* var /* : TId */;
4795 val* var1 /* : TId */;
4796 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallFormExpr> */
4797 if (unlikely(var1 == NULL)) {
4798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4799 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1900);
4800 show_backtrace(1);
4801 }
4802 var = var1;
4803 goto RET_LABEL;
4804 RET_LABEL:;
4805 return var;
4806 }
4807 /* method parser_nodes#ACallFormExpr#n_id for (self: Object): TId */
4808 val* VIRTUAL_parser_nodes__ACallFormExpr__n_id(val* self) {
4809 val* var /* : TId */;
4810 val* var1 /* : TId */;
4811 var1 = parser_nodes__ACallFormExpr__n_id(self);
4812 var = var1;
4813 RET_LABEL:;
4814 return var;
4815 }
4816 /* method parser_nodes#ACallFormExpr#n_args for (self: ACallFormExpr): AExprs */
4817 val* parser_nodes__ACallFormExpr__n_args(val* self) {
4818 val* var /* : AExprs */;
4819 val* var1 /* : AExprs */;
4820 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallFormExpr> */
4821 if (unlikely(var1 == NULL)) {
4822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4823 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1905);
4824 show_backtrace(1);
4825 }
4826 var = var1;
4827 goto RET_LABEL;
4828 RET_LABEL:;
4829 return var;
4830 }
4831 /* method parser_nodes#ACallFormExpr#n_args for (self: Object): AExprs */
4832 val* VIRTUAL_parser_nodes__ACallFormExpr__n_args(val* self) {
4833 val* var /* : AExprs */;
4834 val* var1 /* : AExprs */;
4835 var1 = parser_nodes__ACallFormExpr__n_args(self);
4836 var = var1;
4837 RET_LABEL:;
4838 return var;
4839 }
4840 /* method parser_nodes#ASuperExpr#n_args for (self: ASuperExpr): AExprs */
4841 val* parser_nodes__ASuperExpr__n_args(val* self) {
4842 val* var /* : AExprs */;
4843 val* var1 /* : AExprs */;
4844 var1 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
4845 if (unlikely(var1 == NULL)) {
4846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4847 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1955);
4848 show_backtrace(1);
4849 }
4850 var = var1;
4851 goto RET_LABEL;
4852 RET_LABEL:;
4853 return var;
4854 }
4855 /* method parser_nodes#ASuperExpr#n_args for (self: Object): AExprs */
4856 val* VIRTUAL_parser_nodes__ASuperExpr__n_args(val* self) {
4857 val* var /* : AExprs */;
4858 val* var1 /* : AExprs */;
4859 var1 = parser_nodes__ASuperExpr__n_args(self);
4860 var = var1;
4861 RET_LABEL:;
4862 return var;
4863 }
4864 /* method parser_nodes#AInitExpr#n_args for (self: AInitExpr): AExprs */
4865 val* parser_nodes__AInitExpr__n_args(val* self) {
4866 val* var /* : AExprs */;
4867 val* var1 /* : AExprs */;
4868 var1 = self->attrs[COLOR_parser_nodes__AInitExpr___n_args].val; /* _n_args on <self:AInitExpr> */
4869 if (unlikely(var1 == NULL)) {
4870 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4871 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1968);
4872 show_backtrace(1);
4873 }
4874 var = var1;
4875 goto RET_LABEL;
4876 RET_LABEL:;
4877 return var;
4878 }
4879 /* method parser_nodes#AInitExpr#n_args for (self: Object): AExprs */
4880 val* VIRTUAL_parser_nodes__AInitExpr__n_args(val* self) {
4881 val* var /* : AExprs */;
4882 val* var1 /* : AExprs */;
4883 var1 = parser_nodes__AInitExpr__n_args(self);
4884 var = var1;
4885 RET_LABEL:;
4886 return var;
4887 }
4888 /* method parser_nodes#ABraFormExpr#n_args for (self: ABraFormExpr): AExprs */
4889 val* parser_nodes__ABraFormExpr__n_args(val* self) {
4890 val* var /* : AExprs */;
4891 val* var1 /* : AExprs */;
4892 var1 = self->attrs[COLOR_parser_nodes__ABraFormExpr___n_args].val; /* _n_args on <self:ABraFormExpr> */
4893 if (unlikely(var1 == NULL)) {
4894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4895 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1977);
4896 show_backtrace(1);
4897 }
4898 var = var1;
4899 goto RET_LABEL;
4900 RET_LABEL:;
4901 return var;
4902 }
4903 /* method parser_nodes#ABraFormExpr#n_args for (self: Object): AExprs */
4904 val* VIRTUAL_parser_nodes__ABraFormExpr__n_args(val* self) {
4905 val* var /* : AExprs */;
4906 val* var1 /* : AExprs */;
4907 var1 = parser_nodes__ABraFormExpr__n_args(self);
4908 var = var1;
4909 RET_LABEL:;
4910 return var;
4911 }
4912 /* method parser_nodes#ARangeExpr#n_expr for (self: ARangeExpr): AExpr */
4913 val* parser_nodes__ARangeExpr__n_expr(val* self) {
4914 val* var /* : AExpr */;
4915 val* var1 /* : AExpr */;
4916 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ARangeExpr> */
4917 if (unlikely(var1 == NULL)) {
4918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4919 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2032);
4920 show_backtrace(1);
4921 }
4922 var = var1;
4923 goto RET_LABEL;
4924 RET_LABEL:;
4925 return var;
4926 }
4927 /* method parser_nodes#ARangeExpr#n_expr for (self: Object): AExpr */
4928 val* VIRTUAL_parser_nodes__ARangeExpr__n_expr(val* self) {
4929 val* var /* : AExpr */;
4930 val* var1 /* : AExpr */;
4931 var1 = parser_nodes__ARangeExpr__n_expr(self);
4932 var = var1;
4933 RET_LABEL:;
4934 return var;
4935 }
4936 /* method parser_nodes#ARangeExpr#n_expr2 for (self: ARangeExpr): AExpr */
4937 val* parser_nodes__ARangeExpr__n_expr2(val* self) {
4938 val* var /* : AExpr */;
4939 val* var1 /* : AExpr */;
4940 var1 = self->attrs[COLOR_parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ARangeExpr> */
4941 if (unlikely(var1 == NULL)) {
4942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
4943 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2035);
4944 show_backtrace(1);
4945 }
4946 var = var1;
4947 goto RET_LABEL;
4948 RET_LABEL:;
4949 return var;
4950 }
4951 /* method parser_nodes#ARangeExpr#n_expr2 for (self: Object): AExpr */
4952 val* VIRTUAL_parser_nodes__ARangeExpr__n_expr2(val* self) {
4953 val* var /* : AExpr */;
4954 val* var1 /* : AExpr */;
4955 var1 = parser_nodes__ARangeExpr__n_expr2(self);
4956 var = var1;
4957 RET_LABEL:;
4958 return var;
4959 }
4960 /* method parser_nodes#AArrayExpr#n_exprs for (self: AArrayExpr): AExprs */
4961 val* parser_nodes__AArrayExpr__n_exprs(val* self) {
4962 val* var /* : AExprs */;
4963 val* var1 /* : AExprs */;
4964 var1 = self->attrs[COLOR_parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
4965 if (unlikely(var1 == NULL)) {
4966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4967 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2068);
4968 show_backtrace(1);
4969 }
4970 var = var1;
4971 goto RET_LABEL;
4972 RET_LABEL:;
4973 return var;
4974 }
4975 /* method parser_nodes#AArrayExpr#n_exprs for (self: Object): AExprs */
4976 val* VIRTUAL_parser_nodes__AArrayExpr__n_exprs(val* self) {
4977 val* var /* : AExprs */;
4978 val* var1 /* : AExprs */;
4979 var1 = parser_nodes__AArrayExpr__n_exprs(self);
4980 var = var1;
4981 RET_LABEL:;
4982 return var;
4983 }
4984 /* method parser_nodes#ADecIntExpr#n_number for (self: ADecIntExpr): TNumber */
4985 val* parser_nodes__ADecIntExpr__n_number(val* self) {
4986 val* var /* : TNumber */;
4987 val* var1 /* : TNumber */;
4988 var1 = self->attrs[COLOR_parser_nodes__ADecIntExpr___n_number].val; /* _n_number on <self:ADecIntExpr> */
4989 if (unlikely(var1 == NULL)) {
4990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_number");
4991 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2119);
4992 show_backtrace(1);
4993 }
4994 var = var1;
4995 goto RET_LABEL;
4996 RET_LABEL:;
4997 return var;
4998 }
4999 /* method parser_nodes#ADecIntExpr#n_number for (self: Object): TNumber */
5000 val* VIRTUAL_parser_nodes__ADecIntExpr__n_number(val* self) {
5001 val* var /* : TNumber */;
5002 val* var1 /* : TNumber */;
5003 var1 = parser_nodes__ADecIntExpr__n_number(self);
5004 var = var1;
5005 RET_LABEL:;
5006 return var;
5007 }
5008 /* method parser_nodes#AHexIntExpr#n_hex_number for (self: AHexIntExpr): THexNumber */
5009 val* parser_nodes__AHexIntExpr__n_hex_number(val* self) {
5010 val* var /* : THexNumber */;
5011 val* var1 /* : THexNumber */;
5012 var1 = self->attrs[COLOR_parser_nodes__AHexIntExpr___n_hex_number].val; /* _n_hex_number on <self:AHexIntExpr> */
5013 if (unlikely(var1 == NULL)) {
5014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_hex_number");
5015 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2127);
5016 show_backtrace(1);
5017 }
5018 var = var1;
5019 goto RET_LABEL;
5020 RET_LABEL:;
5021 return var;
5022 }
5023 /* method parser_nodes#AHexIntExpr#n_hex_number for (self: Object): THexNumber */
5024 val* VIRTUAL_parser_nodes__AHexIntExpr__n_hex_number(val* self) {
5025 val* var /* : THexNumber */;
5026 val* var1 /* : THexNumber */;
5027 var1 = parser_nodes__AHexIntExpr__n_hex_number(self);
5028 var = var1;
5029 RET_LABEL:;
5030 return var;
5031 }
5032 /* method parser_nodes#AFloatExpr#n_float for (self: AFloatExpr): TFloat */
5033 val* parser_nodes__AFloatExpr__n_float(val* self) {
5034 val* var /* : TFloat */;
5035 val* var1 /* : TFloat */;
5036 var1 = self->attrs[COLOR_parser_nodes__AFloatExpr___n_float].val; /* _n_float on <self:AFloatExpr> */
5037 if (unlikely(var1 == NULL)) {
5038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
5039 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2135);
5040 show_backtrace(1);
5041 }
5042 var = var1;
5043 goto RET_LABEL;
5044 RET_LABEL:;
5045 return var;
5046 }
5047 /* method parser_nodes#AFloatExpr#n_float for (self: Object): TFloat */
5048 val* VIRTUAL_parser_nodes__AFloatExpr__n_float(val* self) {
5049 val* var /* : TFloat */;
5050 val* var1 /* : TFloat */;
5051 var1 = parser_nodes__AFloatExpr__n_float(self);
5052 var = var1;
5053 RET_LABEL:;
5054 return var;
5055 }
5056 /* method parser_nodes#ACharExpr#n_char for (self: ACharExpr): TChar */
5057 val* parser_nodes__ACharExpr__n_char(val* self) {
5058 val* var /* : TChar */;
5059 val* var1 /* : TChar */;
5060 var1 = self->attrs[COLOR_parser_nodes__ACharExpr___n_char].val; /* _n_char on <self:ACharExpr> */
5061 if (unlikely(var1 == NULL)) {
5062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_char");
5063 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2143);
5064 show_backtrace(1);
5065 }
5066 var = var1;
5067 goto RET_LABEL;
5068 RET_LABEL:;
5069 return var;
5070 }
5071 /* method parser_nodes#ACharExpr#n_char for (self: Object): TChar */
5072 val* VIRTUAL_parser_nodes__ACharExpr__n_char(val* self) {
5073 val* var /* : TChar */;
5074 val* var1 /* : TChar */;
5075 var1 = parser_nodes__ACharExpr__n_char(self);
5076 var = var1;
5077 RET_LABEL:;
5078 return var;
5079 }
5080 /* method parser_nodes#AStringFormExpr#n_string for (self: AStringFormExpr): Token */
5081 val* parser_nodes__AStringFormExpr__n_string(val* self) {
5082 val* var /* : Token */;
5083 val* var1 /* : Token */;
5084 var1 = self->attrs[COLOR_parser_nodes__AStringFormExpr___n_string].val; /* _n_string on <self:AStringFormExpr> */
5085 if (unlikely(var1 == NULL)) {
5086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
5087 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2151);
5088 show_backtrace(1);
5089 }
5090 var = var1;
5091 goto RET_LABEL;
5092 RET_LABEL:;
5093 return var;
5094 }
5095 /* method parser_nodes#AStringFormExpr#n_string for (self: Object): Token */
5096 val* VIRTUAL_parser_nodes__AStringFormExpr__n_string(val* self) {
5097 val* var /* : Token */;
5098 val* var1 /* : Token */;
5099 var1 = parser_nodes__AStringFormExpr__n_string(self);
5100 var = var1;
5101 RET_LABEL:;
5102 return var;
5103 }
5104 /* method parser_nodes#ASuperstringExpr#n_exprs for (self: ASuperstringExpr): ANodes[AExpr] */
5105 val* parser_nodes__ASuperstringExpr__n_exprs(val* self) {
5106 val* var /* : ANodes[AExpr] */;
5107 val* var1 /* : ANodes[AExpr] */;
5108 var1 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:ASuperstringExpr> */
5109 if (unlikely(var1 == NULL)) {
5110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5111 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2180);
5112 show_backtrace(1);
5113 }
5114 var = var1;
5115 RET_LABEL:;
5116 return var;
5117 }
5118 /* method parser_nodes#ASuperstringExpr#n_exprs for (self: Object): ANodes[AExpr] */
5119 val* VIRTUAL_parser_nodes__ASuperstringExpr__n_exprs(val* self) {
5120 val* var /* : ANodes[AExpr] */;
5121 val* var1 /* : ANodes[AExpr] */;
5122 val* var3 /* : ANodes[AExpr] */;
5123 { /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on <self:Object(ASuperstringExpr)> */
5124 var3 = self->attrs[COLOR_parser_nodes__ASuperstringExpr___n_exprs].val; /* _n_exprs on <self:Object(ASuperstringExpr)> */
5125 if (unlikely(var3 == NULL)) {
5126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5127 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2180);
5128 show_backtrace(1);
5129 }
5130 var1 = var3;
5131 RET_LABEL2:(void)0;
5132 }
5133 var = var1;
5134 RET_LABEL:;
5135 return var;
5136 }
5137 /* method parser_nodes#AProxyExpr#n_expr for (self: AProxyExpr): AExpr */
5138 val* parser_nodes__AProxyExpr__n_expr(val* self) {
5139 val* var /* : AExpr */;
5140 val* var1 /* : AExpr */;
5141 var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AProxyExpr> */
5142 if (unlikely(var1 == NULL)) {
5143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5144 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2200);
5145 show_backtrace(1);
5146 }
5147 var = var1;
5148 goto RET_LABEL;
5149 RET_LABEL:;
5150 return var;
5151 }
5152 /* method parser_nodes#AProxyExpr#n_expr for (self: Object): AExpr */
5153 val* VIRTUAL_parser_nodes__AProxyExpr__n_expr(val* self) {
5154 val* var /* : AExpr */;
5155 val* var1 /* : AExpr */;
5156 var1 = parser_nodes__AProxyExpr__n_expr(self);
5157 var = var1;
5158 RET_LABEL:;
5159 return var;
5160 }
5161 /* method parser_nodes#AAsCastExpr#n_expr for (self: AAsCastExpr): AExpr */
5162 val* parser_nodes__AAsCastExpr__n_expr(val* self) {
5163 val* var /* : AExpr */;
5164 val* var1 /* : AExpr */;
5165 var1 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_expr].val; /* _n_expr on <self:AAsCastExpr> */
5166 if (unlikely(var1 == NULL)) {
5167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5168 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2209);
5169 show_backtrace(1);
5170 }
5171 var = var1;
5172 goto RET_LABEL;
5173 RET_LABEL:;
5174 return var;
5175 }
5176 /* method parser_nodes#AAsCastExpr#n_expr for (self: Object): AExpr */
5177 val* VIRTUAL_parser_nodes__AAsCastExpr__n_expr(val* self) {
5178 val* var /* : AExpr */;
5179 val* var1 /* : AExpr */;
5180 var1 = parser_nodes__AAsCastExpr__n_expr(self);
5181 var = var1;
5182 RET_LABEL:;
5183 return var;
5184 }
5185 /* method parser_nodes#AAsCastExpr#n_type for (self: AAsCastExpr): AType */
5186 val* parser_nodes__AAsCastExpr__n_type(val* self) {
5187 val* var /* : AType */;
5188 val* var1 /* : AType */;
5189 var1 = self->attrs[COLOR_parser_nodes__AAsCastExpr___n_type].val; /* _n_type on <self:AAsCastExpr> */
5190 if (unlikely(var1 == NULL)) {
5191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
5192 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2218);
5193 show_backtrace(1);
5194 }
5195 var = var1;
5196 goto RET_LABEL;
5197 RET_LABEL:;
5198 return var;
5199 }
5200 /* method parser_nodes#AAsCastExpr#n_type for (self: Object): AType */
5201 val* VIRTUAL_parser_nodes__AAsCastExpr__n_type(val* self) {
5202 val* var /* : AType */;
5203 val* var1 /* : AType */;
5204 var1 = parser_nodes__AAsCastExpr__n_type(self);
5205 var = var1;
5206 RET_LABEL:;
5207 return var;
5208 }
5209 /* method parser_nodes#AAsNotnullExpr#n_expr for (self: AAsNotnullExpr): AExpr */
5210 val* parser_nodes__AAsNotnullExpr__n_expr(val* self) {
5211 val* var /* : AExpr */;
5212 val* var1 /* : AExpr */;
5213 var1 = self->attrs[COLOR_parser_nodes__AAsNotnullExpr___n_expr].val; /* _n_expr on <self:AAsNotnullExpr> */
5214 if (unlikely(var1 == NULL)) {
5215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5216 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2230);
5217 show_backtrace(1);
5218 }
5219 var = var1;
5220 goto RET_LABEL;
5221 RET_LABEL:;
5222 return var;
5223 }
5224 /* method parser_nodes#AAsNotnullExpr#n_expr for (self: Object): AExpr */
5225 val* VIRTUAL_parser_nodes__AAsNotnullExpr__n_expr(val* self) {
5226 val* var /* : AExpr */;
5227 val* var1 /* : AExpr */;
5228 var1 = parser_nodes__AAsNotnullExpr__n_expr(self);
5229 var = var1;
5230 RET_LABEL:;
5231 return var;
5232 }
5233 /* method parser_nodes#AExprs#n_exprs for (self: AExprs): ANodes[AExpr] */
5234 val* parser_nodes__AExprs__n_exprs(val* self) {
5235 val* var /* : ANodes[AExpr] */;
5236 val* var1 /* : ANodes[AExpr] */;
5237 var1 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:AExprs> */
5238 if (unlikely(var1 == NULL)) {
5239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5240 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
5241 show_backtrace(1);
5242 }
5243 var = var1;
5244 RET_LABEL:;
5245 return var;
5246 }
5247 /* method parser_nodes#AExprs#n_exprs for (self: Object): ANodes[AExpr] */
5248 val* VIRTUAL_parser_nodes__AExprs__n_exprs(val* self) {
5249 val* var /* : ANodes[AExpr] */;
5250 val* var1 /* : ANodes[AExpr] */;
5251 val* var3 /* : ANodes[AExpr] */;
5252 { /* Inline parser_nodes#AExprs#n_exprs (self) on <self:Object(AExprs)> */
5253 var3 = self->attrs[COLOR_parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <self:Object(AExprs)> */
5254 if (unlikely(var3 == NULL)) {
5255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5256 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
5257 show_backtrace(1);
5258 }
5259 var1 = var3;
5260 RET_LABEL2:(void)0;
5261 }
5262 var = var1;
5263 RET_LABEL:;
5264 return var;
5265 }
5266 /* method parser_nodes#AExprs#init for (self: AExprs) */
5267 void parser_nodes__AExprs__init(val* self) {
5268 {
5269 { /* Inline parser_nodes#ANode#init (self) on <self:AExprs> */
5270 RET_LABEL1:(void)0;
5271 }
5272 }
5273 RET_LABEL:;
5274 }
5275 /* method parser_nodes#AExprs#init for (self: Object) */
5276 void VIRTUAL_parser_nodes__AExprs__init(val* self) {
5277 parser_nodes__AExprs__init(self); /* Direct call parser_nodes#AExprs#init on <self:Object(AExprs)>*/
5278 RET_LABEL:;
5279 }
5280 /* method parser_nodes#ADebugTypeExpr#n_expr for (self: ADebugTypeExpr): AExpr */
5281 val* parser_nodes__ADebugTypeExpr__n_expr(val* self) {
5282 val* var /* : AExpr */;
5283 val* var1 /* : AExpr */;
5284 var1 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_expr].val; /* _n_expr on <self:ADebugTypeExpr> */
5285 if (unlikely(var1 == NULL)) {
5286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5287 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2288);
5288 show_backtrace(1);
5289 }
5290 var = var1;
5291 goto RET_LABEL;
5292 RET_LABEL:;
5293 return var;
5294 }
5295 /* method parser_nodes#ADebugTypeExpr#n_expr for (self: Object): AExpr */
5296 val* VIRTUAL_parser_nodes__ADebugTypeExpr__n_expr(val* self) {
5297 val* var /* : AExpr */;
5298 val* var1 /* : AExpr */;
5299 var1 = parser_nodes__ADebugTypeExpr__n_expr(self);
5300 var = var1;
5301 RET_LABEL:;
5302 return var;
5303 }
5304 /* method parser_nodes#ADebugTypeExpr#n_type for (self: ADebugTypeExpr): AType */
5305 val* parser_nodes__ADebugTypeExpr__n_type(val* self) {
5306 val* var /* : AType */;
5307 val* var1 /* : AType */;
5308 var1 = self->attrs[COLOR_parser_nodes__ADebugTypeExpr___n_type].val; /* _n_type on <self:ADebugTypeExpr> */
5309 if (unlikely(var1 == NULL)) {
5310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
5311 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2291);
5312 show_backtrace(1);
5313 }
5314 var = var1;
5315 goto RET_LABEL;
5316 RET_LABEL:;
5317 return var;
5318 }
5319 /* method parser_nodes#ADebugTypeExpr#n_type for (self: Object): AType */
5320 val* VIRTUAL_parser_nodes__ADebugTypeExpr__n_type(val* self) {
5321 val* var /* : AType */;
5322 val* var1 /* : AType */;
5323 var1 = parser_nodes__ADebugTypeExpr__n_type(self);
5324 var = var1;
5325 RET_LABEL:;
5326 return var;
5327 }
5328 /* method parser_nodes#AModuleName#n_quad for (self: AModuleName): nullable TQuad */
5329 val* parser_nodes__AModuleName__n_quad(val* self) {
5330 val* var /* : nullable TQuad */;
5331 val* var1 /* : nullable TQuad */;
5332 var1 = self->attrs[COLOR_parser_nodes__AModuleName___n_quad].val; /* _n_quad on <self:AModuleName> */
5333 var = var1;
5334 goto RET_LABEL;
5335 RET_LABEL:;
5336 return var;
5337 }
5338 /* method parser_nodes#AModuleName#n_quad for (self: Object): nullable TQuad */
5339 val* VIRTUAL_parser_nodes__AModuleName__n_quad(val* self) {
5340 val* var /* : nullable TQuad */;
5341 val* var1 /* : nullable TQuad */;
5342 var1 = parser_nodes__AModuleName__n_quad(self);
5343 var = var1;
5344 RET_LABEL:;
5345 return var;
5346 }
5347 /* method parser_nodes#AModuleName#n_path for (self: AModuleName): ANodes[TId] */
5348 val* parser_nodes__AModuleName__n_path(val* self) {
5349 val* var /* : ANodes[TId] */;
5350 val* var1 /* : ANodes[TId] */;
5351 var1 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:AModuleName> */
5352 if (unlikely(var1 == NULL)) {
5353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
5354 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2349);
5355 show_backtrace(1);
5356 }
5357 var = var1;
5358 RET_LABEL:;
5359 return var;
5360 }
5361 /* method parser_nodes#AModuleName#n_path for (self: Object): ANodes[TId] */
5362 val* VIRTUAL_parser_nodes__AModuleName__n_path(val* self) {
5363 val* var /* : ANodes[TId] */;
5364 val* var1 /* : ANodes[TId] */;
5365 val* var3 /* : ANodes[TId] */;
5366 { /* Inline parser_nodes#AModuleName#n_path (self) on <self:Object(AModuleName)> */
5367 var3 = self->attrs[COLOR_parser_nodes__AModuleName___n_path].val; /* _n_path on <self:Object(AModuleName)> */
5368 if (unlikely(var3 == NULL)) {
5369 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
5370 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2349);
5371 show_backtrace(1);
5372 }
5373 var1 = var3;
5374 RET_LABEL2:(void)0;
5375 }
5376 var = var1;
5377 RET_LABEL:;
5378 return var;
5379 }
5380 /* method parser_nodes#AModuleName#n_id for (self: AModuleName): TId */
5381 val* parser_nodes__AModuleName__n_id(val* self) {
5382 val* var /* : TId */;
5383 val* var1 /* : TId */;
5384 var1 = self->attrs[COLOR_parser_nodes__AModuleName___n_id].val; /* _n_id on <self:AModuleName> */
5385 if (unlikely(var1 == NULL)) {
5386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5387 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2351);
5388 show_backtrace(1);
5389 }
5390 var = var1;
5391 goto RET_LABEL;
5392 RET_LABEL:;
5393 return var;
5394 }
5395 /* method parser_nodes#AModuleName#n_id for (self: Object): TId */
5396 val* VIRTUAL_parser_nodes__AModuleName__n_id(val* self) {
5397 val* var /* : TId */;
5398 val* var1 /* : TId */;
5399 var1 = parser_nodes__AModuleName__n_id(self);
5400 var = var1;
5401 RET_LABEL:;
5402 return var;
5403 }
5404 /* method parser_nodes#AQualified#n_id for (self: AQualified): ANodes[TId] */
5405 val* parser_nodes__AQualified__n_id(val* self) {
5406 val* var /* : ANodes[TId] */;
5407 val* var1 /* : ANodes[TId] */;
5408 var1 = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
5409 if (unlikely(var1 == NULL)) {
5410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5411 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2380);
5412 show_backtrace(1);
5413 }
5414 var = var1;
5415 RET_LABEL:;
5416 return var;
5417 }
5418 /* method parser_nodes#AQualified#n_id for (self: Object): ANodes[TId] */
5419 val* VIRTUAL_parser_nodes__AQualified__n_id(val* self) {
5420 val* var /* : ANodes[TId] */;
5421 val* var1 /* : ANodes[TId] */;
5422 val* var3 /* : ANodes[TId] */;
5423 { /* Inline parser_nodes#AQualified#n_id (self) on <self:Object(AQualified)> */
5424 var3 = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:Object(AQualified)> */
5425 if (unlikely(var3 == NULL)) {
5426 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5427 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2380);
5428 show_backtrace(1);
5429 }
5430 var1 = var3;
5431 RET_LABEL2:(void)0;
5432 }
5433 var = var1;
5434 RET_LABEL:;
5435 return var;
5436 }
5437 /* method parser_nodes#ADoc#n_comment for (self: ADoc): ANodes[TComment] */
5438 val* parser_nodes__ADoc__n_comment(val* self) {
5439 val* var /* : ANodes[TComment] */;
5440 val* var1 /* : ANodes[TComment] */;
5441 var1 = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
5442 if (unlikely(var1 == NULL)) {
5443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment");
5444 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2391);
5445 show_backtrace(1);
5446 }
5447 var = var1;
5448 RET_LABEL:;
5449 return var;
5450 }
5451 /* method parser_nodes#ADoc#n_comment for (self: Object): ANodes[TComment] */
5452 val* VIRTUAL_parser_nodes__ADoc__n_comment(val* self) {
5453 val* var /* : ANodes[TComment] */;
5454 val* var1 /* : ANodes[TComment] */;
5455 val* var3 /* : ANodes[TComment] */;
5456 { /* Inline parser_nodes#ADoc#n_comment (self) on <self:Object(ADoc)> */
5457 var3 = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:Object(ADoc)> */
5458 if (unlikely(var3 == NULL)) {
5459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment");
5460 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2391);
5461 show_backtrace(1);
5462 }
5463 var1 = var3;
5464 RET_LABEL2:(void)0;
5465 }
5466 var = var1;
5467 RET_LABEL:;
5468 return var;
5469 }
5470 /* method parser_nodes#AAnnotations#n_items for (self: AAnnotations): ANodes[AAnnotation] */
5471 val* parser_nodes__AAnnotations__n_items(val* self) {
5472 val* var /* : ANodes[AAnnotation] */;
5473 val* var1 /* : ANodes[AAnnotation] */;
5474 var1 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
5475 if (unlikely(var1 == NULL)) {
5476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_items");
5477 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2403);
5478 show_backtrace(1);
5479 }
5480 var = var1;
5481 RET_LABEL:;
5482 return var;
5483 }
5484 /* method parser_nodes#AAnnotations#n_items for (self: Object): ANodes[AAnnotation] */
5485 val* VIRTUAL_parser_nodes__AAnnotations__n_items(val* self) {
5486 val* var /* : ANodes[AAnnotation] */;
5487 val* var1 /* : ANodes[AAnnotation] */;
5488 val* var3 /* : ANodes[AAnnotation] */;
5489 { /* Inline parser_nodes#AAnnotations#n_items (self) on <self:Object(AAnnotations)> */
5490 var3 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:Object(AAnnotations)> */
5491 if (unlikely(var3 == NULL)) {
5492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_items");
5493 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2403);
5494 show_backtrace(1);
5495 }
5496 var1 = var3;
5497 RET_LABEL2:(void)0;
5498 }
5499 var = var1;
5500 RET_LABEL:;
5501 return var;
5502 }
5503 /* method parser_nodes#AAnnotation#n_kwredef for (self: AAnnotation): nullable TKwredef */
5504 val* parser_nodes__AAnnotation__n_kwredef(val* self) {
5505 val* var /* : nullable TKwredef */;
5506 val* var1 /* : nullable TKwredef */;
5507 var1 = self->attrs[COLOR_parser_nodes__AAnnotation___n_kwredef].val; /* _n_kwredef on <self:AAnnotation> */
5508 var = var1;
5509 goto RET_LABEL;
5510 RET_LABEL:;
5511 return var;
5512 }
5513 /* method parser_nodes#AAnnotation#n_kwredef for (self: Object): nullable TKwredef */
5514 val* VIRTUAL_parser_nodes__AAnnotation__n_kwredef(val* self) {
5515 val* var /* : nullable TKwredef */;
5516 val* var1 /* : nullable TKwredef */;
5517 var1 = parser_nodes__AAnnotation__n_kwredef(self);
5518 var = var1;
5519 RET_LABEL:;
5520 return var;
5521 }
5522 /* method parser_nodes#AAnnotation#n_visibility for (self: AAnnotation): nullable AVisibility */
5523 val* parser_nodes__AAnnotation__n_visibility(val* self) {
5524 val* var /* : nullable AVisibility */;
5525 val* var1 /* : nullable AVisibility */;
5526 var1 = self->attrs[COLOR_parser_nodes__AAnnotation___n_visibility].val; /* _n_visibility on <self:AAnnotation> */
5527 var = var1;
5528 goto RET_LABEL;
5529 RET_LABEL:;
5530 return var;
5531 }
5532 /* method parser_nodes#AAnnotation#n_visibility for (self: Object): nullable AVisibility */
5533 val* VIRTUAL_parser_nodes__AAnnotation__n_visibility(val* self) {
5534 val* var /* : nullable AVisibility */;
5535 val* var1 /* : nullable AVisibility */;
5536 var1 = parser_nodes__AAnnotation__n_visibility(self);
5537 var = var1;
5538 RET_LABEL:;
5539 return var;
5540 }
5541 /* method parser_nodes#AAnnotation#n_atid for (self: AAnnotation): AAtid */
5542 val* parser_nodes__AAnnotation__n_atid(val* self) {
5543 val* var /* : AAtid */;
5544 val* var1 /* : AAtid */;
5545 var1 = self->attrs[COLOR_parser_nodes__AAnnotation___n_atid].val; /* _n_atid on <self:AAnnotation> */
5546 if (unlikely(var1 == NULL)) {
5547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_atid");
5548 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2421);
5549 show_backtrace(1);
5550 }
5551 var = var1;
5552 goto RET_LABEL;
5553 RET_LABEL:;
5554 return var;
5555 }
5556 /* method parser_nodes#AAnnotation#n_atid for (self: Object): AAtid */
5557 val* VIRTUAL_parser_nodes__AAnnotation__n_atid(val* self) {
5558 val* var /* : AAtid */;
5559 val* var1 /* : AAtid */;
5560 var1 = parser_nodes__AAnnotation__n_atid(self);
5561 var = var1;
5562 RET_LABEL:;
5563 return var;
5564 }
5565 /* method parser_nodes#AAnnotation#n_args for (self: AAnnotation): ANodes[AAtArg] */
5566 val* parser_nodes__AAnnotation__n_args(val* self) {
5567 val* var /* : ANodes[AAtArg] */;
5568 val* var1 /* : ANodes[AAtArg] */;
5569 var1 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
5570 if (unlikely(var1 == NULL)) {
5571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5572 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2426);
5573 show_backtrace(1);
5574 }
5575 var = var1;
5576 RET_LABEL:;
5577 return var;
5578 }
5579 /* method parser_nodes#AAnnotation#n_args for (self: Object): ANodes[AAtArg] */
5580 val* VIRTUAL_parser_nodes__AAnnotation__n_args(val* self) {
5581 val* var /* : ANodes[AAtArg] */;
5582 val* var1 /* : ANodes[AAtArg] */;
5583 val* var3 /* : ANodes[AAtArg] */;
5584 { /* Inline parser_nodes#AAnnotation#n_args (self) on <self:Object(AAnnotation)> */
5585 var3 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:Object(AAnnotation)> */
5586 if (unlikely(var3 == NULL)) {
5587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5588 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2426);
5589 show_backtrace(1);
5590 }
5591 var1 = var3;
5592 RET_LABEL2:(void)0;
5593 }
5594 var = var1;
5595 RET_LABEL:;
5596 return var;
5597 }
5598 /* method parser_nodes#AExprAtArg#n_expr for (self: AExprAtArg): AExpr */
5599 val* parser_nodes__AExprAtArg__n_expr(val* self) {
5600 val* var /* : AExpr */;
5601 val* var1 /* : AExpr */;
5602 var1 = self->attrs[COLOR_parser_nodes__AExprAtArg___n_expr].val; /* _n_expr on <self:AExprAtArg> */
5603 if (unlikely(var1 == NULL)) {
5604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5605 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2445);
5606 show_backtrace(1);
5607 }
5608 var = var1;
5609 goto RET_LABEL;
5610 RET_LABEL:;
5611 return var;
5612 }
5613 /* method parser_nodes#AExprAtArg#n_expr for (self: Object): AExpr */
5614 val* VIRTUAL_parser_nodes__AExprAtArg__n_expr(val* self) {
5615 val* var /* : AExpr */;
5616 val* var1 /* : AExpr */;
5617 var1 = parser_nodes__AExprAtArg__n_expr(self);
5618 var = var1;
5619 RET_LABEL:;
5620 return var;
5621 }
5622 /* method parser_nodes#AAtid#n_id for (self: AAtid): Token */
5623 val* parser_nodes__AAtid__n_id(val* self) {
5624 val* var /* : Token */;
5625 val* var1 /* : Token */;
5626 var1 = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AAtid> */
5627 if (unlikely(var1 == NULL)) {
5628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5629 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2455);
5630 show_backtrace(1);
5631 }
5632 var = var1;
5633 goto RET_LABEL;
5634 RET_LABEL:;
5635 return var;
5636 }
5637 /* method parser_nodes#AAtid#n_id for (self: Object): Token */
5638 val* VIRTUAL_parser_nodes__AAtid__n_id(val* self) {
5639 val* var /* : Token */;
5640 val* var1 /* : Token */;
5641 var1 = parser_nodes__AAtid__n_id(self);
5642 var = var1;
5643 RET_LABEL:;
5644 return var;
5645 }
5646 /* method parser_nodes#Start#n_base for (self: Start): nullable AModule */
5647 val* parser_nodes__Start__n_base(val* self) {
5648 val* var /* : nullable AModule */;
5649 val* var1 /* : nullable AModule */;
5650 var1 = self->attrs[COLOR_parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
5651 var = var1;
5652 goto RET_LABEL;
5653 RET_LABEL:;
5654 return var;
5655 }
5656 /* method parser_nodes#Start#n_base for (self: Object): nullable AModule */
5657 val* VIRTUAL_parser_nodes__Start__n_base(val* self) {
5658 val* var /* : nullable AModule */;
5659 val* var1 /* : nullable AModule */;
5660 var1 = parser_nodes__Start__n_base(self);
5661 var = var1;
5662 RET_LABEL:;
5663 return var;
5664 }
5665 /* method parser_nodes#Start#n_eof for (self: Start): EOF */
5666 val* parser_nodes__Start__n_eof(val* self) {
5667 val* var /* : EOF */;
5668 val* var1 /* : EOF */;
5669 var1 = self->attrs[COLOR_parser_nodes__Start___n_eof].val; /* _n_eof on <self:Start> */
5670 if (unlikely(var1 == NULL)) {
5671 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eof");
5672 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2485);
5673 show_backtrace(1);
5674 }
5675 var = var1;
5676 goto RET_LABEL;
5677 RET_LABEL:;
5678 return var;
5679 }
5680 /* method parser_nodes#Start#n_eof for (self: Object): EOF */
5681 val* VIRTUAL_parser_nodes__Start__n_eof(val* self) {
5682 val* var /* : EOF */;
5683 val* var1 /* : EOF */;
5684 var1 = parser_nodes__Start__n_eof(self);
5685 var = var1;
5686 RET_LABEL:;
5687 return var;
5688 }
5689 /* method parser_nodes#Start#init for (self: Start, nullable AModule, EOF) */
5690 void parser_nodes__Start__init(val* self, val* p0, val* p1) {
5691 val* var_n_base /* var n_base: nullable AModule */;
5692 val* var_n_eof /* var n_eof: EOF */;
5693 {
5694 { /* Inline parser_nodes#ANode#init (self) on <self:Start> */
5695 RET_LABEL1:(void)0;
5696 }
5697 }
5698 var_n_base = p0;
5699 var_n_eof = p1;
5700 self->attrs[COLOR_parser_nodes__Start___n_base].val = var_n_base; /* _n_base on <self:Start> */
5701 self->attrs[COLOR_parser_nodes__Start___n_eof].val = var_n_eof; /* _n_eof on <self:Start> */
5702 RET_LABEL:;
5703 }
5704 /* method parser_nodes#Start#init for (self: Object, nullable AModule, EOF) */
5705 void VIRTUAL_parser_nodes__Start__init(val* self, val* p0, val* p1) {
5706 parser_nodes__Start__init(self, p0, p1); /* Direct call parser_nodes#Start#init on <self:Object(Start)>*/
5707 RET_LABEL:;
5708 }