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