example: intro an emscripten wrapper around hello world
[nit.git] / c_src / parser_prod.sep.5.c
1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#ASuperExternCall#replace_child for (self: Object, ANode, nullable ANode) */
3 void VIRTUAL_parser_prod__ASuperExternCall__replace_child(val* self, val* p0, val* p1) {
4 parser_prod__ASuperExternCall__replace_child(self, p0, p1);
5 RET_LABEL:;
6 }
7 /* method parser_prod#ASuperExternCall#n_kwsuper= for (self: ASuperExternCall, TKwsuper) */
8 void parser_prod__ASuperExternCall__n_kwsuper_61d(val* self, val* p0) {
9 val* var_node /* var node: TKwsuper */;
10 var_node = p0;
11 self->attrs[COLOR_parser_nodes__ASuperExternCall___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperExternCall> */
12 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwsuper>*/;
13 RET_LABEL:;
14 }
15 /* method parser_prod#ASuperExternCall#n_kwsuper= for (self: Object, TKwsuper) */
16 void VIRTUAL_parser_prod__ASuperExternCall__n_kwsuper_61d(val* self, val* p0) {
17 parser_prod__ASuperExternCall__n_kwsuper_61d(self, p0);
18 RET_LABEL:;
19 }
20 /* method parser_prod#ASuperExternCall#visit_all for (self: ASuperExternCall, Visitor) */
21 void parser_prod__ASuperExternCall__visit_all(val* self, val* p0) {
22 val* var_v /* var v: Visitor */;
23 val* var /* : TKwsuper */;
24 var_v = p0;
25 var = self->attrs[COLOR_parser_nodes__ASuperExternCall___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExternCall> */
26 if (var == NULL) {
27 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
28 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10365);
29 show_backtrace(1);
30 }
31 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
32 RET_LABEL:;
33 }
34 /* method parser_prod#ASuperExternCall#visit_all for (self: Object, Visitor) */
35 void VIRTUAL_parser_prod__ASuperExternCall__visit_all(val* self, val* p0) {
36 parser_prod__ASuperExternCall__visit_all(self, p0);
37 RET_LABEL:;
38 }
39 /* method parser_prod#ALocalPropExternCall#empty_init for (self: ALocalPropExternCall) */
40 void parser_prod__ALocalPropExternCall__empty_init(val* self) {
41 RET_LABEL:;
42 }
43 /* method parser_prod#ALocalPropExternCall#empty_init for (self: Object) */
44 void VIRTUAL_parser_prod__ALocalPropExternCall__empty_init(val* self) {
45 parser_prod__ALocalPropExternCall__empty_init(self);
46 RET_LABEL:;
47 }
48 /* method parser_prod#ALocalPropExternCall#init_alocalpropexterncall for (self: ALocalPropExternCall, nullable AMethid) */
49 void parser_prod__ALocalPropExternCall__init_alocalpropexterncall(val* self, val* p0) {
50 val* var_n_methid /* var n_methid: nullable AMethid */;
51 var_n_methid = p0;
52 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALocalPropExternCall__empty_init]))(self) /* empty_init on <self:ALocalPropExternCall>*/;
53 if (var_n_methid == NULL) {
54 fprintf(stderr, "Runtime error: %s", "Cast failed");
55 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10376);
56 show_backtrace(1);
57 }
58 self->attrs[COLOR_parser_nodes__ALocalPropExternCall___n_methid].val = var_n_methid; /* _n_methid on <self:ALocalPropExternCall> */
59 if (var_n_methid == NULL) {
60 fprintf(stderr, "Runtime error: %s", "Receiver is null");
61 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10377);
62 show_backtrace(1);
63 } else {
64 ((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on <var_n_methid:nullable AMethid>*/;
65 }
66 RET_LABEL:;
67 }
68 /* method parser_prod#ALocalPropExternCall#init_alocalpropexterncall for (self: Object, nullable AMethid) */
69 void VIRTUAL_parser_prod__ALocalPropExternCall__init_alocalpropexterncall(val* self, val* p0) {
70 parser_prod__ALocalPropExternCall__init_alocalpropexterncall(self, p0);
71 RET_LABEL:;
72 }
73 /* method parser_prod#ALocalPropExternCall#replace_child for (self: ALocalPropExternCall, ANode, nullable ANode) */
74 void parser_prod__ALocalPropExternCall__replace_child(val* self, val* p0, val* p1) {
75 val* var_old_child /* var old_child: ANode */;
76 val* var_new_child /* var new_child: nullable ANode */;
77 val* var /* : AMethid */;
78 short int var1 /* : Bool */;
79 val* var2 /* : null */;
80 short int var3 /* : Bool */;
81 short int var4 /* : Bool */;
82 int cltype;
83 int idtype;
84 var_old_child = p0;
85 var_new_child = p1;
86 var = self->attrs[COLOR_parser_nodes__ALocalPropExternCall___n_methid].val; /* _n_methid on <self:ALocalPropExternCall> */
87 if (var == NULL) {
88 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_methid");
89 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10382);
90 show_backtrace(1);
91 }
92 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AMethid>*/;
93 if (var1){
94 var2 = NULL;
95 if (var_new_child == NULL) {
96 var3 = 0; /* is null */
97 } else {
98 var3 = 1; /* arg is null and recv is not */
99 }
100 if (var3){
101 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
102 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
103 cltype = type_parser_nodes__AMethid.color;
104 idtype = type_parser_nodes__AMethid.id;
105 if(cltype >= var_new_child->type->table_size) {
106 var4 = 0;
107 } else {
108 var4 = var_new_child->type->type_table[cltype] == idtype;
109 }
110 if (!var4) {
111 fprintf(stderr, "Runtime error: %s", "Assert failed");
112 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10385);
113 show_backtrace(1);
114 }
115 self->attrs[COLOR_parser_nodes__ALocalPropExternCall___n_methid].val = var_new_child; /* _n_methid on <self:ALocalPropExternCall> */
116 } else {
117 fprintf(stderr, "Runtime error: %s", "Aborted");
118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10388);
119 show_backtrace(1);
120 }
121 goto RET_LABEL;
122 } else {
123 }
124 RET_LABEL:;
125 }
126 /* method parser_prod#ALocalPropExternCall#replace_child for (self: Object, ANode, nullable ANode) */
127 void VIRTUAL_parser_prod__ALocalPropExternCall__replace_child(val* self, val* p0, val* p1) {
128 parser_prod__ALocalPropExternCall__replace_child(self, p0, p1);
129 RET_LABEL:;
130 }
131 /* method parser_prod#ALocalPropExternCall#n_methid= for (self: ALocalPropExternCall, AMethid) */
132 void parser_prod__ALocalPropExternCall__n_methid_61d(val* self, val* p0) {
133 val* var_node /* var node: AMethid */;
134 var_node = p0;
135 self->attrs[COLOR_parser_nodes__ALocalPropExternCall___n_methid].val = var_node; /* _n_methid on <self:ALocalPropExternCall> */
136 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AMethid>*/;
137 RET_LABEL:;
138 }
139 /* method parser_prod#ALocalPropExternCall#n_methid= for (self: Object, AMethid) */
140 void VIRTUAL_parser_prod__ALocalPropExternCall__n_methid_61d(val* self, val* p0) {
141 parser_prod__ALocalPropExternCall__n_methid_61d(self, p0);
142 RET_LABEL:;
143 }
144 /* method parser_prod#ALocalPropExternCall#visit_all for (self: ALocalPropExternCall, Visitor) */
145 void parser_prod__ALocalPropExternCall__visit_all(val* self, val* p0) {
146 val* var_v /* var v: Visitor */;
147 val* var /* : AMethid */;
148 var_v = p0;
149 var = self->attrs[COLOR_parser_nodes__ALocalPropExternCall___n_methid].val; /* _n_methid on <self:ALocalPropExternCall> */
150 if (var == NULL) {
151 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_methid");
152 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10403);
153 show_backtrace(1);
154 }
155 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
156 RET_LABEL:;
157 }
158 /* method parser_prod#ALocalPropExternCall#visit_all for (self: Object, Visitor) */
159 void VIRTUAL_parser_prod__ALocalPropExternCall__visit_all(val* self, val* p0) {
160 parser_prod__ALocalPropExternCall__visit_all(self, p0);
161 RET_LABEL:;
162 }
163 /* method parser_prod#AFullPropExternCall#empty_init for (self: AFullPropExternCall) */
164 void parser_prod__AFullPropExternCall__empty_init(val* self) {
165 RET_LABEL:;
166 }
167 /* method parser_prod#AFullPropExternCall#empty_init for (self: Object) */
168 void VIRTUAL_parser_prod__AFullPropExternCall__empty_init(val* self) {
169 parser_prod__AFullPropExternCall__empty_init(self);
170 RET_LABEL:;
171 }
172 /* method parser_prod#AFullPropExternCall#init_afullpropexterncall for (self: AFullPropExternCall, nullable AType, nullable TDot, nullable AMethid) */
173 void parser_prod__AFullPropExternCall__init_afullpropexterncall(val* self, val* p0, val* p1, val* p2) {
174 val* var_n_type /* var n_type: nullable AType */;
175 val* var_n_dot /* var n_dot: nullable TDot */;
176 val* var_n_methid /* var n_methid: nullable AMethid */;
177 val* var /* : null */;
178 short int var1 /* : Bool */;
179 var_n_type = p0;
180 var_n_dot = p1;
181 var_n_methid = p2;
182 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFullPropExternCall__empty_init]))(self) /* empty_init on <self:AFullPropExternCall>*/;
183 if (var_n_type == NULL) {
184 fprintf(stderr, "Runtime error: %s", "Cast failed");
185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10416);
186 show_backtrace(1);
187 }
188 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_type].val = var_n_type; /* _n_type on <self:AFullPropExternCall> */
189 if (var_n_type == NULL) {
190 fprintf(stderr, "Runtime error: %s", "Receiver is null");
191 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10417);
192 show_backtrace(1);
193 } else {
194 ((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on <var_n_type:nullable AType>*/;
195 }
196 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_dot].val = var_n_dot; /* _n_dot on <self:AFullPropExternCall> */
197 var = NULL;
198 if (var_n_dot == NULL) {
199 var1 = 0; /* is null */
200 } else {
201 var1 = 1; /* arg is null and recv is not */
202 }
203 if (var1){
204 ((void (*)(val*, val*))(var_n_dot->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_dot, self) /* parent= on <var_n_dot:nullable TDot(TDot)>*/;
205 } else {
206 }
207 if (var_n_methid == NULL) {
208 fprintf(stderr, "Runtime error: %s", "Cast failed");
209 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10422);
210 show_backtrace(1);
211 }
212 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_methid].val = var_n_methid; /* _n_methid on <self:AFullPropExternCall> */
213 if (var_n_methid == NULL) {
214 fprintf(stderr, "Runtime error: %s", "Receiver is null");
215 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10423);
216 show_backtrace(1);
217 } else {
218 ((void (*)(val*, val*))(var_n_methid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_methid, self) /* parent= on <var_n_methid:nullable AMethid>*/;
219 }
220 RET_LABEL:;
221 }
222 /* method parser_prod#AFullPropExternCall#init_afullpropexterncall for (self: Object, nullable AType, nullable TDot, nullable AMethid) */
223 void VIRTUAL_parser_prod__AFullPropExternCall__init_afullpropexterncall(val* self, val* p0, val* p1, val* p2) {
224 parser_prod__AFullPropExternCall__init_afullpropexterncall(self, p0, p1, p2);
225 RET_LABEL:;
226 }
227 /* method parser_prod#AFullPropExternCall#replace_child for (self: AFullPropExternCall, ANode, nullable ANode) */
228 void parser_prod__AFullPropExternCall__replace_child(val* self, val* p0, val* p1) {
229 val* var_old_child /* var old_child: ANode */;
230 val* var_new_child /* var new_child: nullable ANode */;
231 val* var /* : AType */;
232 short int var1 /* : Bool */;
233 val* var2 /* : null */;
234 short int var3 /* : Bool */;
235 short int var4 /* : Bool */;
236 int cltype;
237 int idtype;
238 val* var5 /* : nullable TDot */;
239 short int var6 /* : Bool */;
240 val* var7 /* : null */;
241 short int var8 /* : Bool */;
242 short int var9 /* : Bool */;
243 int cltype10;
244 int idtype11;
245 val* var12 /* : null */;
246 val* var13 /* : AMethid */;
247 short int var14 /* : Bool */;
248 val* var15 /* : null */;
249 short int var16 /* : Bool */;
250 short int var17 /* : Bool */;
251 int cltype18;
252 int idtype19;
253 var_old_child = p0;
254 var_new_child = p1;
255 var = self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_type].val; /* _n_type on <self:AFullPropExternCall> */
256 if (var == NULL) {
257 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10428);
259 show_backtrace(1);
260 }
261 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AType>*/;
262 if (var1){
263 var2 = NULL;
264 if (var_new_child == NULL) {
265 var3 = 0; /* is null */
266 } else {
267 var3 = 1; /* arg is null and recv is not */
268 }
269 if (var3){
270 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
271 /* <var_new_child:nullable ANode(ANode)> isa AType */
272 cltype = type_parser_nodes__AType.color;
273 idtype = type_parser_nodes__AType.id;
274 if(cltype >= var_new_child->type->table_size) {
275 var4 = 0;
276 } else {
277 var4 = var_new_child->type->type_table[cltype] == idtype;
278 }
279 if (!var4) {
280 fprintf(stderr, "Runtime error: %s", "Assert failed");
281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10431);
282 show_backtrace(1);
283 }
284 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_type].val = var_new_child; /* _n_type on <self:AFullPropExternCall> */
285 } else {
286 fprintf(stderr, "Runtime error: %s", "Aborted");
287 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10434);
288 show_backtrace(1);
289 }
290 goto RET_LABEL;
291 } else {
292 }
293 var5 = self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_dot].val; /* _n_dot on <self:AFullPropExternCall> */
294 if (var5 == NULL) {
295 var6 = 0; /* <var_old_child:ANode> cannot be null */
296 } else {
297 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TDot>*/;
298 }
299 if (var6){
300 var7 = NULL;
301 if (var_new_child == NULL) {
302 var8 = 0; /* is null */
303 } else {
304 var8 = 1; /* arg is null and recv is not */
305 }
306 if (var8){
307 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
308 /* <var_new_child:nullable ANode(ANode)> isa TDot */
309 cltype10 = type_parser_nodes__TDot.color;
310 idtype11 = type_parser_nodes__TDot.id;
311 if(cltype10 >= var_new_child->type->table_size) {
312 var9 = 0;
313 } else {
314 var9 = var_new_child->type->type_table[cltype10] == idtype11;
315 }
316 if (!var9) {
317 fprintf(stderr, "Runtime error: %s", "Assert failed");
318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10441);
319 show_backtrace(1);
320 }
321 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_dot].val = var_new_child; /* _n_dot on <self:AFullPropExternCall> */
322 } else {
323 var12 = NULL;
324 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_dot].val = var12; /* _n_dot on <self:AFullPropExternCall> */
325 }
326 goto RET_LABEL;
327 } else {
328 }
329 var13 = self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_methid].val; /* _n_methid on <self:AFullPropExternCall> */
330 if (var13 == NULL) {
331 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_methid");
332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10448);
333 show_backtrace(1);
334 }
335 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AMethid>*/;
336 if (var14){
337 var15 = NULL;
338 if (var_new_child == NULL) {
339 var16 = 0; /* is null */
340 } else {
341 var16 = 1; /* arg is null and recv is not */
342 }
343 if (var16){
344 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
345 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
346 cltype18 = type_parser_nodes__AMethid.color;
347 idtype19 = type_parser_nodes__AMethid.id;
348 if(cltype18 >= var_new_child->type->table_size) {
349 var17 = 0;
350 } else {
351 var17 = var_new_child->type->type_table[cltype18] == idtype19;
352 }
353 if (!var17) {
354 fprintf(stderr, "Runtime error: %s", "Assert failed");
355 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10451);
356 show_backtrace(1);
357 }
358 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_methid].val = var_new_child; /* _n_methid on <self:AFullPropExternCall> */
359 } else {
360 fprintf(stderr, "Runtime error: %s", "Aborted");
361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10454);
362 show_backtrace(1);
363 }
364 goto RET_LABEL;
365 } else {
366 }
367 RET_LABEL:;
368 }
369 /* method parser_prod#AFullPropExternCall#replace_child for (self: Object, ANode, nullable ANode) */
370 void VIRTUAL_parser_prod__AFullPropExternCall__replace_child(val* self, val* p0, val* p1) {
371 parser_prod__AFullPropExternCall__replace_child(self, p0, p1);
372 RET_LABEL:;
373 }
374 /* method parser_prod#AFullPropExternCall#n_type= for (self: AFullPropExternCall, AType) */
375 void parser_prod__AFullPropExternCall__n_type_61d(val* self, val* p0) {
376 val* var_node /* var node: AType */;
377 var_node = p0;
378 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_type].val = var_node; /* _n_type on <self:AFullPropExternCall> */
379 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
380 RET_LABEL:;
381 }
382 /* method parser_prod#AFullPropExternCall#n_type= for (self: Object, AType) */
383 void VIRTUAL_parser_prod__AFullPropExternCall__n_type_61d(val* self, val* p0) {
384 parser_prod__AFullPropExternCall__n_type_61d(self, p0);
385 RET_LABEL:;
386 }
387 /* method parser_prod#AFullPropExternCall#n_dot= for (self: AFullPropExternCall, nullable TDot) */
388 void parser_prod__AFullPropExternCall__n_dot_61d(val* self, val* p0) {
389 val* var_node /* var node: nullable TDot */;
390 val* var /* : null */;
391 short int var1 /* : Bool */;
392 var_node = p0;
393 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_dot].val = var_node; /* _n_dot on <self:AFullPropExternCall> */
394 var = NULL;
395 if (var_node == NULL) {
396 var1 = 0; /* is null */
397 } else {
398 var1 = 1; /* arg is null and recv is not */
399 }
400 if (var1){
401 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TDot(TDot)>*/;
402 } else {
403 }
404 RET_LABEL:;
405 }
406 /* method parser_prod#AFullPropExternCall#n_dot= for (self: Object, nullable TDot) */
407 void VIRTUAL_parser_prod__AFullPropExternCall__n_dot_61d(val* self, val* p0) {
408 parser_prod__AFullPropExternCall__n_dot_61d(self, p0);
409 RET_LABEL:;
410 }
411 /* method parser_prod#AFullPropExternCall#n_methid= for (self: AFullPropExternCall, AMethid) */
412 void parser_prod__AFullPropExternCall__n_methid_61d(val* self, val* p0) {
413 val* var_node /* var node: AMethid */;
414 var_node = p0;
415 self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_methid].val = var_node; /* _n_methid on <self:AFullPropExternCall> */
416 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AMethid>*/;
417 RET_LABEL:;
418 }
419 /* method parser_prod#AFullPropExternCall#n_methid= for (self: Object, AMethid) */
420 void VIRTUAL_parser_prod__AFullPropExternCall__n_methid_61d(val* self, val* p0) {
421 parser_prod__AFullPropExternCall__n_methid_61d(self, p0);
422 RET_LABEL:;
423 }
424 /* method parser_prod#AFullPropExternCall#visit_all for (self: AFullPropExternCall, Visitor) */
425 void parser_prod__AFullPropExternCall__visit_all(val* self, val* p0) {
426 val* var_v /* var v: Visitor */;
427 val* var /* : AType */;
428 val* var1 /* : nullable TDot */;
429 val* var2 /* : null */;
430 short int var3 /* : Bool */;
431 val* var4 /* : nullable TDot */;
432 val* var5 /* : AMethid */;
433 var_v = p0;
434 var = self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_type].val; /* _n_type on <self:AFullPropExternCall> */
435 if (var == NULL) {
436 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10481);
438 show_backtrace(1);
439 }
440 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
441 var1 = self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_dot].val; /* _n_dot on <self:AFullPropExternCall> */
442 var2 = NULL;
443 if (var1 == NULL) {
444 var3 = 0; /* is null */
445 } else {
446 var3 = 1; /* arg is null and recv is not */
447 }
448 if (var3){
449 var4 = self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_dot].val; /* _n_dot on <self:AFullPropExternCall> */
450 if (var4 == NULL) {
451 fprintf(stderr, "Runtime error: %s", "Cast failed");
452 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10483);
453 show_backtrace(1);
454 }
455 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
456 } else {
457 }
458 var5 = self->attrs[COLOR_parser_nodes__AFullPropExternCall___n_methid].val; /* _n_methid on <self:AFullPropExternCall> */
459 if (var5 == NULL) {
460 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_methid");
461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10485);
462 show_backtrace(1);
463 }
464 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
465 RET_LABEL:;
466 }
467 /* method parser_prod#AFullPropExternCall#visit_all for (self: Object, Visitor) */
468 void VIRTUAL_parser_prod__AFullPropExternCall__visit_all(val* self, val* p0) {
469 parser_prod__AFullPropExternCall__visit_all(self, p0);
470 RET_LABEL:;
471 }
472 /* method parser_prod#AInitPropExternCall#empty_init for (self: AInitPropExternCall) */
473 void parser_prod__AInitPropExternCall__empty_init(val* self) {
474 RET_LABEL:;
475 }
476 /* method parser_prod#AInitPropExternCall#empty_init for (self: Object) */
477 void VIRTUAL_parser_prod__AInitPropExternCall__empty_init(val* self) {
478 parser_prod__AInitPropExternCall__empty_init(self);
479 RET_LABEL:;
480 }
481 /* method parser_prod#AInitPropExternCall#init_ainitpropexterncall for (self: AInitPropExternCall, nullable AType) */
482 void parser_prod__AInitPropExternCall__init_ainitpropexterncall(val* self, val* p0) {
483 val* var_n_type /* var n_type: nullable AType */;
484 var_n_type = p0;
485 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInitPropExternCall__empty_init]))(self) /* empty_init on <self:AInitPropExternCall>*/;
486 if (var_n_type == NULL) {
487 fprintf(stderr, "Runtime error: %s", "Cast failed");
488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10496);
489 show_backtrace(1);
490 }
491 self->attrs[COLOR_parser_nodes__AInitPropExternCall___n_type].val = var_n_type; /* _n_type on <self:AInitPropExternCall> */
492 if (var_n_type == NULL) {
493 fprintf(stderr, "Runtime error: %s", "Receiver is null");
494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10497);
495 show_backtrace(1);
496 } else {
497 ((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on <var_n_type:nullable AType>*/;
498 }
499 RET_LABEL:;
500 }
501 /* method parser_prod#AInitPropExternCall#init_ainitpropexterncall for (self: Object, nullable AType) */
502 void VIRTUAL_parser_prod__AInitPropExternCall__init_ainitpropexterncall(val* self, val* p0) {
503 parser_prod__AInitPropExternCall__init_ainitpropexterncall(self, p0);
504 RET_LABEL:;
505 }
506 /* method parser_prod#AInitPropExternCall#replace_child for (self: AInitPropExternCall, ANode, nullable ANode) */
507 void parser_prod__AInitPropExternCall__replace_child(val* self, val* p0, val* p1) {
508 val* var_old_child /* var old_child: ANode */;
509 val* var_new_child /* var new_child: nullable ANode */;
510 val* var /* : AType */;
511 short int var1 /* : Bool */;
512 val* var2 /* : null */;
513 short int var3 /* : Bool */;
514 short int var4 /* : Bool */;
515 int cltype;
516 int idtype;
517 var_old_child = p0;
518 var_new_child = p1;
519 var = self->attrs[COLOR_parser_nodes__AInitPropExternCall___n_type].val; /* _n_type on <self:AInitPropExternCall> */
520 if (var == NULL) {
521 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10502);
523 show_backtrace(1);
524 }
525 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AType>*/;
526 if (var1){
527 var2 = NULL;
528 if (var_new_child == NULL) {
529 var3 = 0; /* is null */
530 } else {
531 var3 = 1; /* arg is null and recv is not */
532 }
533 if (var3){
534 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
535 /* <var_new_child:nullable ANode(ANode)> isa AType */
536 cltype = type_parser_nodes__AType.color;
537 idtype = type_parser_nodes__AType.id;
538 if(cltype >= var_new_child->type->table_size) {
539 var4 = 0;
540 } else {
541 var4 = var_new_child->type->type_table[cltype] == idtype;
542 }
543 if (!var4) {
544 fprintf(stderr, "Runtime error: %s", "Assert failed");
545 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10505);
546 show_backtrace(1);
547 }
548 self->attrs[COLOR_parser_nodes__AInitPropExternCall___n_type].val = var_new_child; /* _n_type on <self:AInitPropExternCall> */
549 } else {
550 fprintf(stderr, "Runtime error: %s", "Aborted");
551 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10508);
552 show_backtrace(1);
553 }
554 goto RET_LABEL;
555 } else {
556 }
557 RET_LABEL:;
558 }
559 /* method parser_prod#AInitPropExternCall#replace_child for (self: Object, ANode, nullable ANode) */
560 void VIRTUAL_parser_prod__AInitPropExternCall__replace_child(val* self, val* p0, val* p1) {
561 parser_prod__AInitPropExternCall__replace_child(self, p0, p1);
562 RET_LABEL:;
563 }
564 /* method parser_prod#AInitPropExternCall#n_type= for (self: AInitPropExternCall, AType) */
565 void parser_prod__AInitPropExternCall__n_type_61d(val* self, val* p0) {
566 val* var_node /* var node: AType */;
567 var_node = p0;
568 self->attrs[COLOR_parser_nodes__AInitPropExternCall___n_type].val = var_node; /* _n_type on <self:AInitPropExternCall> */
569 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
570 RET_LABEL:;
571 }
572 /* method parser_prod#AInitPropExternCall#n_type= for (self: Object, AType) */
573 void VIRTUAL_parser_prod__AInitPropExternCall__n_type_61d(val* self, val* p0) {
574 parser_prod__AInitPropExternCall__n_type_61d(self, p0);
575 RET_LABEL:;
576 }
577 /* method parser_prod#AInitPropExternCall#visit_all for (self: AInitPropExternCall, Visitor) */
578 void parser_prod__AInitPropExternCall__visit_all(val* self, val* p0) {
579 val* var_v /* var v: Visitor */;
580 val* var /* : AType */;
581 var_v = p0;
582 var = self->attrs[COLOR_parser_nodes__AInitPropExternCall___n_type].val; /* _n_type on <self:AInitPropExternCall> */
583 if (var == NULL) {
584 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10523);
586 show_backtrace(1);
587 }
588 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
589 RET_LABEL:;
590 }
591 /* method parser_prod#AInitPropExternCall#visit_all for (self: Object, Visitor) */
592 void VIRTUAL_parser_prod__AInitPropExternCall__visit_all(val* self, val* p0) {
593 parser_prod__AInitPropExternCall__visit_all(self, p0);
594 RET_LABEL:;
595 }
596 /* method parser_prod#ACastAsExternCall#empty_init for (self: ACastAsExternCall) */
597 void parser_prod__ACastAsExternCall__empty_init(val* self) {
598 RET_LABEL:;
599 }
600 /* method parser_prod#ACastAsExternCall#empty_init for (self: Object) */
601 void VIRTUAL_parser_prod__ACastAsExternCall__empty_init(val* self) {
602 parser_prod__ACastAsExternCall__empty_init(self);
603 RET_LABEL:;
604 }
605 /* method parser_prod#ACastAsExternCall#init_acastasexterncall for (self: ACastAsExternCall, nullable AType, nullable TDot, nullable TKwas, nullable AType) */
606 void parser_prod__ACastAsExternCall__init_acastasexterncall(val* self, val* p0, val* p1, val* p2, val* p3) {
607 val* var_n_from_type /* var n_from_type: nullable AType */;
608 val* var_n_dot /* var n_dot: nullable TDot */;
609 val* var_n_kwas /* var n_kwas: nullable TKwas */;
610 val* var_n_to_type /* var n_to_type: nullable AType */;
611 val* var /* : null */;
612 short int var1 /* : Bool */;
613 var_n_from_type = p0;
614 var_n_dot = p1;
615 var_n_kwas = p2;
616 var_n_to_type = p3;
617 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACastAsExternCall__empty_init]))(self) /* empty_init on <self:ACastAsExternCall>*/;
618 if (var_n_from_type == NULL) {
619 fprintf(stderr, "Runtime error: %s", "Cast failed");
620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10537);
621 show_backtrace(1);
622 }
623 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_from_type].val = var_n_from_type; /* _n_from_type on <self:ACastAsExternCall> */
624 if (var_n_from_type == NULL) {
625 fprintf(stderr, "Runtime error: %s", "Receiver is null");
626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10538);
627 show_backtrace(1);
628 } else {
629 ((void (*)(val*, val*))(var_n_from_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_from_type, self) /* parent= on <var_n_from_type:nullable AType>*/;
630 }
631 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_dot].val = var_n_dot; /* _n_dot on <self:ACastAsExternCall> */
632 var = NULL;
633 if (var_n_dot == NULL) {
634 var1 = 0; /* is null */
635 } else {
636 var1 = 1; /* arg is null and recv is not */
637 }
638 if (var1){
639 ((void (*)(val*, val*))(var_n_dot->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_dot, self) /* parent= on <var_n_dot:nullable TDot(TDot)>*/;
640 } else {
641 }
642 if (var_n_kwas == NULL) {
643 fprintf(stderr, "Runtime error: %s", "Cast failed");
644 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10543);
645 show_backtrace(1);
646 }
647 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_kwas].val = var_n_kwas; /* _n_kwas on <self:ACastAsExternCall> */
648 if (var_n_kwas == NULL) {
649 fprintf(stderr, "Runtime error: %s", "Receiver is null");
650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10544);
651 show_backtrace(1);
652 } else {
653 ((void (*)(val*, val*))(var_n_kwas->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwas, self) /* parent= on <var_n_kwas:nullable TKwas>*/;
654 }
655 if (var_n_to_type == NULL) {
656 fprintf(stderr, "Runtime error: %s", "Cast failed");
657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10545);
658 show_backtrace(1);
659 }
660 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_to_type].val = var_n_to_type; /* _n_to_type on <self:ACastAsExternCall> */
661 if (var_n_to_type == NULL) {
662 fprintf(stderr, "Runtime error: %s", "Receiver is null");
663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10546);
664 show_backtrace(1);
665 } else {
666 ((void (*)(val*, val*))(var_n_to_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_to_type, self) /* parent= on <var_n_to_type:nullable AType>*/;
667 }
668 RET_LABEL:;
669 }
670 /* method parser_prod#ACastAsExternCall#init_acastasexterncall for (self: Object, nullable AType, nullable TDot, nullable TKwas, nullable AType) */
671 void VIRTUAL_parser_prod__ACastAsExternCall__init_acastasexterncall(val* self, val* p0, val* p1, val* p2, val* p3) {
672 parser_prod__ACastAsExternCall__init_acastasexterncall(self, p0, p1, p2, p3);
673 RET_LABEL:;
674 }
675 /* method parser_prod#ACastAsExternCall#replace_child for (self: ACastAsExternCall, ANode, nullable ANode) */
676 void parser_prod__ACastAsExternCall__replace_child(val* self, val* p0, val* p1) {
677 val* var_old_child /* var old_child: ANode */;
678 val* var_new_child /* var new_child: nullable ANode */;
679 val* var /* : AType */;
680 short int var1 /* : Bool */;
681 val* var2 /* : null */;
682 short int var3 /* : Bool */;
683 short int var4 /* : Bool */;
684 int cltype;
685 int idtype;
686 val* var5 /* : nullable TDot */;
687 short int var6 /* : Bool */;
688 val* var7 /* : null */;
689 short int var8 /* : Bool */;
690 short int var9 /* : Bool */;
691 int cltype10;
692 int idtype11;
693 val* var12 /* : null */;
694 val* var13 /* : TKwas */;
695 short int var14 /* : Bool */;
696 val* var15 /* : null */;
697 short int var16 /* : Bool */;
698 short int var17 /* : Bool */;
699 int cltype18;
700 int idtype19;
701 val* var20 /* : AType */;
702 short int var21 /* : Bool */;
703 val* var22 /* : null */;
704 short int var23 /* : Bool */;
705 short int var24 /* : Bool */;
706 int cltype25;
707 int idtype26;
708 var_old_child = p0;
709 var_new_child = p1;
710 var = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_from_type].val; /* _n_from_type on <self:ACastAsExternCall> */
711 if (var == NULL) {
712 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_from_type");
713 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10551);
714 show_backtrace(1);
715 }
716 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AType>*/;
717 if (var1){
718 var2 = NULL;
719 if (var_new_child == NULL) {
720 var3 = 0; /* is null */
721 } else {
722 var3 = 1; /* arg is null and recv is not */
723 }
724 if (var3){
725 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
726 /* <var_new_child:nullable ANode(ANode)> isa AType */
727 cltype = type_parser_nodes__AType.color;
728 idtype = type_parser_nodes__AType.id;
729 if(cltype >= var_new_child->type->table_size) {
730 var4 = 0;
731 } else {
732 var4 = var_new_child->type->type_table[cltype] == idtype;
733 }
734 if (!var4) {
735 fprintf(stderr, "Runtime error: %s", "Assert failed");
736 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10554);
737 show_backtrace(1);
738 }
739 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_from_type].val = var_new_child; /* _n_from_type on <self:ACastAsExternCall> */
740 } else {
741 fprintf(stderr, "Runtime error: %s", "Aborted");
742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10557);
743 show_backtrace(1);
744 }
745 goto RET_LABEL;
746 } else {
747 }
748 var5 = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_dot].val; /* _n_dot on <self:ACastAsExternCall> */
749 if (var5 == NULL) {
750 var6 = 0; /* <var_old_child:ANode> cannot be null */
751 } else {
752 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TDot>*/;
753 }
754 if (var6){
755 var7 = NULL;
756 if (var_new_child == NULL) {
757 var8 = 0; /* is null */
758 } else {
759 var8 = 1; /* arg is null and recv is not */
760 }
761 if (var8){
762 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
763 /* <var_new_child:nullable ANode(ANode)> isa TDot */
764 cltype10 = type_parser_nodes__TDot.color;
765 idtype11 = type_parser_nodes__TDot.id;
766 if(cltype10 >= var_new_child->type->table_size) {
767 var9 = 0;
768 } else {
769 var9 = var_new_child->type->type_table[cltype10] == idtype11;
770 }
771 if (!var9) {
772 fprintf(stderr, "Runtime error: %s", "Assert failed");
773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10564);
774 show_backtrace(1);
775 }
776 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_dot].val = var_new_child; /* _n_dot on <self:ACastAsExternCall> */
777 } else {
778 var12 = NULL;
779 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_dot].val = var12; /* _n_dot on <self:ACastAsExternCall> */
780 }
781 goto RET_LABEL;
782 } else {
783 }
784 var13 = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_kwas].val; /* _n_kwas on <self:ACastAsExternCall> */
785 if (var13 == NULL) {
786 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10571);
788 show_backtrace(1);
789 }
790 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:TKwas>*/;
791 if (var14){
792 var15 = NULL;
793 if (var_new_child == NULL) {
794 var16 = 0; /* is null */
795 } else {
796 var16 = 1; /* arg is null and recv is not */
797 }
798 if (var16){
799 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
800 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
801 cltype18 = type_parser_nodes__TKwas.color;
802 idtype19 = type_parser_nodes__TKwas.id;
803 if(cltype18 >= var_new_child->type->table_size) {
804 var17 = 0;
805 } else {
806 var17 = var_new_child->type->type_table[cltype18] == idtype19;
807 }
808 if (!var17) {
809 fprintf(stderr, "Runtime error: %s", "Assert failed");
810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10574);
811 show_backtrace(1);
812 }
813 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_kwas].val = var_new_child; /* _n_kwas on <self:ACastAsExternCall> */
814 } else {
815 fprintf(stderr, "Runtime error: %s", "Aborted");
816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10577);
817 show_backtrace(1);
818 }
819 goto RET_LABEL;
820 } else {
821 }
822 var20 = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_to_type].val; /* _n_to_type on <self:ACastAsExternCall> */
823 if (var20 == NULL) {
824 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_to_type");
825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10581);
826 show_backtrace(1);
827 }
828 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:AType>*/;
829 if (var21){
830 var22 = NULL;
831 if (var_new_child == NULL) {
832 var23 = 0; /* is null */
833 } else {
834 var23 = 1; /* arg is null and recv is not */
835 }
836 if (var23){
837 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
838 /* <var_new_child:nullable ANode(ANode)> isa AType */
839 cltype25 = type_parser_nodes__AType.color;
840 idtype26 = type_parser_nodes__AType.id;
841 if(cltype25 >= var_new_child->type->table_size) {
842 var24 = 0;
843 } else {
844 var24 = var_new_child->type->type_table[cltype25] == idtype26;
845 }
846 if (!var24) {
847 fprintf(stderr, "Runtime error: %s", "Assert failed");
848 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10584);
849 show_backtrace(1);
850 }
851 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_to_type].val = var_new_child; /* _n_to_type on <self:ACastAsExternCall> */
852 } else {
853 fprintf(stderr, "Runtime error: %s", "Aborted");
854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10587);
855 show_backtrace(1);
856 }
857 goto RET_LABEL;
858 } else {
859 }
860 RET_LABEL:;
861 }
862 /* method parser_prod#ACastAsExternCall#replace_child for (self: Object, ANode, nullable ANode) */
863 void VIRTUAL_parser_prod__ACastAsExternCall__replace_child(val* self, val* p0, val* p1) {
864 parser_prod__ACastAsExternCall__replace_child(self, p0, p1);
865 RET_LABEL:;
866 }
867 /* method parser_prod#ACastAsExternCall#n_from_type= for (self: ACastAsExternCall, AType) */
868 void parser_prod__ACastAsExternCall__n_from_type_61d(val* self, val* p0) {
869 val* var_node /* var node: AType */;
870 var_node = p0;
871 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_from_type].val = var_node; /* _n_from_type on <self:ACastAsExternCall> */
872 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
873 RET_LABEL:;
874 }
875 /* method parser_prod#ACastAsExternCall#n_from_type= for (self: Object, AType) */
876 void VIRTUAL_parser_prod__ACastAsExternCall__n_from_type_61d(val* self, val* p0) {
877 parser_prod__ACastAsExternCall__n_from_type_61d(self, p0);
878 RET_LABEL:;
879 }
880 /* method parser_prod#ACastAsExternCall#n_dot= for (self: ACastAsExternCall, nullable TDot) */
881 void parser_prod__ACastAsExternCall__n_dot_61d(val* self, val* p0) {
882 val* var_node /* var node: nullable TDot */;
883 val* var /* : null */;
884 short int var1 /* : Bool */;
885 var_node = p0;
886 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_dot].val = var_node; /* _n_dot on <self:ACastAsExternCall> */
887 var = NULL;
888 if (var_node == NULL) {
889 var1 = 0; /* is null */
890 } else {
891 var1 = 1; /* arg is null and recv is not */
892 }
893 if (var1){
894 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TDot(TDot)>*/;
895 } else {
896 }
897 RET_LABEL:;
898 }
899 /* method parser_prod#ACastAsExternCall#n_dot= for (self: Object, nullable TDot) */
900 void VIRTUAL_parser_prod__ACastAsExternCall__n_dot_61d(val* self, val* p0) {
901 parser_prod__ACastAsExternCall__n_dot_61d(self, p0);
902 RET_LABEL:;
903 }
904 /* method parser_prod#ACastAsExternCall#n_kwas= for (self: ACastAsExternCall, TKwas) */
905 void parser_prod__ACastAsExternCall__n_kwas_61d(val* self, val* p0) {
906 val* var_node /* var node: TKwas */;
907 var_node = p0;
908 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_kwas].val = var_node; /* _n_kwas on <self:ACastAsExternCall> */
909 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
910 RET_LABEL:;
911 }
912 /* method parser_prod#ACastAsExternCall#n_kwas= for (self: Object, TKwas) */
913 void VIRTUAL_parser_prod__ACastAsExternCall__n_kwas_61d(val* self, val* p0) {
914 parser_prod__ACastAsExternCall__n_kwas_61d(self, p0);
915 RET_LABEL:;
916 }
917 /* method parser_prod#ACastAsExternCall#n_to_type= for (self: ACastAsExternCall, AType) */
918 void parser_prod__ACastAsExternCall__n_to_type_61d(val* self, val* p0) {
919 val* var_node /* var node: AType */;
920 var_node = p0;
921 self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_to_type].val = var_node; /* _n_to_type on <self:ACastAsExternCall> */
922 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
923 RET_LABEL:;
924 }
925 /* method parser_prod#ACastAsExternCall#n_to_type= for (self: Object, AType) */
926 void VIRTUAL_parser_prod__ACastAsExternCall__n_to_type_61d(val* self, val* p0) {
927 parser_prod__ACastAsExternCall__n_to_type_61d(self, p0);
928 RET_LABEL:;
929 }
930 /* method parser_prod#ACastAsExternCall#visit_all for (self: ACastAsExternCall, Visitor) */
931 void parser_prod__ACastAsExternCall__visit_all(val* self, val* p0) {
932 val* var_v /* var v: Visitor */;
933 val* var /* : AType */;
934 val* var1 /* : nullable TDot */;
935 val* var2 /* : null */;
936 short int var3 /* : Bool */;
937 val* var4 /* : nullable TDot */;
938 val* var5 /* : TKwas */;
939 val* var6 /* : AType */;
940 var_v = p0;
941 var = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_from_type].val; /* _n_from_type on <self:ACastAsExternCall> */
942 if (var == NULL) {
943 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_from_type");
944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10619);
945 show_backtrace(1);
946 }
947 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
948 var1 = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_dot].val; /* _n_dot on <self:ACastAsExternCall> */
949 var2 = NULL;
950 if (var1 == NULL) {
951 var3 = 0; /* is null */
952 } else {
953 var3 = 1; /* arg is null and recv is not */
954 }
955 if (var3){
956 var4 = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_dot].val; /* _n_dot on <self:ACastAsExternCall> */
957 if (var4 == NULL) {
958 fprintf(stderr, "Runtime error: %s", "Cast failed");
959 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10621);
960 show_backtrace(1);
961 }
962 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
963 } else {
964 }
965 var5 = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_kwas].val; /* _n_kwas on <self:ACastAsExternCall> */
966 if (var5 == NULL) {
967 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
968 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10623);
969 show_backtrace(1);
970 }
971 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
972 var6 = self->attrs[COLOR_parser_nodes__ACastAsExternCall___n_to_type].val; /* _n_to_type on <self:ACastAsExternCall> */
973 if (var6 == NULL) {
974 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_to_type");
975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10624);
976 show_backtrace(1);
977 }
978 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
979 RET_LABEL:;
980 }
981 /* method parser_prod#ACastAsExternCall#visit_all for (self: Object, Visitor) */
982 void VIRTUAL_parser_prod__ACastAsExternCall__visit_all(val* self, val* p0) {
983 parser_prod__ACastAsExternCall__visit_all(self, p0);
984 RET_LABEL:;
985 }
986 /* method parser_prod#AAsNullableExternCall#empty_init for (self: AAsNullableExternCall) */
987 void parser_prod__AAsNullableExternCall__empty_init(val* self) {
988 RET_LABEL:;
989 }
990 /* method parser_prod#AAsNullableExternCall#empty_init for (self: Object) */
991 void VIRTUAL_parser_prod__AAsNullableExternCall__empty_init(val* self) {
992 parser_prod__AAsNullableExternCall__empty_init(self);
993 RET_LABEL:;
994 }
995 /* method parser_prod#AAsNullableExternCall#init_aasnullableexterncall for (self: AAsNullableExternCall, nullable AType, nullable TKwas, nullable TKwnullable) */
996 void parser_prod__AAsNullableExternCall__init_aasnullableexterncall(val* self, val* p0, val* p1, val* p2) {
997 val* var_n_type /* var n_type: nullable AType */;
998 val* var_n_kwas /* var n_kwas: nullable TKwas */;
999 val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */;
1000 var_n_type = p0;
1001 var_n_kwas = p1;
1002 var_n_kwnullable = p2;
1003 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsNullableExternCall__empty_init]))(self) /* empty_init on <self:AAsNullableExternCall>*/;
1004 if (var_n_type == NULL) {
1005 fprintf(stderr, "Runtime error: %s", "Cast failed");
1006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10637);
1007 show_backtrace(1);
1008 }
1009 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_type].val = var_n_type; /* _n_type on <self:AAsNullableExternCall> */
1010 if (var_n_type == NULL) {
1011 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10638);
1013 show_backtrace(1);
1014 } else {
1015 ((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on <var_n_type:nullable AType>*/;
1016 }
1017 if (var_n_kwas == NULL) {
1018 fprintf(stderr, "Runtime error: %s", "Cast failed");
1019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10639);
1020 show_backtrace(1);
1021 }
1022 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsNullableExternCall> */
1023 if (var_n_kwas == NULL) {
1024 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1025 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10640);
1026 show_backtrace(1);
1027 } else {
1028 ((void (*)(val*, val*))(var_n_kwas->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwas, self) /* parent= on <var_n_kwas:nullable TKwas>*/;
1029 }
1030 if (var_n_kwnullable == NULL) {
1031 fprintf(stderr, "Runtime error: %s", "Cast failed");
1032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10641);
1033 show_backtrace(1);
1034 }
1035 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on <self:AAsNullableExternCall> */
1036 if (var_n_kwnullable == NULL) {
1037 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10642);
1039 show_backtrace(1);
1040 } else {
1041 ((void (*)(val*, val*))(var_n_kwnullable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnullable, self) /* parent= on <var_n_kwnullable:nullable TKwnullable>*/;
1042 }
1043 RET_LABEL:;
1044 }
1045 /* method parser_prod#AAsNullableExternCall#init_aasnullableexterncall for (self: Object, nullable AType, nullable TKwas, nullable TKwnullable) */
1046 void VIRTUAL_parser_prod__AAsNullableExternCall__init_aasnullableexterncall(val* self, val* p0, val* p1, val* p2) {
1047 parser_prod__AAsNullableExternCall__init_aasnullableexterncall(self, p0, p1, p2);
1048 RET_LABEL:;
1049 }
1050 /* method parser_prod#AAsNullableExternCall#replace_child for (self: AAsNullableExternCall, ANode, nullable ANode) */
1051 void parser_prod__AAsNullableExternCall__replace_child(val* self, val* p0, val* p1) {
1052 val* var_old_child /* var old_child: ANode */;
1053 val* var_new_child /* var new_child: nullable ANode */;
1054 val* var /* : AType */;
1055 short int var1 /* : Bool */;
1056 val* var2 /* : null */;
1057 short int var3 /* : Bool */;
1058 short int var4 /* : Bool */;
1059 int cltype;
1060 int idtype;
1061 val* var5 /* : TKwas */;
1062 short int var6 /* : Bool */;
1063 val* var7 /* : null */;
1064 short int var8 /* : Bool */;
1065 short int var9 /* : Bool */;
1066 int cltype10;
1067 int idtype11;
1068 val* var12 /* : TKwnullable */;
1069 short int var13 /* : Bool */;
1070 val* var14 /* : null */;
1071 short int var15 /* : Bool */;
1072 short int var16 /* : Bool */;
1073 int cltype17;
1074 int idtype18;
1075 var_old_child = p0;
1076 var_new_child = p1;
1077 var = self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_type].val; /* _n_type on <self:AAsNullableExternCall> */
1078 if (var == NULL) {
1079 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
1080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10647);
1081 show_backtrace(1);
1082 }
1083 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AType>*/;
1084 if (var1){
1085 var2 = NULL;
1086 if (var_new_child == NULL) {
1087 var3 = 0; /* is null */
1088 } else {
1089 var3 = 1; /* arg is null and recv is not */
1090 }
1091 if (var3){
1092 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1093 /* <var_new_child:nullable ANode(ANode)> isa AType */
1094 cltype = type_parser_nodes__AType.color;
1095 idtype = type_parser_nodes__AType.id;
1096 if(cltype >= var_new_child->type->table_size) {
1097 var4 = 0;
1098 } else {
1099 var4 = var_new_child->type->type_table[cltype] == idtype;
1100 }
1101 if (!var4) {
1102 fprintf(stderr, "Runtime error: %s", "Assert failed");
1103 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10650);
1104 show_backtrace(1);
1105 }
1106 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_type].val = var_new_child; /* _n_type on <self:AAsNullableExternCall> */
1107 } else {
1108 fprintf(stderr, "Runtime error: %s", "Aborted");
1109 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10653);
1110 show_backtrace(1);
1111 }
1112 goto RET_LABEL;
1113 } else {
1114 }
1115 var5 = self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNullableExternCall> */
1116 if (var5 == NULL) {
1117 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
1118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10657);
1119 show_backtrace(1);
1120 }
1121 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
1122 if (var6){
1123 var7 = NULL;
1124 if (var_new_child == NULL) {
1125 var8 = 0; /* is null */
1126 } else {
1127 var8 = 1; /* arg is null and recv is not */
1128 }
1129 if (var8){
1130 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1131 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
1132 cltype10 = type_parser_nodes__TKwas.color;
1133 idtype11 = type_parser_nodes__TKwas.id;
1134 if(cltype10 >= var_new_child->type->table_size) {
1135 var9 = 0;
1136 } else {
1137 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1138 }
1139 if (!var9) {
1140 fprintf(stderr, "Runtime error: %s", "Assert failed");
1141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10660);
1142 show_backtrace(1);
1143 }
1144 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsNullableExternCall> */
1145 } else {
1146 fprintf(stderr, "Runtime error: %s", "Aborted");
1147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10663);
1148 show_backtrace(1);
1149 }
1150 goto RET_LABEL;
1151 } else {
1152 }
1153 var12 = self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNullableExternCall> */
1154 if (var12 == NULL) {
1155 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnullable");
1156 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10667);
1157 show_backtrace(1);
1158 }
1159 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwnullable>*/;
1160 if (var13){
1161 var14 = NULL;
1162 if (var_new_child == NULL) {
1163 var15 = 0; /* is null */
1164 } else {
1165 var15 = 1; /* arg is null and recv is not */
1166 }
1167 if (var15){
1168 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1169 /* <var_new_child:nullable ANode(ANode)> isa TKwnullable */
1170 cltype17 = type_parser_nodes__TKwnullable.color;
1171 idtype18 = type_parser_nodes__TKwnullable.id;
1172 if(cltype17 >= var_new_child->type->table_size) {
1173 var16 = 0;
1174 } else {
1175 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1176 }
1177 if (!var16) {
1178 fprintf(stderr, "Runtime error: %s", "Assert failed");
1179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10670);
1180 show_backtrace(1);
1181 }
1182 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwnullable].val = var_new_child; /* _n_kwnullable on <self:AAsNullableExternCall> */
1183 } else {
1184 fprintf(stderr, "Runtime error: %s", "Aborted");
1185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10673);
1186 show_backtrace(1);
1187 }
1188 goto RET_LABEL;
1189 } else {
1190 }
1191 RET_LABEL:;
1192 }
1193 /* method parser_prod#AAsNullableExternCall#replace_child for (self: Object, ANode, nullable ANode) */
1194 void VIRTUAL_parser_prod__AAsNullableExternCall__replace_child(val* self, val* p0, val* p1) {
1195 parser_prod__AAsNullableExternCall__replace_child(self, p0, p1);
1196 RET_LABEL:;
1197 }
1198 /* method parser_prod#AAsNullableExternCall#n_type= for (self: AAsNullableExternCall, AType) */
1199 void parser_prod__AAsNullableExternCall__n_type_61d(val* self, val* p0) {
1200 val* var_node /* var node: AType */;
1201 var_node = p0;
1202 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_type].val = var_node; /* _n_type on <self:AAsNullableExternCall> */
1203 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
1204 RET_LABEL:;
1205 }
1206 /* method parser_prod#AAsNullableExternCall#n_type= for (self: Object, AType) */
1207 void VIRTUAL_parser_prod__AAsNullableExternCall__n_type_61d(val* self, val* p0) {
1208 parser_prod__AAsNullableExternCall__n_type_61d(self, p0);
1209 RET_LABEL:;
1210 }
1211 /* method parser_prod#AAsNullableExternCall#n_kwas= for (self: AAsNullableExternCall, TKwas) */
1212 void parser_prod__AAsNullableExternCall__n_kwas_61d(val* self, val* p0) {
1213 val* var_node /* var node: TKwas */;
1214 var_node = p0;
1215 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwas].val = var_node; /* _n_kwas on <self:AAsNullableExternCall> */
1216 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
1217 RET_LABEL:;
1218 }
1219 /* method parser_prod#AAsNullableExternCall#n_kwas= for (self: Object, TKwas) */
1220 void VIRTUAL_parser_prod__AAsNullableExternCall__n_kwas_61d(val* self, val* p0) {
1221 parser_prod__AAsNullableExternCall__n_kwas_61d(self, p0);
1222 RET_LABEL:;
1223 }
1224 /* method parser_prod#AAsNullableExternCall#n_kwnullable= for (self: AAsNullableExternCall, TKwnullable) */
1225 void parser_prod__AAsNullableExternCall__n_kwnullable_61d(val* self, val* p0) {
1226 val* var_node /* var node: TKwnullable */;
1227 var_node = p0;
1228 self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwnullable].val = var_node; /* _n_kwnullable on <self:AAsNullableExternCall> */
1229 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnullable>*/;
1230 RET_LABEL:;
1231 }
1232 /* method parser_prod#AAsNullableExternCall#n_kwnullable= for (self: Object, TKwnullable) */
1233 void VIRTUAL_parser_prod__AAsNullableExternCall__n_kwnullable_61d(val* self, val* p0) {
1234 parser_prod__AAsNullableExternCall__n_kwnullable_61d(self, p0);
1235 RET_LABEL:;
1236 }
1237 /* method parser_prod#AAsNullableExternCall#visit_all for (self: AAsNullableExternCall, Visitor) */
1238 void parser_prod__AAsNullableExternCall__visit_all(val* self, val* p0) {
1239 val* var_v /* var v: Visitor */;
1240 val* var /* : AType */;
1241 val* var1 /* : TKwas */;
1242 val* var2 /* : TKwnullable */;
1243 var_v = p0;
1244 var = self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_type].val; /* _n_type on <self:AAsNullableExternCall> */
1245 if (var == NULL) {
1246 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
1247 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10698);
1248 show_backtrace(1);
1249 }
1250 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1251 var1 = self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNullableExternCall> */
1252 if (var1 == NULL) {
1253 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
1254 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10699);
1255 show_backtrace(1);
1256 }
1257 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1258 var2 = self->attrs[COLOR_parser_nodes__AAsNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNullableExternCall> */
1259 if (var2 == NULL) {
1260 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnullable");
1261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10700);
1262 show_backtrace(1);
1263 }
1264 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1265 RET_LABEL:;
1266 }
1267 /* method parser_prod#AAsNullableExternCall#visit_all for (self: Object, Visitor) */
1268 void VIRTUAL_parser_prod__AAsNullableExternCall__visit_all(val* self, val* p0) {
1269 parser_prod__AAsNullableExternCall__visit_all(self, p0);
1270 RET_LABEL:;
1271 }
1272 /* method parser_prod#AAsNotNullableExternCall#empty_init for (self: AAsNotNullableExternCall) */
1273 void parser_prod__AAsNotNullableExternCall__empty_init(val* self) {
1274 RET_LABEL:;
1275 }
1276 /* method parser_prod#AAsNotNullableExternCall#empty_init for (self: Object) */
1277 void VIRTUAL_parser_prod__AAsNotNullableExternCall__empty_init(val* self) {
1278 parser_prod__AAsNotNullableExternCall__empty_init(self);
1279 RET_LABEL:;
1280 }
1281 /* method parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall for (self: AAsNotNullableExternCall, nullable AType, nullable TKwas, nullable TKwnot, nullable TKwnullable) */
1282 void parser_prod__AAsNotNullableExternCall__init_aasnotnullableexterncall(val* self, val* p0, val* p1, val* p2, val* p3) {
1283 val* var_n_type /* var n_type: nullable AType */;
1284 val* var_n_kwas /* var n_kwas: nullable TKwas */;
1285 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
1286 val* var_n_kwnullable /* var n_kwnullable: nullable TKwnullable */;
1287 var_n_type = p0;
1288 var_n_kwas = p1;
1289 var_n_kwnot = p2;
1290 var_n_kwnullable = p3;
1291 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAsNotNullableExternCall__empty_init]))(self) /* empty_init on <self:AAsNotNullableExternCall>*/;
1292 if (var_n_type == NULL) {
1293 fprintf(stderr, "Runtime error: %s", "Cast failed");
1294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10714);
1295 show_backtrace(1);
1296 }
1297 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_type].val = var_n_type; /* _n_type on <self:AAsNotNullableExternCall> */
1298 if (var_n_type == NULL) {
1299 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1300 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10715);
1301 show_backtrace(1);
1302 } else {
1303 ((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on <var_n_type:nullable AType>*/;
1304 }
1305 if (var_n_kwas == NULL) {
1306 fprintf(stderr, "Runtime error: %s", "Cast failed");
1307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10716);
1308 show_backtrace(1);
1309 }
1310 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwas].val = var_n_kwas; /* _n_kwas on <self:AAsNotNullableExternCall> */
1311 if (var_n_kwas == NULL) {
1312 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1313 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10717);
1314 show_backtrace(1);
1315 } else {
1316 ((void (*)(val*, val*))(var_n_kwas->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwas, self) /* parent= on <var_n_kwas:nullable TKwas>*/;
1317 }
1318 if (var_n_kwnot == NULL) {
1319 fprintf(stderr, "Runtime error: %s", "Cast failed");
1320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10718);
1321 show_backtrace(1);
1322 }
1323 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:AAsNotNullableExternCall> */
1324 if (var_n_kwnot == NULL) {
1325 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1326 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10719);
1327 show_backtrace(1);
1328 } else {
1329 ((void (*)(val*, val*))(var_n_kwnot->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnot, self) /* parent= on <var_n_kwnot:nullable TKwnot>*/;
1330 }
1331 if (var_n_kwnullable == NULL) {
1332 fprintf(stderr, "Runtime error: %s", "Cast failed");
1333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10720);
1334 show_backtrace(1);
1335 }
1336 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnullable].val = var_n_kwnullable; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
1337 if (var_n_kwnullable == NULL) {
1338 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1339 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10721);
1340 show_backtrace(1);
1341 } else {
1342 ((void (*)(val*, val*))(var_n_kwnullable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnullable, self) /* parent= on <var_n_kwnullable:nullable TKwnullable>*/;
1343 }
1344 RET_LABEL:;
1345 }
1346 /* method parser_prod#AAsNotNullableExternCall#init_aasnotnullableexterncall for (self: Object, nullable AType, nullable TKwas, nullable TKwnot, nullable TKwnullable) */
1347 void VIRTUAL_parser_prod__AAsNotNullableExternCall__init_aasnotnullableexterncall(val* self, val* p0, val* p1, val* p2, val* p3) {
1348 parser_prod__AAsNotNullableExternCall__init_aasnotnullableexterncall(self, p0, p1, p2, p3);
1349 RET_LABEL:;
1350 }
1351 /* method parser_prod#AAsNotNullableExternCall#replace_child for (self: AAsNotNullableExternCall, ANode, nullable ANode) */
1352 void parser_prod__AAsNotNullableExternCall__replace_child(val* self, val* p0, val* p1) {
1353 val* var_old_child /* var old_child: ANode */;
1354 val* var_new_child /* var new_child: nullable ANode */;
1355 val* var /* : AType */;
1356 short int var1 /* : Bool */;
1357 val* var2 /* : null */;
1358 short int var3 /* : Bool */;
1359 short int var4 /* : Bool */;
1360 int cltype;
1361 int idtype;
1362 val* var5 /* : TKwas */;
1363 short int var6 /* : Bool */;
1364 val* var7 /* : null */;
1365 short int var8 /* : Bool */;
1366 short int var9 /* : Bool */;
1367 int cltype10;
1368 int idtype11;
1369 val* var12 /* : TKwnot */;
1370 short int var13 /* : Bool */;
1371 val* var14 /* : null */;
1372 short int var15 /* : Bool */;
1373 short int var16 /* : Bool */;
1374 int cltype17;
1375 int idtype18;
1376 val* var19 /* : TKwnullable */;
1377 short int var20 /* : Bool */;
1378 val* var21 /* : null */;
1379 short int var22 /* : Bool */;
1380 short int var23 /* : Bool */;
1381 int cltype24;
1382 int idtype25;
1383 var_old_child = p0;
1384 var_new_child = p1;
1385 var = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_type].val; /* _n_type on <self:AAsNotNullableExternCall> */
1386 if (var == NULL) {
1387 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
1388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10726);
1389 show_backtrace(1);
1390 }
1391 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AType>*/;
1392 if (var1){
1393 var2 = NULL;
1394 if (var_new_child == NULL) {
1395 var3 = 0; /* is null */
1396 } else {
1397 var3 = 1; /* arg is null and recv is not */
1398 }
1399 if (var3){
1400 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1401 /* <var_new_child:nullable ANode(ANode)> isa AType */
1402 cltype = type_parser_nodes__AType.color;
1403 idtype = type_parser_nodes__AType.id;
1404 if(cltype >= var_new_child->type->table_size) {
1405 var4 = 0;
1406 } else {
1407 var4 = var_new_child->type->type_table[cltype] == idtype;
1408 }
1409 if (!var4) {
1410 fprintf(stderr, "Runtime error: %s", "Assert failed");
1411 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10729);
1412 show_backtrace(1);
1413 }
1414 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_type].val = var_new_child; /* _n_type on <self:AAsNotNullableExternCall> */
1415 } else {
1416 fprintf(stderr, "Runtime error: %s", "Aborted");
1417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10732);
1418 show_backtrace(1);
1419 }
1420 goto RET_LABEL;
1421 } else {
1422 }
1423 var5 = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNotNullableExternCall> */
1424 if (var5 == NULL) {
1425 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
1426 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10736);
1427 show_backtrace(1);
1428 }
1429 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwas>*/;
1430 if (var6){
1431 var7 = NULL;
1432 if (var_new_child == NULL) {
1433 var8 = 0; /* is null */
1434 } else {
1435 var8 = 1; /* arg is null and recv is not */
1436 }
1437 if (var8){
1438 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1439 /* <var_new_child:nullable ANode(ANode)> isa TKwas */
1440 cltype10 = type_parser_nodes__TKwas.color;
1441 idtype11 = type_parser_nodes__TKwas.id;
1442 if(cltype10 >= var_new_child->type->table_size) {
1443 var9 = 0;
1444 } else {
1445 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1446 }
1447 if (!var9) {
1448 fprintf(stderr, "Runtime error: %s", "Assert failed");
1449 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10739);
1450 show_backtrace(1);
1451 }
1452 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwas].val = var_new_child; /* _n_kwas on <self:AAsNotNullableExternCall> */
1453 } else {
1454 fprintf(stderr, "Runtime error: %s", "Aborted");
1455 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10742);
1456 show_backtrace(1);
1457 }
1458 goto RET_LABEL;
1459 } else {
1460 }
1461 var12 = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnot].val; /* _n_kwnot on <self:AAsNotNullableExternCall> */
1462 if (var12 == NULL) {
1463 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
1464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10746);
1465 show_backtrace(1);
1466 }
1467 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwnot>*/;
1468 if (var13){
1469 var14 = NULL;
1470 if (var_new_child == NULL) {
1471 var15 = 0; /* is null */
1472 } else {
1473 var15 = 1; /* arg is null and recv is not */
1474 }
1475 if (var15){
1476 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1477 /* <var_new_child:nullable ANode(ANode)> isa TKwnot */
1478 cltype17 = type_parser_nodes__TKwnot.color;
1479 idtype18 = type_parser_nodes__TKwnot.id;
1480 if(cltype17 >= var_new_child->type->table_size) {
1481 var16 = 0;
1482 } else {
1483 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1484 }
1485 if (!var16) {
1486 fprintf(stderr, "Runtime error: %s", "Assert failed");
1487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10749);
1488 show_backtrace(1);
1489 }
1490 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnot].val = var_new_child; /* _n_kwnot on <self:AAsNotNullableExternCall> */
1491 } else {
1492 fprintf(stderr, "Runtime error: %s", "Aborted");
1493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10752);
1494 show_backtrace(1);
1495 }
1496 goto RET_LABEL;
1497 } else {
1498 }
1499 var19 = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
1500 if (var19 == NULL) {
1501 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnullable");
1502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10756);
1503 show_backtrace(1);
1504 }
1505 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TKwnullable>*/;
1506 if (var20){
1507 var21 = NULL;
1508 if (var_new_child == NULL) {
1509 var22 = 0; /* is null */
1510 } else {
1511 var22 = 1; /* arg is null and recv is not */
1512 }
1513 if (var22){
1514 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1515 /* <var_new_child:nullable ANode(ANode)> isa TKwnullable */
1516 cltype24 = type_parser_nodes__TKwnullable.color;
1517 idtype25 = type_parser_nodes__TKwnullable.id;
1518 if(cltype24 >= var_new_child->type->table_size) {
1519 var23 = 0;
1520 } else {
1521 var23 = var_new_child->type->type_table[cltype24] == idtype25;
1522 }
1523 if (!var23) {
1524 fprintf(stderr, "Runtime error: %s", "Assert failed");
1525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10759);
1526 show_backtrace(1);
1527 }
1528 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnullable].val = var_new_child; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
1529 } else {
1530 fprintf(stderr, "Runtime error: %s", "Aborted");
1531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10762);
1532 show_backtrace(1);
1533 }
1534 goto RET_LABEL;
1535 } else {
1536 }
1537 RET_LABEL:;
1538 }
1539 /* method parser_prod#AAsNotNullableExternCall#replace_child for (self: Object, ANode, nullable ANode) */
1540 void VIRTUAL_parser_prod__AAsNotNullableExternCall__replace_child(val* self, val* p0, val* p1) {
1541 parser_prod__AAsNotNullableExternCall__replace_child(self, p0, p1);
1542 RET_LABEL:;
1543 }
1544 /* method parser_prod#AAsNotNullableExternCall#n_type= for (self: AAsNotNullableExternCall, AType) */
1545 void parser_prod__AAsNotNullableExternCall__n_type_61d(val* self, val* p0) {
1546 val* var_node /* var node: AType */;
1547 var_node = p0;
1548 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_type].val = var_node; /* _n_type on <self:AAsNotNullableExternCall> */
1549 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
1550 RET_LABEL:;
1551 }
1552 /* method parser_prod#AAsNotNullableExternCall#n_type= for (self: Object, AType) */
1553 void VIRTUAL_parser_prod__AAsNotNullableExternCall__n_type_61d(val* self, val* p0) {
1554 parser_prod__AAsNotNullableExternCall__n_type_61d(self, p0);
1555 RET_LABEL:;
1556 }
1557 /* method parser_prod#AAsNotNullableExternCall#n_kwas= for (self: AAsNotNullableExternCall, TKwas) */
1558 void parser_prod__AAsNotNullableExternCall__n_kwas_61d(val* self, val* p0) {
1559 val* var_node /* var node: TKwas */;
1560 var_node = p0;
1561 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwas].val = var_node; /* _n_kwas on <self:AAsNotNullableExternCall> */
1562 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwas>*/;
1563 RET_LABEL:;
1564 }
1565 /* method parser_prod#AAsNotNullableExternCall#n_kwas= for (self: Object, TKwas) */
1566 void VIRTUAL_parser_prod__AAsNotNullableExternCall__n_kwas_61d(val* self, val* p0) {
1567 parser_prod__AAsNotNullableExternCall__n_kwas_61d(self, p0);
1568 RET_LABEL:;
1569 }
1570 /* method parser_prod#AAsNotNullableExternCall#n_kwnot= for (self: AAsNotNullableExternCall, TKwnot) */
1571 void parser_prod__AAsNotNullableExternCall__n_kwnot_61d(val* self, val* p0) {
1572 val* var_node /* var node: TKwnot */;
1573 var_node = p0;
1574 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnot].val = var_node; /* _n_kwnot on <self:AAsNotNullableExternCall> */
1575 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnot>*/;
1576 RET_LABEL:;
1577 }
1578 /* method parser_prod#AAsNotNullableExternCall#n_kwnot= for (self: Object, TKwnot) */
1579 void VIRTUAL_parser_prod__AAsNotNullableExternCall__n_kwnot_61d(val* self, val* p0) {
1580 parser_prod__AAsNotNullableExternCall__n_kwnot_61d(self, p0);
1581 RET_LABEL:;
1582 }
1583 /* method parser_prod#AAsNotNullableExternCall#n_kwnullable= for (self: AAsNotNullableExternCall, TKwnullable) */
1584 void parser_prod__AAsNotNullableExternCall__n_kwnullable_61d(val* self, val* p0) {
1585 val* var_node /* var node: TKwnullable */;
1586 var_node = p0;
1587 self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnullable].val = var_node; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
1588 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnullable>*/;
1589 RET_LABEL:;
1590 }
1591 /* method parser_prod#AAsNotNullableExternCall#n_kwnullable= for (self: Object, TKwnullable) */
1592 void VIRTUAL_parser_prod__AAsNotNullableExternCall__n_kwnullable_61d(val* self, val* p0) {
1593 parser_prod__AAsNotNullableExternCall__n_kwnullable_61d(self, p0);
1594 RET_LABEL:;
1595 }
1596 /* method parser_prod#AAsNotNullableExternCall#visit_all for (self: AAsNotNullableExternCall, Visitor) */
1597 void parser_prod__AAsNotNullableExternCall__visit_all(val* self, val* p0) {
1598 val* var_v /* var v: Visitor */;
1599 val* var /* : AType */;
1600 val* var1 /* : TKwas */;
1601 val* var2 /* : TKwnot */;
1602 val* var3 /* : TKwnullable */;
1603 var_v = p0;
1604 var = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_type].val; /* _n_type on <self:AAsNotNullableExternCall> */
1605 if (var == NULL) {
1606 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
1607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10792);
1608 show_backtrace(1);
1609 }
1610 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1611 var1 = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwas].val; /* _n_kwas on <self:AAsNotNullableExternCall> */
1612 if (var1 == NULL) {
1613 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwas");
1614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10793);
1615 show_backtrace(1);
1616 }
1617 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1618 var2 = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnot].val; /* _n_kwnot on <self:AAsNotNullableExternCall> */
1619 if (var2 == NULL) {
1620 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
1621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10794);
1622 show_backtrace(1);
1623 }
1624 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1625 var3 = self->attrs[COLOR_parser_nodes__AAsNotNullableExternCall___n_kwnullable].val; /* _n_kwnullable on <self:AAsNotNullableExternCall> */
1626 if (var3 == NULL) {
1627 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnullable");
1628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10795);
1629 show_backtrace(1);
1630 }
1631 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
1632 RET_LABEL:;
1633 }
1634 /* method parser_prod#AAsNotNullableExternCall#visit_all for (self: Object, Visitor) */
1635 void VIRTUAL_parser_prod__AAsNotNullableExternCall__visit_all(val* self, val* p0) {
1636 parser_prod__AAsNotNullableExternCall__visit_all(self, p0);
1637 RET_LABEL:;
1638 }
1639 /* method parser_prod#AInLanguage#empty_init for (self: AInLanguage) */
1640 void parser_prod__AInLanguage__empty_init(val* self) {
1641 RET_LABEL:;
1642 }
1643 /* method parser_prod#AInLanguage#empty_init for (self: Object) */
1644 void VIRTUAL_parser_prod__AInLanguage__empty_init(val* self) {
1645 parser_prod__AInLanguage__empty_init(self);
1646 RET_LABEL:;
1647 }
1648 /* method parser_prod#AInLanguage#init_ainlanguage for (self: AInLanguage, nullable TKwin, nullable TString) */
1649 void parser_prod__AInLanguage__init_ainlanguage(val* self, val* p0, val* p1) {
1650 val* var_n_kwin /* var n_kwin: nullable TKwin */;
1651 val* var_n_string /* var n_string: nullable TString */;
1652 var_n_kwin = p0;
1653 var_n_string = p1;
1654 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInLanguage__empty_init]))(self) /* empty_init on <self:AInLanguage>*/;
1655 if (var_n_kwin == NULL) {
1656 fprintf(stderr, "Runtime error: %s", "Cast failed");
1657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10807);
1658 show_backtrace(1);
1659 }
1660 self->attrs[COLOR_parser_nodes__AInLanguage___n_kwin].val = var_n_kwin; /* _n_kwin on <self:AInLanguage> */
1661 if (var_n_kwin == NULL) {
1662 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10808);
1664 show_backtrace(1);
1665 } else {
1666 ((void (*)(val*, val*))(var_n_kwin->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwin, self) /* parent= on <var_n_kwin:nullable TKwin>*/;
1667 }
1668 if (var_n_string == NULL) {
1669 fprintf(stderr, "Runtime error: %s", "Cast failed");
1670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10809);
1671 show_backtrace(1);
1672 }
1673 self->attrs[COLOR_parser_nodes__AInLanguage___n_string].val = var_n_string; /* _n_string on <self:AInLanguage> */
1674 if (var_n_string == NULL) {
1675 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10810);
1677 show_backtrace(1);
1678 } else {
1679 ((void (*)(val*, val*))(var_n_string->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_string, self) /* parent= on <var_n_string:nullable TString>*/;
1680 }
1681 RET_LABEL:;
1682 }
1683 /* method parser_prod#AInLanguage#init_ainlanguage for (self: Object, nullable TKwin, nullable TString) */
1684 void VIRTUAL_parser_prod__AInLanguage__init_ainlanguage(val* self, val* p0, val* p1) {
1685 parser_prod__AInLanguage__init_ainlanguage(self, p0, p1);
1686 RET_LABEL:;
1687 }
1688 /* method parser_prod#AInLanguage#replace_child for (self: AInLanguage, ANode, nullable ANode) */
1689 void parser_prod__AInLanguage__replace_child(val* self, val* p0, val* p1) {
1690 val* var_old_child /* var old_child: ANode */;
1691 val* var_new_child /* var new_child: nullable ANode */;
1692 val* var /* : TKwin */;
1693 short int var1 /* : Bool */;
1694 val* var2 /* : null */;
1695 short int var3 /* : Bool */;
1696 short int var4 /* : Bool */;
1697 int cltype;
1698 int idtype;
1699 val* var5 /* : TString */;
1700 short int var6 /* : Bool */;
1701 val* var7 /* : null */;
1702 short int var8 /* : Bool */;
1703 short int var9 /* : Bool */;
1704 int cltype10;
1705 int idtype11;
1706 var_old_child = p0;
1707 var_new_child = p1;
1708 var = self->attrs[COLOR_parser_nodes__AInLanguage___n_kwin].val; /* _n_kwin on <self:AInLanguage> */
1709 if (var == NULL) {
1710 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwin");
1711 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10815);
1712 show_backtrace(1);
1713 }
1714 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwin>*/;
1715 if (var1){
1716 var2 = NULL;
1717 if (var_new_child == NULL) {
1718 var3 = 0; /* is null */
1719 } else {
1720 var3 = 1; /* arg is null and recv is not */
1721 }
1722 if (var3){
1723 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1724 /* <var_new_child:nullable ANode(ANode)> isa TKwin */
1725 cltype = type_parser_nodes__TKwin.color;
1726 idtype = type_parser_nodes__TKwin.id;
1727 if(cltype >= var_new_child->type->table_size) {
1728 var4 = 0;
1729 } else {
1730 var4 = var_new_child->type->type_table[cltype] == idtype;
1731 }
1732 if (!var4) {
1733 fprintf(stderr, "Runtime error: %s", "Assert failed");
1734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10818);
1735 show_backtrace(1);
1736 }
1737 self->attrs[COLOR_parser_nodes__AInLanguage___n_kwin].val = var_new_child; /* _n_kwin on <self:AInLanguage> */
1738 } else {
1739 fprintf(stderr, "Runtime error: %s", "Aborted");
1740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10821);
1741 show_backtrace(1);
1742 }
1743 goto RET_LABEL;
1744 } else {
1745 }
1746 var5 = self->attrs[COLOR_parser_nodes__AInLanguage___n_string].val; /* _n_string on <self:AInLanguage> */
1747 if (var5 == NULL) {
1748 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
1749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10825);
1750 show_backtrace(1);
1751 }
1752 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TString>*/;
1753 if (var6){
1754 var7 = NULL;
1755 if (var_new_child == NULL) {
1756 var8 = 0; /* is null */
1757 } else {
1758 var8 = 1; /* arg is null and recv is not */
1759 }
1760 if (var8){
1761 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1762 /* <var_new_child:nullable ANode(ANode)> isa TString */
1763 cltype10 = type_parser_nodes__TString.color;
1764 idtype11 = type_parser_nodes__TString.id;
1765 if(cltype10 >= var_new_child->type->table_size) {
1766 var9 = 0;
1767 } else {
1768 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1769 }
1770 if (!var9) {
1771 fprintf(stderr, "Runtime error: %s", "Assert failed");
1772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10828);
1773 show_backtrace(1);
1774 }
1775 self->attrs[COLOR_parser_nodes__AInLanguage___n_string].val = var_new_child; /* _n_string on <self:AInLanguage> */
1776 } else {
1777 fprintf(stderr, "Runtime error: %s", "Aborted");
1778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10831);
1779 show_backtrace(1);
1780 }
1781 goto RET_LABEL;
1782 } else {
1783 }
1784 RET_LABEL:;
1785 }
1786 /* method parser_prod#AInLanguage#replace_child for (self: Object, ANode, nullable ANode) */
1787 void VIRTUAL_parser_prod__AInLanguage__replace_child(val* self, val* p0, val* p1) {
1788 parser_prod__AInLanguage__replace_child(self, p0, p1);
1789 RET_LABEL:;
1790 }
1791 /* method parser_prod#AInLanguage#n_kwin= for (self: AInLanguage, TKwin) */
1792 void parser_prod__AInLanguage__n_kwin_61d(val* self, val* p0) {
1793 val* var_node /* var node: TKwin */;
1794 var_node = p0;
1795 self->attrs[COLOR_parser_nodes__AInLanguage___n_kwin].val = var_node; /* _n_kwin on <self:AInLanguage> */
1796 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwin>*/;
1797 RET_LABEL:;
1798 }
1799 /* method parser_prod#AInLanguage#n_kwin= for (self: Object, TKwin) */
1800 void VIRTUAL_parser_prod__AInLanguage__n_kwin_61d(val* self, val* p0) {
1801 parser_prod__AInLanguage__n_kwin_61d(self, p0);
1802 RET_LABEL:;
1803 }
1804 /* method parser_prod#AInLanguage#n_string= for (self: AInLanguage, TString) */
1805 void parser_prod__AInLanguage__n_string_61d(val* self, val* p0) {
1806 val* var_node /* var node: TString */;
1807 var_node = p0;
1808 self->attrs[COLOR_parser_nodes__AInLanguage___n_string].val = var_node; /* _n_string on <self:AInLanguage> */
1809 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TString>*/;
1810 RET_LABEL:;
1811 }
1812 /* method parser_prod#AInLanguage#n_string= for (self: Object, TString) */
1813 void VIRTUAL_parser_prod__AInLanguage__n_string_61d(val* self, val* p0) {
1814 parser_prod__AInLanguage__n_string_61d(self, p0);
1815 RET_LABEL:;
1816 }
1817 /* method parser_prod#AInLanguage#visit_all for (self: AInLanguage, Visitor) */
1818 void parser_prod__AInLanguage__visit_all(val* self, val* p0) {
1819 val* var_v /* var v: Visitor */;
1820 val* var /* : TKwin */;
1821 val* var1 /* : TString */;
1822 var_v = p0;
1823 var = self->attrs[COLOR_parser_nodes__AInLanguage___n_kwin].val; /* _n_kwin on <self:AInLanguage> */
1824 if (var == NULL) {
1825 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwin");
1826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10851);
1827 show_backtrace(1);
1828 }
1829 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1830 var1 = self->attrs[COLOR_parser_nodes__AInLanguage___n_string].val; /* _n_string on <self:AInLanguage> */
1831 if (var1 == NULL) {
1832 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_string");
1833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10852);
1834 show_backtrace(1);
1835 }
1836 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1837 RET_LABEL:;
1838 }
1839 /* method parser_prod#AInLanguage#visit_all for (self: Object, Visitor) */
1840 void VIRTUAL_parser_prod__AInLanguage__visit_all(val* self, val* p0) {
1841 parser_prod__AInLanguage__visit_all(self, p0);
1842 RET_LABEL:;
1843 }
1844 /* method parser_prod#AExternCodeBlock#empty_init for (self: AExternCodeBlock) */
1845 void parser_prod__AExternCodeBlock__empty_init(val* self) {
1846 RET_LABEL:;
1847 }
1848 /* method parser_prod#AExternCodeBlock#empty_init for (self: Object) */
1849 void VIRTUAL_parser_prod__AExternCodeBlock__empty_init(val* self) {
1850 parser_prod__AExternCodeBlock__empty_init(self);
1851 RET_LABEL:;
1852 }
1853 /* method parser_prod#AExternCodeBlock#init_aexterncodeblock for (self: AExternCodeBlock, nullable AInLanguage, nullable TExternCodeSegment) */
1854 void parser_prod__AExternCodeBlock__init_aexterncodeblock(val* self, val* p0, val* p1) {
1855 val* var_n_in_language /* var n_in_language: nullable AInLanguage */;
1856 val* var_n_extern_code_segment /* var n_extern_code_segment: nullable TExternCodeSegment */;
1857 val* var /* : null */;
1858 short int var1 /* : Bool */;
1859 var_n_in_language = p0;
1860 var_n_extern_code_segment = p1;
1861 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternCodeBlock__empty_init]))(self) /* empty_init on <self:AExternCodeBlock>*/;
1862 self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_in_language].val = var_n_in_language; /* _n_in_language on <self:AExternCodeBlock> */
1863 var = NULL;
1864 if (var_n_in_language == NULL) {
1865 var1 = 0; /* is null */
1866 } else {
1867 var1 = 1; /* arg is null and recv is not */
1868 }
1869 if (var1){
1870 ((void (*)(val*, val*))(var_n_in_language->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_in_language, self) /* parent= on <var_n_in_language:nullable AInLanguage(AInLanguage)>*/;
1871 } else {
1872 }
1873 if (var_n_extern_code_segment == NULL) {
1874 fprintf(stderr, "Runtime error: %s", "Cast failed");
1875 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10868);
1876 show_backtrace(1);
1877 }
1878 self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_extern_code_segment].val = var_n_extern_code_segment; /* _n_extern_code_segment on <self:AExternCodeBlock> */
1879 if (var_n_extern_code_segment == NULL) {
1880 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10869);
1882 show_backtrace(1);
1883 } else {
1884 ((void (*)(val*, val*))(var_n_extern_code_segment->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern_code_segment, self) /* parent= on <var_n_extern_code_segment:nullable TExternCodeSegment>*/;
1885 }
1886 RET_LABEL:;
1887 }
1888 /* method parser_prod#AExternCodeBlock#init_aexterncodeblock for (self: Object, nullable AInLanguage, nullable TExternCodeSegment) */
1889 void VIRTUAL_parser_prod__AExternCodeBlock__init_aexterncodeblock(val* self, val* p0, val* p1) {
1890 parser_prod__AExternCodeBlock__init_aexterncodeblock(self, p0, p1);
1891 RET_LABEL:;
1892 }
1893 /* method parser_prod#AExternCodeBlock#replace_child for (self: AExternCodeBlock, ANode, nullable ANode) */
1894 void parser_prod__AExternCodeBlock__replace_child(val* self, val* p0, val* p1) {
1895 val* var_old_child /* var old_child: ANode */;
1896 val* var_new_child /* var new_child: nullable ANode */;
1897 val* var /* : nullable AInLanguage */;
1898 short int var1 /* : Bool */;
1899 val* var2 /* : null */;
1900 short int var3 /* : Bool */;
1901 short int var4 /* : Bool */;
1902 int cltype;
1903 int idtype;
1904 val* var5 /* : null */;
1905 val* var6 /* : TExternCodeSegment */;
1906 short int var7 /* : Bool */;
1907 val* var8 /* : null */;
1908 short int var9 /* : Bool */;
1909 short int var10 /* : Bool */;
1910 int cltype11;
1911 int idtype12;
1912 var_old_child = p0;
1913 var_new_child = p1;
1914 var = self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_in_language].val; /* _n_in_language on <self:AExternCodeBlock> */
1915 if (var == NULL) {
1916 var1 = 0; /* <var_old_child:ANode> cannot be null */
1917 } else {
1918 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AInLanguage>*/;
1919 }
1920 if (var1){
1921 var2 = NULL;
1922 if (var_new_child == NULL) {
1923 var3 = 0; /* is null */
1924 } else {
1925 var3 = 1; /* arg is null and recv is not */
1926 }
1927 if (var3){
1928 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1929 /* <var_new_child:nullable ANode(ANode)> isa AInLanguage */
1930 cltype = type_parser_nodes__AInLanguage.color;
1931 idtype = type_parser_nodes__AInLanguage.id;
1932 if(cltype >= var_new_child->type->table_size) {
1933 var4 = 0;
1934 } else {
1935 var4 = var_new_child->type->type_table[cltype] == idtype;
1936 }
1937 if (!var4) {
1938 fprintf(stderr, "Runtime error: %s", "Assert failed");
1939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10877);
1940 show_backtrace(1);
1941 }
1942 self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_in_language].val = var_new_child; /* _n_in_language on <self:AExternCodeBlock> */
1943 } else {
1944 var5 = NULL;
1945 self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_in_language].val = var5; /* _n_in_language on <self:AExternCodeBlock> */
1946 }
1947 goto RET_LABEL;
1948 } else {
1949 }
1950 var6 = self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_extern_code_segment].val; /* _n_extern_code_segment on <self:AExternCodeBlock> */
1951 if (var6 == NULL) {
1952 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_segment");
1953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10884);
1954 show_backtrace(1);
1955 }
1956 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:TExternCodeSegment>*/;
1957 if (var7){
1958 var8 = NULL;
1959 if (var_new_child == NULL) {
1960 var9 = 0; /* is null */
1961 } else {
1962 var9 = 1; /* arg is null and recv is not */
1963 }
1964 if (var9){
1965 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1966 /* <var_new_child:nullable ANode(ANode)> isa TExternCodeSegment */
1967 cltype11 = type_parser_nodes__TExternCodeSegment.color;
1968 idtype12 = type_parser_nodes__TExternCodeSegment.id;
1969 if(cltype11 >= var_new_child->type->table_size) {
1970 var10 = 0;
1971 } else {
1972 var10 = var_new_child->type->type_table[cltype11] == idtype12;
1973 }
1974 if (!var10) {
1975 fprintf(stderr, "Runtime error: %s", "Assert failed");
1976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10887);
1977 show_backtrace(1);
1978 }
1979 self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_extern_code_segment].val = var_new_child; /* _n_extern_code_segment on <self:AExternCodeBlock> */
1980 } else {
1981 fprintf(stderr, "Runtime error: %s", "Aborted");
1982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10890);
1983 show_backtrace(1);
1984 }
1985 goto RET_LABEL;
1986 } else {
1987 }
1988 RET_LABEL:;
1989 }
1990 /* method parser_prod#AExternCodeBlock#replace_child for (self: Object, ANode, nullable ANode) */
1991 void VIRTUAL_parser_prod__AExternCodeBlock__replace_child(val* self, val* p0, val* p1) {
1992 parser_prod__AExternCodeBlock__replace_child(self, p0, p1);
1993 RET_LABEL:;
1994 }
1995 /* method parser_prod#AExternCodeBlock#n_in_language= for (self: AExternCodeBlock, nullable AInLanguage) */
1996 void parser_prod__AExternCodeBlock__n_in_language_61d(val* self, val* p0) {
1997 val* var_node /* var node: nullable AInLanguage */;
1998 val* var /* : null */;
1999 short int var1 /* : Bool */;
2000 var_node = p0;
2001 self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_in_language].val = var_node; /* _n_in_language on <self:AExternCodeBlock> */
2002 var = NULL;
2003 if (var_node == NULL) {
2004 var1 = 0; /* is null */
2005 } else {
2006 var1 = 1; /* arg is null and recv is not */
2007 }
2008 if (var1){
2009 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AInLanguage(AInLanguage)>*/;
2010 } else {
2011 }
2012 RET_LABEL:;
2013 }
2014 /* method parser_prod#AExternCodeBlock#n_in_language= for (self: Object, nullable AInLanguage) */
2015 void VIRTUAL_parser_prod__AExternCodeBlock__n_in_language_61d(val* self, val* p0) {
2016 parser_prod__AExternCodeBlock__n_in_language_61d(self, p0);
2017 RET_LABEL:;
2018 }
2019 /* method parser_prod#AExternCodeBlock#n_extern_code_segment= for (self: AExternCodeBlock, TExternCodeSegment) */
2020 void parser_prod__AExternCodeBlock__n_extern_code_segment_61d(val* self, val* p0) {
2021 val* var_node /* var node: TExternCodeSegment */;
2022 var_node = p0;
2023 self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_extern_code_segment].val = var_node; /* _n_extern_code_segment on <self:AExternCodeBlock> */
2024 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TExternCodeSegment>*/;
2025 RET_LABEL:;
2026 }
2027 /* method parser_prod#AExternCodeBlock#n_extern_code_segment= for (self: Object, TExternCodeSegment) */
2028 void VIRTUAL_parser_prod__AExternCodeBlock__n_extern_code_segment_61d(val* self, val* p0) {
2029 parser_prod__AExternCodeBlock__n_extern_code_segment_61d(self, p0);
2030 RET_LABEL:;
2031 }
2032 /* method parser_prod#AExternCodeBlock#visit_all for (self: AExternCodeBlock, Visitor) */
2033 void parser_prod__AExternCodeBlock__visit_all(val* self, val* p0) {
2034 val* var_v /* var v: Visitor */;
2035 val* var /* : nullable AInLanguage */;
2036 val* var1 /* : null */;
2037 short int var2 /* : Bool */;
2038 val* var3 /* : nullable AInLanguage */;
2039 val* var4 /* : TExternCodeSegment */;
2040 var_v = p0;
2041 var = self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_in_language].val; /* _n_in_language on <self:AExternCodeBlock> */
2042 var1 = NULL;
2043 if (var == NULL) {
2044 var2 = 0; /* is null */
2045 } else {
2046 var2 = 1; /* arg is null and recv is not */
2047 }
2048 if (var2){
2049 var3 = self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_in_language].val; /* _n_in_language on <self:AExternCodeBlock> */
2050 if (var3 == NULL) {
2051 fprintf(stderr, "Runtime error: %s", "Cast failed");
2052 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10913);
2053 show_backtrace(1);
2054 }
2055 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
2056 } else {
2057 }
2058 var4 = self->attrs[COLOR_parser_nodes__AExternCodeBlock___n_extern_code_segment].val; /* _n_extern_code_segment on <self:AExternCodeBlock> */
2059 if (var4 == NULL) {
2060 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_segment");
2061 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10915);
2062 show_backtrace(1);
2063 }
2064 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
2065 RET_LABEL:;
2066 }
2067 /* method parser_prod#AExternCodeBlock#visit_all for (self: Object, Visitor) */
2068 void VIRTUAL_parser_prod__AExternCodeBlock__visit_all(val* self, val* p0) {
2069 parser_prod__AExternCodeBlock__visit_all(self, p0);
2070 RET_LABEL:;
2071 }
2072 /* method parser_prod#AQualified#empty_init for (self: AQualified) */
2073 void parser_prod__AQualified__empty_init(val* self) {
2074 RET_LABEL:;
2075 }
2076 /* method parser_prod#AQualified#empty_init for (self: Object) */
2077 void VIRTUAL_parser_prod__AQualified__empty_init(val* self) {
2078 parser_prod__AQualified__empty_init(self);
2079 RET_LABEL:;
2080 }
2081 /* method parser_prod#AQualified#init_aqualified for (self: AQualified, Collection[Object], nullable TClassid) */
2082 void parser_prod__AQualified__init_aqualified(val* self, val* p0, val* p1) {
2083 val* var_n_id /* var n_id: Collection[Object] */;
2084 val* var_n_classid /* var n_classid: nullable TClassid */;
2085 val* var /* : Iterator[nullable Object] */;
2086 short int var1 /* : Bool */;
2087 val* var2 /* : nullable Object */;
2088 val* var_n /* var n: Object */;
2089 short int var3 /* : Bool */;
2090 int cltype;
2091 int idtype;
2092 val* var4 /* : ANodes[TId] */;
2093 val* var5 /* : null */;
2094 short int var6 /* : Bool */;
2095 var_n_id = p0;
2096 var_n_classid = p1;
2097 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AQualified__empty_init]))(self) /* empty_init on <self:AQualified>*/;
2098 var = ((val* (*)(val*))(var_n_id->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_id) /* iterator on <var_n_id:Collection[Object]>*/;
2099 for(;;) {
2100 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
2101 if(!var1) break;
2102 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
2103 var_n = var2;
2104 /* <var_n:Object> isa TId */
2105 cltype = type_parser_nodes__TId.color;
2106 idtype = type_parser_nodes__TId.id;
2107 if(cltype >= var_n->type->table_size) {
2108 var3 = 0;
2109 } else {
2110 var3 = var_n->type->type_table[cltype] == idtype;
2111 }
2112 if (!var3) {
2113 fprintf(stderr, "Runtime error: %s", "Assert failed");
2114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10928);
2115 show_backtrace(1);
2116 }
2117 var4 = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
2118 if (var4 == NULL) {
2119 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
2120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10929);
2121 show_backtrace(1);
2122 }
2123 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[TId]>*/;
2124 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
2125 CONTINUE_label: (void)0;
2126 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
2127 }
2128 BREAK_label: (void)0;
2129 self->attrs[COLOR_parser_nodes__AQualified___n_classid].val = var_n_classid; /* _n_classid on <self:AQualified> */
2130 var5 = NULL;
2131 if (var_n_classid == NULL) {
2132 var6 = 0; /* is null */
2133 } else {
2134 var6 = 1; /* arg is null and recv is not */
2135 }
2136 if (var6){
2137 ((void (*)(val*, val*))(var_n_classid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_classid, self) /* parent= on <var_n_classid:nullable TClassid(TClassid)>*/;
2138 } else {
2139 }
2140 RET_LABEL:;
2141 }
2142 /* method parser_prod#AQualified#init_aqualified for (self: Object, Collection[Object], nullable TClassid) */
2143 void VIRTUAL_parser_prod__AQualified__init_aqualified(val* self, val* p0, val* p1) {
2144 parser_prod__AQualified__init_aqualified(self, p0, p1);
2145 RET_LABEL:;
2146 }
2147 /* method parser_prod#AQualified#replace_child for (self: AQualified, ANode, nullable ANode) */
2148 void parser_prod__AQualified__replace_child(val* self, val* p0, val* p1) {
2149 val* var_old_child /* var old_child: ANode */;
2150 val* var_new_child /* var new_child: nullable ANode */;
2151 val* var /* : Range[Int] */;
2152 long var1 /* : Int */;
2153 val* var2 /* : ANodes[TId] */;
2154 long var3 /* : Int */;
2155 val* var4 /* : Discrete */;
2156 val* var5 /* : Discrete */;
2157 val* var6 /* : Iterator[nullable Object] */;
2158 short int var7 /* : Bool */;
2159 val* var8 /* : nullable Object */;
2160 long var_i /* var i: Int */;
2161 long var9 /* : Int */;
2162 val* var10 /* : ANodes[TId] */;
2163 val* var11 /* : nullable Object */;
2164 short int var12 /* : Bool */;
2165 val* var13 /* : null */;
2166 short int var14 /* : Bool */;
2167 short int var15 /* : Bool */;
2168 int cltype;
2169 int idtype;
2170 val* var16 /* : ANodes[TId] */;
2171 val* var17 /* : ANodes[TId] */;
2172 val* var18 /* : nullable TClassid */;
2173 short int var19 /* : Bool */;
2174 val* var20 /* : null */;
2175 short int var21 /* : Bool */;
2176 short int var22 /* : Bool */;
2177 int cltype23;
2178 int idtype24;
2179 val* var25 /* : null */;
2180 var_old_child = p0;
2181 var_new_child = p1;
2182 var = NEW_range__Range(&type_range__Rangekernel__Int);
2183 var1 = 0;
2184 var2 = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
2185 if (var2 == NULL) {
2186 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
2187 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10940);
2188 show_backtrace(1);
2189 }
2190 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[TId]>*/;
2191 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
2192 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
2193 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
2194 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
2195 for(;;) {
2196 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
2197 if(!var7) break;
2198 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
2199 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
2200 var_i = var9;
2201 var10 = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
2202 if (var10 == NULL) {
2203 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
2204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10941);
2205 show_backtrace(1);
2206 }
2207 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[TId]>*/;
2208 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(TId)>*/;
2209 if (var12){
2210 var13 = NULL;
2211 if (var_new_child == NULL) {
2212 var14 = 0; /* is null */
2213 } else {
2214 var14 = 1; /* arg is null and recv is not */
2215 }
2216 if (var14){
2217 /* <var_new_child:nullable ANode(ANode)> isa TId */
2218 cltype = type_parser_nodes__TId.color;
2219 idtype = type_parser_nodes__TId.id;
2220 if(cltype >= var_new_child->type->table_size) {
2221 var15 = 0;
2222 } else {
2223 var15 = var_new_child->type->type_table[cltype] == idtype;
2224 }
2225 if (!var15) {
2226 fprintf(stderr, "Runtime error: %s", "Assert failed");
2227 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10943);
2228 show_backtrace(1);
2229 }
2230 var16 = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
2231 if (var16 == NULL) {
2232 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
2233 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10944);
2234 show_backtrace(1);
2235 }
2236 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[TId]>*/;
2237 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(TId)>*/;
2238 } else {
2239 var17 = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
2240 if (var17 == NULL) {
2241 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
2242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10947);
2243 show_backtrace(1);
2244 }
2245 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[TId]>*/;
2246 }
2247 goto RET_LABEL;
2248 } else {
2249 }
2250 CONTINUE_label: (void)0;
2251 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
2252 }
2253 BREAK_label: (void)0;
2254 var18 = self->attrs[COLOR_parser_nodes__AQualified___n_classid].val; /* _n_classid on <self:AQualified> */
2255 if (var18 == NULL) {
2256 var19 = 0; /* <var_old_child:ANode> cannot be null */
2257 } else {
2258 var19 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_kernel__Object___61d_61d]))(var18, var_old_child) /* == on <var18:nullable TClassid>*/;
2259 }
2260 if (var19){
2261 var20 = NULL;
2262 if (var_new_child == NULL) {
2263 var21 = 0; /* is null */
2264 } else {
2265 var21 = 1; /* arg is null and recv is not */
2266 }
2267 if (var21){
2268 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2269 /* <var_new_child:nullable ANode(ANode)> isa TClassid */
2270 cltype23 = type_parser_nodes__TClassid.color;
2271 idtype24 = type_parser_nodes__TClassid.id;
2272 if(cltype23 >= var_new_child->type->table_size) {
2273 var22 = 0;
2274 } else {
2275 var22 = var_new_child->type->type_table[cltype23] == idtype24;
2276 }
2277 if (!var22) {
2278 fprintf(stderr, "Runtime error: %s", "Assert failed");
2279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10955);
2280 show_backtrace(1);
2281 }
2282 self->attrs[COLOR_parser_nodes__AQualified___n_classid].val = var_new_child; /* _n_classid on <self:AQualified> */
2283 } else {
2284 var25 = NULL;
2285 self->attrs[COLOR_parser_nodes__AQualified___n_classid].val = var25; /* _n_classid on <self:AQualified> */
2286 }
2287 goto RET_LABEL;
2288 } else {
2289 }
2290 RET_LABEL:;
2291 }
2292 /* method parser_prod#AQualified#replace_child for (self: Object, ANode, nullable ANode) */
2293 void VIRTUAL_parser_prod__AQualified__replace_child(val* self, val* p0, val* p1) {
2294 parser_prod__AQualified__replace_child(self, p0, p1);
2295 RET_LABEL:;
2296 }
2297 /* method parser_prod#AQualified#n_classid= for (self: AQualified, nullable TClassid) */
2298 void parser_prod__AQualified__n_classid_61d(val* self, val* p0) {
2299 val* var_node /* var node: nullable TClassid */;
2300 val* var /* : null */;
2301 short int var1 /* : Bool */;
2302 var_node = p0;
2303 self->attrs[COLOR_parser_nodes__AQualified___n_classid].val = var_node; /* _n_classid on <self:AQualified> */
2304 var = NULL;
2305 if (var_node == NULL) {
2306 var1 = 0; /* is null */
2307 } else {
2308 var1 = 1; /* arg is null and recv is not */
2309 }
2310 if (var1){
2311 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TClassid(TClassid)>*/;
2312 } else {
2313 }
2314 RET_LABEL:;
2315 }
2316 /* method parser_prod#AQualified#n_classid= for (self: Object, nullable TClassid) */
2317 void VIRTUAL_parser_prod__AQualified__n_classid_61d(val* self, val* p0) {
2318 parser_prod__AQualified__n_classid_61d(self, p0);
2319 RET_LABEL:;
2320 }
2321 /* method parser_prod#AQualified#visit_all for (self: AQualified, Visitor) */
2322 void parser_prod__AQualified__visit_all(val* self, val* p0) {
2323 val* var_v /* var v: Visitor */;
2324 val* var /* : ANodes[TId] */;
2325 val* var1 /* : Iterator[nullable Object] */;
2326 short int var2 /* : Bool */;
2327 val* var3 /* : nullable Object */;
2328 val* var_n /* var n: TId */;
2329 val* var4 /* : nullable TClassid */;
2330 val* var5 /* : null */;
2331 short int var6 /* : Bool */;
2332 val* var7 /* : nullable TClassid */;
2333 var_v = p0;
2334 var = self->attrs[COLOR_parser_nodes__AQualified___n_id].val; /* _n_id on <self:AQualified> */
2335 if (var == NULL) {
2336 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
2337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10975);
2338 show_backtrace(1);
2339 }
2340 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[TId]>*/;
2341 for(;;) {
2342 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
2343 if(!var2) break;
2344 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
2345 var_n = var3;
2346 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
2347 CONTINUE_label: (void)0;
2348 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
2349 }
2350 BREAK_label: (void)0;
2351 var4 = self->attrs[COLOR_parser_nodes__AQualified___n_classid].val; /* _n_classid on <self:AQualified> */
2352 var5 = NULL;
2353 if (var4 == NULL) {
2354 var6 = 0; /* is null */
2355 } else {
2356 var6 = 1; /* arg is null and recv is not */
2357 }
2358 if (var6){
2359 var7 = self->attrs[COLOR_parser_nodes__AQualified___n_classid].val; /* _n_classid on <self:AQualified> */
2360 if (var7 == NULL) {
2361 fprintf(stderr, "Runtime error: %s", "Cast failed");
2362 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10979);
2363 show_backtrace(1);
2364 }
2365 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
2366 } else {
2367 }
2368 RET_LABEL:;
2369 }
2370 /* method parser_prod#AQualified#visit_all for (self: Object, Visitor) */
2371 void VIRTUAL_parser_prod__AQualified__visit_all(val* self, val* p0) {
2372 parser_prod__AQualified__visit_all(self, p0);
2373 RET_LABEL:;
2374 }
2375 /* method parser_prod#ADoc#empty_init for (self: ADoc) */
2376 void parser_prod__ADoc__empty_init(val* self) {
2377 RET_LABEL:;
2378 }
2379 /* method parser_prod#ADoc#empty_init for (self: Object) */
2380 void VIRTUAL_parser_prod__ADoc__empty_init(val* self) {
2381 parser_prod__ADoc__empty_init(self);
2382 RET_LABEL:;
2383 }
2384 /* method parser_prod#ADoc#init_adoc for (self: ADoc, Collection[Object]) */
2385 void parser_prod__ADoc__init_adoc(val* self, val* p0) {
2386 val* var_n_comment /* var n_comment: Collection[Object] */;
2387 val* var /* : Iterator[nullable Object] */;
2388 short int var1 /* : Bool */;
2389 val* var2 /* : nullable Object */;
2390 val* var_n /* var n: Object */;
2391 short int var3 /* : Bool */;
2392 int cltype;
2393 int idtype;
2394 val* var4 /* : ANodes[TComment] */;
2395 var_n_comment = p0;
2396 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADoc__empty_init]))(self) /* empty_init on <self:ADoc>*/;
2397 var = ((val* (*)(val*))(var_n_comment->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_comment) /* iterator on <var_n_comment:Collection[Object]>*/;
2398 for(;;) {
2399 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
2400 if(!var1) break;
2401 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
2402 var_n = var2;
2403 /* <var_n:Object> isa TComment */
2404 cltype = type_parser_nodes__TComment.color;
2405 idtype = type_parser_nodes__TComment.id;
2406 if(cltype >= var_n->type->table_size) {
2407 var3 = 0;
2408 } else {
2409 var3 = var_n->type->type_table[cltype] == idtype;
2410 }
2411 if (!var3) {
2412 fprintf(stderr, "Runtime error: %s", "Assert failed");
2413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10992);
2414 show_backtrace(1);
2415 }
2416 var4 = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
2417 if (var4 == NULL) {
2418 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_comment");
2419 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 10993);
2420 show_backtrace(1);
2421 }
2422 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[TComment]>*/;
2423 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TComment)>*/;
2424 CONTINUE_label: (void)0;
2425 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
2426 }
2427 BREAK_label: (void)0;
2428 RET_LABEL:;
2429 }
2430 /* method parser_prod#ADoc#init_adoc for (self: Object, Collection[Object]) */
2431 void VIRTUAL_parser_prod__ADoc__init_adoc(val* self, val* p0) {
2432 parser_prod__ADoc__init_adoc(self, p0);
2433 RET_LABEL:;
2434 }
2435 /* method parser_prod#ADoc#replace_child for (self: ADoc, ANode, nullable ANode) */
2436 void parser_prod__ADoc__replace_child(val* self, val* p0, val* p1) {
2437 val* var_old_child /* var old_child: ANode */;
2438 val* var_new_child /* var new_child: nullable ANode */;
2439 val* var /* : Range[Int] */;
2440 long var1 /* : Int */;
2441 val* var2 /* : ANodes[TComment] */;
2442 long var3 /* : Int */;
2443 val* var4 /* : Discrete */;
2444 val* var5 /* : Discrete */;
2445 val* var6 /* : Iterator[nullable Object] */;
2446 short int var7 /* : Bool */;
2447 val* var8 /* : nullable Object */;
2448 long var_i /* var i: Int */;
2449 long var9 /* : Int */;
2450 val* var10 /* : ANodes[TComment] */;
2451 val* var11 /* : nullable Object */;
2452 short int var12 /* : Bool */;
2453 val* var13 /* : null */;
2454 short int var14 /* : Bool */;
2455 short int var15 /* : Bool */;
2456 int cltype;
2457 int idtype;
2458 val* var16 /* : ANodes[TComment] */;
2459 val* var17 /* : ANodes[TComment] */;
2460 var_old_child = p0;
2461 var_new_child = p1;
2462 var = NEW_range__Range(&type_range__Rangekernel__Int);
2463 var1 = 0;
2464 var2 = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
2465 if (var2 == NULL) {
2466 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_comment");
2467 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11000);
2468 show_backtrace(1);
2469 }
2470 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[TComment]>*/;
2471 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
2472 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
2473 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
2474 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
2475 for(;;) {
2476 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
2477 if(!var7) break;
2478 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
2479 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
2480 var_i = var9;
2481 var10 = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
2482 if (var10 == NULL) {
2483 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_comment");
2484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11001);
2485 show_backtrace(1);
2486 }
2487 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[TComment]>*/;
2488 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(TComment)>*/;
2489 if (var12){
2490 var13 = NULL;
2491 if (var_new_child == NULL) {
2492 var14 = 0; /* is null */
2493 } else {
2494 var14 = 1; /* arg is null and recv is not */
2495 }
2496 if (var14){
2497 /* <var_new_child:nullable ANode(ANode)> isa TComment */
2498 cltype = type_parser_nodes__TComment.color;
2499 idtype = type_parser_nodes__TComment.id;
2500 if(cltype >= var_new_child->type->table_size) {
2501 var15 = 0;
2502 } else {
2503 var15 = var_new_child->type->type_table[cltype] == idtype;
2504 }
2505 if (!var15) {
2506 fprintf(stderr, "Runtime error: %s", "Assert failed");
2507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11003);
2508 show_backtrace(1);
2509 }
2510 var16 = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
2511 if (var16 == NULL) {
2512 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_comment");
2513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11004);
2514 show_backtrace(1);
2515 }
2516 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[TComment]>*/;
2517 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(TComment)>*/;
2518 } else {
2519 var17 = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
2520 if (var17 == NULL) {
2521 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_comment");
2522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11007);
2523 show_backtrace(1);
2524 }
2525 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[TComment]>*/;
2526 }
2527 goto RET_LABEL;
2528 } else {
2529 }
2530 CONTINUE_label: (void)0;
2531 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
2532 }
2533 BREAK_label: (void)0;
2534 RET_LABEL:;
2535 }
2536 /* method parser_prod#ADoc#replace_child for (self: Object, ANode, nullable ANode) */
2537 void VIRTUAL_parser_prod__ADoc__replace_child(val* self, val* p0, val* p1) {
2538 parser_prod__ADoc__replace_child(self, p0, p1);
2539 RET_LABEL:;
2540 }
2541 /* method parser_prod#ADoc#visit_all for (self: ADoc, Visitor) */
2542 void parser_prod__ADoc__visit_all(val* self, val* p0) {
2543 val* var_v /* var v: Visitor */;
2544 val* var /* : ANodes[TComment] */;
2545 val* var1 /* : Iterator[nullable Object] */;
2546 short int var2 /* : Bool */;
2547 val* var3 /* : nullable Object */;
2548 val* var_n /* var n: TComment */;
2549 var_v = p0;
2550 var = self->attrs[COLOR_parser_nodes__ADoc___n_comment].val; /* _n_comment on <self:ADoc> */
2551 if (var == NULL) {
2552 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_comment");
2553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11018);
2554 show_backtrace(1);
2555 }
2556 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[TComment]>*/;
2557 for(;;) {
2558 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
2559 if(!var2) break;
2560 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
2561 var_n = var3;
2562 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
2563 CONTINUE_label: (void)0;
2564 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
2565 }
2566 BREAK_label: (void)0;
2567 RET_LABEL:;
2568 }
2569 /* method parser_prod#ADoc#visit_all for (self: Object, Visitor) */
2570 void VIRTUAL_parser_prod__ADoc__visit_all(val* self, val* p0) {
2571 parser_prod__ADoc__visit_all(self, p0);
2572 RET_LABEL:;
2573 }
2574 /* method parser_prod#AAnnotations#empty_init for (self: AAnnotations) */
2575 void parser_prod__AAnnotations__empty_init(val* self) {
2576 RET_LABEL:;
2577 }
2578 /* method parser_prod#AAnnotations#empty_init for (self: Object) */
2579 void VIRTUAL_parser_prod__AAnnotations__empty_init(val* self) {
2580 parser_prod__AAnnotations__empty_init(self);
2581 RET_LABEL:;
2582 }
2583 /* method parser_prod#AAnnotations#init_aannotations for (self: AAnnotations, nullable TAt, nullable TOpar, Collection[Object], nullable TCpar) */
2584 void parser_prod__AAnnotations__init_aannotations(val* self, val* p0, val* p1, val* p2, val* p3) {
2585 val* var_n_at /* var n_at: nullable TAt */;
2586 val* var_n_opar /* var n_opar: nullable TOpar */;
2587 val* var_n_items /* var n_items: Collection[Object] */;
2588 val* var_n_cpar /* var n_cpar: nullable TCpar */;
2589 val* var /* : null */;
2590 short int var1 /* : Bool */;
2591 val* var2 /* : null */;
2592 short int var3 /* : Bool */;
2593 val* var4 /* : Iterator[nullable Object] */;
2594 short int var5 /* : Bool */;
2595 val* var6 /* : nullable Object */;
2596 val* var_n /* var n: Object */;
2597 short int var7 /* : Bool */;
2598 int cltype;
2599 int idtype;
2600 val* var8 /* : ANodes[AAnnotation] */;
2601 val* var9 /* : null */;
2602 short int var10 /* : Bool */;
2603 var_n_at = p0;
2604 var_n_opar = p1;
2605 var_n_items = p2;
2606 var_n_cpar = p3;
2607 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAnnotations__empty_init]))(self) /* empty_init on <self:AAnnotations>*/;
2608 self->attrs[COLOR_parser_nodes__AAnnotations___n_at].val = var_n_at; /* _n_at on <self:AAnnotations> */
2609 var = NULL;
2610 if (var_n_at == NULL) {
2611 var1 = 0; /* is null */
2612 } else {
2613 var1 = 1; /* arg is null and recv is not */
2614 }
2615 if (var1){
2616 ((void (*)(val*, val*))(var_n_at->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_at, self) /* parent= on <var_n_at:nullable TAt(TAt)>*/;
2617 } else {
2618 }
2619 self->attrs[COLOR_parser_nodes__AAnnotations___n_opar].val = var_n_opar; /* _n_opar on <self:AAnnotations> */
2620 var2 = NULL;
2621 if (var_n_opar == NULL) {
2622 var3 = 0; /* is null */
2623 } else {
2624 var3 = 1; /* arg is null and recv is not */
2625 }
2626 if (var3){
2627 ((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on <var_n_opar:nullable TOpar(TOpar)>*/;
2628 } else {
2629 }
2630 var4 = ((val* (*)(val*))(var_n_items->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_items) /* iterator on <var_n_items:Collection[Object]>*/;
2631 for(;;) {
2632 var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on <var4:Iterator[nullable Object]>*/;
2633 if(!var5) break;
2634 var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on <var4:Iterator[nullable Object]>*/;
2635 var_n = var6;
2636 /* <var_n:Object> isa AAnnotation */
2637 cltype = type_parser_nodes__AAnnotation.color;
2638 idtype = type_parser_nodes__AAnnotation.id;
2639 if(cltype >= var_n->type->table_size) {
2640 var7 = 0;
2641 } else {
2642 var7 = var_n->type->type_table[cltype] == idtype;
2643 }
2644 if (!var7) {
2645 fprintf(stderr, "Runtime error: %s", "Assert failed");
2646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11043);
2647 show_backtrace(1);
2648 }
2649 var8 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
2650 if (var8 == NULL) {
2651 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_items");
2652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11044);
2653 show_backtrace(1);
2654 }
2655 ((void (*)(val*, val*))(var8->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var8, var_n) /* add on <var8:ANodes[AAnnotation]>*/;
2656 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AAnnotation)>*/;
2657 CONTINUE_label: (void)0;
2658 ((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on <var4:Iterator[nullable Object]>*/;
2659 }
2660 BREAK_label: (void)0;
2661 self->attrs[COLOR_parser_nodes__AAnnotations___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAnnotations> */
2662 var9 = NULL;
2663 if (var_n_cpar == NULL) {
2664 var10 = 0; /* is null */
2665 } else {
2666 var10 = 1; /* arg is null and recv is not */
2667 }
2668 if (var10){
2669 ((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on <var_n_cpar:nullable TCpar(TCpar)>*/;
2670 } else {
2671 }
2672 RET_LABEL:;
2673 }
2674 /* method parser_prod#AAnnotations#init_aannotations for (self: Object, nullable TAt, nullable TOpar, Collection[Object], nullable TCpar) */
2675 void VIRTUAL_parser_prod__AAnnotations__init_aannotations(val* self, val* p0, val* p1, val* p2, val* p3) {
2676 parser_prod__AAnnotations__init_aannotations(self, p0, p1, p2, p3);
2677 RET_LABEL:;
2678 }
2679 /* method parser_prod#AAnnotations#replace_child for (self: AAnnotations, ANode, nullable ANode) */
2680 void parser_prod__AAnnotations__replace_child(val* self, val* p0, val* p1) {
2681 val* var_old_child /* var old_child: ANode */;
2682 val* var_new_child /* var new_child: nullable ANode */;
2683 val* var /* : nullable TAt */;
2684 short int var1 /* : Bool */;
2685 val* var2 /* : null */;
2686 short int var3 /* : Bool */;
2687 short int var4 /* : Bool */;
2688 int cltype;
2689 int idtype;
2690 val* var5 /* : null */;
2691 val* var6 /* : nullable TOpar */;
2692 short int var7 /* : Bool */;
2693 val* var8 /* : null */;
2694 short int var9 /* : Bool */;
2695 short int var10 /* : Bool */;
2696 int cltype11;
2697 int idtype12;
2698 val* var13 /* : null */;
2699 val* var14 /* : Range[Int] */;
2700 long var15 /* : Int */;
2701 val* var16 /* : ANodes[AAnnotation] */;
2702 long var17 /* : Int */;
2703 val* var18 /* : Discrete */;
2704 val* var19 /* : Discrete */;
2705 val* var20 /* : Iterator[nullable Object] */;
2706 short int var21 /* : Bool */;
2707 val* var22 /* : nullable Object */;
2708 long var_i /* var i: Int */;
2709 long var23 /* : Int */;
2710 val* var24 /* : ANodes[AAnnotation] */;
2711 val* var25 /* : nullable Object */;
2712 short int var26 /* : Bool */;
2713 val* var27 /* : null */;
2714 short int var28 /* : Bool */;
2715 short int var29 /* : Bool */;
2716 int cltype30;
2717 int idtype31;
2718 val* var32 /* : ANodes[AAnnotation] */;
2719 val* var33 /* : ANodes[AAnnotation] */;
2720 val* var34 /* : nullable TCpar */;
2721 short int var35 /* : Bool */;
2722 val* var36 /* : null */;
2723 short int var37 /* : Bool */;
2724 short int var38 /* : Bool */;
2725 int cltype39;
2726 int idtype40;
2727 val* var41 /* : null */;
2728 var_old_child = p0;
2729 var_new_child = p1;
2730 var = self->attrs[COLOR_parser_nodes__AAnnotations___n_at].val; /* _n_at on <self:AAnnotations> */
2731 if (var == NULL) {
2732 var1 = 0; /* <var_old_child:ANode> cannot be null */
2733 } else {
2734 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable TAt>*/;
2735 }
2736 if (var1){
2737 var2 = NULL;
2738 if (var_new_child == NULL) {
2739 var3 = 0; /* is null */
2740 } else {
2741 var3 = 1; /* arg is null and recv is not */
2742 }
2743 if (var3){
2744 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2745 /* <var_new_child:nullable ANode(ANode)> isa TAt */
2746 cltype = type_parser_nodes__TAt.color;
2747 idtype = type_parser_nodes__TAt.id;
2748 if(cltype >= var_new_child->type->table_size) {
2749 var4 = 0;
2750 } else {
2751 var4 = var_new_child->type->type_table[cltype] == idtype;
2752 }
2753 if (!var4) {
2754 fprintf(stderr, "Runtime error: %s", "Assert failed");
2755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11058);
2756 show_backtrace(1);
2757 }
2758 self->attrs[COLOR_parser_nodes__AAnnotations___n_at].val = var_new_child; /* _n_at on <self:AAnnotations> */
2759 } else {
2760 var5 = NULL;
2761 self->attrs[COLOR_parser_nodes__AAnnotations___n_at].val = var5; /* _n_at on <self:AAnnotations> */
2762 }
2763 goto RET_LABEL;
2764 } else {
2765 }
2766 var6 = self->attrs[COLOR_parser_nodes__AAnnotations___n_opar].val; /* _n_opar on <self:AAnnotations> */
2767 if (var6 == NULL) {
2768 var7 = 0; /* <var_old_child:ANode> cannot be null */
2769 } else {
2770 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TOpar>*/;
2771 }
2772 if (var7){
2773 var8 = NULL;
2774 if (var_new_child == NULL) {
2775 var9 = 0; /* is null */
2776 } else {
2777 var9 = 1; /* arg is null and recv is not */
2778 }
2779 if (var9){
2780 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2781 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
2782 cltype11 = type_parser_nodes__TOpar.color;
2783 idtype12 = type_parser_nodes__TOpar.id;
2784 if(cltype11 >= var_new_child->type->table_size) {
2785 var10 = 0;
2786 } else {
2787 var10 = var_new_child->type->type_table[cltype11] == idtype12;
2788 }
2789 if (!var10) {
2790 fprintf(stderr, "Runtime error: %s", "Assert failed");
2791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11068);
2792 show_backtrace(1);
2793 }
2794 self->attrs[COLOR_parser_nodes__AAnnotations___n_opar].val = var_new_child; /* _n_opar on <self:AAnnotations> */
2795 } else {
2796 var13 = NULL;
2797 self->attrs[COLOR_parser_nodes__AAnnotations___n_opar].val = var13; /* _n_opar on <self:AAnnotations> */
2798 }
2799 goto RET_LABEL;
2800 } else {
2801 }
2802 var14 = NEW_range__Range(&type_range__Rangekernel__Int);
2803 var15 = 0;
2804 var16 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
2805 if (var16 == NULL) {
2806 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_items");
2807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11075);
2808 show_backtrace(1);
2809 }
2810 var17 = ((long (*)(val*))(var16->class->vft[COLOR_abstract_collection__Collection__length]))(var16) /* length on <var16:ANodes[AAnnotation]>*/;
2811 var18 = BOX_kernel__Int(var15); /* autobox from Int to Discrete */
2812 var19 = BOX_kernel__Int(var17); /* autobox from Int to Discrete */
2813 ((void (*)(val*, val*, val*))(var14->class->vft[COLOR_range__Range__without_last]))(var14, var18, var19) /* without_last on <var14:Range[Int]>*/;
2814 var20 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on <var14:Range[Int]>*/;
2815 for(;;) {
2816 var21 = ((short int (*)(val*))(var20->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var20) /* is_ok on <var20:Iterator[nullable Object]>*/;
2817 if(!var21) break;
2818 var22 = ((val* (*)(val*))(var20->class->vft[COLOR_abstract_collection__Iterator__item]))(var20) /* item on <var20:Iterator[nullable Object]>*/;
2819 var23 = ((struct instance_kernel__Int*)var22)->value; /* autounbox from nullable Object to Int */;
2820 var_i = var23;
2821 var24 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
2822 if (var24 == NULL) {
2823 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_items");
2824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11076);
2825 show_backtrace(1);
2826 }
2827 var25 = ((val* (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var24, var_i) /* [] on <var24:ANodes[AAnnotation]>*/;
2828 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:nullable Object(AAnnotation)>*/;
2829 if (var26){
2830 var27 = NULL;
2831 if (var_new_child == NULL) {
2832 var28 = 0; /* is null */
2833 } else {
2834 var28 = 1; /* arg is null and recv is not */
2835 }
2836 if (var28){
2837 /* <var_new_child:nullable ANode(ANode)> isa AAnnotation */
2838 cltype30 = type_parser_nodes__AAnnotation.color;
2839 idtype31 = type_parser_nodes__AAnnotation.id;
2840 if(cltype30 >= var_new_child->type->table_size) {
2841 var29 = 0;
2842 } else {
2843 var29 = var_new_child->type->type_table[cltype30] == idtype31;
2844 }
2845 if (!var29) {
2846 fprintf(stderr, "Runtime error: %s", "Assert failed");
2847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11078);
2848 show_backtrace(1);
2849 }
2850 var32 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
2851 if (var32 == NULL) {
2852 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_items");
2853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11079);
2854 show_backtrace(1);
2855 }
2856 ((void (*)(val*, long, val*))(var32->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var32, var_i, var_new_child) /* []= on <var32:ANodes[AAnnotation]>*/;
2857 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AAnnotation)>*/;
2858 } else {
2859 var33 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
2860 if (var33 == NULL) {
2861 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_items");
2862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11082);
2863 show_backtrace(1);
2864 }
2865 ((void (*)(val*, long))(var33->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var33, var_i) /* remove_at on <var33:ANodes[AAnnotation]>*/;
2866 }
2867 goto RET_LABEL;
2868 } else {
2869 }
2870 CONTINUE_label: (void)0;
2871 ((void (*)(val*))(var20->class->vft[COLOR_abstract_collection__Iterator__next]))(var20) /* next on <var20:Iterator[nullable Object]>*/;
2872 }
2873 BREAK_label: (void)0;
2874 var34 = self->attrs[COLOR_parser_nodes__AAnnotations___n_cpar].val; /* _n_cpar on <self:AAnnotations> */
2875 if (var34 == NULL) {
2876 var35 = 0; /* <var_old_child:ANode> cannot be null */
2877 } else {
2878 var35 = ((short int (*)(val*, val*))(var34->class->vft[COLOR_kernel__Object___61d_61d]))(var34, var_old_child) /* == on <var34:nullable TCpar>*/;
2879 }
2880 if (var35){
2881 var36 = NULL;
2882 if (var_new_child == NULL) {
2883 var37 = 0; /* is null */
2884 } else {
2885 var37 = 1; /* arg is null and recv is not */
2886 }
2887 if (var37){
2888 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2889 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
2890 cltype39 = type_parser_nodes__TCpar.color;
2891 idtype40 = type_parser_nodes__TCpar.id;
2892 if(cltype39 >= var_new_child->type->table_size) {
2893 var38 = 0;
2894 } else {
2895 var38 = var_new_child->type->type_table[cltype39] == idtype40;
2896 }
2897 if (!var38) {
2898 fprintf(stderr, "Runtime error: %s", "Assert failed");
2899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11090);
2900 show_backtrace(1);
2901 }
2902 self->attrs[COLOR_parser_nodes__AAnnotations___n_cpar].val = var_new_child; /* _n_cpar on <self:AAnnotations> */
2903 } else {
2904 var41 = NULL;
2905 self->attrs[COLOR_parser_nodes__AAnnotations___n_cpar].val = var41; /* _n_cpar on <self:AAnnotations> */
2906 }
2907 goto RET_LABEL;
2908 } else {
2909 }
2910 RET_LABEL:;
2911 }
2912 /* method parser_prod#AAnnotations#replace_child for (self: Object, ANode, nullable ANode) */
2913 void VIRTUAL_parser_prod__AAnnotations__replace_child(val* self, val* p0, val* p1) {
2914 parser_prod__AAnnotations__replace_child(self, p0, p1);
2915 RET_LABEL:;
2916 }
2917 /* method parser_prod#AAnnotations#n_at= for (self: AAnnotations, nullable TAt) */
2918 void parser_prod__AAnnotations__n_at_61d(val* self, val* p0) {
2919 val* var_node /* var node: nullable TAt */;
2920 val* var /* : null */;
2921 short int var1 /* : Bool */;
2922 var_node = p0;
2923 self->attrs[COLOR_parser_nodes__AAnnotations___n_at].val = var_node; /* _n_at on <self:AAnnotations> */
2924 var = NULL;
2925 if (var_node == NULL) {
2926 var1 = 0; /* is null */
2927 } else {
2928 var1 = 1; /* arg is null and recv is not */
2929 }
2930 if (var1){
2931 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TAt(TAt)>*/;
2932 } else {
2933 }
2934 RET_LABEL:;
2935 }
2936 /* method parser_prod#AAnnotations#n_at= for (self: Object, nullable TAt) */
2937 void VIRTUAL_parser_prod__AAnnotations__n_at_61d(val* self, val* p0) {
2938 parser_prod__AAnnotations__n_at_61d(self, p0);
2939 RET_LABEL:;
2940 }
2941 /* method parser_prod#AAnnotations#n_opar= for (self: AAnnotations, nullable TOpar) */
2942 void parser_prod__AAnnotations__n_opar_61d(val* self, val* p0) {
2943 val* var_node /* var node: nullable TOpar */;
2944 val* var /* : null */;
2945 short int var1 /* : Bool */;
2946 var_node = p0;
2947 self->attrs[COLOR_parser_nodes__AAnnotations___n_opar].val = var_node; /* _n_opar on <self:AAnnotations> */
2948 var = NULL;
2949 if (var_node == NULL) {
2950 var1 = 0; /* is null */
2951 } else {
2952 var1 = 1; /* arg is null and recv is not */
2953 }
2954 if (var1){
2955 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TOpar(TOpar)>*/;
2956 } else {
2957 }
2958 RET_LABEL:;
2959 }
2960 /* method parser_prod#AAnnotations#n_opar= for (self: Object, nullable TOpar) */
2961 void VIRTUAL_parser_prod__AAnnotations__n_opar_61d(val* self, val* p0) {
2962 parser_prod__AAnnotations__n_opar_61d(self, p0);
2963 RET_LABEL:;
2964 }
2965 /* method parser_prod#AAnnotations#n_cpar= for (self: AAnnotations, nullable TCpar) */
2966 void parser_prod__AAnnotations__n_cpar_61d(val* self, val* p0) {
2967 val* var_node /* var node: nullable TCpar */;
2968 val* var /* : null */;
2969 short int var1 /* : Bool */;
2970 var_node = p0;
2971 self->attrs[COLOR_parser_nodes__AAnnotations___n_cpar].val = var_node; /* _n_cpar on <self:AAnnotations> */
2972 var = NULL;
2973 if (var_node == NULL) {
2974 var1 = 0; /* is null */
2975 } else {
2976 var1 = 1; /* arg is null and recv is not */
2977 }
2978 if (var1){
2979 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TCpar(TCpar)>*/;
2980 } else {
2981 }
2982 RET_LABEL:;
2983 }
2984 /* method parser_prod#AAnnotations#n_cpar= for (self: Object, nullable TCpar) */
2985 void VIRTUAL_parser_prod__AAnnotations__n_cpar_61d(val* self, val* p0) {
2986 parser_prod__AAnnotations__n_cpar_61d(self, p0);
2987 RET_LABEL:;
2988 }
2989 /* method parser_prod#AAnnotations#visit_all for (self: AAnnotations, Visitor) */
2990 void parser_prod__AAnnotations__visit_all(val* self, val* p0) {
2991 val* var_v /* var v: Visitor */;
2992 val* var /* : nullable TAt */;
2993 val* var1 /* : null */;
2994 short int var2 /* : Bool */;
2995 val* var3 /* : nullable TAt */;
2996 val* var4 /* : nullable TOpar */;
2997 val* var5 /* : null */;
2998 short int var6 /* : Bool */;
2999 val* var7 /* : nullable TOpar */;
3000 val* var8 /* : ANodes[AAnnotation] */;
3001 val* var9 /* : Iterator[nullable Object] */;
3002 short int var10 /* : Bool */;
3003 val* var11 /* : nullable Object */;
3004 val* var_n /* var n: AAnnotation */;
3005 val* var12 /* : nullable TCpar */;
3006 val* var13 /* : null */;
3007 short int var14 /* : Bool */;
3008 val* var15 /* : nullable TCpar */;
3009 var_v = p0;
3010 var = self->attrs[COLOR_parser_nodes__AAnnotations___n_at].val; /* _n_at on <self:AAnnotations> */
3011 var1 = NULL;
3012 if (var == NULL) {
3013 var2 = 0; /* is null */
3014 } else {
3015 var2 = 1; /* arg is null and recv is not */
3016 }
3017 if (var2){
3018 var3 = self->attrs[COLOR_parser_nodes__AAnnotations___n_at].val; /* _n_at on <self:AAnnotations> */
3019 if (var3 == NULL) {
3020 fprintf(stderr, "Runtime error: %s", "Cast failed");
3021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11125);
3022 show_backtrace(1);
3023 }
3024 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
3025 } else {
3026 }
3027 var4 = self->attrs[COLOR_parser_nodes__AAnnotations___n_opar].val; /* _n_opar on <self:AAnnotations> */
3028 var5 = NULL;
3029 if (var4 == NULL) {
3030 var6 = 0; /* is null */
3031 } else {
3032 var6 = 1; /* arg is null and recv is not */
3033 }
3034 if (var6){
3035 var7 = self->attrs[COLOR_parser_nodes__AAnnotations___n_opar].val; /* _n_opar on <self:AAnnotations> */
3036 if (var7 == NULL) {
3037 fprintf(stderr, "Runtime error: %s", "Cast failed");
3038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11128);
3039 show_backtrace(1);
3040 }
3041 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
3042 } else {
3043 }
3044 var8 = self->attrs[COLOR_parser_nodes__AAnnotations___n_items].val; /* _n_items on <self:AAnnotations> */
3045 if (var8 == NULL) {
3046 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_items");
3047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11130);
3048 show_backtrace(1);
3049 }
3050 var9 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__iterator]))(var8) /* iterator on <var8:ANodes[AAnnotation]>*/;
3051 for(;;) {
3052 var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on <var9:Iterator[nullable Object]>*/;
3053 if(!var10) break;
3054 var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on <var9:Iterator[nullable Object]>*/;
3055 var_n = var11;
3056 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3057 CONTINUE_label: (void)0;
3058 ((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on <var9:Iterator[nullable Object]>*/;
3059 }
3060 BREAK_label: (void)0;
3061 var12 = self->attrs[COLOR_parser_nodes__AAnnotations___n_cpar].val; /* _n_cpar on <self:AAnnotations> */
3062 var13 = NULL;
3063 if (var12 == NULL) {
3064 var14 = 0; /* is null */
3065 } else {
3066 var14 = 1; /* arg is null and recv is not */
3067 }
3068 if (var14){
3069 var15 = self->attrs[COLOR_parser_nodes__AAnnotations___n_cpar].val; /* _n_cpar on <self:AAnnotations> */
3070 if (var15 == NULL) {
3071 fprintf(stderr, "Runtime error: %s", "Cast failed");
3072 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11134);
3073 show_backtrace(1);
3074 }
3075 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
3076 } else {
3077 }
3078 RET_LABEL:;
3079 }
3080 /* method parser_prod#AAnnotations#visit_all for (self: Object, Visitor) */
3081 void VIRTUAL_parser_prod__AAnnotations__visit_all(val* self, val* p0) {
3082 parser_prod__AAnnotations__visit_all(self, p0);
3083 RET_LABEL:;
3084 }
3085 /* method parser_prod#AAnnotation#empty_init for (self: AAnnotation) */
3086 void parser_prod__AAnnotation__empty_init(val* self) {
3087 RET_LABEL:;
3088 }
3089 /* method parser_prod#AAnnotation#empty_init for (self: Object) */
3090 void VIRTUAL_parser_prod__AAnnotation__empty_init(val* self) {
3091 parser_prod__AAnnotation__empty_init(self);
3092 RET_LABEL:;
3093 }
3094 /* method parser_prod#AAnnotation#init_aannotation for (self: AAnnotation, nullable AAtid, nullable TOpar, Collection[Object], nullable TCpar, nullable AAnnotations) */
3095 void parser_prod__AAnnotation__init_aannotation(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
3096 val* var_n_atid /* var n_atid: nullable AAtid */;
3097 val* var_n_opar /* var n_opar: nullable TOpar */;
3098 val* var_n_args /* var n_args: Collection[Object] */;
3099 val* var_n_cpar /* var n_cpar: nullable TCpar */;
3100 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3101 val* var /* : null */;
3102 short int var1 /* : Bool */;
3103 val* var2 /* : Iterator[nullable Object] */;
3104 short int var3 /* : Bool */;
3105 val* var4 /* : nullable Object */;
3106 val* var_n /* var n: Object */;
3107 short int var5 /* : Bool */;
3108 int cltype;
3109 int idtype;
3110 val* var6 /* : ANodes[AAtArg] */;
3111 val* var7 /* : null */;
3112 short int var8 /* : Bool */;
3113 val* var9 /* : null */;
3114 short int var10 /* : Bool */;
3115 var_n_atid = p0;
3116 var_n_opar = p1;
3117 var_n_args = p2;
3118 var_n_cpar = p3;
3119 var_n_annotations = p4;
3120 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAnnotation__empty_init]))(self) /* empty_init on <self:AAnnotation>*/;
3121 if (var_n_atid == NULL) {
3122 fprintf(stderr, "Runtime error: %s", "Cast failed");
3123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11150);
3124 show_backtrace(1);
3125 }
3126 self->attrs[COLOR_parser_nodes__AAnnotation___n_atid].val = var_n_atid; /* _n_atid on <self:AAnnotation> */
3127 if (var_n_atid == NULL) {
3128 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11151);
3130 show_backtrace(1);
3131 } else {
3132 ((void (*)(val*, val*))(var_n_atid->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_atid, self) /* parent= on <var_n_atid:nullable AAtid>*/;
3133 }
3134 self->attrs[COLOR_parser_nodes__AAnnotation___n_opar].val = var_n_opar; /* _n_opar on <self:AAnnotation> */
3135 var = NULL;
3136 if (var_n_opar == NULL) {
3137 var1 = 0; /* is null */
3138 } else {
3139 var1 = 1; /* arg is null and recv is not */
3140 }
3141 if (var1){
3142 ((void (*)(val*, val*))(var_n_opar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_opar, self) /* parent= on <var_n_opar:nullable TOpar(TOpar)>*/;
3143 } else {
3144 }
3145 var2 = ((val* (*)(val*))(var_n_args->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_args) /* iterator on <var_n_args:Collection[Object]>*/;
3146 for(;;) {
3147 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
3148 if(!var3) break;
3149 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
3150 var_n = var4;
3151 /* <var_n:Object> isa AAtArg */
3152 cltype = type_parser_nodes__AAtArg.color;
3153 idtype = type_parser_nodes__AAtArg.id;
3154 if(cltype >= var_n->type->table_size) {
3155 var5 = 0;
3156 } else {
3157 var5 = var_n->type->type_table[cltype] == idtype;
3158 }
3159 if (!var5) {
3160 fprintf(stderr, "Runtime error: %s", "Assert failed");
3161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11157);
3162 show_backtrace(1);
3163 }
3164 var6 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
3165 if (var6 == NULL) {
3166 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
3167 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11158);
3168 show_backtrace(1);
3169 }
3170 ((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_n) /* add on <var6:ANodes[AAtArg]>*/;
3171 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AAtArg)>*/;
3172 CONTINUE_label: (void)0;
3173 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
3174 }
3175 BREAK_label: (void)0;
3176 self->attrs[COLOR_parser_nodes__AAnnotation___n_cpar].val = var_n_cpar; /* _n_cpar on <self:AAnnotation> */
3177 var7 = NULL;
3178 if (var_n_cpar == NULL) {
3179 var8 = 0; /* is null */
3180 } else {
3181 var8 = 1; /* arg is null and recv is not */
3182 }
3183 if (var8){
3184 ((void (*)(val*, val*))(var_n_cpar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_cpar, self) /* parent= on <var_n_cpar:nullable TCpar(TCpar)>*/;
3185 } else {
3186 }
3187 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AAnnotation> */
3188 var9 = NULL;
3189 if (var_n_annotations == NULL) {
3190 var10 = 0; /* is null */
3191 } else {
3192 var10 = 1; /* arg is null and recv is not */
3193 }
3194 if (var10){
3195 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations(AAnnotations)>*/;
3196 } else {
3197 }
3198 RET_LABEL:;
3199 }
3200 /* method parser_prod#AAnnotation#init_aannotation for (self: Object, nullable AAtid, nullable TOpar, Collection[Object], nullable TCpar, nullable AAnnotations) */
3201 void VIRTUAL_parser_prod__AAnnotation__init_aannotation(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
3202 parser_prod__AAnnotation__init_aannotation(self, p0, p1, p2, p3, p4);
3203 RET_LABEL:;
3204 }
3205 /* method parser_prod#AAnnotation#replace_child for (self: AAnnotation, ANode, nullable ANode) */
3206 void parser_prod__AAnnotation__replace_child(val* self, val* p0, val* p1) {
3207 val* var_old_child /* var old_child: ANode */;
3208 val* var_new_child /* var new_child: nullable ANode */;
3209 val* var /* : AAtid */;
3210 short int var1 /* : Bool */;
3211 val* var2 /* : null */;
3212 short int var3 /* : Bool */;
3213 short int var4 /* : Bool */;
3214 int cltype;
3215 int idtype;
3216 val* var5 /* : nullable TOpar */;
3217 short int var6 /* : Bool */;
3218 val* var7 /* : null */;
3219 short int var8 /* : Bool */;
3220 short int var9 /* : Bool */;
3221 int cltype10;
3222 int idtype11;
3223 val* var12 /* : null */;
3224 val* var13 /* : Range[Int] */;
3225 long var14 /* : Int */;
3226 val* var15 /* : ANodes[AAtArg] */;
3227 long var16 /* : Int */;
3228 val* var17 /* : Discrete */;
3229 val* var18 /* : Discrete */;
3230 val* var19 /* : Iterator[nullable Object] */;
3231 short int var20 /* : Bool */;
3232 val* var21 /* : nullable Object */;
3233 long var_i /* var i: Int */;
3234 long var22 /* : Int */;
3235 val* var23 /* : ANodes[AAtArg] */;
3236 val* var24 /* : nullable Object */;
3237 short int var25 /* : Bool */;
3238 val* var26 /* : null */;
3239 short int var27 /* : Bool */;
3240 short int var28 /* : Bool */;
3241 int cltype29;
3242 int idtype30;
3243 val* var31 /* : ANodes[AAtArg] */;
3244 val* var32 /* : ANodes[AAtArg] */;
3245 val* var33 /* : nullable TCpar */;
3246 short int var34 /* : Bool */;
3247 val* var35 /* : null */;
3248 short int var36 /* : Bool */;
3249 short int var37 /* : Bool */;
3250 int cltype38;
3251 int idtype39;
3252 val* var40 /* : null */;
3253 val* var41 /* : nullable AAnnotations */;
3254 short int var42 /* : Bool */;
3255 val* var43 /* : null */;
3256 short int var44 /* : Bool */;
3257 short int var45 /* : Bool */;
3258 int cltype46;
3259 int idtype47;
3260 val* var48 /* : null */;
3261 var_old_child = p0;
3262 var_new_child = p1;
3263 var = self->attrs[COLOR_parser_nodes__AAnnotation___n_atid].val; /* _n_atid on <self:AAnnotation> */
3264 if (var == NULL) {
3265 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_atid");
3266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11173);
3267 show_backtrace(1);
3268 }
3269 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AAtid>*/;
3270 if (var1){
3271 var2 = NULL;
3272 if (var_new_child == NULL) {
3273 var3 = 0; /* is null */
3274 } else {
3275 var3 = 1; /* arg is null and recv is not */
3276 }
3277 if (var3){
3278 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3279 /* <var_new_child:nullable ANode(ANode)> isa AAtid */
3280 cltype = type_parser_nodes__AAtid.color;
3281 idtype = type_parser_nodes__AAtid.id;
3282 if(cltype >= var_new_child->type->table_size) {
3283 var4 = 0;
3284 } else {
3285 var4 = var_new_child->type->type_table[cltype] == idtype;
3286 }
3287 if (!var4) {
3288 fprintf(stderr, "Runtime error: %s", "Assert failed");
3289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11176);
3290 show_backtrace(1);
3291 }
3292 self->attrs[COLOR_parser_nodes__AAnnotation___n_atid].val = var_new_child; /* _n_atid on <self:AAnnotation> */
3293 } else {
3294 fprintf(stderr, "Runtime error: %s", "Aborted");
3295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11179);
3296 show_backtrace(1);
3297 }
3298 goto RET_LABEL;
3299 } else {
3300 }
3301 var5 = self->attrs[COLOR_parser_nodes__AAnnotation___n_opar].val; /* _n_opar on <self:AAnnotation> */
3302 if (var5 == NULL) {
3303 var6 = 0; /* <var_old_child:ANode> cannot be null */
3304 } else {
3305 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TOpar>*/;
3306 }
3307 if (var6){
3308 var7 = NULL;
3309 if (var_new_child == NULL) {
3310 var8 = 0; /* is null */
3311 } else {
3312 var8 = 1; /* arg is null and recv is not */
3313 }
3314 if (var8){
3315 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3316 /* <var_new_child:nullable ANode(ANode)> isa TOpar */
3317 cltype10 = type_parser_nodes__TOpar.color;
3318 idtype11 = type_parser_nodes__TOpar.id;
3319 if(cltype10 >= var_new_child->type->table_size) {
3320 var9 = 0;
3321 } else {
3322 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3323 }
3324 if (!var9) {
3325 fprintf(stderr, "Runtime error: %s", "Assert failed");
3326 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11186);
3327 show_backtrace(1);
3328 }
3329 self->attrs[COLOR_parser_nodes__AAnnotation___n_opar].val = var_new_child; /* _n_opar on <self:AAnnotation> */
3330 } else {
3331 var12 = NULL;
3332 self->attrs[COLOR_parser_nodes__AAnnotation___n_opar].val = var12; /* _n_opar on <self:AAnnotation> */
3333 }
3334 goto RET_LABEL;
3335 } else {
3336 }
3337 var13 = NEW_range__Range(&type_range__Rangekernel__Int);
3338 var14 = 0;
3339 var15 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
3340 if (var15 == NULL) {
3341 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
3342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11193);
3343 show_backtrace(1);
3344 }
3345 var16 = ((long (*)(val*))(var15->class->vft[COLOR_abstract_collection__Collection__length]))(var15) /* length on <var15:ANodes[AAtArg]>*/;
3346 var17 = BOX_kernel__Int(var14); /* autobox from Int to Discrete */
3347 var18 = BOX_kernel__Int(var16); /* autobox from Int to Discrete */
3348 ((void (*)(val*, val*, val*))(var13->class->vft[COLOR_range__Range__without_last]))(var13, var17, var18) /* without_last on <var13:Range[Int]>*/;
3349 var19 = ((val* (*)(val*))(var13->class->vft[COLOR_abstract_collection__Collection__iterator]))(var13) /* iterator on <var13:Range[Int]>*/;
3350 for(;;) {
3351 var20 = ((short int (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var19) /* is_ok on <var19:Iterator[nullable Object]>*/;
3352 if(!var20) break;
3353 var21 = ((val* (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__item]))(var19) /* item on <var19:Iterator[nullable Object]>*/;
3354 var22 = ((struct instance_kernel__Int*)var21)->value; /* autounbox from nullable Object to Int */;
3355 var_i = var22;
3356 var23 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
3357 if (var23 == NULL) {
3358 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
3359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11194);
3360 show_backtrace(1);
3361 }
3362 var24 = ((val* (*)(val*, long))(var23->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var23, var_i) /* [] on <var23:ANodes[AAtArg]>*/;
3363 var25 = ((short int (*)(val*, val*))(var24->class->vft[COLOR_kernel__Object___61d_61d]))(var24, var_old_child) /* == on <var24:nullable Object(AAtArg)>*/;
3364 if (var25){
3365 var26 = NULL;
3366 if (var_new_child == NULL) {
3367 var27 = 0; /* is null */
3368 } else {
3369 var27 = 1; /* arg is null and recv is not */
3370 }
3371 if (var27){
3372 /* <var_new_child:nullable ANode(ANode)> isa AAtArg */
3373 cltype29 = type_parser_nodes__AAtArg.color;
3374 idtype30 = type_parser_nodes__AAtArg.id;
3375 if(cltype29 >= var_new_child->type->table_size) {
3376 var28 = 0;
3377 } else {
3378 var28 = var_new_child->type->type_table[cltype29] == idtype30;
3379 }
3380 if (!var28) {
3381 fprintf(stderr, "Runtime error: %s", "Assert failed");
3382 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11196);
3383 show_backtrace(1);
3384 }
3385 var31 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
3386 if (var31 == NULL) {
3387 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
3388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11197);
3389 show_backtrace(1);
3390 }
3391 ((void (*)(val*, long, val*))(var31->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var31, var_i, var_new_child) /* []= on <var31:ANodes[AAtArg]>*/;
3392 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(AAtArg)>*/;
3393 } else {
3394 var32 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
3395 if (var32 == NULL) {
3396 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
3397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11200);
3398 show_backtrace(1);
3399 }
3400 ((void (*)(val*, long))(var32->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var32, var_i) /* remove_at on <var32:ANodes[AAtArg]>*/;
3401 }
3402 goto RET_LABEL;
3403 } else {
3404 }
3405 CONTINUE_label: (void)0;
3406 ((void (*)(val*))(var19->class->vft[COLOR_abstract_collection__Iterator__next]))(var19) /* next on <var19:Iterator[nullable Object]>*/;
3407 }
3408 BREAK_label: (void)0;
3409 var33 = self->attrs[COLOR_parser_nodes__AAnnotation___n_cpar].val; /* _n_cpar on <self:AAnnotation> */
3410 if (var33 == NULL) {
3411 var34 = 0; /* <var_old_child:ANode> cannot be null */
3412 } else {
3413 var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on <var33:nullable TCpar>*/;
3414 }
3415 if (var34){
3416 var35 = NULL;
3417 if (var_new_child == NULL) {
3418 var36 = 0; /* is null */
3419 } else {
3420 var36 = 1; /* arg is null and recv is not */
3421 }
3422 if (var36){
3423 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3424 /* <var_new_child:nullable ANode(ANode)> isa TCpar */
3425 cltype38 = type_parser_nodes__TCpar.color;
3426 idtype39 = type_parser_nodes__TCpar.id;
3427 if(cltype38 >= var_new_child->type->table_size) {
3428 var37 = 0;
3429 } else {
3430 var37 = var_new_child->type->type_table[cltype38] == idtype39;
3431 }
3432 if (!var37) {
3433 fprintf(stderr, "Runtime error: %s", "Assert failed");
3434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11208);
3435 show_backtrace(1);
3436 }
3437 self->attrs[COLOR_parser_nodes__AAnnotation___n_cpar].val = var_new_child; /* _n_cpar on <self:AAnnotation> */
3438 } else {
3439 var40 = NULL;
3440 self->attrs[COLOR_parser_nodes__AAnnotation___n_cpar].val = var40; /* _n_cpar on <self:AAnnotation> */
3441 }
3442 goto RET_LABEL;
3443 } else {
3444 }
3445 var41 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAnnotation> */
3446 if (var41 == NULL) {
3447 var42 = 0; /* <var_old_child:ANode> cannot be null */
3448 } else {
3449 var42 = ((short int (*)(val*, val*))(var41->class->vft[COLOR_kernel__Object___61d_61d]))(var41, var_old_child) /* == on <var41:nullable AAnnotations>*/;
3450 }
3451 if (var42){
3452 var43 = NULL;
3453 if (var_new_child == NULL) {
3454 var44 = 0; /* is null */
3455 } else {
3456 var44 = 1; /* arg is null and recv is not */
3457 }
3458 if (var44){
3459 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3460 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3461 cltype46 = type_parser_nodes__AAnnotations.color;
3462 idtype47 = type_parser_nodes__AAnnotations.id;
3463 if(cltype46 >= var_new_child->type->table_size) {
3464 var45 = 0;
3465 } else {
3466 var45 = var_new_child->type->type_table[cltype46] == idtype47;
3467 }
3468 if (!var45) {
3469 fprintf(stderr, "Runtime error: %s", "Assert failed");
3470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11218);
3471 show_backtrace(1);
3472 }
3473 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AAnnotation> */
3474 } else {
3475 var48 = NULL;
3476 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var48; /* _n_annotations on <self:AAnnotation> */
3477 }
3478 goto RET_LABEL;
3479 } else {
3480 }
3481 RET_LABEL:;
3482 }
3483 /* method parser_prod#AAnnotation#replace_child for (self: Object, ANode, nullable ANode) */
3484 void VIRTUAL_parser_prod__AAnnotation__replace_child(val* self, val* p0, val* p1) {
3485 parser_prod__AAnnotation__replace_child(self, p0, p1);
3486 RET_LABEL:;
3487 }
3488 /* method parser_prod#AAnnotation#n_atid= for (self: AAnnotation, AAtid) */
3489 void parser_prod__AAnnotation__n_atid_61d(val* self, val* p0) {
3490 val* var_node /* var node: AAtid */;
3491 var_node = p0;
3492 self->attrs[COLOR_parser_nodes__AAnnotation___n_atid].val = var_node; /* _n_atid on <self:AAnnotation> */
3493 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAtid>*/;
3494 RET_LABEL:;
3495 }
3496 /* method parser_prod#AAnnotation#n_atid= for (self: Object, AAtid) */
3497 void VIRTUAL_parser_prod__AAnnotation__n_atid_61d(val* self, val* p0) {
3498 parser_prod__AAnnotation__n_atid_61d(self, p0);
3499 RET_LABEL:;
3500 }
3501 /* method parser_prod#AAnnotation#n_opar= for (self: AAnnotation, nullable TOpar) */
3502 void parser_prod__AAnnotation__n_opar_61d(val* self, val* p0) {
3503 val* var_node /* var node: nullable TOpar */;
3504 val* var /* : null */;
3505 short int var1 /* : Bool */;
3506 var_node = p0;
3507 self->attrs[COLOR_parser_nodes__AAnnotation___n_opar].val = var_node; /* _n_opar on <self:AAnnotation> */
3508 var = NULL;
3509 if (var_node == NULL) {
3510 var1 = 0; /* is null */
3511 } else {
3512 var1 = 1; /* arg is null and recv is not */
3513 }
3514 if (var1){
3515 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TOpar(TOpar)>*/;
3516 } else {
3517 }
3518 RET_LABEL:;
3519 }
3520 /* method parser_prod#AAnnotation#n_opar= for (self: Object, nullable TOpar) */
3521 void VIRTUAL_parser_prod__AAnnotation__n_opar_61d(val* self, val* p0) {
3522 parser_prod__AAnnotation__n_opar_61d(self, p0);
3523 RET_LABEL:;
3524 }
3525 /* method parser_prod#AAnnotation#n_cpar= for (self: AAnnotation, nullable TCpar) */
3526 void parser_prod__AAnnotation__n_cpar_61d(val* self, val* p0) {
3527 val* var_node /* var node: nullable TCpar */;
3528 val* var /* : null */;
3529 short int var1 /* : Bool */;
3530 var_node = p0;
3531 self->attrs[COLOR_parser_nodes__AAnnotation___n_cpar].val = var_node; /* _n_cpar on <self:AAnnotation> */
3532 var = NULL;
3533 if (var_node == NULL) {
3534 var1 = 0; /* is null */
3535 } else {
3536 var1 = 1; /* arg is null and recv is not */
3537 }
3538 if (var1){
3539 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TCpar(TCpar)>*/;
3540 } else {
3541 }
3542 RET_LABEL:;
3543 }
3544 /* method parser_prod#AAnnotation#n_cpar= for (self: Object, nullable TCpar) */
3545 void VIRTUAL_parser_prod__AAnnotation__n_cpar_61d(val* self, val* p0) {
3546 parser_prod__AAnnotation__n_cpar_61d(self, p0);
3547 RET_LABEL:;
3548 }
3549 /* method parser_prod#AAnnotation#n_annotations= for (self: AAnnotation, nullable AAnnotations) */
3550 void parser_prod__AAnnotation__n_annotations_61d(val* self, val* p0) {
3551 val* var_node /* var node: nullable AAnnotations */;
3552 val* var /* : null */;
3553 short int var1 /* : Bool */;
3554 var_node = p0;
3555 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AAnnotation> */
3556 var = NULL;
3557 if (var_node == NULL) {
3558 var1 = 0; /* is null */
3559 } else {
3560 var1 = 1; /* arg is null and recv is not */
3561 }
3562 if (var1){
3563 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3564 } else {
3565 }
3566 RET_LABEL:;
3567 }
3568 /* method parser_prod#AAnnotation#n_annotations= for (self: Object, nullable AAnnotations) */
3569 void VIRTUAL_parser_prod__AAnnotation__n_annotations_61d(val* self, val* p0) {
3570 parser_prod__AAnnotation__n_annotations_61d(self, p0);
3571 RET_LABEL:;
3572 }
3573 /* method parser_prod#AAnnotation#visit_all for (self: AAnnotation, Visitor) */
3574 void parser_prod__AAnnotation__visit_all(val* self, val* p0) {
3575 val* var_v /* var v: Visitor */;
3576 val* var /* : AAtid */;
3577 val* var1 /* : nullable TOpar */;
3578 val* var2 /* : null */;
3579 short int var3 /* : Bool */;
3580 val* var4 /* : nullable TOpar */;
3581 val* var5 /* : ANodes[AAtArg] */;
3582 val* var6 /* : Iterator[nullable Object] */;
3583 short int var7 /* : Bool */;
3584 val* var8 /* : nullable Object */;
3585 val* var_n /* var n: AAtArg */;
3586 val* var9 /* : nullable TCpar */;
3587 val* var10 /* : null */;
3588 short int var11 /* : Bool */;
3589 val* var12 /* : nullable TCpar */;
3590 val* var13 /* : nullable AAnnotations */;
3591 val* var14 /* : null */;
3592 short int var15 /* : Bool */;
3593 val* var16 /* : nullable AAnnotations */;
3594 var_v = p0;
3595 var = self->attrs[COLOR_parser_nodes__AAnnotation___n_atid].val; /* _n_atid on <self:AAnnotation> */
3596 if (var == NULL) {
3597 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_atid");
3598 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11257);
3599 show_backtrace(1);
3600 }
3601 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3602 var1 = self->attrs[COLOR_parser_nodes__AAnnotation___n_opar].val; /* _n_opar on <self:AAnnotation> */
3603 var2 = NULL;
3604 if (var1 == NULL) {
3605 var3 = 0; /* is null */
3606 } else {
3607 var3 = 1; /* arg is null and recv is not */
3608 }
3609 if (var3){
3610 var4 = self->attrs[COLOR_parser_nodes__AAnnotation___n_opar].val; /* _n_opar on <self:AAnnotation> */
3611 if (var4 == NULL) {
3612 fprintf(stderr, "Runtime error: %s", "Cast failed");
3613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11259);
3614 show_backtrace(1);
3615 }
3616 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
3617 } else {
3618 }
3619 var5 = self->attrs[COLOR_parser_nodes__AAnnotation___n_args].val; /* _n_args on <self:AAnnotation> */
3620 if (var5 == NULL) {
3621 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
3622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11261);
3623 show_backtrace(1);
3624 }
3625 var6 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:ANodes[AAtArg]>*/;
3626 for(;;) {
3627 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
3628 if(!var7) break;
3629 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
3630 var_n = var8;
3631 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3632 CONTINUE_label: (void)0;
3633 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
3634 }
3635 BREAK_label: (void)0;
3636 var9 = self->attrs[COLOR_parser_nodes__AAnnotation___n_cpar].val; /* _n_cpar on <self:AAnnotation> */
3637 var10 = NULL;
3638 if (var9 == NULL) {
3639 var11 = 0; /* is null */
3640 } else {
3641 var11 = 1; /* arg is null and recv is not */
3642 }
3643 if (var11){
3644 var12 = self->attrs[COLOR_parser_nodes__AAnnotation___n_cpar].val; /* _n_cpar on <self:AAnnotation> */
3645 if (var12 == NULL) {
3646 fprintf(stderr, "Runtime error: %s", "Cast failed");
3647 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11265);
3648 show_backtrace(1);
3649 }
3650 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var12) /* enter_visit on <var_v:Visitor>*/;
3651 } else {
3652 }
3653 var13 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAnnotation> */
3654 var14 = NULL;
3655 if (var13 == NULL) {
3656 var15 = 0; /* is null */
3657 } else {
3658 var15 = 1; /* arg is null and recv is not */
3659 }
3660 if (var15){
3661 var16 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAnnotation> */
3662 if (var16 == NULL) {
3663 fprintf(stderr, "Runtime error: %s", "Cast failed");
3664 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11268);
3665 show_backtrace(1);
3666 }
3667 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var16) /* enter_visit on <var_v:Visitor>*/;
3668 } else {
3669 }
3670 RET_LABEL:;
3671 }
3672 /* method parser_prod#AAnnotation#visit_all for (self: Object, Visitor) */
3673 void VIRTUAL_parser_prod__AAnnotation__visit_all(val* self, val* p0) {
3674 parser_prod__AAnnotation__visit_all(self, p0);
3675 RET_LABEL:;
3676 }
3677 /* method parser_prod#ATypeAtArg#empty_init for (self: ATypeAtArg) */
3678 void parser_prod__ATypeAtArg__empty_init(val* self) {
3679 RET_LABEL:;
3680 }
3681 /* method parser_prod#ATypeAtArg#empty_init for (self: Object) */
3682 void VIRTUAL_parser_prod__ATypeAtArg__empty_init(val* self) {
3683 parser_prod__ATypeAtArg__empty_init(self);
3684 RET_LABEL:;
3685 }
3686 /* method parser_prod#ATypeAtArg#init_atypeatarg for (self: ATypeAtArg, nullable AType) */
3687 void parser_prod__ATypeAtArg__init_atypeatarg(val* self, val* p0) {
3688 val* var_n_type /* var n_type: nullable AType */;
3689 var_n_type = p0;
3690 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATypeAtArg__empty_init]))(self) /* empty_init on <self:ATypeAtArg>*/;
3691 if (var_n_type == NULL) {
3692 fprintf(stderr, "Runtime error: %s", "Cast failed");
3693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11280);
3694 show_backtrace(1);
3695 }
3696 self->attrs[COLOR_parser_nodes__ATypeAtArg___n_type].val = var_n_type; /* _n_type on <self:ATypeAtArg> */
3697 if (var_n_type == NULL) {
3698 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11281);
3700 show_backtrace(1);
3701 } else {
3702 ((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on <var_n_type:nullable AType>*/;
3703 }
3704 RET_LABEL:;
3705 }
3706 /* method parser_prod#ATypeAtArg#init_atypeatarg for (self: Object, nullable AType) */
3707 void VIRTUAL_parser_prod__ATypeAtArg__init_atypeatarg(val* self, val* p0) {
3708 parser_prod__ATypeAtArg__init_atypeatarg(self, p0);
3709 RET_LABEL:;
3710 }
3711 /* method parser_prod#ATypeAtArg#replace_child for (self: ATypeAtArg, ANode, nullable ANode) */
3712 void parser_prod__ATypeAtArg__replace_child(val* self, val* p0, val* p1) {
3713 val* var_old_child /* var old_child: ANode */;
3714 val* var_new_child /* var new_child: nullable ANode */;
3715 val* var /* : AType */;
3716 short int var1 /* : Bool */;
3717 val* var2 /* : null */;
3718 short int var3 /* : Bool */;
3719 short int var4 /* : Bool */;
3720 int cltype;
3721 int idtype;
3722 var_old_child = p0;
3723 var_new_child = p1;
3724 var = self->attrs[COLOR_parser_nodes__ATypeAtArg___n_type].val; /* _n_type on <self:ATypeAtArg> */
3725 if (var == NULL) {
3726 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
3727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11286);
3728 show_backtrace(1);
3729 }
3730 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AType>*/;
3731 if (var1){
3732 var2 = NULL;
3733 if (var_new_child == NULL) {
3734 var3 = 0; /* is null */
3735 } else {
3736 var3 = 1; /* arg is null and recv is not */
3737 }
3738 if (var3){
3739 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3740 /* <var_new_child:nullable ANode(ANode)> isa AType */
3741 cltype = type_parser_nodes__AType.color;
3742 idtype = type_parser_nodes__AType.id;
3743 if(cltype >= var_new_child->type->table_size) {
3744 var4 = 0;
3745 } else {
3746 var4 = var_new_child->type->type_table[cltype] == idtype;
3747 }
3748 if (!var4) {
3749 fprintf(stderr, "Runtime error: %s", "Assert failed");
3750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11289);
3751 show_backtrace(1);
3752 }
3753 self->attrs[COLOR_parser_nodes__ATypeAtArg___n_type].val = var_new_child; /* _n_type on <self:ATypeAtArg> */
3754 } else {
3755 fprintf(stderr, "Runtime error: %s", "Aborted");
3756 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11292);
3757 show_backtrace(1);
3758 }
3759 goto RET_LABEL;
3760 } else {
3761 }
3762 RET_LABEL:;
3763 }
3764 /* method parser_prod#ATypeAtArg#replace_child for (self: Object, ANode, nullable ANode) */
3765 void VIRTUAL_parser_prod__ATypeAtArg__replace_child(val* self, val* p0, val* p1) {
3766 parser_prod__ATypeAtArg__replace_child(self, p0, p1);
3767 RET_LABEL:;
3768 }
3769 /* method parser_prod#ATypeAtArg#n_type= for (self: ATypeAtArg, AType) */
3770 void parser_prod__ATypeAtArg__n_type_61d(val* self, val* p0) {
3771 val* var_node /* var node: AType */;
3772 var_node = p0;
3773 self->attrs[COLOR_parser_nodes__ATypeAtArg___n_type].val = var_node; /* _n_type on <self:ATypeAtArg> */
3774 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
3775 RET_LABEL:;
3776 }
3777 /* method parser_prod#ATypeAtArg#n_type= for (self: Object, AType) */
3778 void VIRTUAL_parser_prod__ATypeAtArg__n_type_61d(val* self, val* p0) {
3779 parser_prod__ATypeAtArg__n_type_61d(self, p0);
3780 RET_LABEL:;
3781 }
3782 /* method parser_prod#ATypeAtArg#visit_all for (self: ATypeAtArg, Visitor) */
3783 void parser_prod__ATypeAtArg__visit_all(val* self, val* p0) {
3784 val* var_v /* var v: Visitor */;
3785 val* var /* : AType */;
3786 var_v = p0;
3787 var = self->attrs[COLOR_parser_nodes__ATypeAtArg___n_type].val; /* _n_type on <self:ATypeAtArg> */
3788 if (var == NULL) {
3789 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
3790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11307);
3791 show_backtrace(1);
3792 }
3793 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3794 RET_LABEL:;
3795 }
3796 /* method parser_prod#ATypeAtArg#visit_all for (self: Object, Visitor) */
3797 void VIRTUAL_parser_prod__ATypeAtArg__visit_all(val* self, val* p0) {
3798 parser_prod__ATypeAtArg__visit_all(self, p0);
3799 RET_LABEL:;
3800 }
3801 /* method parser_prod#AExprAtArg#empty_init for (self: AExprAtArg) */
3802 void parser_prod__AExprAtArg__empty_init(val* self) {
3803 RET_LABEL:;
3804 }
3805 /* method parser_prod#AExprAtArg#empty_init for (self: Object) */
3806 void VIRTUAL_parser_prod__AExprAtArg__empty_init(val* self) {
3807 parser_prod__AExprAtArg__empty_init(self);
3808 RET_LABEL:;
3809 }
3810 /* method parser_prod#AExprAtArg#init_aexpratarg for (self: AExprAtArg, nullable AExpr) */
3811 void parser_prod__AExprAtArg__init_aexpratarg(val* self, val* p0) {
3812 val* var_n_expr /* var n_expr: nullable AExpr */;
3813 var_n_expr = p0;
3814 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExprAtArg__empty_init]))(self) /* empty_init on <self:AExprAtArg>*/;
3815 if (var_n_expr == NULL) {
3816 fprintf(stderr, "Runtime error: %s", "Cast failed");
3817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11318);
3818 show_backtrace(1);
3819 }
3820 self->attrs[COLOR_parser_nodes__AExprAtArg___n_expr].val = var_n_expr; /* _n_expr on <self:AExprAtArg> */
3821 if (var_n_expr == NULL) {
3822 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11319);
3824 show_backtrace(1);
3825 } else {
3826 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
3827 }
3828 RET_LABEL:;
3829 }
3830 /* method parser_prod#AExprAtArg#init_aexpratarg for (self: Object, nullable AExpr) */
3831 void VIRTUAL_parser_prod__AExprAtArg__init_aexpratarg(val* self, val* p0) {
3832 parser_prod__AExprAtArg__init_aexpratarg(self, p0);
3833 RET_LABEL:;
3834 }
3835 /* method parser_prod#AExprAtArg#replace_child for (self: AExprAtArg, ANode, nullable ANode) */
3836 void parser_prod__AExprAtArg__replace_child(val* self, val* p0, val* p1) {
3837 val* var_old_child /* var old_child: ANode */;
3838 val* var_new_child /* var new_child: nullable ANode */;
3839 val* var /* : AExpr */;
3840 short int var1 /* : Bool */;
3841 val* var2 /* : null */;
3842 short int var3 /* : Bool */;
3843 short int var4 /* : Bool */;
3844 int cltype;
3845 int idtype;
3846 var_old_child = p0;
3847 var_new_child = p1;
3848 var = self->attrs[COLOR_parser_nodes__AExprAtArg___n_expr].val; /* _n_expr on <self:AExprAtArg> */
3849 if (var == NULL) {
3850 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11324);
3852 show_backtrace(1);
3853 }
3854 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3855 if (var1){
3856 var2 = NULL;
3857 if (var_new_child == NULL) {
3858 var3 = 0; /* is null */
3859 } else {
3860 var3 = 1; /* arg is null and recv is not */
3861 }
3862 if (var3){
3863 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3864 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3865 cltype = type_parser_nodes__AExpr.color;
3866 idtype = type_parser_nodes__AExpr.id;
3867 if(cltype >= var_new_child->type->table_size) {
3868 var4 = 0;
3869 } else {
3870 var4 = var_new_child->type->type_table[cltype] == idtype;
3871 }
3872 if (!var4) {
3873 fprintf(stderr, "Runtime error: %s", "Assert failed");
3874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11327);
3875 show_backtrace(1);
3876 }
3877 self->attrs[COLOR_parser_nodes__AExprAtArg___n_expr].val = var_new_child; /* _n_expr on <self:AExprAtArg> */
3878 } else {
3879 fprintf(stderr, "Runtime error: %s", "Aborted");
3880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11330);
3881 show_backtrace(1);
3882 }
3883 goto RET_LABEL;
3884 } else {
3885 }
3886 RET_LABEL:;
3887 }
3888 /* method parser_prod#AExprAtArg#replace_child for (self: Object, ANode, nullable ANode) */
3889 void VIRTUAL_parser_prod__AExprAtArg__replace_child(val* self, val* p0, val* p1) {
3890 parser_prod__AExprAtArg__replace_child(self, p0, p1);
3891 RET_LABEL:;
3892 }
3893 /* method parser_prod#AExprAtArg#n_expr= for (self: AExprAtArg, AExpr) */
3894 void parser_prod__AExprAtArg__n_expr_61d(val* self, val* p0) {
3895 val* var_node /* var node: AExpr */;
3896 var_node = p0;
3897 self->attrs[COLOR_parser_nodes__AExprAtArg___n_expr].val = var_node; /* _n_expr on <self:AExprAtArg> */
3898 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3899 RET_LABEL:;
3900 }
3901 /* method parser_prod#AExprAtArg#n_expr= for (self: Object, AExpr) */
3902 void VIRTUAL_parser_prod__AExprAtArg__n_expr_61d(val* self, val* p0) {
3903 parser_prod__AExprAtArg__n_expr_61d(self, p0);
3904 RET_LABEL:;
3905 }
3906 /* method parser_prod#AExprAtArg#visit_all for (self: AExprAtArg, Visitor) */
3907 void parser_prod__AExprAtArg__visit_all(val* self, val* p0) {
3908 val* var_v /* var v: Visitor */;
3909 val* var /* : AExpr */;
3910 var_v = p0;
3911 var = self->attrs[COLOR_parser_nodes__AExprAtArg___n_expr].val; /* _n_expr on <self:AExprAtArg> */
3912 if (var == NULL) {
3913 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11345);
3915 show_backtrace(1);
3916 }
3917 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3918 RET_LABEL:;
3919 }
3920 /* method parser_prod#AExprAtArg#visit_all for (self: Object, Visitor) */
3921 void VIRTUAL_parser_prod__AExprAtArg__visit_all(val* self, val* p0) {
3922 parser_prod__AExprAtArg__visit_all(self, p0);
3923 RET_LABEL:;
3924 }
3925 /* method parser_prod#AAtAtArg#empty_init for (self: AAtAtArg) */
3926 void parser_prod__AAtAtArg__empty_init(val* self) {
3927 RET_LABEL:;
3928 }
3929 /* method parser_prod#AAtAtArg#empty_init for (self: Object) */
3930 void VIRTUAL_parser_prod__AAtAtArg__empty_init(val* self) {
3931 parser_prod__AAtAtArg__empty_init(self);
3932 RET_LABEL:;
3933 }
3934 /* method parser_prod#AAtAtArg#init_aatatarg for (self: AAtAtArg, nullable AAnnotations) */
3935 void parser_prod__AAtAtArg__init_aatatarg(val* self, val* p0) {
3936 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
3937 var_n_annotations = p0;
3938 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAtAtArg__empty_init]))(self) /* empty_init on <self:AAtAtArg>*/;
3939 if (var_n_annotations == NULL) {
3940 fprintf(stderr, "Runtime error: %s", "Cast failed");
3941 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11356);
3942 show_backtrace(1);
3943 }
3944 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AAtAtArg> */
3945 if (var_n_annotations == NULL) {
3946 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11357);
3948 show_backtrace(1);
3949 } else {
3950 ((void (*)(val*, val*))(var_n_annotations->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_annotations, self) /* parent= on <var_n_annotations:nullable AAnnotations>*/;
3951 }
3952 RET_LABEL:;
3953 }
3954 /* method parser_prod#AAtAtArg#init_aatatarg for (self: Object, nullable AAnnotations) */
3955 void VIRTUAL_parser_prod__AAtAtArg__init_aatatarg(val* self, val* p0) {
3956 parser_prod__AAtAtArg__init_aatatarg(self, p0);
3957 RET_LABEL:;
3958 }
3959 /* method parser_prod#AAtAtArg#replace_child for (self: AAtAtArg, ANode, nullable ANode) */
3960 void parser_prod__AAtAtArg__replace_child(val* self, val* p0, val* p1) {
3961 val* var_old_child /* var old_child: ANode */;
3962 val* var_new_child /* var new_child: nullable ANode */;
3963 val* var /* : nullable AAnnotations */;
3964 short int var1 /* : Bool */;
3965 val* var2 /* : null */;
3966 short int var3 /* : Bool */;
3967 short int var4 /* : Bool */;
3968 int cltype;
3969 int idtype;
3970 var_old_child = p0;
3971 var_new_child = p1;
3972 var = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAtAtArg> */
3973 if (var == NULL) {
3974 var1 = 0; /* <var_old_child:ANode> cannot be null */
3975 } else {
3976 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AAnnotations>*/;
3977 }
3978 if (var1){
3979 var2 = NULL;
3980 if (var_new_child == NULL) {
3981 var3 = 0; /* is null */
3982 } else {
3983 var3 = 1; /* arg is null and recv is not */
3984 }
3985 if (var3){
3986 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3987 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
3988 cltype = type_parser_nodes__AAnnotations.color;
3989 idtype = type_parser_nodes__AAnnotations.id;
3990 if(cltype >= var_new_child->type->table_size) {
3991 var4 = 0;
3992 } else {
3993 var4 = var_new_child->type->type_table[cltype] == idtype;
3994 }
3995 if (!var4) {
3996 fprintf(stderr, "Runtime error: %s", "Assert failed");
3997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11365);
3998 show_backtrace(1);
3999 }
4000 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AAtAtArg> */
4001 } else {
4002 fprintf(stderr, "Runtime error: %s", "Aborted");
4003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11368);
4004 show_backtrace(1);
4005 }
4006 goto RET_LABEL;
4007 } else {
4008 }
4009 RET_LABEL:;
4010 }
4011 /* method parser_prod#AAtAtArg#replace_child for (self: Object, ANode, nullable ANode) */
4012 void VIRTUAL_parser_prod__AAtAtArg__replace_child(val* self, val* p0, val* p1) {
4013 parser_prod__AAtAtArg__replace_child(self, p0, p1);
4014 RET_LABEL:;
4015 }
4016 /* method parser_prod#AAtAtArg#n_annotations= for (self: AAtAtArg, nullable AAnnotations) */
4017 void parser_prod__AAtAtArg__n_annotations_61d(val* self, val* p0) {
4018 val* var_node /* var node: nullable AAnnotations */;
4019 var_node = p0;
4020 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AAtAtArg> */
4021 if (var_node == NULL) {
4022 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11377);
4024 show_backtrace(1);
4025 } else {
4026 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations>*/;
4027 }
4028 RET_LABEL:;
4029 }
4030 /* method parser_prod#AAtAtArg#n_annotations= for (self: Object, nullable AAnnotations) */
4031 void VIRTUAL_parser_prod__AAtAtArg__n_annotations_61d(val* self, val* p0) {
4032 parser_prod__AAtAtArg__n_annotations_61d(self, p0);
4033 RET_LABEL:;
4034 }
4035 /* method parser_prod#AAtAtArg#visit_all for (self: AAtAtArg, Visitor) */
4036 void parser_prod__AAtAtArg__visit_all(val* self, val* p0) {
4037 val* var_v /* var v: Visitor */;
4038 val* var /* : nullable AAnnotations */;
4039 var_v = p0;
4040 var = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAtAtArg> */
4041 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4042 RET_LABEL:;
4043 }
4044 /* method parser_prod#AAtAtArg#visit_all for (self: Object, Visitor) */
4045 void VIRTUAL_parser_prod__AAtAtArg__visit_all(val* self, val* p0) {
4046 parser_prod__AAtAtArg__visit_all(self, p0);
4047 RET_LABEL:;
4048 }
4049 /* method parser_prod#AIdAtid#empty_init for (self: AIdAtid) */
4050 void parser_prod__AIdAtid__empty_init(val* self) {
4051 RET_LABEL:;
4052 }
4053 /* method parser_prod#AIdAtid#empty_init for (self: Object) */
4054 void VIRTUAL_parser_prod__AIdAtid__empty_init(val* self) {
4055 parser_prod__AIdAtid__empty_init(self);
4056 RET_LABEL:;
4057 }
4058 /* method parser_prod#AIdAtid#init_aidatid for (self: AIdAtid, nullable TId) */
4059 void parser_prod__AIdAtid__init_aidatid(val* self, val* p0) {
4060 val* var_n_id /* var n_id: nullable TId */;
4061 var_n_id = p0;
4062 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIdAtid__empty_init]))(self) /* empty_init on <self:AIdAtid>*/;
4063 if (var_n_id == NULL) {
4064 fprintf(stderr, "Runtime error: %s", "Cast failed");
4065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11394);
4066 show_backtrace(1);
4067 }
4068 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AIdAtid> */
4069 if (var_n_id == NULL) {
4070 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4071 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11395);
4072 show_backtrace(1);
4073 } else {
4074 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TId>*/;
4075 }
4076 RET_LABEL:;
4077 }
4078 /* method parser_prod#AIdAtid#init_aidatid for (self: Object, nullable TId) */
4079 void VIRTUAL_parser_prod__AIdAtid__init_aidatid(val* self, val* p0) {
4080 parser_prod__AIdAtid__init_aidatid(self, p0);
4081 RET_LABEL:;
4082 }
4083 /* method parser_prod#AIdAtid#replace_child for (self: AIdAtid, ANode, nullable ANode) */
4084 void parser_prod__AIdAtid__replace_child(val* self, val* p0, val* p1) {
4085 val* var_old_child /* var old_child: ANode */;
4086 val* var_new_child /* var new_child: nullable ANode */;
4087 val* var /* : Token */;
4088 short int var1 /* : Bool */;
4089 val* var2 /* : null */;
4090 short int var3 /* : Bool */;
4091 short int var4 /* : Bool */;
4092 int cltype;
4093 int idtype;
4094 var_old_child = p0;
4095 var_new_child = p1;
4096 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AIdAtid> */
4097 if (var == NULL) {
4098 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4099 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11400);
4100 show_backtrace(1);
4101 }
4102 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
4103 if (var1){
4104 var2 = NULL;
4105 if (var_new_child == NULL) {
4106 var3 = 0; /* is null */
4107 } else {
4108 var3 = 1; /* arg is null and recv is not */
4109 }
4110 if (var3){
4111 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4112 /* <var_new_child:nullable ANode(ANode)> isa TId */
4113 cltype = type_parser_nodes__TId.color;
4114 idtype = type_parser_nodes__TId.id;
4115 if(cltype >= var_new_child->type->table_size) {
4116 var4 = 0;
4117 } else {
4118 var4 = var_new_child->type->type_table[cltype] == idtype;
4119 }
4120 if (!var4) {
4121 fprintf(stderr, "Runtime error: %s", "Assert failed");
4122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11403);
4123 show_backtrace(1);
4124 }
4125 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_new_child; /* _n_id on <self:AIdAtid> */
4126 } else {
4127 fprintf(stderr, "Runtime error: %s", "Aborted");
4128 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11406);
4129 show_backtrace(1);
4130 }
4131 goto RET_LABEL;
4132 } else {
4133 }
4134 RET_LABEL:;
4135 }
4136 /* method parser_prod#AIdAtid#replace_child for (self: Object, ANode, nullable ANode) */
4137 void VIRTUAL_parser_prod__AIdAtid__replace_child(val* self, val* p0, val* p1) {
4138 parser_prod__AIdAtid__replace_child(self, p0, p1);
4139 RET_LABEL:;
4140 }
4141 /* method parser_prod#AIdAtid#n_id= for (self: AIdAtid, Token) */
4142 void parser_prod__AIdAtid__n_id_61d(val* self, val* p0) {
4143 val* var_node /* var node: Token */;
4144 var_node = p0;
4145 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AIdAtid> */
4146 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
4147 RET_LABEL:;
4148 }
4149 /* method parser_prod#AIdAtid#n_id= for (self: Object, Token) */
4150 void VIRTUAL_parser_prod__AIdAtid__n_id_61d(val* self, val* p0) {
4151 parser_prod__AIdAtid__n_id_61d(self, p0);
4152 RET_LABEL:;
4153 }
4154 /* method parser_prod#AIdAtid#visit_all for (self: AIdAtid, Visitor) */
4155 void parser_prod__AIdAtid__visit_all(val* self, val* p0) {
4156 val* var_v /* var v: Visitor */;
4157 val* var /* : Token */;
4158 var_v = p0;
4159 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AIdAtid> */
4160 if (var == NULL) {
4161 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4162 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11421);
4163 show_backtrace(1);
4164 }
4165 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4166 RET_LABEL:;
4167 }
4168 /* method parser_prod#AIdAtid#visit_all for (self: Object, Visitor) */
4169 void VIRTUAL_parser_prod__AIdAtid__visit_all(val* self, val* p0) {
4170 parser_prod__AIdAtid__visit_all(self, p0);
4171 RET_LABEL:;
4172 }
4173 /* method parser_prod#AKwexternAtid#empty_init for (self: AKwexternAtid) */
4174 void parser_prod__AKwexternAtid__empty_init(val* self) {
4175 RET_LABEL:;
4176 }
4177 /* method parser_prod#AKwexternAtid#empty_init for (self: Object) */
4178 void VIRTUAL_parser_prod__AKwexternAtid__empty_init(val* self) {
4179 parser_prod__AKwexternAtid__empty_init(self);
4180 RET_LABEL:;
4181 }
4182 /* method parser_prod#AKwexternAtid#init_akwexternatid for (self: AKwexternAtid, nullable TKwextern) */
4183 void parser_prod__AKwexternAtid__init_akwexternatid(val* self, val* p0) {
4184 val* var_n_id /* var n_id: nullable TKwextern */;
4185 var_n_id = p0;
4186 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AKwexternAtid__empty_init]))(self) /* empty_init on <self:AKwexternAtid>*/;
4187 if (var_n_id == NULL) {
4188 fprintf(stderr, "Runtime error: %s", "Cast failed");
4189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11432);
4190 show_backtrace(1);
4191 }
4192 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AKwexternAtid> */
4193 if (var_n_id == NULL) {
4194 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4195 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11433);
4196 show_backtrace(1);
4197 } else {
4198 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TKwextern>*/;
4199 }
4200 RET_LABEL:;
4201 }
4202 /* method parser_prod#AKwexternAtid#init_akwexternatid for (self: Object, nullable TKwextern) */
4203 void VIRTUAL_parser_prod__AKwexternAtid__init_akwexternatid(val* self, val* p0) {
4204 parser_prod__AKwexternAtid__init_akwexternatid(self, p0);
4205 RET_LABEL:;
4206 }
4207 /* method parser_prod#AKwexternAtid#replace_child for (self: AKwexternAtid, ANode, nullable ANode) */
4208 void parser_prod__AKwexternAtid__replace_child(val* self, val* p0, val* p1) {
4209 val* var_old_child /* var old_child: ANode */;
4210 val* var_new_child /* var new_child: nullable ANode */;
4211 val* var /* : Token */;
4212 short int var1 /* : Bool */;
4213 val* var2 /* : null */;
4214 short int var3 /* : Bool */;
4215 short int var4 /* : Bool */;
4216 int cltype;
4217 int idtype;
4218 var_old_child = p0;
4219 var_new_child = p1;
4220 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwexternAtid> */
4221 if (var == NULL) {
4222 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11438);
4224 show_backtrace(1);
4225 }
4226 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
4227 if (var1){
4228 var2 = NULL;
4229 if (var_new_child == NULL) {
4230 var3 = 0; /* is null */
4231 } else {
4232 var3 = 1; /* arg is null and recv is not */
4233 }
4234 if (var3){
4235 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4236 /* <var_new_child:nullable ANode(ANode)> isa TKwextern */
4237 cltype = type_parser_nodes__TKwextern.color;
4238 idtype = type_parser_nodes__TKwextern.id;
4239 if(cltype >= var_new_child->type->table_size) {
4240 var4 = 0;
4241 } else {
4242 var4 = var_new_child->type->type_table[cltype] == idtype;
4243 }
4244 if (!var4) {
4245 fprintf(stderr, "Runtime error: %s", "Assert failed");
4246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11441);
4247 show_backtrace(1);
4248 }
4249 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_new_child; /* _n_id on <self:AKwexternAtid> */
4250 } else {
4251 fprintf(stderr, "Runtime error: %s", "Aborted");
4252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11444);
4253 show_backtrace(1);
4254 }
4255 goto RET_LABEL;
4256 } else {
4257 }
4258 RET_LABEL:;
4259 }
4260 /* method parser_prod#AKwexternAtid#replace_child for (self: Object, ANode, nullable ANode) */
4261 void VIRTUAL_parser_prod__AKwexternAtid__replace_child(val* self, val* p0, val* p1) {
4262 parser_prod__AKwexternAtid__replace_child(self, p0, p1);
4263 RET_LABEL:;
4264 }
4265 /* method parser_prod#AKwexternAtid#n_id= for (self: AKwexternAtid, Token) */
4266 void parser_prod__AKwexternAtid__n_id_61d(val* self, val* p0) {
4267 val* var_node /* var node: Token */;
4268 var_node = p0;
4269 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AKwexternAtid> */
4270 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
4271 RET_LABEL:;
4272 }
4273 /* method parser_prod#AKwexternAtid#n_id= for (self: Object, Token) */
4274 void VIRTUAL_parser_prod__AKwexternAtid__n_id_61d(val* self, val* p0) {
4275 parser_prod__AKwexternAtid__n_id_61d(self, p0);
4276 RET_LABEL:;
4277 }
4278 /* method parser_prod#AKwexternAtid#visit_all for (self: AKwexternAtid, Visitor) */
4279 void parser_prod__AKwexternAtid__visit_all(val* self, val* p0) {
4280 val* var_v /* var v: Visitor */;
4281 val* var /* : Token */;
4282 var_v = p0;
4283 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwexternAtid> */
4284 if (var == NULL) {
4285 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11459);
4287 show_backtrace(1);
4288 }
4289 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4290 RET_LABEL:;
4291 }
4292 /* method parser_prod#AKwexternAtid#visit_all for (self: Object, Visitor) */
4293 void VIRTUAL_parser_prod__AKwexternAtid__visit_all(val* self, val* p0) {
4294 parser_prod__AKwexternAtid__visit_all(self, p0);
4295 RET_LABEL:;
4296 }
4297 /* method parser_prod#AKwinternAtid#empty_init for (self: AKwinternAtid) */
4298 void parser_prod__AKwinternAtid__empty_init(val* self) {
4299 RET_LABEL:;
4300 }
4301 /* method parser_prod#AKwinternAtid#empty_init for (self: Object) */
4302 void VIRTUAL_parser_prod__AKwinternAtid__empty_init(val* self) {
4303 parser_prod__AKwinternAtid__empty_init(self);
4304 RET_LABEL:;
4305 }
4306 /* method parser_prod#AKwinternAtid#init_akwinternatid for (self: AKwinternAtid, nullable TKwintern) */
4307 void parser_prod__AKwinternAtid__init_akwinternatid(val* self, val* p0) {
4308 val* var_n_id /* var n_id: nullable TKwintern */;
4309 var_n_id = p0;
4310 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AKwinternAtid__empty_init]))(self) /* empty_init on <self:AKwinternAtid>*/;
4311 if (var_n_id == NULL) {
4312 fprintf(stderr, "Runtime error: %s", "Cast failed");
4313 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11470);
4314 show_backtrace(1);
4315 }
4316 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AKwinternAtid> */
4317 if (var_n_id == NULL) {
4318 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11471);
4320 show_backtrace(1);
4321 } else {
4322 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TKwintern>*/;
4323 }
4324 RET_LABEL:;
4325 }
4326 /* method parser_prod#AKwinternAtid#init_akwinternatid for (self: Object, nullable TKwintern) */
4327 void VIRTUAL_parser_prod__AKwinternAtid__init_akwinternatid(val* self, val* p0) {
4328 parser_prod__AKwinternAtid__init_akwinternatid(self, p0);
4329 RET_LABEL:;
4330 }
4331 /* method parser_prod#AKwinternAtid#replace_child for (self: AKwinternAtid, ANode, nullable ANode) */
4332 void parser_prod__AKwinternAtid__replace_child(val* self, val* p0, val* p1) {
4333 val* var_old_child /* var old_child: ANode */;
4334 val* var_new_child /* var new_child: nullable ANode */;
4335 val* var /* : Token */;
4336 short int var1 /* : Bool */;
4337 val* var2 /* : null */;
4338 short int var3 /* : Bool */;
4339 short int var4 /* : Bool */;
4340 int cltype;
4341 int idtype;
4342 var_old_child = p0;
4343 var_new_child = p1;
4344 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwinternAtid> */
4345 if (var == NULL) {
4346 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11476);
4348 show_backtrace(1);
4349 }
4350 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
4351 if (var1){
4352 var2 = NULL;
4353 if (var_new_child == NULL) {
4354 var3 = 0; /* is null */
4355 } else {
4356 var3 = 1; /* arg is null and recv is not */
4357 }
4358 if (var3){
4359 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4360 /* <var_new_child:nullable ANode(ANode)> isa TKwintern */
4361 cltype = type_parser_nodes__TKwintern.color;
4362 idtype = type_parser_nodes__TKwintern.id;
4363 if(cltype >= var_new_child->type->table_size) {
4364 var4 = 0;
4365 } else {
4366 var4 = var_new_child->type->type_table[cltype] == idtype;
4367 }
4368 if (!var4) {
4369 fprintf(stderr, "Runtime error: %s", "Assert failed");
4370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11479);
4371 show_backtrace(1);
4372 }
4373 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_new_child; /* _n_id on <self:AKwinternAtid> */
4374 } else {
4375 fprintf(stderr, "Runtime error: %s", "Aborted");
4376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11482);
4377 show_backtrace(1);
4378 }
4379 goto RET_LABEL;
4380 } else {
4381 }
4382 RET_LABEL:;
4383 }
4384 /* method parser_prod#AKwinternAtid#replace_child for (self: Object, ANode, nullable ANode) */
4385 void VIRTUAL_parser_prod__AKwinternAtid__replace_child(val* self, val* p0, val* p1) {
4386 parser_prod__AKwinternAtid__replace_child(self, p0, p1);
4387 RET_LABEL:;
4388 }
4389 /* method parser_prod#AKwinternAtid#n_id= for (self: AKwinternAtid, Token) */
4390 void parser_prod__AKwinternAtid__n_id_61d(val* self, val* p0) {
4391 val* var_node /* var node: Token */;
4392 var_node = p0;
4393 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AKwinternAtid> */
4394 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
4395 RET_LABEL:;
4396 }
4397 /* method parser_prod#AKwinternAtid#n_id= for (self: Object, Token) */
4398 void VIRTUAL_parser_prod__AKwinternAtid__n_id_61d(val* self, val* p0) {
4399 parser_prod__AKwinternAtid__n_id_61d(self, p0);
4400 RET_LABEL:;
4401 }
4402 /* method parser_prod#AKwinternAtid#visit_all for (self: AKwinternAtid, Visitor) */
4403 void parser_prod__AKwinternAtid__visit_all(val* self, val* p0) {
4404 val* var_v /* var v: Visitor */;
4405 val* var /* : Token */;
4406 var_v = p0;
4407 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwinternAtid> */
4408 if (var == NULL) {
4409 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4410 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11497);
4411 show_backtrace(1);
4412 }
4413 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4414 RET_LABEL:;
4415 }
4416 /* method parser_prod#AKwinternAtid#visit_all for (self: Object, Visitor) */
4417 void VIRTUAL_parser_prod__AKwinternAtid__visit_all(val* self, val* p0) {
4418 parser_prod__AKwinternAtid__visit_all(self, p0);
4419 RET_LABEL:;
4420 }
4421 /* method parser_prod#AKwreadableAtid#empty_init for (self: AKwreadableAtid) */
4422 void parser_prod__AKwreadableAtid__empty_init(val* self) {
4423 RET_LABEL:;
4424 }
4425 /* method parser_prod#AKwreadableAtid#empty_init for (self: Object) */
4426 void VIRTUAL_parser_prod__AKwreadableAtid__empty_init(val* self) {
4427 parser_prod__AKwreadableAtid__empty_init(self);
4428 RET_LABEL:;
4429 }
4430 /* method parser_prod#AKwreadableAtid#init_akwreadableatid for (self: AKwreadableAtid, nullable TKwreadable) */
4431 void parser_prod__AKwreadableAtid__init_akwreadableatid(val* self, val* p0) {
4432 val* var_n_id /* var n_id: nullable TKwreadable */;
4433 var_n_id = p0;
4434 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AKwreadableAtid__empty_init]))(self) /* empty_init on <self:AKwreadableAtid>*/;
4435 if (var_n_id == NULL) {
4436 fprintf(stderr, "Runtime error: %s", "Cast failed");
4437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11508);
4438 show_backtrace(1);
4439 }
4440 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AKwreadableAtid> */
4441 if (var_n_id == NULL) {
4442 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11509);
4444 show_backtrace(1);
4445 } else {
4446 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TKwreadable>*/;
4447 }
4448 RET_LABEL:;
4449 }
4450 /* method parser_prod#AKwreadableAtid#init_akwreadableatid for (self: Object, nullable TKwreadable) */
4451 void VIRTUAL_parser_prod__AKwreadableAtid__init_akwreadableatid(val* self, val* p0) {
4452 parser_prod__AKwreadableAtid__init_akwreadableatid(self, p0);
4453 RET_LABEL:;
4454 }
4455 /* method parser_prod#AKwreadableAtid#replace_child for (self: AKwreadableAtid, ANode, nullable ANode) */
4456 void parser_prod__AKwreadableAtid__replace_child(val* self, val* p0, val* p1) {
4457 val* var_old_child /* var old_child: ANode */;
4458 val* var_new_child /* var new_child: nullable ANode */;
4459 val* var /* : Token */;
4460 short int var1 /* : Bool */;
4461 val* var2 /* : null */;
4462 short int var3 /* : Bool */;
4463 short int var4 /* : Bool */;
4464 int cltype;
4465 int idtype;
4466 var_old_child = p0;
4467 var_new_child = p1;
4468 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwreadableAtid> */
4469 if (var == NULL) {
4470 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11514);
4472 show_backtrace(1);
4473 }
4474 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
4475 if (var1){
4476 var2 = NULL;
4477 if (var_new_child == NULL) {
4478 var3 = 0; /* is null */
4479 } else {
4480 var3 = 1; /* arg is null and recv is not */
4481 }
4482 if (var3){
4483 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4484 /* <var_new_child:nullable ANode(ANode)> isa TKwreadable */
4485 cltype = type_parser_nodes__TKwreadable.color;
4486 idtype = type_parser_nodes__TKwreadable.id;
4487 if(cltype >= var_new_child->type->table_size) {
4488 var4 = 0;
4489 } else {
4490 var4 = var_new_child->type->type_table[cltype] == idtype;
4491 }
4492 if (!var4) {
4493 fprintf(stderr, "Runtime error: %s", "Assert failed");
4494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11517);
4495 show_backtrace(1);
4496 }
4497 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_new_child; /* _n_id on <self:AKwreadableAtid> */
4498 } else {
4499 fprintf(stderr, "Runtime error: %s", "Aborted");
4500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11520);
4501 show_backtrace(1);
4502 }
4503 goto RET_LABEL;
4504 } else {
4505 }
4506 RET_LABEL:;
4507 }
4508 /* method parser_prod#AKwreadableAtid#replace_child for (self: Object, ANode, nullable ANode) */
4509 void VIRTUAL_parser_prod__AKwreadableAtid__replace_child(val* self, val* p0, val* p1) {
4510 parser_prod__AKwreadableAtid__replace_child(self, p0, p1);
4511 RET_LABEL:;
4512 }
4513 /* method parser_prod#AKwreadableAtid#n_id= for (self: AKwreadableAtid, Token) */
4514 void parser_prod__AKwreadableAtid__n_id_61d(val* self, val* p0) {
4515 val* var_node /* var node: Token */;
4516 var_node = p0;
4517 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AKwreadableAtid> */
4518 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
4519 RET_LABEL:;
4520 }
4521 /* method parser_prod#AKwreadableAtid#n_id= for (self: Object, Token) */
4522 void VIRTUAL_parser_prod__AKwreadableAtid__n_id_61d(val* self, val* p0) {
4523 parser_prod__AKwreadableAtid__n_id_61d(self, p0);
4524 RET_LABEL:;
4525 }
4526 /* method parser_prod#AKwreadableAtid#visit_all for (self: AKwreadableAtid, Visitor) */
4527 void parser_prod__AKwreadableAtid__visit_all(val* self, val* p0) {
4528 val* var_v /* var v: Visitor */;
4529 val* var /* : Token */;
4530 var_v = p0;
4531 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwreadableAtid> */
4532 if (var == NULL) {
4533 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11535);
4535 show_backtrace(1);
4536 }
4537 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4538 RET_LABEL:;
4539 }
4540 /* method parser_prod#AKwreadableAtid#visit_all for (self: Object, Visitor) */
4541 void VIRTUAL_parser_prod__AKwreadableAtid__visit_all(val* self, val* p0) {
4542 parser_prod__AKwreadableAtid__visit_all(self, p0);
4543 RET_LABEL:;
4544 }
4545 /* method parser_prod#AKwwritableAtid#empty_init for (self: AKwwritableAtid) */
4546 void parser_prod__AKwwritableAtid__empty_init(val* self) {
4547 RET_LABEL:;
4548 }
4549 /* method parser_prod#AKwwritableAtid#empty_init for (self: Object) */
4550 void VIRTUAL_parser_prod__AKwwritableAtid__empty_init(val* self) {
4551 parser_prod__AKwwritableAtid__empty_init(self);
4552 RET_LABEL:;
4553 }
4554 /* method parser_prod#AKwwritableAtid#init_akwwritableatid for (self: AKwwritableAtid, nullable TKwwritable) */
4555 void parser_prod__AKwwritableAtid__init_akwwritableatid(val* self, val* p0) {
4556 val* var_n_id /* var n_id: nullable TKwwritable */;
4557 var_n_id = p0;
4558 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AKwwritableAtid__empty_init]))(self) /* empty_init on <self:AKwwritableAtid>*/;
4559 if (var_n_id == NULL) {
4560 fprintf(stderr, "Runtime error: %s", "Cast failed");
4561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11546);
4562 show_backtrace(1);
4563 }
4564 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AKwwritableAtid> */
4565 if (var_n_id == NULL) {
4566 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4567 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11547);
4568 show_backtrace(1);
4569 } else {
4570 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TKwwritable>*/;
4571 }
4572 RET_LABEL:;
4573 }
4574 /* method parser_prod#AKwwritableAtid#init_akwwritableatid for (self: Object, nullable TKwwritable) */
4575 void VIRTUAL_parser_prod__AKwwritableAtid__init_akwwritableatid(val* self, val* p0) {
4576 parser_prod__AKwwritableAtid__init_akwwritableatid(self, p0);
4577 RET_LABEL:;
4578 }
4579 /* method parser_prod#AKwwritableAtid#replace_child for (self: AKwwritableAtid, ANode, nullable ANode) */
4580 void parser_prod__AKwwritableAtid__replace_child(val* self, val* p0, val* p1) {
4581 val* var_old_child /* var old_child: ANode */;
4582 val* var_new_child /* var new_child: nullable ANode */;
4583 val* var /* : Token */;
4584 short int var1 /* : Bool */;
4585 val* var2 /* : null */;
4586 short int var3 /* : Bool */;
4587 short int var4 /* : Bool */;
4588 int cltype;
4589 int idtype;
4590 var_old_child = p0;
4591 var_new_child = p1;
4592 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwwritableAtid> */
4593 if (var == NULL) {
4594 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11552);
4596 show_backtrace(1);
4597 }
4598 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
4599 if (var1){
4600 var2 = NULL;
4601 if (var_new_child == NULL) {
4602 var3 = 0; /* is null */
4603 } else {
4604 var3 = 1; /* arg is null and recv is not */
4605 }
4606 if (var3){
4607 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4608 /* <var_new_child:nullable ANode(ANode)> isa TKwwritable */
4609 cltype = type_parser_nodes__TKwwritable.color;
4610 idtype = type_parser_nodes__TKwwritable.id;
4611 if(cltype >= var_new_child->type->table_size) {
4612 var4 = 0;
4613 } else {
4614 var4 = var_new_child->type->type_table[cltype] == idtype;
4615 }
4616 if (!var4) {
4617 fprintf(stderr, "Runtime error: %s", "Assert failed");
4618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11555);
4619 show_backtrace(1);
4620 }
4621 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_new_child; /* _n_id on <self:AKwwritableAtid> */
4622 } else {
4623 fprintf(stderr, "Runtime error: %s", "Aborted");
4624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11558);
4625 show_backtrace(1);
4626 }
4627 goto RET_LABEL;
4628 } else {
4629 }
4630 RET_LABEL:;
4631 }
4632 /* method parser_prod#AKwwritableAtid#replace_child for (self: Object, ANode, nullable ANode) */
4633 void VIRTUAL_parser_prod__AKwwritableAtid__replace_child(val* self, val* p0, val* p1) {
4634 parser_prod__AKwwritableAtid__replace_child(self, p0, p1);
4635 RET_LABEL:;
4636 }
4637 /* method parser_prod#AKwwritableAtid#n_id= for (self: AKwwritableAtid, Token) */
4638 void parser_prod__AKwwritableAtid__n_id_61d(val* self, val* p0) {
4639 val* var_node /* var node: Token */;
4640 var_node = p0;
4641 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AKwwritableAtid> */
4642 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
4643 RET_LABEL:;
4644 }
4645 /* method parser_prod#AKwwritableAtid#n_id= for (self: Object, Token) */
4646 void VIRTUAL_parser_prod__AKwwritableAtid__n_id_61d(val* self, val* p0) {
4647 parser_prod__AKwwritableAtid__n_id_61d(self, p0);
4648 RET_LABEL:;
4649 }
4650 /* method parser_prod#AKwwritableAtid#visit_all for (self: AKwwritableAtid, Visitor) */
4651 void parser_prod__AKwwritableAtid__visit_all(val* self, val* p0) {
4652 val* var_v /* var v: Visitor */;
4653 val* var /* : Token */;
4654 var_v = p0;
4655 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwwritableAtid> */
4656 if (var == NULL) {
4657 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11573);
4659 show_backtrace(1);
4660 }
4661 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4662 RET_LABEL:;
4663 }
4664 /* method parser_prod#AKwwritableAtid#visit_all for (self: Object, Visitor) */
4665 void VIRTUAL_parser_prod__AKwwritableAtid__visit_all(val* self, val* p0) {
4666 parser_prod__AKwwritableAtid__visit_all(self, p0);
4667 RET_LABEL:;
4668 }
4669 /* method parser_prod#AKwimportAtid#empty_init for (self: AKwimportAtid) */
4670 void parser_prod__AKwimportAtid__empty_init(val* self) {
4671 RET_LABEL:;
4672 }
4673 /* method parser_prod#AKwimportAtid#empty_init for (self: Object) */
4674 void VIRTUAL_parser_prod__AKwimportAtid__empty_init(val* self) {
4675 parser_prod__AKwimportAtid__empty_init(self);
4676 RET_LABEL:;
4677 }
4678 /* method parser_prod#AKwimportAtid#init_akwimportatid for (self: AKwimportAtid, nullable TKwimport) */
4679 void parser_prod__AKwimportAtid__init_akwimportatid(val* self, val* p0) {
4680 val* var_n_id /* var n_id: nullable TKwimport */;
4681 var_n_id = p0;
4682 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AKwimportAtid__empty_init]))(self) /* empty_init on <self:AKwimportAtid>*/;
4683 if (var_n_id == NULL) {
4684 fprintf(stderr, "Runtime error: %s", "Cast failed");
4685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11584);
4686 show_backtrace(1);
4687 }
4688 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_n_id; /* _n_id on <self:AKwimportAtid> */
4689 if (var_n_id == NULL) {
4690 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11585);
4692 show_backtrace(1);
4693 } else {
4694 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TKwimport>*/;
4695 }
4696 RET_LABEL:;
4697 }
4698 /* method parser_prod#AKwimportAtid#init_akwimportatid for (self: Object, nullable TKwimport) */
4699 void VIRTUAL_parser_prod__AKwimportAtid__init_akwimportatid(val* self, val* p0) {
4700 parser_prod__AKwimportAtid__init_akwimportatid(self, p0);
4701 RET_LABEL:;
4702 }
4703 /* method parser_prod#AKwimportAtid#replace_child for (self: AKwimportAtid, ANode, nullable ANode) */
4704 void parser_prod__AKwimportAtid__replace_child(val* self, val* p0, val* p1) {
4705 val* var_old_child /* var old_child: ANode */;
4706 val* var_new_child /* var new_child: nullable ANode */;
4707 val* var /* : Token */;
4708 short int var1 /* : Bool */;
4709 val* var2 /* : null */;
4710 short int var3 /* : Bool */;
4711 short int var4 /* : Bool */;
4712 int cltype;
4713 int idtype;
4714 var_old_child = p0;
4715 var_new_child = p1;
4716 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwimportAtid> */
4717 if (var == NULL) {
4718 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11590);
4720 show_backtrace(1);
4721 }
4722 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:Token>*/;
4723 if (var1){
4724 var2 = NULL;
4725 if (var_new_child == NULL) {
4726 var3 = 0; /* is null */
4727 } else {
4728 var3 = 1; /* arg is null and recv is not */
4729 }
4730 if (var3){
4731 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4732 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
4733 cltype = type_parser_nodes__TKwimport.color;
4734 idtype = type_parser_nodes__TKwimport.id;
4735 if(cltype >= var_new_child->type->table_size) {
4736 var4 = 0;
4737 } else {
4738 var4 = var_new_child->type->type_table[cltype] == idtype;
4739 }
4740 if (!var4) {
4741 fprintf(stderr, "Runtime error: %s", "Assert failed");
4742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11593);
4743 show_backtrace(1);
4744 }
4745 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_new_child; /* _n_id on <self:AKwimportAtid> */
4746 } else {
4747 fprintf(stderr, "Runtime error: %s", "Aborted");
4748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11596);
4749 show_backtrace(1);
4750 }
4751 goto RET_LABEL;
4752 } else {
4753 }
4754 RET_LABEL:;
4755 }
4756 /* method parser_prod#AKwimportAtid#replace_child for (self: Object, ANode, nullable ANode) */
4757 void VIRTUAL_parser_prod__AKwimportAtid__replace_child(val* self, val* p0, val* p1) {
4758 parser_prod__AKwimportAtid__replace_child(self, p0, p1);
4759 RET_LABEL:;
4760 }
4761 /* method parser_prod#AKwimportAtid#n_id= for (self: AKwimportAtid, Token) */
4762 void parser_prod__AKwimportAtid__n_id_61d(val* self, val* p0) {
4763 val* var_node /* var node: Token */;
4764 var_node = p0;
4765 self->attrs[COLOR_parser_nodes__AAtid___n_id].val = var_node; /* _n_id on <self:AKwimportAtid> */
4766 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:Token>*/;
4767 RET_LABEL:;
4768 }
4769 /* method parser_prod#AKwimportAtid#n_id= for (self: Object, Token) */
4770 void VIRTUAL_parser_prod__AKwimportAtid__n_id_61d(val* self, val* p0) {
4771 parser_prod__AKwimportAtid__n_id_61d(self, p0);
4772 RET_LABEL:;
4773 }
4774 /* method parser_prod#AKwimportAtid#visit_all for (self: AKwimportAtid, Visitor) */
4775 void parser_prod__AKwimportAtid__visit_all(val* self, val* p0) {
4776 val* var_v /* var v: Visitor */;
4777 val* var /* : Token */;
4778 var_v = p0;
4779 var = self->attrs[COLOR_parser_nodes__AAtid___n_id].val; /* _n_id on <self:AKwimportAtid> */
4780 if (var == NULL) {
4781 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11611);
4783 show_backtrace(1);
4784 }
4785 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4786 RET_LABEL:;
4787 }
4788 /* method parser_prod#AKwimportAtid#visit_all for (self: Object, Visitor) */
4789 void VIRTUAL_parser_prod__AKwimportAtid__visit_all(val* self, val* p0) {
4790 parser_prod__AKwimportAtid__visit_all(self, p0);
4791 RET_LABEL:;
4792 }
4793 /* method parser_prod#Start#replace_child for (self: Start, ANode, nullable ANode) */
4794 void parser_prod__Start__replace_child(val* self, val* p0, val* p1) {
4795 val* var_old_child /* var old_child: ANode */;
4796 val* var_new_child /* var new_child: nullable ANode */;
4797 val* var /* : nullable AModule */;
4798 short int var1 /* : Bool */;
4799 val* var2 /* : null */;
4800 short int var3 /* : Bool */;
4801 short int var4 /* : Bool */;
4802 int cltype;
4803 int idtype;
4804 val* var5 /* : null */;
4805 var_old_child = p0;
4806 var_new_child = p1;
4807 var = self->attrs[COLOR_parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
4808 if (var == NULL) {
4809 var1 = 0; /* <var_old_child:ANode> cannot be null */
4810 } else {
4811 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AModule>*/;
4812 }
4813 if (var1){
4814 var2 = NULL;
4815 if (var_new_child == NULL) {
4816 var3 = 1; /* is null */
4817 } else {
4818 var3 = 0; /* arg is null but recv is not */
4819 }
4820 if (var3){
4821 } else {
4822 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4823 /* <var_new_child:nullable ANode(ANode)> isa AModule */
4824 cltype = type_parser_nodes__AModule.color;
4825 idtype = type_parser_nodes__AModule.id;
4826 if(cltype >= var_new_child->type->table_size) {
4827 var4 = 0;
4828 } else {
4829 var4 = var_new_child->type->type_table[cltype] == idtype;
4830 }
4831 if (!var4) {
4832 fprintf(stderr, "Runtime error: %s", "Assert failed");
4833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11622);
4834 show_backtrace(1);
4835 }
4836 self->attrs[COLOR_parser_nodes__Start___n_base].val = var_new_child; /* _n_base on <self:Start> */
4837 }
4838 var5 = NULL;
4839 ((void (*)(val*, val*))(var_old_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_old_child, var5) /* parent= on <var_old_child:ANode>*/;
4840 goto RET_LABEL;
4841 } else {
4842 }
4843 RET_LABEL:;
4844 }
4845 /* method parser_prod#Start#replace_child for (self: Object, ANode, nullable ANode) */
4846 void VIRTUAL_parser_prod__Start__replace_child(val* self, val* p0, val* p1) {
4847 parser_prod__Start__replace_child(self, p0, p1);
4848 RET_LABEL:;
4849 }
4850 /* method parser_prod#Start#visit_all for (self: Start, Visitor) */
4851 void parser_prod__Start__visit_all(val* self, val* p0) {
4852 val* var_v /* var v: Visitor */;
4853 val* var /* : nullable AModule */;
4854 val* var1 /* : null */;
4855 short int var2 /* : Bool */;
4856 val* var3 /* : nullable AModule */;
4857 val* var4 /* : EOF */;
4858 var_v = p0;
4859 var = self->attrs[COLOR_parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
4860 var1 = NULL;
4861 if (var == NULL) {
4862 var2 = 0; /* is null */
4863 } else {
4864 var2 = 1; /* arg is null and recv is not */
4865 }
4866 if (var2){
4867 var3 = self->attrs[COLOR_parser_nodes__Start___n_base].val; /* _n_base on <self:Start> */
4868 if (var3 == NULL) {
4869 fprintf(stderr, "Runtime error: %s", "Cast failed");
4870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11633);
4871 show_backtrace(1);
4872 }
4873 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
4874 } else {
4875 }
4876 var4 = self->attrs[COLOR_parser_nodes__Start___n_eof].val; /* _n_eof on <self:Start> */
4877 if (var4 == NULL) {
4878 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_eof");
4879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 11635);
4880 show_backtrace(1);
4881 }
4882 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4883 RET_LABEL:;
4884 }
4885 /* method parser_prod#Start#visit_all for (self: Object, Visitor) */
4886 void VIRTUAL_parser_prod__Start__visit_all(val* self, val* p0) {
4887 parser_prod__Start__visit_all(self, p0);
4888 RET_LABEL:;
4889 }