2b8a38eccf4bb5803932483fef33d1cc304a1a06
[nit.git] / c_src / parser_prod.sep.1.c
1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#AModule#empty_init for (self: AModule) */
3 void parser_prod__AModule__empty_init(val* self) {
4 RET_LABEL:;
5 }
6 /* method parser_prod#AModule#empty_init for (self: Object) */
7 void VIRTUAL_parser_prod__AModule__empty_init(val* self) {
8 parser_prod__AModule__empty_init(self);
9 RET_LABEL:;
10 }
11 /* method parser_prod#AModule#init_amodule for (self: AModule, nullable AModuledecl, Collection[Object], Collection[Object], Collection[Object]) */
12 void parser_prod__AModule__init_amodule(val* self, val* p0, val* p1, val* p2, val* p3) {
13 val* var_n_moduledecl /* var n_moduledecl: nullable AModuledecl */;
14 val* var_n_imports /* var n_imports: Collection[Object] */;
15 val* var_n_extern_code_blocks /* var n_extern_code_blocks: Collection[Object] */;
16 val* var_n_classdefs /* var n_classdefs: Collection[Object] */;
17 val* var /* : null */;
18 short int var1 /* : Bool */;
19 val* var2 /* : Iterator[nullable Object] */;
20 short int var3 /* : Bool */;
21 val* var4 /* : nullable Object */;
22 val* var_n /* var n: Object */;
23 short int var5 /* : Bool */;
24 int cltype;
25 int idtype;
26 val* var6 /* : ANodes[AImport] */;
27 val* var7 /* : Iterator[nullable Object] */;
28 short int var8 /* : Bool */;
29 val* var9 /* : nullable Object */;
30 val* var_n10 /* var n: Object */;
31 short int var11 /* : Bool */;
32 int cltype12;
33 int idtype13;
34 val* var14 /* : ANodes[AExternCodeBlock] */;
35 val* var16 /* : Iterator[nullable Object] */;
36 short int var17 /* : Bool */;
37 val* var18 /* : nullable Object */;
38 val* var_n19 /* var n: Object */;
39 short int var20 /* : Bool */;
40 int cltype21;
41 int idtype22;
42 val* var23 /* : ANodes[AClassdef] */;
43 var_n_moduledecl = p0;
44 var_n_imports = p1;
45 var_n_extern_code_blocks = p2;
46 var_n_classdefs = p3;
47 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModule__empty_init]))(self) /* empty_init on <self:AModule>*/;
48 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_n_moduledecl; /* _n_moduledecl on <self:AModule> */
49 var = NULL;
50 if (var_n_moduledecl == NULL) {
51 var1 = 0; /* is null */
52 } else {
53 var1 = 1; /* arg is null and recv is not */
54 }
55 if (var1){
56 ((void (*)(val*, val*))(var_n_moduledecl->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_moduledecl, self) /* parent= on <var_n_moduledecl:nullable AModuledecl(AModuledecl)>*/;
57 } else {
58 }
59 var2 = ((val* (*)(val*))(var_n_imports->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_imports) /* iterator on <var_n_imports:Collection[Object]>*/;
60 for(;;) {
61 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
62 if(!var3) break;
63 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
64 var_n = var4;
65 /* <var_n:Object> isa AImport */
66 cltype = type_parser_nodes__AImport.color;
67 idtype = type_parser_nodes__AImport.id;
68 if(cltype >= var_n->type->table_size) {
69 var5 = 0;
70 } else {
71 var5 = var_n->type->type_table[cltype] == idtype;
72 }
73 if (!var5) {
74 fprintf(stderr, "Runtime error: %s", "Assert failed");
75 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 25);
76 show_backtrace(1);
77 }
78 var6 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
79 if (var6 == NULL) {
80 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
81 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 26);
82 show_backtrace(1);
83 }
84 ((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_n) /* add on <var6:ANodes[AImport]>*/;
85 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AImport)>*/;
86 CONTINUE_label: (void)0;
87 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
88 }
89 BREAK_label: (void)0;
90 var7 = ((val* (*)(val*))(var_n_extern_code_blocks->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_extern_code_blocks) /* iterator on <var_n_extern_code_blocks:Collection[Object]>*/;
91 for(;;) {
92 var8 = ((short int (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var7) /* is_ok on <var7:Iterator[nullable Object]>*/;
93 if(!var8) break;
94 var9 = ((val* (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__item]))(var7) /* item on <var7:Iterator[nullable Object]>*/;
95 var_n10 = var9;
96 /* <var_n10:Object> isa AExternCodeBlock */
97 cltype12 = type_parser_nodes__AExternCodeBlock.color;
98 idtype13 = type_parser_nodes__AExternCodeBlock.id;
99 if(cltype12 >= var_n10->type->table_size) {
100 var11 = 0;
101 } else {
102 var11 = var_n10->type->type_table[cltype12] == idtype13;
103 }
104 if (!var11) {
105 fprintf(stderr, "Runtime error: %s", "Assert failed");
106 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 30);
107 show_backtrace(1);
108 }
109 var14 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
110 if (var14 == NULL) {
111 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
112 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 31);
113 show_backtrace(1);
114 }
115 ((void (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var14, var_n10) /* add on <var14:ANodes[AExternCodeBlock]>*/;
116 ((void (*)(val*, val*))(var_n10->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n10, self) /* parent= on <var_n10:Object(AExternCodeBlock)>*/;
117 CONTINUE_label15: (void)0;
118 ((void (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__next]))(var7) /* next on <var7:Iterator[nullable Object]>*/;
119 }
120 BREAK_label15: (void)0;
121 var16 = ((val* (*)(val*))(var_n_classdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_classdefs) /* iterator on <var_n_classdefs:Collection[Object]>*/;
122 for(;;) {
123 var17 = ((short int (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var16) /* is_ok on <var16:Iterator[nullable Object]>*/;
124 if(!var17) break;
125 var18 = ((val* (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__item]))(var16) /* item on <var16:Iterator[nullable Object]>*/;
126 var_n19 = var18;
127 /* <var_n19:Object> isa AClassdef */
128 cltype21 = type_parser_nodes__AClassdef.color;
129 idtype22 = type_parser_nodes__AClassdef.id;
130 if(cltype21 >= var_n19->type->table_size) {
131 var20 = 0;
132 } else {
133 var20 = var_n19->type->type_table[cltype21] == idtype22;
134 }
135 if (!var20) {
136 fprintf(stderr, "Runtime error: %s", "Assert failed");
137 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 35);
138 show_backtrace(1);
139 }
140 var23 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
141 if (var23 == NULL) {
142 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 36);
144 show_backtrace(1);
145 }
146 ((void (*)(val*, val*))(var23->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var23, var_n19) /* add on <var23:ANodes[AClassdef]>*/;
147 ((void (*)(val*, val*))(var_n19->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n19, self) /* parent= on <var_n19:Object(AClassdef)>*/;
148 CONTINUE_label24: (void)0;
149 ((void (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__next]))(var16) /* next on <var16:Iterator[nullable Object]>*/;
150 }
151 BREAK_label24: (void)0;
152 RET_LABEL:;
153 }
154 /* method parser_prod#AModule#init_amodule for (self: Object, nullable AModuledecl, Collection[Object], Collection[Object], Collection[Object]) */
155 void VIRTUAL_parser_prod__AModule__init_amodule(val* self, val* p0, val* p1, val* p2, val* p3) {
156 parser_prod__AModule__init_amodule(self, p0, p1, p2, p3);
157 RET_LABEL:;
158 }
159 /* method parser_prod#AModule#replace_child for (self: AModule, ANode, nullable ANode) */
160 void parser_prod__AModule__replace_child(val* self, val* p0, val* p1) {
161 val* var_old_child /* var old_child: ANode */;
162 val* var_new_child /* var new_child: nullable ANode */;
163 val* var /* : nullable AModuledecl */;
164 short int var1 /* : Bool */;
165 val* var2 /* : null */;
166 short int var3 /* : Bool */;
167 short int var4 /* : Bool */;
168 int cltype;
169 int idtype;
170 val* var5 /* : null */;
171 val* var6 /* : Range[Int] */;
172 long var7 /* : Int */;
173 val* var8 /* : ANodes[AImport] */;
174 long var9 /* : Int */;
175 val* var10 /* : Discrete */;
176 val* var11 /* : Discrete */;
177 val* var12 /* : Iterator[nullable Object] */;
178 short int var13 /* : Bool */;
179 val* var14 /* : nullable Object */;
180 long var_i /* var i: Int */;
181 long var15 /* : Int */;
182 val* var16 /* : ANodes[AImport] */;
183 val* var17 /* : nullable Object */;
184 short int var18 /* : Bool */;
185 val* var19 /* : null */;
186 short int var20 /* : Bool */;
187 short int var21 /* : Bool */;
188 int cltype22;
189 int idtype23;
190 val* var24 /* : ANodes[AImport] */;
191 val* var25 /* : ANodes[AImport] */;
192 val* var26 /* : Range[Int] */;
193 long var27 /* : Int */;
194 val* var28 /* : ANodes[AExternCodeBlock] */;
195 long var29 /* : Int */;
196 val* var30 /* : Discrete */;
197 val* var31 /* : Discrete */;
198 val* var32 /* : Iterator[nullable Object] */;
199 short int var33 /* : Bool */;
200 val* var34 /* : nullable Object */;
201 long var_i35 /* var i: Int */;
202 long var36 /* : Int */;
203 val* var37 /* : ANodes[AExternCodeBlock] */;
204 val* var38 /* : nullable Object */;
205 short int var39 /* : Bool */;
206 val* var40 /* : null */;
207 short int var41 /* : Bool */;
208 short int var42 /* : Bool */;
209 int cltype43;
210 int idtype44;
211 val* var45 /* : ANodes[AExternCodeBlock] */;
212 val* var46 /* : ANodes[AExternCodeBlock] */;
213 val* var48 /* : Range[Int] */;
214 long var49 /* : Int */;
215 val* var50 /* : ANodes[AClassdef] */;
216 long var51 /* : Int */;
217 val* var52 /* : Discrete */;
218 val* var53 /* : Discrete */;
219 val* var54 /* : Iterator[nullable Object] */;
220 short int var55 /* : Bool */;
221 val* var56 /* : nullable Object */;
222 long var_i57 /* var i: Int */;
223 long var58 /* : Int */;
224 val* var59 /* : ANodes[AClassdef] */;
225 val* var60 /* : nullable Object */;
226 short int var61 /* : Bool */;
227 val* var62 /* : null */;
228 short int var63 /* : Bool */;
229 short int var64 /* : Bool */;
230 int cltype65;
231 int idtype66;
232 val* var67 /* : ANodes[AClassdef] */;
233 val* var68 /* : ANodes[AClassdef] */;
234 var_old_child = p0;
235 var_new_child = p1;
236 var = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
237 if (var == NULL) {
238 var1 = 0; /* <var_old_child:ANode> cannot be null */
239 } else {
240 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AModuledecl>*/;
241 }
242 if (var1){
243 var2 = NULL;
244 if (var_new_child == NULL) {
245 var3 = 0; /* is null */
246 } else {
247 var3 = 1; /* arg is null and recv is not */
248 }
249 if (var3){
250 ((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)>*/;
251 /* <var_new_child:nullable ANode(ANode)> isa AModuledecl */
252 cltype = type_parser_nodes__AModuledecl.color;
253 idtype = type_parser_nodes__AModuledecl.id;
254 if(cltype >= var_new_child->type->table_size) {
255 var4 = 0;
256 } else {
257 var4 = var_new_child->type->type_table[cltype] == idtype;
258 }
259 if (!var4) {
260 fprintf(stderr, "Runtime error: %s", "Assert failed");
261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 46);
262 show_backtrace(1);
263 }
264 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_new_child; /* _n_moduledecl on <self:AModule> */
265 } else {
266 var5 = NULL;
267 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var5; /* _n_moduledecl on <self:AModule> */
268 }
269 goto RET_LABEL;
270 } else {
271 }
272 var6 = NEW_range__Range(&type_range__Rangekernel__Int);
273 var7 = 0;
274 var8 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
275 if (var8 == NULL) {
276 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 53);
278 show_backtrace(1);
279 }
280 var9 = ((long (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__length]))(var8) /* length on <var8:ANodes[AImport]>*/;
281 var10 = BOX_kernel__Int(var7); /* autobox from Int to Discrete */
282 var11 = BOX_kernel__Int(var9); /* autobox from Int to Discrete */
283 ((void (*)(val*, val*, val*))(var6->class->vft[COLOR_range__Range__without_last]))(var6, var10, var11) /* without_last on <var6:Range[Int]>*/;
284 var12 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Collection__iterator]))(var6) /* iterator on <var6:Range[Int]>*/;
285 for(;;) {
286 var13 = ((short int (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var12) /* is_ok on <var12:Iterator[nullable Object]>*/;
287 if(!var13) break;
288 var14 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__item]))(var12) /* item on <var12:Iterator[nullable Object]>*/;
289 var15 = ((struct instance_kernel__Int*)var14)->value; /* autounbox from nullable Object to Int */;
290 var_i = var15;
291 var16 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
292 if (var16 == NULL) {
293 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 54);
295 show_backtrace(1);
296 }
297 var17 = ((val* (*)(val*, long))(var16->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var16, var_i) /* [] on <var16:ANodes[AImport]>*/;
298 var18 = ((short int (*)(val*, val*))(var17->class->vft[COLOR_kernel__Object___61d_61d]))(var17, var_old_child) /* == on <var17:nullable Object(AImport)>*/;
299 if (var18){
300 var19 = NULL;
301 if (var_new_child == NULL) {
302 var20 = 0; /* is null */
303 } else {
304 var20 = 1; /* arg is null and recv is not */
305 }
306 if (var20){
307 /* <var_new_child:nullable ANode(ANode)> isa AImport */
308 cltype22 = type_parser_nodes__AImport.color;
309 idtype23 = type_parser_nodes__AImport.id;
310 if(cltype22 >= var_new_child->type->table_size) {
311 var21 = 0;
312 } else {
313 var21 = var_new_child->type->type_table[cltype22] == idtype23;
314 }
315 if (!var21) {
316 fprintf(stderr, "Runtime error: %s", "Assert failed");
317 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 56);
318 show_backtrace(1);
319 }
320 var24 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
321 if (var24 == NULL) {
322 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 57);
324 show_backtrace(1);
325 }
326 ((void (*)(val*, long, val*))(var24->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var24, var_i, var_new_child) /* []= on <var24:ANodes[AImport]>*/;
327 ((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(AImport)>*/;
328 } else {
329 var25 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
330 if (var25 == NULL) {
331 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 60);
333 show_backtrace(1);
334 }
335 ((void (*)(val*, long))(var25->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var25, var_i) /* remove_at on <var25:ANodes[AImport]>*/;
336 }
337 goto RET_LABEL;
338 } else {
339 }
340 CONTINUE_label: (void)0;
341 ((void (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__next]))(var12) /* next on <var12:Iterator[nullable Object]>*/;
342 }
343 BREAK_label: (void)0;
344 var26 = NEW_range__Range(&type_range__Rangekernel__Int);
345 var27 = 0;
346 var28 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
347 if (var28 == NULL) {
348 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 65);
350 show_backtrace(1);
351 }
352 var29 = ((long (*)(val*))(var28->class->vft[COLOR_abstract_collection__Collection__length]))(var28) /* length on <var28:ANodes[AExternCodeBlock]>*/;
353 var30 = BOX_kernel__Int(var27); /* autobox from Int to Discrete */
354 var31 = BOX_kernel__Int(var29); /* autobox from Int to Discrete */
355 ((void (*)(val*, val*, val*))(var26->class->vft[COLOR_range__Range__without_last]))(var26, var30, var31) /* without_last on <var26:Range[Int]>*/;
356 var32 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on <var26:Range[Int]>*/;
357 for(;;) {
358 var33 = ((short int (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var32) /* is_ok on <var32:Iterator[nullable Object]>*/;
359 if(!var33) break;
360 var34 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__item]))(var32) /* item on <var32:Iterator[nullable Object]>*/;
361 var36 = ((struct instance_kernel__Int*)var34)->value; /* autounbox from nullable Object to Int */;
362 var_i35 = var36;
363 var37 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
364 if (var37 == NULL) {
365 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 66);
367 show_backtrace(1);
368 }
369 var38 = ((val* (*)(val*, long))(var37->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var37, var_i35) /* [] on <var37:ANodes[AExternCodeBlock]>*/;
370 var39 = ((short int (*)(val*, val*))(var38->class->vft[COLOR_kernel__Object___61d_61d]))(var38, var_old_child) /* == on <var38:nullable Object(AExternCodeBlock)>*/;
371 if (var39){
372 var40 = NULL;
373 if (var_new_child == NULL) {
374 var41 = 0; /* is null */
375 } else {
376 var41 = 1; /* arg is null and recv is not */
377 }
378 if (var41){
379 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
380 cltype43 = type_parser_nodes__AExternCodeBlock.color;
381 idtype44 = type_parser_nodes__AExternCodeBlock.id;
382 if(cltype43 >= var_new_child->type->table_size) {
383 var42 = 0;
384 } else {
385 var42 = var_new_child->type->type_table[cltype43] == idtype44;
386 }
387 if (!var42) {
388 fprintf(stderr, "Runtime error: %s", "Assert failed");
389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 68);
390 show_backtrace(1);
391 }
392 var45 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
393 if (var45 == NULL) {
394 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 69);
396 show_backtrace(1);
397 }
398 ((void (*)(val*, long, val*))(var45->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var45, var_i35, var_new_child) /* []= on <var45:ANodes[AExternCodeBlock]>*/;
399 ((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(AExternCodeBlock)>*/;
400 } else {
401 var46 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
402 if (var46 == NULL) {
403 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 72);
405 show_backtrace(1);
406 }
407 ((void (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var46, var_i35) /* remove_at on <var46:ANodes[AExternCodeBlock]>*/;
408 }
409 goto RET_LABEL;
410 } else {
411 }
412 CONTINUE_label47: (void)0;
413 ((void (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__next]))(var32) /* next on <var32:Iterator[nullable Object]>*/;
414 }
415 BREAK_label47: (void)0;
416 var48 = NEW_range__Range(&type_range__Rangekernel__Int);
417 var49 = 0;
418 var50 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
419 if (var50 == NULL) {
420 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 77);
422 show_backtrace(1);
423 }
424 var51 = ((long (*)(val*))(var50->class->vft[COLOR_abstract_collection__Collection__length]))(var50) /* length on <var50:ANodes[AClassdef]>*/;
425 var52 = BOX_kernel__Int(var49); /* autobox from Int to Discrete */
426 var53 = BOX_kernel__Int(var51); /* autobox from Int to Discrete */
427 ((void (*)(val*, val*, val*))(var48->class->vft[COLOR_range__Range__without_last]))(var48, var52, var53) /* without_last on <var48:Range[Int]>*/;
428 var54 = ((val* (*)(val*))(var48->class->vft[COLOR_abstract_collection__Collection__iterator]))(var48) /* iterator on <var48:Range[Int]>*/;
429 for(;;) {
430 var55 = ((short int (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var54) /* is_ok on <var54:Iterator[nullable Object]>*/;
431 if(!var55) break;
432 var56 = ((val* (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__item]))(var54) /* item on <var54:Iterator[nullable Object]>*/;
433 var58 = ((struct instance_kernel__Int*)var56)->value; /* autounbox from nullable Object to Int */;
434 var_i57 = var58;
435 var59 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
436 if (var59 == NULL) {
437 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 78);
439 show_backtrace(1);
440 }
441 var60 = ((val* (*)(val*, long))(var59->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var59, var_i57) /* [] on <var59:ANodes[AClassdef]>*/;
442 var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on <var60:nullable Object(AClassdef)>*/;
443 if (var61){
444 var62 = NULL;
445 if (var_new_child == NULL) {
446 var63 = 0; /* is null */
447 } else {
448 var63 = 1; /* arg is null and recv is not */
449 }
450 if (var63){
451 /* <var_new_child:nullable ANode(ANode)> isa AClassdef */
452 cltype65 = type_parser_nodes__AClassdef.color;
453 idtype66 = type_parser_nodes__AClassdef.id;
454 if(cltype65 >= var_new_child->type->table_size) {
455 var64 = 0;
456 } else {
457 var64 = var_new_child->type->type_table[cltype65] == idtype66;
458 }
459 if (!var64) {
460 fprintf(stderr, "Runtime error: %s", "Assert failed");
461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 80);
462 show_backtrace(1);
463 }
464 var67 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
465 if (var67 == NULL) {
466 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
467 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 81);
468 show_backtrace(1);
469 }
470 ((void (*)(val*, long, val*))(var67->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var67, var_i57, var_new_child) /* []= on <var67:ANodes[AClassdef]>*/;
471 ((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(AClassdef)>*/;
472 } else {
473 var68 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
474 if (var68 == NULL) {
475 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 84);
477 show_backtrace(1);
478 }
479 ((void (*)(val*, long))(var68->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var68, var_i57) /* remove_at on <var68:ANodes[AClassdef]>*/;
480 }
481 goto RET_LABEL;
482 } else {
483 }
484 CONTINUE_label69: (void)0;
485 ((void (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__next]))(var54) /* next on <var54:Iterator[nullable Object]>*/;
486 }
487 BREAK_label69: (void)0;
488 RET_LABEL:;
489 }
490 /* method parser_prod#AModule#replace_child for (self: Object, ANode, nullable ANode) */
491 void VIRTUAL_parser_prod__AModule__replace_child(val* self, val* p0, val* p1) {
492 parser_prod__AModule__replace_child(self, p0, p1);
493 RET_LABEL:;
494 }
495 /* method parser_prod#AModule#n_moduledecl= for (self: AModule, nullable AModuledecl) */
496 void parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) {
497 val* var_node /* var node: nullable AModuledecl */;
498 val* var /* : null */;
499 short int var1 /* : Bool */;
500 var_node = p0;
501 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_node; /* _n_moduledecl on <self:AModule> */
502 var = NULL;
503 if (var_node == NULL) {
504 var1 = 0; /* is null */
505 } else {
506 var1 = 1; /* arg is null and recv is not */
507 }
508 if (var1){
509 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AModuledecl(AModuledecl)>*/;
510 } else {
511 }
512 RET_LABEL:;
513 }
514 /* method parser_prod#AModule#n_moduledecl= for (self: Object, nullable AModuledecl) */
515 void VIRTUAL_parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) {
516 parser_prod__AModule__n_moduledecl_61d(self, p0);
517 RET_LABEL:;
518 }
519 /* method parser_prod#AModule#visit_all for (self: AModule, Visitor) */
520 void parser_prod__AModule__visit_all(val* self, val* p0) {
521 val* var_v /* var v: Visitor */;
522 val* var /* : nullable AModuledecl */;
523 val* var1 /* : null */;
524 short int var2 /* : Bool */;
525 val* var3 /* : nullable AModuledecl */;
526 val* var4 /* : ANodes[AImport] */;
527 val* var5 /* : Iterator[nullable Object] */;
528 short int var6 /* : Bool */;
529 val* var7 /* : nullable Object */;
530 val* var_n /* var n: AImport */;
531 val* var8 /* : ANodes[AExternCodeBlock] */;
532 val* var9 /* : Iterator[nullable Object] */;
533 short int var10 /* : Bool */;
534 val* var11 /* : nullable Object */;
535 val* var_n12 /* var n: AExternCodeBlock */;
536 val* var14 /* : ANodes[AClassdef] */;
537 val* var15 /* : Iterator[nullable Object] */;
538 short int var16 /* : Bool */;
539 val* var17 /* : nullable Object */;
540 val* var_n18 /* var n: AClassdef */;
541 var_v = p0;
542 var = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
543 var1 = NULL;
544 if (var == NULL) {
545 var2 = 0; /* is null */
546 } else {
547 var2 = 1; /* arg is null and recv is not */
548 }
549 if (var2){
550 var3 = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
551 if (var3 == NULL) {
552 fprintf(stderr, "Runtime error: %s", "Cast failed");
553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 103);
554 show_backtrace(1);
555 }
556 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
557 } else {
558 }
559 var4 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
560 if (var4 == NULL) {
561 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
562 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 105);
563 show_backtrace(1);
564 }
565 var5 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Collection__iterator]))(var4) /* iterator on <var4:ANodes[AImport]>*/;
566 for(;;) {
567 var6 = ((short int (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var5) /* is_ok on <var5:Iterator[nullable Object]>*/;
568 if(!var6) break;
569 var7 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__item]))(var5) /* item on <var5:Iterator[nullable Object]>*/;
570 var_n = var7;
571 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
572 CONTINUE_label: (void)0;
573 ((void (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__next]))(var5) /* next on <var5:Iterator[nullable Object]>*/;
574 }
575 BREAK_label: (void)0;
576 var8 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
577 if (var8 == NULL) {
578 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 108);
580 show_backtrace(1);
581 }
582 var9 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__iterator]))(var8) /* iterator on <var8:ANodes[AExternCodeBlock]>*/;
583 for(;;) {
584 var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on <var9:Iterator[nullable Object]>*/;
585 if(!var10) break;
586 var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on <var9:Iterator[nullable Object]>*/;
587 var_n12 = var11;
588 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n12) /* enter_visit on <var_v:Visitor>*/;
589 CONTINUE_label13: (void)0;
590 ((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on <var9:Iterator[nullable Object]>*/;
591 }
592 BREAK_label13: (void)0;
593 var14 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
594 if (var14 == NULL) {
595 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 111);
597 show_backtrace(1);
598 }
599 var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on <var14:ANodes[AClassdef]>*/;
600 for(;;) {
601 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
602 if(!var16) break;
603 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
604 var_n18 = var17;
605 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n18) /* enter_visit on <var_v:Visitor>*/;
606 CONTINUE_label19: (void)0;
607 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
608 }
609 BREAK_label19: (void)0;
610 RET_LABEL:;
611 }
612 /* method parser_prod#AModule#visit_all for (self: Object, Visitor) */
613 void VIRTUAL_parser_prod__AModule__visit_all(val* self, val* p0) {
614 parser_prod__AModule__visit_all(self, p0);
615 RET_LABEL:;
616 }
617 /* method parser_prod#AModuledecl#empty_init for (self: AModuledecl) */
618 void parser_prod__AModuledecl__empty_init(val* self) {
619 RET_LABEL:;
620 }
621 /* method parser_prod#AModuledecl#empty_init for (self: Object) */
622 void VIRTUAL_parser_prod__AModuledecl__empty_init(val* self) {
623 parser_prod__AModuledecl__empty_init(self);
624 RET_LABEL:;
625 }
626 /* method parser_prod#AModuledecl#init_amoduledecl for (self: AModuledecl, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */
627 void parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) {
628 val* var_n_doc /* var n_doc: nullable ADoc */;
629 val* var_n_kwmodule /* var n_kwmodule: nullable TKwmodule */;
630 val* var_n_name /* var n_name: nullable AModuleName */;
631 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
632 val* var /* : null */;
633 short int var1 /* : Bool */;
634 val* var2 /* : null */;
635 short int var3 /* : Bool */;
636 var_n_doc = p0;
637 var_n_kwmodule = p1;
638 var_n_name = p2;
639 var_n_annotations = p3;
640 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuledecl__empty_init]))(self) /* empty_init on <self:AModuledecl>*/;
641 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_n_doc; /* _n_doc on <self:AModuledecl> */
642 var = NULL;
643 if (var_n_doc == NULL) {
644 var1 = 0; /* is null */
645 } else {
646 var1 = 1; /* arg is null and recv is not */
647 }
648 if (var1){
649 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
650 } else {
651 }
652 if (var_n_kwmodule == NULL) {
653 fprintf(stderr, "Runtime error: %s", "Cast failed");
654 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 131);
655 show_backtrace(1);
656 }
657 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_n_kwmodule; /* _n_kwmodule on <self:AModuledecl> */
658 if (var_n_kwmodule == NULL) {
659 fprintf(stderr, "Runtime error: %s", "Reciever is null");
660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 132);
661 show_backtrace(1);
662 } else {
663 ((void (*)(val*, val*))(var_n_kwmodule->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmodule, self) /* parent= on <var_n_kwmodule:nullable TKwmodule>*/;
664 }
665 if (var_n_name == NULL) {
666 fprintf(stderr, "Runtime error: %s", "Cast failed");
667 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 133);
668 show_backtrace(1);
669 }
670 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_n_name; /* _n_name on <self:AModuledecl> */
671 if (var_n_name == NULL) {
672 fprintf(stderr, "Runtime error: %s", "Reciever is null");
673 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 134);
674 show_backtrace(1);
675 } else {
676 ((void (*)(val*, val*))(var_n_name->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_name, self) /* parent= on <var_n_name:nullable AModuleName>*/;
677 }
678 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AModuledecl> */
679 var2 = NULL;
680 if (var_n_annotations == NULL) {
681 var3 = 0; /* is null */
682 } else {
683 var3 = 1; /* arg is null and recv is not */
684 }
685 if (var3){
686 ((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)>*/;
687 } else {
688 }
689 RET_LABEL:;
690 }
691 /* method parser_prod#AModuledecl#init_amoduledecl for (self: Object, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */
692 void VIRTUAL_parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) {
693 parser_prod__AModuledecl__init_amoduledecl(self, p0, p1, p2, p3);
694 RET_LABEL:;
695 }
696 /* method parser_prod#AModuledecl#replace_child for (self: AModuledecl, ANode, nullable ANode) */
697 void parser_prod__AModuledecl__replace_child(val* self, val* p0, val* p1) {
698 val* var_old_child /* var old_child: ANode */;
699 val* var_new_child /* var new_child: nullable ANode */;
700 val* var /* : nullable ADoc */;
701 short int var1 /* : Bool */;
702 val* var2 /* : null */;
703 short int var3 /* : Bool */;
704 short int var4 /* : Bool */;
705 int cltype;
706 int idtype;
707 val* var5 /* : null */;
708 val* var6 /* : TKwmodule */;
709 short int var7 /* : Bool */;
710 val* var8 /* : null */;
711 short int var9 /* : Bool */;
712 short int var10 /* : Bool */;
713 int cltype11;
714 int idtype12;
715 val* var13 /* : AModuleName */;
716 short int var14 /* : Bool */;
717 val* var15 /* : null */;
718 short int var16 /* : Bool */;
719 short int var17 /* : Bool */;
720 int cltype18;
721 int idtype19;
722 val* var20 /* : nullable AAnnotations */;
723 short int var21 /* : Bool */;
724 val* var22 /* : null */;
725 short int var23 /* : Bool */;
726 short int var24 /* : Bool */;
727 int cltype25;
728 int idtype26;
729 val* var27 /* : null */;
730 var_old_child = p0;
731 var_new_child = p1;
732 var = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
733 if (var == NULL) {
734 var1 = 0; /* <var_old_child:ANode> cannot be null */
735 } else {
736 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
737 }
738 if (var1){
739 var2 = NULL;
740 if (var_new_child == NULL) {
741 var3 = 0; /* is null */
742 } else {
743 var3 = 1; /* arg is null and recv is not */
744 }
745 if (var3){
746 ((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)>*/;
747 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
748 cltype = type_parser_nodes__ADoc.color;
749 idtype = type_parser_nodes__ADoc.id;
750 if(cltype >= var_new_child->type->table_size) {
751 var4 = 0;
752 } else {
753 var4 = var_new_child->type->type_table[cltype] == idtype;
754 }
755 if (!var4) {
756 fprintf(stderr, "Runtime error: %s", "Assert failed");
757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 146);
758 show_backtrace(1);
759 }
760 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_new_child; /* _n_doc on <self:AModuledecl> */
761 } else {
762 var5 = NULL;
763 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var5; /* _n_doc on <self:AModuledecl> */
764 }
765 goto RET_LABEL;
766 } else {
767 }
768 var6 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on <self:AModuledecl> */
769 if (var6 == NULL) {
770 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmodule");
771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 153);
772 show_backtrace(1);
773 }
774 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:TKwmodule>*/;
775 if (var7){
776 var8 = NULL;
777 if (var_new_child == NULL) {
778 var9 = 0; /* is null */
779 } else {
780 var9 = 1; /* arg is null and recv is not */
781 }
782 if (var9){
783 ((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)>*/;
784 /* <var_new_child:nullable ANode(ANode)> isa TKwmodule */
785 cltype11 = type_parser_nodes__TKwmodule.color;
786 idtype12 = type_parser_nodes__TKwmodule.id;
787 if(cltype11 >= var_new_child->type->table_size) {
788 var10 = 0;
789 } else {
790 var10 = var_new_child->type->type_table[cltype11] == idtype12;
791 }
792 if (!var10) {
793 fprintf(stderr, "Runtime error: %s", "Assert failed");
794 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 156);
795 show_backtrace(1);
796 }
797 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_new_child; /* _n_kwmodule on <self:AModuledecl> */
798 } else {
799 fprintf(stderr, "Runtime error: %s", "Aborted");
800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 159);
801 show_backtrace(1);
802 }
803 goto RET_LABEL;
804 } else {
805 }
806 var13 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on <self:AModuledecl> */
807 if (var13 == NULL) {
808 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 163);
810 show_backtrace(1);
811 }
812 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AModuleName>*/;
813 if (var14){
814 var15 = NULL;
815 if (var_new_child == NULL) {
816 var16 = 0; /* is null */
817 } else {
818 var16 = 1; /* arg is null and recv is not */
819 }
820 if (var16){
821 ((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)>*/;
822 /* <var_new_child:nullable ANode(ANode)> isa AModuleName */
823 cltype18 = type_parser_nodes__AModuleName.color;
824 idtype19 = type_parser_nodes__AModuleName.id;
825 if(cltype18 >= var_new_child->type->table_size) {
826 var17 = 0;
827 } else {
828 var17 = var_new_child->type->type_table[cltype18] == idtype19;
829 }
830 if (!var17) {
831 fprintf(stderr, "Runtime error: %s", "Assert failed");
832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 166);
833 show_backtrace(1);
834 }
835 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_new_child; /* _n_name on <self:AModuledecl> */
836 } else {
837 fprintf(stderr, "Runtime error: %s", "Aborted");
838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 169);
839 show_backtrace(1);
840 }
841 goto RET_LABEL;
842 } else {
843 }
844 var20 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
845 if (var20 == NULL) {
846 var21 = 0; /* <var_old_child:ANode> cannot be null */
847 } else {
848 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:nullable AAnnotations>*/;
849 }
850 if (var21){
851 var22 = NULL;
852 if (var_new_child == NULL) {
853 var23 = 0; /* is null */
854 } else {
855 var23 = 1; /* arg is null and recv is not */
856 }
857 if (var23){
858 ((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)>*/;
859 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
860 cltype25 = type_parser_nodes__AAnnotations.color;
861 idtype26 = type_parser_nodes__AAnnotations.id;
862 if(cltype25 >= var_new_child->type->table_size) {
863 var24 = 0;
864 } else {
865 var24 = var_new_child->type->type_table[cltype25] == idtype26;
866 }
867 if (!var24) {
868 fprintf(stderr, "Runtime error: %s", "Assert failed");
869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 176);
870 show_backtrace(1);
871 }
872 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AModuledecl> */
873 } else {
874 var27 = NULL;
875 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var27; /* _n_annotations on <self:AModuledecl> */
876 }
877 goto RET_LABEL;
878 } else {
879 }
880 RET_LABEL:;
881 }
882 /* method parser_prod#AModuledecl#replace_child for (self: Object, ANode, nullable ANode) */
883 void VIRTUAL_parser_prod__AModuledecl__replace_child(val* self, val* p0, val* p1) {
884 parser_prod__AModuledecl__replace_child(self, p0, p1);
885 RET_LABEL:;
886 }
887 /* method parser_prod#AModuledecl#n_doc= for (self: AModuledecl, nullable ADoc) */
888 void parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) {
889 val* var_node /* var node: nullable ADoc */;
890 val* var /* : null */;
891 short int var1 /* : Bool */;
892 var_node = p0;
893 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_node; /* _n_doc on <self:AModuledecl> */
894 var = NULL;
895 if (var_node == NULL) {
896 var1 = 0; /* is null */
897 } else {
898 var1 = 1; /* arg is null and recv is not */
899 }
900 if (var1){
901 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
902 } else {
903 }
904 RET_LABEL:;
905 }
906 /* method parser_prod#AModuledecl#n_doc= for (self: Object, nullable ADoc) */
907 void VIRTUAL_parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) {
908 parser_prod__AModuledecl__n_doc_61d(self, p0);
909 RET_LABEL:;
910 }
911 /* method parser_prod#AModuledecl#n_kwmodule= for (self: AModuledecl, TKwmodule) */
912 void parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) {
913 val* var_node /* var node: TKwmodule */;
914 var_node = p0;
915 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_node; /* _n_kwmodule on <self:AModuledecl> */
916 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmodule>*/;
917 RET_LABEL:;
918 }
919 /* method parser_prod#AModuledecl#n_kwmodule= for (self: Object, TKwmodule) */
920 void VIRTUAL_parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) {
921 parser_prod__AModuledecl__n_kwmodule_61d(self, p0);
922 RET_LABEL:;
923 }
924 /* method parser_prod#AModuledecl#n_name= for (self: AModuledecl, AModuleName) */
925 void parser_prod__AModuledecl__n_name_61d(val* self, val* p0) {
926 val* var_node /* var node: AModuleName */;
927 var_node = p0;
928 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_node; /* _n_name on <self:AModuledecl> */
929 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AModuleName>*/;
930 RET_LABEL:;
931 }
932 /* method parser_prod#AModuledecl#n_name= for (self: Object, AModuleName) */
933 void VIRTUAL_parser_prod__AModuledecl__n_name_61d(val* self, val* p0) {
934 parser_prod__AModuledecl__n_name_61d(self, p0);
935 RET_LABEL:;
936 }
937 /* method parser_prod#AModuledecl#n_annotations= for (self: AModuledecl, nullable AAnnotations) */
938 void parser_prod__AModuledecl__n_annotations_61d(val* self, val* p0) {
939 val* var_node /* var node: nullable AAnnotations */;
940 val* var /* : null */;
941 short int var1 /* : Bool */;
942 var_node = p0;
943 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AModuledecl> */
944 var = NULL;
945 if (var_node == NULL) {
946 var1 = 0; /* is null */
947 } else {
948 var1 = 1; /* arg is null and recv is not */
949 }
950 if (var1){
951 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
952 } else {
953 }
954 RET_LABEL:;
955 }
956 /* method parser_prod#AModuledecl#n_annotations= for (self: Object, nullable AAnnotations) */
957 void VIRTUAL_parser_prod__AModuledecl__n_annotations_61d(val* self, val* p0) {
958 parser_prod__AModuledecl__n_annotations_61d(self, p0);
959 RET_LABEL:;
960 }
961 /* method parser_prod#AModuledecl#visit_all for (self: AModuledecl, Visitor) */
962 void parser_prod__AModuledecl__visit_all(val* self, val* p0) {
963 val* var_v /* var v: Visitor */;
964 val* var /* : nullable ADoc */;
965 val* var1 /* : null */;
966 short int var2 /* : Bool */;
967 val* var3 /* : nullable ADoc */;
968 val* var4 /* : TKwmodule */;
969 val* var5 /* : AModuleName */;
970 val* var6 /* : nullable AAnnotations */;
971 val* var7 /* : null */;
972 short int var8 /* : Bool */;
973 val* var9 /* : nullable AAnnotations */;
974 var_v = p0;
975 var = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
976 var1 = NULL;
977 if (var == NULL) {
978 var2 = 0; /* is null */
979 } else {
980 var2 = 1; /* arg is null and recv is not */
981 }
982 if (var2){
983 var3 = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
984 if (var3 == NULL) {
985 fprintf(stderr, "Runtime error: %s", "Cast failed");
986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 214);
987 show_backtrace(1);
988 }
989 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
990 } else {
991 }
992 var4 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on <self:AModuledecl> */
993 if (var4 == NULL) {
994 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmodule");
995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 216);
996 show_backtrace(1);
997 }
998 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
999 var5 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on <self:AModuledecl> */
1000 if (var5 == NULL) {
1001 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
1002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 217);
1003 show_backtrace(1);
1004 }
1005 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
1006 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
1007 var7 = NULL;
1008 if (var6 == NULL) {
1009 var8 = 0; /* is null */
1010 } else {
1011 var8 = 1; /* arg is null and recv is not */
1012 }
1013 if (var8){
1014 var9 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
1015 if (var9 == NULL) {
1016 fprintf(stderr, "Runtime error: %s", "Cast failed");
1017 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 219);
1018 show_backtrace(1);
1019 }
1020 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
1021 } else {
1022 }
1023 RET_LABEL:;
1024 }
1025 /* method parser_prod#AModuledecl#visit_all for (self: Object, Visitor) */
1026 void VIRTUAL_parser_prod__AModuledecl__visit_all(val* self, val* p0) {
1027 parser_prod__AModuledecl__visit_all(self, p0);
1028 RET_LABEL:;
1029 }
1030 /* method parser_prod#AStdImport#empty_init for (self: AStdImport) */
1031 void parser_prod__AStdImport__empty_init(val* self) {
1032 RET_LABEL:;
1033 }
1034 /* method parser_prod#AStdImport#empty_init for (self: Object) */
1035 void VIRTUAL_parser_prod__AStdImport__empty_init(val* self) {
1036 parser_prod__AStdImport__empty_init(self);
1037 RET_LABEL:;
1038 }
1039 /* method parser_prod#AStdImport#init_astdimport for (self: AStdImport, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */
1040 void parser_prod__AStdImport__init_astdimport(val* self, val* p0, val* p1, val* p2, val* p3) {
1041 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
1042 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
1043 val* var_n_name /* var n_name: nullable AModuleName */;
1044 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
1045 val* var /* : null */;
1046 short int var1 /* : Bool */;
1047 var_n_visibility = p0;
1048 var_n_kwimport = p1;
1049 var_n_name = p2;
1050 var_n_annotations = p3;
1051 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdImport__empty_init]))(self) /* empty_init on <self:AStdImport>*/;
1052 if (var_n_visibility == NULL) {
1053 fprintf(stderr, "Runtime error: %s", "Cast failed");
1054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 234);
1055 show_backtrace(1);
1056 }
1057 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AStdImport> */
1058 if (var_n_visibility == NULL) {
1059 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1060 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 235);
1061 show_backtrace(1);
1062 } else {
1063 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
1064 }
1065 if (var_n_kwimport == NULL) {
1066 fprintf(stderr, "Runtime error: %s", "Cast failed");
1067 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 236);
1068 show_backtrace(1);
1069 }
1070 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:AStdImport> */
1071 if (var_n_kwimport == NULL) {
1072 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 237);
1074 show_backtrace(1);
1075 } else {
1076 ((void (*)(val*, val*))(var_n_kwimport->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwimport, self) /* parent= on <var_n_kwimport:nullable TKwimport>*/;
1077 }
1078 if (var_n_name == NULL) {
1079 fprintf(stderr, "Runtime error: %s", "Cast failed");
1080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 238);
1081 show_backtrace(1);
1082 }
1083 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_n_name; /* _n_name on <self:AStdImport> */
1084 if (var_n_name == NULL) {
1085 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 239);
1087 show_backtrace(1);
1088 } else {
1089 ((void (*)(val*, val*))(var_n_name->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_name, self) /* parent= on <var_n_name:nullable AModuleName>*/;
1090 }
1091 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStdImport> */
1092 var = NULL;
1093 if (var_n_annotations == NULL) {
1094 var1 = 0; /* is null */
1095 } else {
1096 var1 = 1; /* arg is null and recv is not */
1097 }
1098 if (var1){
1099 ((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)>*/;
1100 } else {
1101 }
1102 RET_LABEL:;
1103 }
1104 /* method parser_prod#AStdImport#init_astdimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */
1105 void VIRTUAL_parser_prod__AStdImport__init_astdimport(val* self, val* p0, val* p1, val* p2, val* p3) {
1106 parser_prod__AStdImport__init_astdimport(self, p0, p1, p2, p3);
1107 RET_LABEL:;
1108 }
1109 /* method parser_prod#AStdImport#replace_child for (self: AStdImport, ANode, nullable ANode) */
1110 void parser_prod__AStdImport__replace_child(val* self, val* p0, val* p1) {
1111 val* var_old_child /* var old_child: ANode */;
1112 val* var_new_child /* var new_child: nullable ANode */;
1113 val* var /* : AVisibility */;
1114 short int var1 /* : Bool */;
1115 val* var2 /* : null */;
1116 short int var3 /* : Bool */;
1117 short int var4 /* : Bool */;
1118 int cltype;
1119 int idtype;
1120 val* var5 /* : TKwimport */;
1121 short int var6 /* : Bool */;
1122 val* var7 /* : null */;
1123 short int var8 /* : Bool */;
1124 short int var9 /* : Bool */;
1125 int cltype10;
1126 int idtype11;
1127 val* var12 /* : AModuleName */;
1128 short int var13 /* : Bool */;
1129 val* var14 /* : null */;
1130 short int var15 /* : Bool */;
1131 short int var16 /* : Bool */;
1132 int cltype17;
1133 int idtype18;
1134 val* var19 /* : nullable AAnnotations */;
1135 short int var20 /* : Bool */;
1136 val* var21 /* : null */;
1137 short int var22 /* : Bool */;
1138 short int var23 /* : Bool */;
1139 int cltype24;
1140 int idtype25;
1141 val* var26 /* : null */;
1142 var_old_child = p0;
1143 var_new_child = p1;
1144 var = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on <self:AStdImport> */
1145 if (var == NULL) {
1146 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 248);
1148 show_backtrace(1);
1149 }
1150 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AVisibility>*/;
1151 if (var1){
1152 var2 = NULL;
1153 if (var_new_child == NULL) {
1154 var3 = 0; /* is null */
1155 } else {
1156 var3 = 1; /* arg is null and recv is not */
1157 }
1158 if (var3){
1159 ((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)>*/;
1160 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
1161 cltype = type_parser_nodes__AVisibility.color;
1162 idtype = type_parser_nodes__AVisibility.id;
1163 if(cltype >= var_new_child->type->table_size) {
1164 var4 = 0;
1165 } else {
1166 var4 = var_new_child->type->type_table[cltype] == idtype;
1167 }
1168 if (!var4) {
1169 fprintf(stderr, "Runtime error: %s", "Assert failed");
1170 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 251);
1171 show_backtrace(1);
1172 }
1173 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_new_child; /* _n_visibility on <self:AStdImport> */
1174 } else {
1175 fprintf(stderr, "Runtime error: %s", "Aborted");
1176 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 254);
1177 show_backtrace(1);
1178 }
1179 goto RET_LABEL;
1180 } else {
1181 }
1182 var5 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on <self:AStdImport> */
1183 if (var5 == NULL) {
1184 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 258);
1186 show_backtrace(1);
1187 }
1188 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwimport>*/;
1189 if (var6){
1190 var7 = NULL;
1191 if (var_new_child == NULL) {
1192 var8 = 0; /* is null */
1193 } else {
1194 var8 = 1; /* arg is null and recv is not */
1195 }
1196 if (var8){
1197 ((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)>*/;
1198 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
1199 cltype10 = type_parser_nodes__TKwimport.color;
1200 idtype11 = type_parser_nodes__TKwimport.id;
1201 if(cltype10 >= var_new_child->type->table_size) {
1202 var9 = 0;
1203 } else {
1204 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1205 }
1206 if (!var9) {
1207 fprintf(stderr, "Runtime error: %s", "Assert failed");
1208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 261);
1209 show_backtrace(1);
1210 }
1211 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_new_child; /* _n_kwimport on <self:AStdImport> */
1212 } else {
1213 fprintf(stderr, "Runtime error: %s", "Aborted");
1214 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 264);
1215 show_backtrace(1);
1216 }
1217 goto RET_LABEL;
1218 } else {
1219 }
1220 var12 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on <self:AStdImport> */
1221 if (var12 == NULL) {
1222 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
1223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 268);
1224 show_backtrace(1);
1225 }
1226 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AModuleName>*/;
1227 if (var13){
1228 var14 = NULL;
1229 if (var_new_child == NULL) {
1230 var15 = 0; /* is null */
1231 } else {
1232 var15 = 1; /* arg is null and recv is not */
1233 }
1234 if (var15){
1235 ((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)>*/;
1236 /* <var_new_child:nullable ANode(ANode)> isa AModuleName */
1237 cltype17 = type_parser_nodes__AModuleName.color;
1238 idtype18 = type_parser_nodes__AModuleName.id;
1239 if(cltype17 >= var_new_child->type->table_size) {
1240 var16 = 0;
1241 } else {
1242 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1243 }
1244 if (!var16) {
1245 fprintf(stderr, "Runtime error: %s", "Assert failed");
1246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 271);
1247 show_backtrace(1);
1248 }
1249 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_new_child; /* _n_name on <self:AStdImport> */
1250 } else {
1251 fprintf(stderr, "Runtime error: %s", "Aborted");
1252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 274);
1253 show_backtrace(1);
1254 }
1255 goto RET_LABEL;
1256 } else {
1257 }
1258 var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1259 if (var19 == NULL) {
1260 var20 = 0; /* <var_old_child:ANode> cannot be null */
1261 } else {
1262 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AAnnotations>*/;
1263 }
1264 if (var20){
1265 var21 = NULL;
1266 if (var_new_child == NULL) {
1267 var22 = 0; /* is null */
1268 } else {
1269 var22 = 1; /* arg is null and recv is not */
1270 }
1271 if (var22){
1272 ((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)>*/;
1273 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
1274 cltype24 = type_parser_nodes__AAnnotations.color;
1275 idtype25 = type_parser_nodes__AAnnotations.id;
1276 if(cltype24 >= var_new_child->type->table_size) {
1277 var23 = 0;
1278 } else {
1279 var23 = var_new_child->type->type_table[cltype24] == idtype25;
1280 }
1281 if (!var23) {
1282 fprintf(stderr, "Runtime error: %s", "Assert failed");
1283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 281);
1284 show_backtrace(1);
1285 }
1286 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStdImport> */
1287 } else {
1288 var26 = NULL;
1289 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations on <self:AStdImport> */
1290 }
1291 goto RET_LABEL;
1292 } else {
1293 }
1294 RET_LABEL:;
1295 }
1296 /* method parser_prod#AStdImport#replace_child for (self: Object, ANode, nullable ANode) */
1297 void VIRTUAL_parser_prod__AStdImport__replace_child(val* self, val* p0, val* p1) {
1298 parser_prod__AStdImport__replace_child(self, p0, p1);
1299 RET_LABEL:;
1300 }
1301 /* method parser_prod#AStdImport#n_visibility= for (self: AStdImport, AVisibility) */
1302 void parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) {
1303 val* var_node /* var node: AVisibility */;
1304 var_node = p0;
1305 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_node; /* _n_visibility on <self:AStdImport> */
1306 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
1307 RET_LABEL:;
1308 }
1309 /* method parser_prod#AStdImport#n_visibility= for (self: Object, AVisibility) */
1310 void VIRTUAL_parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) {
1311 parser_prod__AStdImport__n_visibility_61d(self, p0);
1312 RET_LABEL:;
1313 }
1314 /* method parser_prod#AStdImport#n_kwimport= for (self: AStdImport, TKwimport) */
1315 void parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) {
1316 val* var_node /* var node: TKwimport */;
1317 var_node = p0;
1318 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_node; /* _n_kwimport on <self:AStdImport> */
1319 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
1320 RET_LABEL:;
1321 }
1322 /* method parser_prod#AStdImport#n_kwimport= for (self: Object, TKwimport) */
1323 void VIRTUAL_parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) {
1324 parser_prod__AStdImport__n_kwimport_61d(self, p0);
1325 RET_LABEL:;
1326 }
1327 /* method parser_prod#AStdImport#n_name= for (self: AStdImport, AModuleName) */
1328 void parser_prod__AStdImport__n_name_61d(val* self, val* p0) {
1329 val* var_node /* var node: AModuleName */;
1330 var_node = p0;
1331 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_node; /* _n_name on <self:AStdImport> */
1332 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AModuleName>*/;
1333 RET_LABEL:;
1334 }
1335 /* method parser_prod#AStdImport#n_name= for (self: Object, AModuleName) */
1336 void VIRTUAL_parser_prod__AStdImport__n_name_61d(val* self, val* p0) {
1337 parser_prod__AStdImport__n_name_61d(self, p0);
1338 RET_LABEL:;
1339 }
1340 /* method parser_prod#AStdImport#n_annotations= for (self: AStdImport, nullable AAnnotations) */
1341 void parser_prod__AStdImport__n_annotations_61d(val* self, val* p0) {
1342 val* var_node /* var node: nullable AAnnotations */;
1343 val* var /* : null */;
1344 short int var1 /* : Bool */;
1345 var_node = p0;
1346 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStdImport> */
1347 var = NULL;
1348 if (var_node == NULL) {
1349 var1 = 0; /* is null */
1350 } else {
1351 var1 = 1; /* arg is null and recv is not */
1352 }
1353 if (var1){
1354 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
1355 } else {
1356 }
1357 RET_LABEL:;
1358 }
1359 /* method parser_prod#AStdImport#n_annotations= for (self: Object, nullable AAnnotations) */
1360 void VIRTUAL_parser_prod__AStdImport__n_annotations_61d(val* self, val* p0) {
1361 parser_prod__AStdImport__n_annotations_61d(self, p0);
1362 RET_LABEL:;
1363 }
1364 /* method parser_prod#AStdImport#visit_all for (self: AStdImport, Visitor) */
1365 void parser_prod__AStdImport__visit_all(val* self, val* p0) {
1366 val* var_v /* var v: Visitor */;
1367 val* var /* : AVisibility */;
1368 val* var1 /* : TKwimport */;
1369 val* var2 /* : AModuleName */;
1370 val* var3 /* : nullable AAnnotations */;
1371 val* var4 /* : null */;
1372 short int var5 /* : Bool */;
1373 val* var6 /* : nullable AAnnotations */;
1374 var_v = p0;
1375 var = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on <self:AStdImport> */
1376 if (var == NULL) {
1377 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1378 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 316);
1379 show_backtrace(1);
1380 }
1381 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1382 var1 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on <self:AStdImport> */
1383 if (var1 == NULL) {
1384 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 317);
1386 show_backtrace(1);
1387 }
1388 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1389 var2 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on <self:AStdImport> */
1390 if (var2 == NULL) {
1391 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
1392 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 318);
1393 show_backtrace(1);
1394 }
1395 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1396 var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1397 var4 = NULL;
1398 if (var3 == NULL) {
1399 var5 = 0; /* is null */
1400 } else {
1401 var5 = 1; /* arg is null and recv is not */
1402 }
1403 if (var5){
1404 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1405 if (var6 == NULL) {
1406 fprintf(stderr, "Runtime error: %s", "Cast failed");
1407 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 320);
1408 show_backtrace(1);
1409 }
1410 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
1411 } else {
1412 }
1413 RET_LABEL:;
1414 }
1415 /* method parser_prod#AStdImport#visit_all for (self: Object, Visitor) */
1416 void VIRTUAL_parser_prod__AStdImport__visit_all(val* self, val* p0) {
1417 parser_prod__AStdImport__visit_all(self, p0);
1418 RET_LABEL:;
1419 }
1420 /* method parser_prod#ANoImport#empty_init for (self: ANoImport) */
1421 void parser_prod__ANoImport__empty_init(val* self) {
1422 RET_LABEL:;
1423 }
1424 /* method parser_prod#ANoImport#empty_init for (self: Object) */
1425 void VIRTUAL_parser_prod__ANoImport__empty_init(val* self) {
1426 parser_prod__ANoImport__empty_init(self);
1427 RET_LABEL:;
1428 }
1429 /* method parser_prod#ANoImport#init_anoimport for (self: ANoImport, nullable AVisibility, nullable TKwimport, nullable TKwend) */
1430 void parser_prod__ANoImport__init_anoimport(val* self, val* p0, val* p1, val* p2) {
1431 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
1432 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
1433 val* var_n_kwend /* var n_kwend: nullable TKwend */;
1434 var_n_visibility = p0;
1435 var_n_kwimport = p1;
1436 var_n_kwend = p2;
1437 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANoImport__empty_init]))(self) /* empty_init on <self:ANoImport>*/;
1438 if (var_n_visibility == NULL) {
1439 fprintf(stderr, "Runtime error: %s", "Cast failed");
1440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 334);
1441 show_backtrace(1);
1442 }
1443 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_n_visibility; /* _n_visibility on <self:ANoImport> */
1444 if (var_n_visibility == NULL) {
1445 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1446 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 335);
1447 show_backtrace(1);
1448 } else {
1449 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
1450 }
1451 if (var_n_kwimport == NULL) {
1452 fprintf(stderr, "Runtime error: %s", "Cast failed");
1453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 336);
1454 show_backtrace(1);
1455 }
1456 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:ANoImport> */
1457 if (var_n_kwimport == NULL) {
1458 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 337);
1460 show_backtrace(1);
1461 } else {
1462 ((void (*)(val*, val*))(var_n_kwimport->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwimport, self) /* parent= on <var_n_kwimport:nullable TKwimport>*/;
1463 }
1464 if (var_n_kwend == NULL) {
1465 fprintf(stderr, "Runtime error: %s", "Cast failed");
1466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 338);
1467 show_backtrace(1);
1468 }
1469 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_n_kwend; /* _n_kwend on <self:ANoImport> */
1470 if (var_n_kwend == NULL) {
1471 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 339);
1473 show_backtrace(1);
1474 } else {
1475 ((void (*)(val*, val*))(var_n_kwend->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwend, self) /* parent= on <var_n_kwend:nullable TKwend>*/;
1476 }
1477 RET_LABEL:;
1478 }
1479 /* method parser_prod#ANoImport#init_anoimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable TKwend) */
1480 void VIRTUAL_parser_prod__ANoImport__init_anoimport(val* self, val* p0, val* p1, val* p2) {
1481 parser_prod__ANoImport__init_anoimport(self, p0, p1, p2);
1482 RET_LABEL:;
1483 }
1484 /* method parser_prod#ANoImport#replace_child for (self: ANoImport, ANode, nullable ANode) */
1485 void parser_prod__ANoImport__replace_child(val* self, val* p0, val* p1) {
1486 val* var_old_child /* var old_child: ANode */;
1487 val* var_new_child /* var new_child: nullable ANode */;
1488 val* var /* : AVisibility */;
1489 short int var1 /* : Bool */;
1490 val* var2 /* : null */;
1491 short int var3 /* : Bool */;
1492 short int var4 /* : Bool */;
1493 int cltype;
1494 int idtype;
1495 val* var5 /* : TKwimport */;
1496 short int var6 /* : Bool */;
1497 val* var7 /* : null */;
1498 short int var8 /* : Bool */;
1499 short int var9 /* : Bool */;
1500 int cltype10;
1501 int idtype11;
1502 val* var12 /* : TKwend */;
1503 short int var13 /* : Bool */;
1504 val* var14 /* : null */;
1505 short int var15 /* : Bool */;
1506 short int var16 /* : Bool */;
1507 int cltype17;
1508 int idtype18;
1509 var_old_child = p0;
1510 var_new_child = p1;
1511 var = self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val; /* _n_visibility on <self:ANoImport> */
1512 if (var == NULL) {
1513 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1514 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 344);
1515 show_backtrace(1);
1516 }
1517 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AVisibility>*/;
1518 if (var1){
1519 var2 = NULL;
1520 if (var_new_child == NULL) {
1521 var3 = 0; /* is null */
1522 } else {
1523 var3 = 1; /* arg is null and recv is not */
1524 }
1525 if (var3){
1526 ((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)>*/;
1527 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
1528 cltype = type_parser_nodes__AVisibility.color;
1529 idtype = type_parser_nodes__AVisibility.id;
1530 if(cltype >= var_new_child->type->table_size) {
1531 var4 = 0;
1532 } else {
1533 var4 = var_new_child->type->type_table[cltype] == idtype;
1534 }
1535 if (!var4) {
1536 fprintf(stderr, "Runtime error: %s", "Assert failed");
1537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 347);
1538 show_backtrace(1);
1539 }
1540 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_new_child; /* _n_visibility on <self:ANoImport> */
1541 } else {
1542 fprintf(stderr, "Runtime error: %s", "Aborted");
1543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 350);
1544 show_backtrace(1);
1545 }
1546 goto RET_LABEL;
1547 } else {
1548 }
1549 var5 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on <self:ANoImport> */
1550 if (var5 == NULL) {
1551 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 354);
1553 show_backtrace(1);
1554 }
1555 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwimport>*/;
1556 if (var6){
1557 var7 = NULL;
1558 if (var_new_child == NULL) {
1559 var8 = 0; /* is null */
1560 } else {
1561 var8 = 1; /* arg is null and recv is not */
1562 }
1563 if (var8){
1564 ((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)>*/;
1565 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
1566 cltype10 = type_parser_nodes__TKwimport.color;
1567 idtype11 = type_parser_nodes__TKwimport.id;
1568 if(cltype10 >= var_new_child->type->table_size) {
1569 var9 = 0;
1570 } else {
1571 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1572 }
1573 if (!var9) {
1574 fprintf(stderr, "Runtime error: %s", "Assert failed");
1575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 357);
1576 show_backtrace(1);
1577 }
1578 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_new_child; /* _n_kwimport on <self:ANoImport> */
1579 } else {
1580 fprintf(stderr, "Runtime error: %s", "Aborted");
1581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 360);
1582 show_backtrace(1);
1583 }
1584 goto RET_LABEL;
1585 } else {
1586 }
1587 var12 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on <self:ANoImport> */
1588 if (var12 == NULL) {
1589 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
1590 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 364);
1591 show_backtrace(1);
1592 }
1593 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwend>*/;
1594 if (var13){
1595 var14 = NULL;
1596 if (var_new_child == NULL) {
1597 var15 = 0; /* is null */
1598 } else {
1599 var15 = 1; /* arg is null and recv is not */
1600 }
1601 if (var15){
1602 ((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)>*/;
1603 /* <var_new_child:nullable ANode(ANode)> isa TKwend */
1604 cltype17 = type_parser_nodes__TKwend.color;
1605 idtype18 = type_parser_nodes__TKwend.id;
1606 if(cltype17 >= var_new_child->type->table_size) {
1607 var16 = 0;
1608 } else {
1609 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1610 }
1611 if (!var16) {
1612 fprintf(stderr, "Runtime error: %s", "Assert failed");
1613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 367);
1614 show_backtrace(1);
1615 }
1616 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_new_child; /* _n_kwend on <self:ANoImport> */
1617 } else {
1618 fprintf(stderr, "Runtime error: %s", "Aborted");
1619 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 370);
1620 show_backtrace(1);
1621 }
1622 goto RET_LABEL;
1623 } else {
1624 }
1625 RET_LABEL:;
1626 }
1627 /* method parser_prod#ANoImport#replace_child for (self: Object, ANode, nullable ANode) */
1628 void VIRTUAL_parser_prod__ANoImport__replace_child(val* self, val* p0, val* p1) {
1629 parser_prod__ANoImport__replace_child(self, p0, p1);
1630 RET_LABEL:;
1631 }
1632 /* method parser_prod#ANoImport#n_visibility= for (self: ANoImport, AVisibility) */
1633 void parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) {
1634 val* var_node /* var node: AVisibility */;
1635 var_node = p0;
1636 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_node; /* _n_visibility on <self:ANoImport> */
1637 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
1638 RET_LABEL:;
1639 }
1640 /* method parser_prod#ANoImport#n_visibility= for (self: Object, AVisibility) */
1641 void VIRTUAL_parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) {
1642 parser_prod__ANoImport__n_visibility_61d(self, p0);
1643 RET_LABEL:;
1644 }
1645 /* method parser_prod#ANoImport#n_kwimport= for (self: ANoImport, TKwimport) */
1646 void parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) {
1647 val* var_node /* var node: TKwimport */;
1648 var_node = p0;
1649 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_node; /* _n_kwimport on <self:ANoImport> */
1650 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
1651 RET_LABEL:;
1652 }
1653 /* method parser_prod#ANoImport#n_kwimport= for (self: Object, TKwimport) */
1654 void VIRTUAL_parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) {
1655 parser_prod__ANoImport__n_kwimport_61d(self, p0);
1656 RET_LABEL:;
1657 }
1658 /* method parser_prod#ANoImport#n_kwend= for (self: ANoImport, TKwend) */
1659 void parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) {
1660 val* var_node /* var node: TKwend */;
1661 var_node = p0;
1662 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_node; /* _n_kwend on <self:ANoImport> */
1663 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwend>*/;
1664 RET_LABEL:;
1665 }
1666 /* method parser_prod#ANoImport#n_kwend= for (self: Object, TKwend) */
1667 void VIRTUAL_parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) {
1668 parser_prod__ANoImport__n_kwend_61d(self, p0);
1669 RET_LABEL:;
1670 }
1671 /* method parser_prod#ANoImport#visit_all for (self: ANoImport, Visitor) */
1672 void parser_prod__ANoImport__visit_all(val* self, val* p0) {
1673 val* var_v /* var v: Visitor */;
1674 val* var /* : AVisibility */;
1675 val* var1 /* : TKwimport */;
1676 val* var2 /* : TKwend */;
1677 var_v = p0;
1678 var = self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val; /* _n_visibility on <self:ANoImport> */
1679 if (var == NULL) {
1680 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 395);
1682 show_backtrace(1);
1683 }
1684 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1685 var1 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on <self:ANoImport> */
1686 if (var1 == NULL) {
1687 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1688 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 396);
1689 show_backtrace(1);
1690 }
1691 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1692 var2 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on <self:ANoImport> */
1693 if (var2 == NULL) {
1694 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
1695 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 397);
1696 show_backtrace(1);
1697 }
1698 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1699 RET_LABEL:;
1700 }
1701 /* method parser_prod#ANoImport#visit_all for (self: Object, Visitor) */
1702 void VIRTUAL_parser_prod__ANoImport__visit_all(val* self, val* p0) {
1703 parser_prod__ANoImport__visit_all(self, p0);
1704 RET_LABEL:;
1705 }
1706 /* method parser_prod#APublicVisibility#empty_init for (self: APublicVisibility) */
1707 void parser_prod__APublicVisibility__empty_init(val* self) {
1708 RET_LABEL:;
1709 }
1710 /* method parser_prod#APublicVisibility#empty_init for (self: Object) */
1711 void VIRTUAL_parser_prod__APublicVisibility__empty_init(val* self) {
1712 parser_prod__APublicVisibility__empty_init(self);
1713 RET_LABEL:;
1714 }
1715 /* method parser_prod#APublicVisibility#init_apublicvisibility for (self: APublicVisibility) */
1716 void parser_prod__APublicVisibility__init_apublicvisibility(val* self) {
1717 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APublicVisibility__empty_init]))(self) /* empty_init on <self:APublicVisibility>*/;
1718 RET_LABEL:;
1719 }
1720 /* method parser_prod#APublicVisibility#init_apublicvisibility for (self: Object) */
1721 void VIRTUAL_parser_prod__APublicVisibility__init_apublicvisibility(val* self) {
1722 parser_prod__APublicVisibility__init_apublicvisibility(self);
1723 RET_LABEL:;
1724 }
1725 /* method parser_prod#APublicVisibility#replace_child for (self: APublicVisibility, ANode, nullable ANode) */
1726 void parser_prod__APublicVisibility__replace_child(val* self, val* p0, val* p1) {
1727 val* var_old_child /* var old_child: ANode */;
1728 val* var_new_child /* var new_child: nullable ANode */;
1729 var_old_child = p0;
1730 var_new_child = p1;
1731 RET_LABEL:;
1732 }
1733 /* method parser_prod#APublicVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1734 void VIRTUAL_parser_prod__APublicVisibility__replace_child(val* self, val* p0, val* p1) {
1735 parser_prod__APublicVisibility__replace_child(self, p0, p1);
1736 RET_LABEL:;
1737 }
1738 /* method parser_prod#APublicVisibility#visit_all for (self: APublicVisibility, Visitor) */
1739 void parser_prod__APublicVisibility__visit_all(val* self, val* p0) {
1740 val* var_v /* var v: Visitor */;
1741 var_v = p0;
1742 RET_LABEL:;
1743 }
1744 /* method parser_prod#APublicVisibility#visit_all for (self: Object, Visitor) */
1745 void VIRTUAL_parser_prod__APublicVisibility__visit_all(val* self, val* p0) {
1746 parser_prod__APublicVisibility__visit_all(self, p0);
1747 RET_LABEL:;
1748 }
1749 /* method parser_prod#APrivateVisibility#empty_init for (self: APrivateVisibility) */
1750 void parser_prod__APrivateVisibility__empty_init(val* self) {
1751 RET_LABEL:;
1752 }
1753 /* method parser_prod#APrivateVisibility#empty_init for (self: Object) */
1754 void VIRTUAL_parser_prod__APrivateVisibility__empty_init(val* self) {
1755 parser_prod__APrivateVisibility__empty_init(self);
1756 RET_LABEL:;
1757 }
1758 /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: APrivateVisibility, nullable TKwprivate) */
1759 void parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) {
1760 val* var_n_kwprivate /* var n_kwprivate: nullable TKwprivate */;
1761 var_n_kwprivate = p0;
1762 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APrivateVisibility__empty_init]))(self) /* empty_init on <self:APrivateVisibility>*/;
1763 if (var_n_kwprivate == NULL) {
1764 fprintf(stderr, "Runtime error: %s", "Cast failed");
1765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 426);
1766 show_backtrace(1);
1767 }
1768 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_n_kwprivate; /* _n_kwprivate on <self:APrivateVisibility> */
1769 if (var_n_kwprivate == NULL) {
1770 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 427);
1772 show_backtrace(1);
1773 } else {
1774 ((void (*)(val*, val*))(var_n_kwprivate->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwprivate, self) /* parent= on <var_n_kwprivate:nullable TKwprivate>*/;
1775 }
1776 RET_LABEL:;
1777 }
1778 /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: Object, nullable TKwprivate) */
1779 void VIRTUAL_parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) {
1780 parser_prod__APrivateVisibility__init_aprivatevisibility(self, p0);
1781 RET_LABEL:;
1782 }
1783 /* method parser_prod#APrivateVisibility#replace_child for (self: APrivateVisibility, ANode, nullable ANode) */
1784 void parser_prod__APrivateVisibility__replace_child(val* self, val* p0, val* p1) {
1785 val* var_old_child /* var old_child: ANode */;
1786 val* var_new_child /* var new_child: nullable ANode */;
1787 val* var /* : TKwprivate */;
1788 short int var1 /* : Bool */;
1789 val* var2 /* : null */;
1790 short int var3 /* : Bool */;
1791 short int var4 /* : Bool */;
1792 int cltype;
1793 int idtype;
1794 var_old_child = p0;
1795 var_new_child = p1;
1796 var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on <self:APrivateVisibility> */
1797 if (var == NULL) {
1798 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprivate");
1799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 432);
1800 show_backtrace(1);
1801 }
1802 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwprivate>*/;
1803 if (var1){
1804 var2 = NULL;
1805 if (var_new_child == NULL) {
1806 var3 = 0; /* is null */
1807 } else {
1808 var3 = 1; /* arg is null and recv is not */
1809 }
1810 if (var3){
1811 ((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)>*/;
1812 /* <var_new_child:nullable ANode(ANode)> isa TKwprivate */
1813 cltype = type_parser_nodes__TKwprivate.color;
1814 idtype = type_parser_nodes__TKwprivate.id;
1815 if(cltype >= var_new_child->type->table_size) {
1816 var4 = 0;
1817 } else {
1818 var4 = var_new_child->type->type_table[cltype] == idtype;
1819 }
1820 if (!var4) {
1821 fprintf(stderr, "Runtime error: %s", "Assert failed");
1822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 435);
1823 show_backtrace(1);
1824 }
1825 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_new_child; /* _n_kwprivate on <self:APrivateVisibility> */
1826 } else {
1827 fprintf(stderr, "Runtime error: %s", "Aborted");
1828 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 438);
1829 show_backtrace(1);
1830 }
1831 goto RET_LABEL;
1832 } else {
1833 }
1834 RET_LABEL:;
1835 }
1836 /* method parser_prod#APrivateVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1837 void VIRTUAL_parser_prod__APrivateVisibility__replace_child(val* self, val* p0, val* p1) {
1838 parser_prod__APrivateVisibility__replace_child(self, p0, p1);
1839 RET_LABEL:;
1840 }
1841 /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: APrivateVisibility, TKwprivate) */
1842 void parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) {
1843 val* var_node /* var node: TKwprivate */;
1844 var_node = p0;
1845 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_node; /* _n_kwprivate on <self:APrivateVisibility> */
1846 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwprivate>*/;
1847 RET_LABEL:;
1848 }
1849 /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: Object, TKwprivate) */
1850 void VIRTUAL_parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) {
1851 parser_prod__APrivateVisibility__n_kwprivate_61d(self, p0);
1852 RET_LABEL:;
1853 }
1854 /* method parser_prod#APrivateVisibility#visit_all for (self: APrivateVisibility, Visitor) */
1855 void parser_prod__APrivateVisibility__visit_all(val* self, val* p0) {
1856 val* var_v /* var v: Visitor */;
1857 val* var /* : TKwprivate */;
1858 var_v = p0;
1859 var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on <self:APrivateVisibility> */
1860 if (var == NULL) {
1861 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprivate");
1862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 453);
1863 show_backtrace(1);
1864 }
1865 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1866 RET_LABEL:;
1867 }
1868 /* method parser_prod#APrivateVisibility#visit_all for (self: Object, Visitor) */
1869 void VIRTUAL_parser_prod__APrivateVisibility__visit_all(val* self, val* p0) {
1870 parser_prod__APrivateVisibility__visit_all(self, p0);
1871 RET_LABEL:;
1872 }
1873 /* method parser_prod#AProtectedVisibility#empty_init for (self: AProtectedVisibility) */
1874 void parser_prod__AProtectedVisibility__empty_init(val* self) {
1875 RET_LABEL:;
1876 }
1877 /* method parser_prod#AProtectedVisibility#empty_init for (self: Object) */
1878 void VIRTUAL_parser_prod__AProtectedVisibility__empty_init(val* self) {
1879 parser_prod__AProtectedVisibility__empty_init(self);
1880 RET_LABEL:;
1881 }
1882 /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: AProtectedVisibility, nullable TKwprotected) */
1883 void parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) {
1884 val* var_n_kwprotected /* var n_kwprotected: nullable TKwprotected */;
1885 var_n_kwprotected = p0;
1886 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AProtectedVisibility__empty_init]))(self) /* empty_init on <self:AProtectedVisibility>*/;
1887 if (var_n_kwprotected == NULL) {
1888 fprintf(stderr, "Runtime error: %s", "Cast failed");
1889 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 464);
1890 show_backtrace(1);
1891 }
1892 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_n_kwprotected; /* _n_kwprotected on <self:AProtectedVisibility> */
1893 if (var_n_kwprotected == NULL) {
1894 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 465);
1896 show_backtrace(1);
1897 } else {
1898 ((void (*)(val*, val*))(var_n_kwprotected->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwprotected, self) /* parent= on <var_n_kwprotected:nullable TKwprotected>*/;
1899 }
1900 RET_LABEL:;
1901 }
1902 /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: Object, nullable TKwprotected) */
1903 void VIRTUAL_parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) {
1904 parser_prod__AProtectedVisibility__init_aprotectedvisibility(self, p0);
1905 RET_LABEL:;
1906 }
1907 /* method parser_prod#AProtectedVisibility#replace_child for (self: AProtectedVisibility, ANode, nullable ANode) */
1908 void parser_prod__AProtectedVisibility__replace_child(val* self, val* p0, val* p1) {
1909 val* var_old_child /* var old_child: ANode */;
1910 val* var_new_child /* var new_child: nullable ANode */;
1911 val* var /* : TKwprotected */;
1912 short int var1 /* : Bool */;
1913 val* var2 /* : null */;
1914 short int var3 /* : Bool */;
1915 short int var4 /* : Bool */;
1916 int cltype;
1917 int idtype;
1918 var_old_child = p0;
1919 var_new_child = p1;
1920 var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on <self:AProtectedVisibility> */
1921 if (var == NULL) {
1922 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprotected");
1923 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 470);
1924 show_backtrace(1);
1925 }
1926 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwprotected>*/;
1927 if (var1){
1928 var2 = NULL;
1929 if (var_new_child == NULL) {
1930 var3 = 0; /* is null */
1931 } else {
1932 var3 = 1; /* arg is null and recv is not */
1933 }
1934 if (var3){
1935 ((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)>*/;
1936 /* <var_new_child:nullable ANode(ANode)> isa TKwprotected */
1937 cltype = type_parser_nodes__TKwprotected.color;
1938 idtype = type_parser_nodes__TKwprotected.id;
1939 if(cltype >= var_new_child->type->table_size) {
1940 var4 = 0;
1941 } else {
1942 var4 = var_new_child->type->type_table[cltype] == idtype;
1943 }
1944 if (!var4) {
1945 fprintf(stderr, "Runtime error: %s", "Assert failed");
1946 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 473);
1947 show_backtrace(1);
1948 }
1949 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_new_child; /* _n_kwprotected on <self:AProtectedVisibility> */
1950 } else {
1951 fprintf(stderr, "Runtime error: %s", "Aborted");
1952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 476);
1953 show_backtrace(1);
1954 }
1955 goto RET_LABEL;
1956 } else {
1957 }
1958 RET_LABEL:;
1959 }
1960 /* method parser_prod#AProtectedVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1961 void VIRTUAL_parser_prod__AProtectedVisibility__replace_child(val* self, val* p0, val* p1) {
1962 parser_prod__AProtectedVisibility__replace_child(self, p0, p1);
1963 RET_LABEL:;
1964 }
1965 /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: AProtectedVisibility, TKwprotected) */
1966 void parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) {
1967 val* var_node /* var node: TKwprotected */;
1968 var_node = p0;
1969 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_node; /* _n_kwprotected on <self:AProtectedVisibility> */
1970 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwprotected>*/;
1971 RET_LABEL:;
1972 }
1973 /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: Object, TKwprotected) */
1974 void VIRTUAL_parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) {
1975 parser_prod__AProtectedVisibility__n_kwprotected_61d(self, p0);
1976 RET_LABEL:;
1977 }
1978 /* method parser_prod#AProtectedVisibility#visit_all for (self: AProtectedVisibility, Visitor) */
1979 void parser_prod__AProtectedVisibility__visit_all(val* self, val* p0) {
1980 val* var_v /* var v: Visitor */;
1981 val* var /* : TKwprotected */;
1982 var_v = p0;
1983 var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on <self:AProtectedVisibility> */
1984 if (var == NULL) {
1985 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprotected");
1986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 491);
1987 show_backtrace(1);
1988 }
1989 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1990 RET_LABEL:;
1991 }
1992 /* method parser_prod#AProtectedVisibility#visit_all for (self: Object, Visitor) */
1993 void VIRTUAL_parser_prod__AProtectedVisibility__visit_all(val* self, val* p0) {
1994 parser_prod__AProtectedVisibility__visit_all(self, p0);
1995 RET_LABEL:;
1996 }
1997 /* method parser_prod#AIntrudeVisibility#empty_init for (self: AIntrudeVisibility) */
1998 void parser_prod__AIntrudeVisibility__empty_init(val* self) {
1999 RET_LABEL:;
2000 }
2001 /* method parser_prod#AIntrudeVisibility#empty_init for (self: Object) */
2002 void VIRTUAL_parser_prod__AIntrudeVisibility__empty_init(val* self) {
2003 parser_prod__AIntrudeVisibility__empty_init(self);
2004 RET_LABEL:;
2005 }
2006 /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: AIntrudeVisibility, nullable TKwintrude) */
2007 void parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) {
2008 val* var_n_kwintrude /* var n_kwintrude: nullable TKwintrude */;
2009 var_n_kwintrude = p0;
2010 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntrudeVisibility__empty_init]))(self) /* empty_init on <self:AIntrudeVisibility>*/;
2011 if (var_n_kwintrude == NULL) {
2012 fprintf(stderr, "Runtime error: %s", "Cast failed");
2013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 502);
2014 show_backtrace(1);
2015 }
2016 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_n_kwintrude; /* _n_kwintrude on <self:AIntrudeVisibility> */
2017 if (var_n_kwintrude == NULL) {
2018 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 503);
2020 show_backtrace(1);
2021 } else {
2022 ((void (*)(val*, val*))(var_n_kwintrude->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwintrude, self) /* parent= on <var_n_kwintrude:nullable TKwintrude>*/;
2023 }
2024 RET_LABEL:;
2025 }
2026 /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: Object, nullable TKwintrude) */
2027 void VIRTUAL_parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) {
2028 parser_prod__AIntrudeVisibility__init_aintrudevisibility(self, p0);
2029 RET_LABEL:;
2030 }
2031 /* method parser_prod#AIntrudeVisibility#replace_child for (self: AIntrudeVisibility, ANode, nullable ANode) */
2032 void parser_prod__AIntrudeVisibility__replace_child(val* self, val* p0, val* p1) {
2033 val* var_old_child /* var old_child: ANode */;
2034 val* var_new_child /* var new_child: nullable ANode */;
2035 val* var /* : TKwintrude */;
2036 short int var1 /* : Bool */;
2037 val* var2 /* : null */;
2038 short int var3 /* : Bool */;
2039 short int var4 /* : Bool */;
2040 int cltype;
2041 int idtype;
2042 var_old_child = p0;
2043 var_new_child = p1;
2044 var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on <self:AIntrudeVisibility> */
2045 if (var == NULL) {
2046 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwintrude");
2047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 508);
2048 show_backtrace(1);
2049 }
2050 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwintrude>*/;
2051 if (var1){
2052 var2 = NULL;
2053 if (var_new_child == NULL) {
2054 var3 = 0; /* is null */
2055 } else {
2056 var3 = 1; /* arg is null and recv is not */
2057 }
2058 if (var3){
2059 ((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)>*/;
2060 /* <var_new_child:nullable ANode(ANode)> isa TKwintrude */
2061 cltype = type_parser_nodes__TKwintrude.color;
2062 idtype = type_parser_nodes__TKwintrude.id;
2063 if(cltype >= var_new_child->type->table_size) {
2064 var4 = 0;
2065 } else {
2066 var4 = var_new_child->type->type_table[cltype] == idtype;
2067 }
2068 if (!var4) {
2069 fprintf(stderr, "Runtime error: %s", "Assert failed");
2070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 511);
2071 show_backtrace(1);
2072 }
2073 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_new_child; /* _n_kwintrude on <self:AIntrudeVisibility> */
2074 } else {
2075 fprintf(stderr, "Runtime error: %s", "Aborted");
2076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 514);
2077 show_backtrace(1);
2078 }
2079 goto RET_LABEL;
2080 } else {
2081 }
2082 RET_LABEL:;
2083 }
2084 /* method parser_prod#AIntrudeVisibility#replace_child for (self: Object, ANode, nullable ANode) */
2085 void VIRTUAL_parser_prod__AIntrudeVisibility__replace_child(val* self, val* p0, val* p1) {
2086 parser_prod__AIntrudeVisibility__replace_child(self, p0, p1);
2087 RET_LABEL:;
2088 }
2089 /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: AIntrudeVisibility, TKwintrude) */
2090 void parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) {
2091 val* var_node /* var node: TKwintrude */;
2092 var_node = p0;
2093 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_node; /* _n_kwintrude on <self:AIntrudeVisibility> */
2094 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwintrude>*/;
2095 RET_LABEL:;
2096 }
2097 /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: Object, TKwintrude) */
2098 void VIRTUAL_parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) {
2099 parser_prod__AIntrudeVisibility__n_kwintrude_61d(self, p0);
2100 RET_LABEL:;
2101 }
2102 /* method parser_prod#AIntrudeVisibility#visit_all for (self: AIntrudeVisibility, Visitor) */
2103 void parser_prod__AIntrudeVisibility__visit_all(val* self, val* p0) {
2104 val* var_v /* var v: Visitor */;
2105 val* var /* : TKwintrude */;
2106 var_v = p0;
2107 var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on <self:AIntrudeVisibility> */
2108 if (var == NULL) {
2109 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwintrude");
2110 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 529);
2111 show_backtrace(1);
2112 }
2113 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2114 RET_LABEL:;
2115 }
2116 /* method parser_prod#AIntrudeVisibility#visit_all for (self: Object, Visitor) */
2117 void VIRTUAL_parser_prod__AIntrudeVisibility__visit_all(val* self, val* p0) {
2118 parser_prod__AIntrudeVisibility__visit_all(self, p0);
2119 RET_LABEL:;
2120 }
2121 /* method parser_prod#AStdClassdef#empty_init for (self: AStdClassdef) */
2122 void parser_prod__AStdClassdef__empty_init(val* self) {
2123 RET_LABEL:;
2124 }
2125 /* method parser_prod#AStdClassdef#empty_init for (self: Object) */
2126 void VIRTUAL_parser_prod__AStdClassdef__empty_init(val* self) {
2127 parser_prod__AStdClassdef__empty_init(self);
2128 RET_LABEL:;
2129 }
2130 /* method parser_prod#AStdClassdef#init_astdclassdef for (self: AStdClassdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AClasskind, nullable TClassid, Collection[Object], nullable AAnnotations, nullable AExternCodeBlock, Collection[Object], Collection[Object], nullable TKwend) */
2131 void parser_prod__AStdClassdef__init_astdclassdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10) {
2132 val* var_n_doc /* var n_doc: nullable ADoc */;
2133 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
2134 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
2135 val* var_n_classkind /* var n_classkind: nullable AClasskind */;
2136 val* var_n_id /* var n_id: nullable TClassid */;
2137 val* var_n_formaldefs /* var n_formaldefs: Collection[Object] */;
2138 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2139 val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */;
2140 val* var_n_superclasses /* var n_superclasses: Collection[Object] */;
2141 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
2142 val* var_n_kwend /* var n_kwend: nullable TKwend */;
2143 val* var /* : null */;
2144 short int var1 /* : Bool */;
2145 val* var2 /* : null */;
2146 short int var3 /* : Bool */;
2147 val* var4 /* : null */;
2148 short int var5 /* : Bool */;
2149 val* var6 /* : Iterator[nullable Object] */;
2150 short int var7 /* : Bool */;
2151 val* var8 /* : nullable Object */;
2152 val* var_n /* var n: Object */;
2153 short int var9 /* : Bool */;
2154 int cltype;
2155 int idtype;
2156 val* var10 /* : ANodes[AFormaldef] */;
2157 val* var11 /* : null */;
2158 short int var12 /* : Bool */;
2159 val* var13 /* : null */;
2160 short int var14 /* : Bool */;
2161 val* var15 /* : Iterator[nullable Object] */;
2162 short int var16 /* : Bool */;
2163 val* var17 /* : nullable Object */;
2164 val* var_n18 /* var n: Object */;
2165 short int var19 /* : Bool */;
2166 int cltype20;
2167 int idtype21;
2168 val* var22 /* : ANodes[ASuperclass] */;
2169 val* var24 /* : Iterator[nullable Object] */;
2170 short int var25 /* : Bool */;
2171 val* var26 /* : nullable Object */;
2172 val* var_n27 /* var n: Object */;
2173 short int var28 /* : Bool */;
2174 int cltype29;
2175 int idtype30;
2176 val* var31 /* : ANodes[APropdef] */;
2177 var_n_doc = p0;
2178 var_n_kwredef = p1;
2179 var_n_visibility = p2;
2180 var_n_classkind = p3;
2181 var_n_id = p4;
2182 var_n_formaldefs = p5;
2183 var_n_annotations = p6;
2184 var_n_extern_code_block = p7;
2185 var_n_superclasses = p8;
2186 var_n_propdefs = p9;
2187 var_n_kwend = p10;
2188 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdClassdef__empty_init]))(self) /* empty_init on <self:AStdClassdef>*/;
2189 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_n_doc; /* _n_doc on <self:AStdClassdef> */
2190 var = NULL;
2191 if (var_n_doc == NULL) {
2192 var1 = 0; /* is null */
2193 } else {
2194 var1 = 1; /* arg is null and recv is not */
2195 }
2196 if (var1){
2197 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
2198 } else {
2199 }
2200 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AStdClassdef> */
2201 var2 = NULL;
2202 if (var_n_kwredef == NULL) {
2203 var3 = 0; /* is null */
2204 } else {
2205 var3 = 1; /* arg is null and recv is not */
2206 }
2207 if (var3){
2208 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
2209 } else {
2210 }
2211 if (var_n_visibility == NULL) {
2212 fprintf(stderr, "Runtime error: %s", "Cast failed");
2213 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 558);
2214 show_backtrace(1);
2215 }
2216 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AStdClassdef> */
2217 if (var_n_visibility == NULL) {
2218 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 559);
2220 show_backtrace(1);
2221 } else {
2222 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
2223 }
2224 if (var_n_classkind == NULL) {
2225 fprintf(stderr, "Runtime error: %s", "Cast failed");
2226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 560);
2227 show_backtrace(1);
2228 }
2229 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_n_classkind; /* _n_classkind on <self:AStdClassdef> */
2230 if (var_n_classkind == NULL) {
2231 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2232 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 561);
2233 show_backtrace(1);
2234 } else {
2235 ((void (*)(val*, val*))(var_n_classkind->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_classkind, self) /* parent= on <var_n_classkind:nullable AClasskind>*/;
2236 }
2237 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_n_id; /* _n_id on <self:AStdClassdef> */
2238 var4 = NULL;
2239 if (var_n_id == NULL) {
2240 var5 = 0; /* is null */
2241 } else {
2242 var5 = 1; /* arg is null and recv is not */
2243 }
2244 if (var5){
2245 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TClassid(TClassid)>*/;
2246 } else {
2247 }
2248 var6 = ((val* (*)(val*))(var_n_formaldefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_formaldefs) /* iterator on <var_n_formaldefs:Collection[Object]>*/;
2249 for(;;) {
2250 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
2251 if(!var7) break;
2252 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
2253 var_n = var8;
2254 /* <var_n:Object> isa AFormaldef */
2255 cltype = type_parser_nodes__AFormaldef.color;
2256 idtype = type_parser_nodes__AFormaldef.id;
2257 if(cltype >= var_n->type->table_size) {
2258 var9 = 0;
2259 } else {
2260 var9 = var_n->type->type_table[cltype] == idtype;
2261 }
2262 if (!var9) {
2263 fprintf(stderr, "Runtime error: %s", "Assert failed");
2264 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 567);
2265 show_backtrace(1);
2266 }
2267 var10 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2268 if (var10 == NULL) {
2269 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 568);
2271 show_backtrace(1);
2272 }
2273 ((void (*)(val*, val*))(var10->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var10, var_n) /* add on <var10:ANodes[AFormaldef]>*/;
2274 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AFormaldef)>*/;
2275 CONTINUE_label: (void)0;
2276 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
2277 }
2278 BREAK_label: (void)0;
2279 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStdClassdef> */
2280 var11 = NULL;
2281 if (var_n_annotations == NULL) {
2282 var12 = 0; /* is null */
2283 } else {
2284 var12 = 1; /* arg is null and recv is not */
2285 }
2286 if (var12){
2287 ((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)>*/;
2288 } else {
2289 }
2290 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on <self:AStdClassdef> */
2291 var13 = NULL;
2292 if (var_n_extern_code_block == NULL) {
2293 var14 = 0; /* is null */
2294 } else {
2295 var14 = 1; /* arg is null and recv is not */
2296 }
2297 if (var14){
2298 ((void (*)(val*, val*))(var_n_extern_code_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern_code_block, self) /* parent= on <var_n_extern_code_block:nullable AExternCodeBlock(AExternCodeBlock)>*/;
2299 } else {
2300 }
2301 var15 = ((val* (*)(val*))(var_n_superclasses->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_superclasses) /* iterator on <var_n_superclasses:Collection[Object]>*/;
2302 for(;;) {
2303 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
2304 if(!var16) break;
2305 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
2306 var_n18 = var17;
2307 /* <var_n18:Object> isa ASuperclass */
2308 cltype20 = type_parser_nodes__ASuperclass.color;
2309 idtype21 = type_parser_nodes__ASuperclass.id;
2310 if(cltype20 >= var_n18->type->table_size) {
2311 var19 = 0;
2312 } else {
2313 var19 = var_n18->type->type_table[cltype20] == idtype21;
2314 }
2315 if (!var19) {
2316 fprintf(stderr, "Runtime error: %s", "Assert failed");
2317 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 580);
2318 show_backtrace(1);
2319 }
2320 var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2321 if (var22 == NULL) {
2322 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 581);
2324 show_backtrace(1);
2325 }
2326 ((void (*)(val*, val*))(var22->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var22, var_n18) /* add on <var22:ANodes[ASuperclass]>*/;
2327 ((void (*)(val*, val*))(var_n18->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n18, self) /* parent= on <var_n18:Object(ASuperclass)>*/;
2328 CONTINUE_label23: (void)0;
2329 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
2330 }
2331 BREAK_label23: (void)0;
2332 var24 = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
2333 for(;;) {
2334 var25 = ((short int (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var24) /* is_ok on <var24:Iterator[nullable Object]>*/;
2335 if(!var25) break;
2336 var26 = ((val* (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__item]))(var24) /* item on <var24:Iterator[nullable Object]>*/;
2337 var_n27 = var26;
2338 /* <var_n27:Object> isa APropdef */
2339 cltype29 = type_parser_nodes__APropdef.color;
2340 idtype30 = type_parser_nodes__APropdef.id;
2341 if(cltype29 >= var_n27->type->table_size) {
2342 var28 = 0;
2343 } else {
2344 var28 = var_n27->type->type_table[cltype29] == idtype30;
2345 }
2346 if (!var28) {
2347 fprintf(stderr, "Runtime error: %s", "Assert failed");
2348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 585);
2349 show_backtrace(1);
2350 }
2351 var31 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2352 if (var31 == NULL) {
2353 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2354 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 586);
2355 show_backtrace(1);
2356 }
2357 ((void (*)(val*, val*))(var31->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var31, var_n27) /* add on <var31:ANodes[APropdef]>*/;
2358 ((void (*)(val*, val*))(var_n27->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n27, self) /* parent= on <var_n27:Object(APropdef)>*/;
2359 CONTINUE_label32: (void)0;
2360 ((void (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__next]))(var24) /* next on <var24:Iterator[nullable Object]>*/;
2361 }
2362 BREAK_label32: (void)0;
2363 if (var_n_kwend == NULL) {
2364 fprintf(stderr, "Runtime error: %s", "Cast failed");
2365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 589);
2366 show_backtrace(1);
2367 }
2368 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_n_kwend; /* _n_kwend on <self:AStdClassdef> */
2369 if (var_n_kwend == NULL) {
2370 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 590);
2372 show_backtrace(1);
2373 } else {
2374 ((void (*)(val*, val*))(var_n_kwend->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwend, self) /* parent= on <var_n_kwend:nullable TKwend>*/;
2375 }
2376 RET_LABEL:;
2377 }
2378 /* method parser_prod#AStdClassdef#init_astdclassdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AClasskind, nullable TClassid, Collection[Object], nullable AAnnotations, nullable AExternCodeBlock, Collection[Object], Collection[Object], nullable TKwend) */
2379 void VIRTUAL_parser_prod__AStdClassdef__init_astdclassdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10) {
2380 parser_prod__AStdClassdef__init_astdclassdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
2381 RET_LABEL:;
2382 }
2383 /* method parser_prod#AStdClassdef#replace_child for (self: AStdClassdef, ANode, nullable ANode) */
2384 void parser_prod__AStdClassdef__replace_child(val* self, val* p0, val* p1) {
2385 val* var_old_child /* var old_child: ANode */;
2386 val* var_new_child /* var new_child: nullable ANode */;
2387 val* var /* : nullable ADoc */;
2388 short int var1 /* : Bool */;
2389 val* var2 /* : null */;
2390 short int var3 /* : Bool */;
2391 short int var4 /* : Bool */;
2392 int cltype;
2393 int idtype;
2394 val* var5 /* : null */;
2395 val* var6 /* : nullable TKwredef */;
2396 short int var7 /* : Bool */;
2397 val* var8 /* : null */;
2398 short int var9 /* : Bool */;
2399 short int var10 /* : Bool */;
2400 int cltype11;
2401 int idtype12;
2402 val* var13 /* : null */;
2403 val* var14 /* : AVisibility */;
2404 short int var15 /* : Bool */;
2405 val* var16 /* : null */;
2406 short int var17 /* : Bool */;
2407 short int var18 /* : Bool */;
2408 int cltype19;
2409 int idtype20;
2410 val* var21 /* : AClasskind */;
2411 short int var22 /* : Bool */;
2412 val* var23 /* : null */;
2413 short int var24 /* : Bool */;
2414 short int var25 /* : Bool */;
2415 int cltype26;
2416 int idtype27;
2417 val* var28 /* : nullable TClassid */;
2418 short int var29 /* : Bool */;
2419 val* var30 /* : null */;
2420 short int var31 /* : Bool */;
2421 short int var32 /* : Bool */;
2422 int cltype33;
2423 int idtype34;
2424 val* var35 /* : null */;
2425 val* var36 /* : Range[Int] */;
2426 long var37 /* : Int */;
2427 val* var38 /* : ANodes[AFormaldef] */;
2428 long var39 /* : Int */;
2429 val* var40 /* : Discrete */;
2430 val* var41 /* : Discrete */;
2431 val* var42 /* : Iterator[nullable Object] */;
2432 short int var43 /* : Bool */;
2433 val* var44 /* : nullable Object */;
2434 long var_i /* var i: Int */;
2435 long var45 /* : Int */;
2436 val* var46 /* : ANodes[AFormaldef] */;
2437 val* var47 /* : nullable Object */;
2438 short int var48 /* : Bool */;
2439 val* var49 /* : null */;
2440 short int var50 /* : Bool */;
2441 short int var51 /* : Bool */;
2442 int cltype52;
2443 int idtype53;
2444 val* var54 /* : ANodes[AFormaldef] */;
2445 val* var55 /* : ANodes[AFormaldef] */;
2446 val* var56 /* : nullable AAnnotations */;
2447 short int var57 /* : Bool */;
2448 val* var58 /* : null */;
2449 short int var59 /* : Bool */;
2450 short int var60 /* : Bool */;
2451 int cltype61;
2452 int idtype62;
2453 val* var63 /* : null */;
2454 val* var64 /* : nullable AExternCodeBlock */;
2455 short int var65 /* : Bool */;
2456 val* var66 /* : null */;
2457 short int var67 /* : Bool */;
2458 short int var68 /* : Bool */;
2459 int cltype69;
2460 int idtype70;
2461 val* var71 /* : null */;
2462 val* var72 /* : Range[Int] */;
2463 long var73 /* : Int */;
2464 val* var74 /* : ANodes[ASuperclass] */;
2465 long var75 /* : Int */;
2466 val* var76 /* : Discrete */;
2467 val* var77 /* : Discrete */;
2468 val* var78 /* : Iterator[nullable Object] */;
2469 short int var79 /* : Bool */;
2470 val* var80 /* : nullable Object */;
2471 long var_i81 /* var i: Int */;
2472 long var82 /* : Int */;
2473 val* var83 /* : ANodes[ASuperclass] */;
2474 val* var84 /* : nullable Object */;
2475 short int var85 /* : Bool */;
2476 val* var86 /* : null */;
2477 short int var87 /* : Bool */;
2478 short int var88 /* : Bool */;
2479 int cltype89;
2480 int idtype90;
2481 val* var91 /* : ANodes[ASuperclass] */;
2482 val* var92 /* : ANodes[ASuperclass] */;
2483 val* var94 /* : Range[Int] */;
2484 long var95 /* : Int */;
2485 val* var96 /* : ANodes[APropdef] */;
2486 long var97 /* : Int */;
2487 val* var98 /* : Discrete */;
2488 val* var99 /* : Discrete */;
2489 val* var100 /* : Iterator[nullable Object] */;
2490 short int var101 /* : Bool */;
2491 val* var102 /* : nullable Object */;
2492 long var_i103 /* var i: Int */;
2493 long var104 /* : Int */;
2494 val* var105 /* : ANodes[APropdef] */;
2495 val* var106 /* : nullable Object */;
2496 short int var107 /* : Bool */;
2497 val* var108 /* : null */;
2498 short int var109 /* : Bool */;
2499 short int var110 /* : Bool */;
2500 int cltype111;
2501 int idtype112;
2502 val* var113 /* : ANodes[APropdef] */;
2503 val* var114 /* : ANodes[APropdef] */;
2504 val* var116 /* : TKwend */;
2505 short int var117 /* : Bool */;
2506 val* var118 /* : null */;
2507 short int var119 /* : Bool */;
2508 short int var120 /* : Bool */;
2509 int cltype121;
2510 int idtype122;
2511 var_old_child = p0;
2512 var_new_child = p1;
2513 var = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
2514 if (var == NULL) {
2515 var1 = 0; /* <var_old_child:ANode> cannot be null */
2516 } else {
2517 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
2518 }
2519 if (var1){
2520 var2 = NULL;
2521 if (var_new_child == NULL) {
2522 var3 = 0; /* is null */
2523 } else {
2524 var3 = 1; /* arg is null and recv is not */
2525 }
2526 if (var3){
2527 ((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)>*/;
2528 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
2529 cltype = type_parser_nodes__ADoc.color;
2530 idtype = type_parser_nodes__ADoc.id;
2531 if(cltype >= var_new_child->type->table_size) {
2532 var4 = 0;
2533 } else {
2534 var4 = var_new_child->type->type_table[cltype] == idtype;
2535 }
2536 if (!var4) {
2537 fprintf(stderr, "Runtime error: %s", "Assert failed");
2538 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 598);
2539 show_backtrace(1);
2540 }
2541 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_new_child; /* _n_doc on <self:AStdClassdef> */
2542 } else {
2543 var5 = NULL;
2544 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var5; /* _n_doc on <self:AStdClassdef> */
2545 }
2546 goto RET_LABEL;
2547 } else {
2548 }
2549 var6 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
2550 if (var6 == NULL) {
2551 var7 = 0; /* <var_old_child:ANode> cannot be null */
2552 } else {
2553 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
2554 }
2555 if (var7){
2556 var8 = NULL;
2557 if (var_new_child == NULL) {
2558 var9 = 0; /* is null */
2559 } else {
2560 var9 = 1; /* arg is null and recv is not */
2561 }
2562 if (var9){
2563 ((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)>*/;
2564 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
2565 cltype11 = type_parser_nodes__TKwredef.color;
2566 idtype12 = type_parser_nodes__TKwredef.id;
2567 if(cltype11 >= var_new_child->type->table_size) {
2568 var10 = 0;
2569 } else {
2570 var10 = var_new_child->type->type_table[cltype11] == idtype12;
2571 }
2572 if (!var10) {
2573 fprintf(stderr, "Runtime error: %s", "Assert failed");
2574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 608);
2575 show_backtrace(1);
2576 }
2577 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AStdClassdef> */
2578 } else {
2579 var13 = NULL;
2580 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var13; /* _n_kwredef on <self:AStdClassdef> */
2581 }
2582 goto RET_LABEL;
2583 } else {
2584 }
2585 var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on <self:AStdClassdef> */
2586 if (var14 == NULL) {
2587 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
2588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 615);
2589 show_backtrace(1);
2590 }
2591 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:AVisibility>*/;
2592 if (var15){
2593 var16 = NULL;
2594 if (var_new_child == NULL) {
2595 var17 = 0; /* is null */
2596 } else {
2597 var17 = 1; /* arg is null and recv is not */
2598 }
2599 if (var17){
2600 ((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)>*/;
2601 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
2602 cltype19 = type_parser_nodes__AVisibility.color;
2603 idtype20 = type_parser_nodes__AVisibility.id;
2604 if(cltype19 >= var_new_child->type->table_size) {
2605 var18 = 0;
2606 } else {
2607 var18 = var_new_child->type->type_table[cltype19] == idtype20;
2608 }
2609 if (!var18) {
2610 fprintf(stderr, "Runtime error: %s", "Assert failed");
2611 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 618);
2612 show_backtrace(1);
2613 }
2614 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AStdClassdef> */
2615 } else {
2616 fprintf(stderr, "Runtime error: %s", "Aborted");
2617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 621);
2618 show_backtrace(1);
2619 }
2620 goto RET_LABEL;
2621 } else {
2622 }
2623 var21 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on <self:AStdClassdef> */
2624 if (var21 == NULL) {
2625 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classkind");
2626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 625);
2627 show_backtrace(1);
2628 }
2629 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:AClasskind>*/;
2630 if (var22){
2631 var23 = NULL;
2632 if (var_new_child == NULL) {
2633 var24 = 0; /* is null */
2634 } else {
2635 var24 = 1; /* arg is null and recv is not */
2636 }
2637 if (var24){
2638 ((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)>*/;
2639 /* <var_new_child:nullable ANode(ANode)> isa AClasskind */
2640 cltype26 = type_parser_nodes__AClasskind.color;
2641 idtype27 = type_parser_nodes__AClasskind.id;
2642 if(cltype26 >= var_new_child->type->table_size) {
2643 var25 = 0;
2644 } else {
2645 var25 = var_new_child->type->type_table[cltype26] == idtype27;
2646 }
2647 if (!var25) {
2648 fprintf(stderr, "Runtime error: %s", "Assert failed");
2649 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 628);
2650 show_backtrace(1);
2651 }
2652 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_new_child; /* _n_classkind on <self:AStdClassdef> */
2653 } else {
2654 fprintf(stderr, "Runtime error: %s", "Aborted");
2655 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 631);
2656 show_backtrace(1);
2657 }
2658 goto RET_LABEL;
2659 } else {
2660 }
2661 var28 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
2662 if (var28 == NULL) {
2663 var29 = 0; /* <var_old_child:ANode> cannot be null */
2664 } else {
2665 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable TClassid>*/;
2666 }
2667 if (var29){
2668 var30 = NULL;
2669 if (var_new_child == NULL) {
2670 var31 = 0; /* is null */
2671 } else {
2672 var31 = 1; /* arg is null and recv is not */
2673 }
2674 if (var31){
2675 ((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)>*/;
2676 /* <var_new_child:nullable ANode(ANode)> isa TClassid */
2677 cltype33 = type_parser_nodes__TClassid.color;
2678 idtype34 = type_parser_nodes__TClassid.id;
2679 if(cltype33 >= var_new_child->type->table_size) {
2680 var32 = 0;
2681 } else {
2682 var32 = var_new_child->type->type_table[cltype33] == idtype34;
2683 }
2684 if (!var32) {
2685 fprintf(stderr, "Runtime error: %s", "Assert failed");
2686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 638);
2687 show_backtrace(1);
2688 }
2689 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_new_child; /* _n_id on <self:AStdClassdef> */
2690 } else {
2691 var35 = NULL;
2692 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var35; /* _n_id on <self:AStdClassdef> */
2693 }
2694 goto RET_LABEL;
2695 } else {
2696 }
2697 var36 = NEW_range__Range(&type_range__Rangekernel__Int);
2698 var37 = 0;
2699 var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2700 if (var38 == NULL) {
2701 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 645);
2703 show_backtrace(1);
2704 }
2705 var39 = ((long (*)(val*))(var38->class->vft[COLOR_abstract_collection__Collection__length]))(var38) /* length on <var38:ANodes[AFormaldef]>*/;
2706 var40 = BOX_kernel__Int(var37); /* autobox from Int to Discrete */
2707 var41 = BOX_kernel__Int(var39); /* autobox from Int to Discrete */
2708 ((void (*)(val*, val*, val*))(var36->class->vft[COLOR_range__Range__without_last]))(var36, var40, var41) /* without_last on <var36:Range[Int]>*/;
2709 var42 = ((val* (*)(val*))(var36->class->vft[COLOR_abstract_collection__Collection__iterator]))(var36) /* iterator on <var36:Range[Int]>*/;
2710 for(;;) {
2711 var43 = ((short int (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var42) /* is_ok on <var42:Iterator[nullable Object]>*/;
2712 if(!var43) break;
2713 var44 = ((val* (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__item]))(var42) /* item on <var42:Iterator[nullable Object]>*/;
2714 var45 = ((struct instance_kernel__Int*)var44)->value; /* autounbox from nullable Object to Int */;
2715 var_i = var45;
2716 var46 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2717 if (var46 == NULL) {
2718 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 646);
2720 show_backtrace(1);
2721 }
2722 var47 = ((val* (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var46, var_i) /* [] on <var46:ANodes[AFormaldef]>*/;
2723 var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on <var47:nullable Object(AFormaldef)>*/;
2724 if (var48){
2725 var49 = NULL;
2726 if (var_new_child == NULL) {
2727 var50 = 0; /* is null */
2728 } else {
2729 var50 = 1; /* arg is null and recv is not */
2730 }
2731 if (var50){
2732 /* <var_new_child:nullable ANode(ANode)> isa AFormaldef */
2733 cltype52 = type_parser_nodes__AFormaldef.color;
2734 idtype53 = type_parser_nodes__AFormaldef.id;
2735 if(cltype52 >= var_new_child->type->table_size) {
2736 var51 = 0;
2737 } else {
2738 var51 = var_new_child->type->type_table[cltype52] == idtype53;
2739 }
2740 if (!var51) {
2741 fprintf(stderr, "Runtime error: %s", "Assert failed");
2742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 648);
2743 show_backtrace(1);
2744 }
2745 var54 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2746 if (var54 == NULL) {
2747 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 649);
2749 show_backtrace(1);
2750 }
2751 ((void (*)(val*, long, val*))(var54->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var54, var_i, var_new_child) /* []= on <var54:ANodes[AFormaldef]>*/;
2752 ((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(AFormaldef)>*/;
2753 } else {
2754 var55 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2755 if (var55 == NULL) {
2756 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 652);
2758 show_backtrace(1);
2759 }
2760 ((void (*)(val*, long))(var55->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var55, var_i) /* remove_at on <var55:ANodes[AFormaldef]>*/;
2761 }
2762 goto RET_LABEL;
2763 } else {
2764 }
2765 CONTINUE_label: (void)0;
2766 ((void (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__next]))(var42) /* next on <var42:Iterator[nullable Object]>*/;
2767 }
2768 BREAK_label: (void)0;
2769 var56 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
2770 if (var56 == NULL) {
2771 var57 = 0; /* <var_old_child:ANode> cannot be null */
2772 } else {
2773 var57 = ((short int (*)(val*, val*))(var56->class->vft[COLOR_kernel__Object___61d_61d]))(var56, var_old_child) /* == on <var56:nullable AAnnotations>*/;
2774 }
2775 if (var57){
2776 var58 = NULL;
2777 if (var_new_child == NULL) {
2778 var59 = 0; /* is null */
2779 } else {
2780 var59 = 1; /* arg is null and recv is not */
2781 }
2782 if (var59){
2783 ((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)>*/;
2784 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2785 cltype61 = type_parser_nodes__AAnnotations.color;
2786 idtype62 = type_parser_nodes__AAnnotations.id;
2787 if(cltype61 >= var_new_child->type->table_size) {
2788 var60 = 0;
2789 } else {
2790 var60 = var_new_child->type->type_table[cltype61] == idtype62;
2791 }
2792 if (!var60) {
2793 fprintf(stderr, "Runtime error: %s", "Assert failed");
2794 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 660);
2795 show_backtrace(1);
2796 }
2797 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStdClassdef> */
2798 } else {
2799 var63 = NULL;
2800 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var63; /* _n_annotations on <self:AStdClassdef> */
2801 }
2802 goto RET_LABEL;
2803 } else {
2804 }
2805 var64 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
2806 if (var64 == NULL) {
2807 var65 = 0; /* <var_old_child:ANode> cannot be null */
2808 } else {
2809 var65 = ((short int (*)(val*, val*))(var64->class->vft[COLOR_kernel__Object___61d_61d]))(var64, var_old_child) /* == on <var64:nullable AExternCodeBlock>*/;
2810 }
2811 if (var65){
2812 var66 = NULL;
2813 if (var_new_child == NULL) {
2814 var67 = 0; /* is null */
2815 } else {
2816 var67 = 1; /* arg is null and recv is not */
2817 }
2818 if (var67){
2819 ((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)>*/;
2820 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
2821 cltype69 = type_parser_nodes__AExternCodeBlock.color;
2822 idtype70 = type_parser_nodes__AExternCodeBlock.id;
2823 if(cltype69 >= var_new_child->type->table_size) {
2824 var68 = 0;
2825 } else {
2826 var68 = var_new_child->type->type_table[cltype69] == idtype70;
2827 }
2828 if (!var68) {
2829 fprintf(stderr, "Runtime error: %s", "Assert failed");
2830 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 670);
2831 show_backtrace(1);
2832 }
2833 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on <self:AStdClassdef> */
2834 } else {
2835 var71 = NULL;
2836 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var71; /* _n_extern_code_block on <self:AStdClassdef> */
2837 }
2838 goto RET_LABEL;
2839 } else {
2840 }
2841 var72 = NEW_range__Range(&type_range__Rangekernel__Int);
2842 var73 = 0;
2843 var74 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2844 if (var74 == NULL) {
2845 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 677);
2847 show_backtrace(1);
2848 }
2849 var75 = ((long (*)(val*))(var74->class->vft[COLOR_abstract_collection__Collection__length]))(var74) /* length on <var74:ANodes[ASuperclass]>*/;
2850 var76 = BOX_kernel__Int(var73); /* autobox from Int to Discrete */
2851 var77 = BOX_kernel__Int(var75); /* autobox from Int to Discrete */
2852 ((void (*)(val*, val*, val*))(var72->class->vft[COLOR_range__Range__without_last]))(var72, var76, var77) /* without_last on <var72:Range[Int]>*/;
2853 var78 = ((val* (*)(val*))(var72->class->vft[COLOR_abstract_collection__Collection__iterator]))(var72) /* iterator on <var72:Range[Int]>*/;
2854 for(;;) {
2855 var79 = ((short int (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var78) /* is_ok on <var78:Iterator[nullable Object]>*/;
2856 if(!var79) break;
2857 var80 = ((val* (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__item]))(var78) /* item on <var78:Iterator[nullable Object]>*/;
2858 var82 = ((struct instance_kernel__Int*)var80)->value; /* autounbox from nullable Object to Int */;
2859 var_i81 = var82;
2860 var83 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2861 if (var83 == NULL) {
2862 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 678);
2864 show_backtrace(1);
2865 }
2866 var84 = ((val* (*)(val*, long))(var83->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var83, var_i81) /* [] on <var83:ANodes[ASuperclass]>*/;
2867 var85 = ((short int (*)(val*, val*))(var84->class->vft[COLOR_kernel__Object___61d_61d]))(var84, var_old_child) /* == on <var84:nullable Object(ASuperclass)>*/;
2868 if (var85){
2869 var86 = NULL;
2870 if (var_new_child == NULL) {
2871 var87 = 0; /* is null */
2872 } else {
2873 var87 = 1; /* arg is null and recv is not */
2874 }
2875 if (var87){
2876 /* <var_new_child:nullable ANode(ANode)> isa ASuperclass */
2877 cltype89 = type_parser_nodes__ASuperclass.color;
2878 idtype90 = type_parser_nodes__ASuperclass.id;
2879 if(cltype89 >= var_new_child->type->table_size) {
2880 var88 = 0;
2881 } else {
2882 var88 = var_new_child->type->type_table[cltype89] == idtype90;
2883 }
2884 if (!var88) {
2885 fprintf(stderr, "Runtime error: %s", "Assert failed");
2886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 680);
2887 show_backtrace(1);
2888 }
2889 var91 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2890 if (var91 == NULL) {
2891 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 681);
2893 show_backtrace(1);
2894 }
2895 ((void (*)(val*, long, val*))(var91->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var91, var_i81, var_new_child) /* []= on <var91:ANodes[ASuperclass]>*/;
2896 ((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(ASuperclass)>*/;
2897 } else {
2898 var92 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2899 if (var92 == NULL) {
2900 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 684);
2902 show_backtrace(1);
2903 }
2904 ((void (*)(val*, long))(var92->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var92, var_i81) /* remove_at on <var92:ANodes[ASuperclass]>*/;
2905 }
2906 goto RET_LABEL;
2907 } else {
2908 }
2909 CONTINUE_label93: (void)0;
2910 ((void (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__next]))(var78) /* next on <var78:Iterator[nullable Object]>*/;
2911 }
2912 BREAK_label93: (void)0;
2913 var94 = NEW_range__Range(&type_range__Rangekernel__Int);
2914 var95 = 0;
2915 var96 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2916 if (var96 == NULL) {
2917 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2918 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 689);
2919 show_backtrace(1);
2920 }
2921 var97 = ((long (*)(val*))(var96->class->vft[COLOR_abstract_collection__Collection__length]))(var96) /* length on <var96:ANodes[APropdef]>*/;
2922 var98 = BOX_kernel__Int(var95); /* autobox from Int to Discrete */
2923 var99 = BOX_kernel__Int(var97); /* autobox from Int to Discrete */
2924 ((void (*)(val*, val*, val*))(var94->class->vft[COLOR_range__Range__without_last]))(var94, var98, var99) /* without_last on <var94:Range[Int]>*/;
2925 var100 = ((val* (*)(val*))(var94->class->vft[COLOR_abstract_collection__Collection__iterator]))(var94) /* iterator on <var94:Range[Int]>*/;
2926 for(;;) {
2927 var101 = ((short int (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var100) /* is_ok on <var100:Iterator[nullable Object]>*/;
2928 if(!var101) break;
2929 var102 = ((val* (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__item]))(var100) /* item on <var100:Iterator[nullable Object]>*/;
2930 var104 = ((struct instance_kernel__Int*)var102)->value; /* autounbox from nullable Object to Int */;
2931 var_i103 = var104;
2932 var105 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2933 if (var105 == NULL) {
2934 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 690);
2936 show_backtrace(1);
2937 }
2938 var106 = ((val* (*)(val*, long))(var105->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var105, var_i103) /* [] on <var105:ANodes[APropdef]>*/;
2939 var107 = ((short int (*)(val*, val*))(var106->class->vft[COLOR_kernel__Object___61d_61d]))(var106, var_old_child) /* == on <var106:nullable Object(APropdef)>*/;
2940 if (var107){
2941 var108 = NULL;
2942 if (var_new_child == NULL) {
2943 var109 = 0; /* is null */
2944 } else {
2945 var109 = 1; /* arg is null and recv is not */
2946 }
2947 if (var109){
2948 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
2949 cltype111 = type_parser_nodes__APropdef.color;
2950 idtype112 = type_parser_nodes__APropdef.id;
2951 if(cltype111 >= var_new_child->type->table_size) {
2952 var110 = 0;
2953 } else {
2954 var110 = var_new_child->type->type_table[cltype111] == idtype112;
2955 }
2956 if (!var110) {
2957 fprintf(stderr, "Runtime error: %s", "Assert failed");
2958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 692);
2959 show_backtrace(1);
2960 }
2961 var113 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2962 if (var113 == NULL) {
2963 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 693);
2965 show_backtrace(1);
2966 }
2967 ((void (*)(val*, long, val*))(var113->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var113, var_i103, var_new_child) /* []= on <var113:ANodes[APropdef]>*/;
2968 ((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(APropdef)>*/;
2969 } else {
2970 var114 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2971 if (var114 == NULL) {
2972 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2973 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 696);
2974 show_backtrace(1);
2975 }
2976 ((void (*)(val*, long))(var114->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var114, var_i103) /* remove_at on <var114:ANodes[APropdef]>*/;
2977 }
2978 goto RET_LABEL;
2979 } else {
2980 }
2981 CONTINUE_label115: (void)0;
2982 ((void (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__next]))(var100) /* next on <var100:Iterator[nullable Object]>*/;
2983 }
2984 BREAK_label115: (void)0;
2985 var116 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on <self:AStdClassdef> */
2986 if (var116 == NULL) {
2987 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
2988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 701);
2989 show_backtrace(1);
2990 }
2991 var117 = ((short int (*)(val*, val*))(var116->class->vft[COLOR_kernel__Object___61d_61d]))(var116, var_old_child) /* == on <var116:TKwend>*/;
2992 if (var117){
2993 var118 = NULL;
2994 if (var_new_child == NULL) {
2995 var119 = 0; /* is null */
2996 } else {
2997 var119 = 1; /* arg is null and recv is not */
2998 }
2999 if (var119){
3000 ((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)>*/;
3001 /* <var_new_child:nullable ANode(ANode)> isa TKwend */
3002 cltype121 = type_parser_nodes__TKwend.color;
3003 idtype122 = type_parser_nodes__TKwend.id;
3004 if(cltype121 >= var_new_child->type->table_size) {
3005 var120 = 0;
3006 } else {
3007 var120 = var_new_child->type->type_table[cltype121] == idtype122;
3008 }
3009 if (!var120) {
3010 fprintf(stderr, "Runtime error: %s", "Assert failed");
3011 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 704);
3012 show_backtrace(1);
3013 }
3014 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_new_child; /* _n_kwend on <self:AStdClassdef> */
3015 } else {
3016 fprintf(stderr, "Runtime error: %s", "Aborted");
3017 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 707);
3018 show_backtrace(1);
3019 }
3020 goto RET_LABEL;
3021 } else {
3022 }
3023 RET_LABEL:;
3024 }
3025 /* method parser_prod#AStdClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3026 void VIRTUAL_parser_prod__AStdClassdef__replace_child(val* self, val* p0, val* p1) {
3027 parser_prod__AStdClassdef__replace_child(self, p0, p1);
3028 RET_LABEL:;
3029 }
3030 /* method parser_prod#AStdClassdef#n_doc= for (self: AStdClassdef, nullable ADoc) */
3031 void parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) {
3032 val* var_node /* var node: nullable ADoc */;
3033 val* var /* : null */;
3034 short int var1 /* : Bool */;
3035 var_node = p0;
3036 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_node; /* _n_doc on <self:AStdClassdef> */
3037 var = NULL;
3038 if (var_node == NULL) {
3039 var1 = 0; /* is null */
3040 } else {
3041 var1 = 1; /* arg is null and recv is not */
3042 }
3043 if (var1){
3044 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
3045 } else {
3046 }
3047 RET_LABEL:;
3048 }
3049 /* method parser_prod#AStdClassdef#n_doc= for (self: Object, nullable ADoc) */
3050 void VIRTUAL_parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) {
3051 parser_prod__AStdClassdef__n_doc_61d(self, p0);
3052 RET_LABEL:;
3053 }
3054 /* method parser_prod#AStdClassdef#n_kwredef= for (self: AStdClassdef, nullable TKwredef) */
3055 void parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) {
3056 val* var_node /* var node: nullable TKwredef */;
3057 val* var /* : null */;
3058 short int var1 /* : Bool */;
3059 var_node = p0;
3060 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AStdClassdef> */
3061 var = NULL;
3062 if (var_node == NULL) {
3063 var1 = 0; /* is null */
3064 } else {
3065 var1 = 1; /* arg is null and recv is not */
3066 }
3067 if (var1){
3068 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
3069 } else {
3070 }
3071 RET_LABEL:;
3072 }
3073 /* method parser_prod#AStdClassdef#n_kwredef= for (self: Object, nullable TKwredef) */
3074 void VIRTUAL_parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) {
3075 parser_prod__AStdClassdef__n_kwredef_61d(self, p0);
3076 RET_LABEL:;
3077 }
3078 /* method parser_prod#AStdClassdef#n_visibility= for (self: AStdClassdef, AVisibility) */
3079 void parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) {
3080 val* var_node /* var node: AVisibility */;
3081 var_node = p0;
3082 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_node; /* _n_visibility on <self:AStdClassdef> */
3083 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
3084 RET_LABEL:;
3085 }
3086 /* method parser_prod#AStdClassdef#n_visibility= for (self: Object, AVisibility) */
3087 void VIRTUAL_parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) {
3088 parser_prod__AStdClassdef__n_visibility_61d(self, p0);
3089 RET_LABEL:;
3090 }
3091 /* method parser_prod#AStdClassdef#n_classkind= for (self: AStdClassdef, AClasskind) */
3092 void parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) {
3093 val* var_node /* var node: AClasskind */;
3094 var_node = p0;
3095 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_node; /* _n_classkind on <self:AStdClassdef> */
3096 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AClasskind>*/;
3097 RET_LABEL:;
3098 }
3099 /* method parser_prod#AStdClassdef#n_classkind= for (self: Object, AClasskind) */
3100 void VIRTUAL_parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) {
3101 parser_prod__AStdClassdef__n_classkind_61d(self, p0);
3102 RET_LABEL:;
3103 }
3104 /* method parser_prod#AStdClassdef#n_id= for (self: AStdClassdef, nullable TClassid) */
3105 void parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) {
3106 val* var_node /* var node: nullable TClassid */;
3107 val* var /* : null */;
3108 short int var1 /* : Bool */;
3109 var_node = p0;
3110 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_node; /* _n_id on <self:AStdClassdef> */
3111 var = NULL;
3112 if (var_node == NULL) {
3113 var1 = 0; /* is null */
3114 } else {
3115 var1 = 1; /* arg is null and recv is not */
3116 }
3117 if (var1){
3118 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TClassid(TClassid)>*/;
3119 } else {
3120 }
3121 RET_LABEL:;
3122 }
3123 /* method parser_prod#AStdClassdef#n_id= for (self: Object, nullable TClassid) */
3124 void VIRTUAL_parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) {
3125 parser_prod__AStdClassdef__n_id_61d(self, p0);
3126 RET_LABEL:;
3127 }
3128 /* method parser_prod#AStdClassdef#n_annotations= for (self: AStdClassdef, nullable AAnnotations) */
3129 void parser_prod__AStdClassdef__n_annotations_61d(val* self, val* p0) {
3130 val* var_node /* var node: nullable AAnnotations */;
3131 val* var /* : null */;
3132 short int var1 /* : Bool */;
3133 var_node = p0;
3134 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStdClassdef> */
3135 var = NULL;
3136 if (var_node == NULL) {
3137 var1 = 0; /* is null */
3138 } else {
3139 var1 = 1; /* arg is null and recv is not */
3140 }
3141 if (var1){
3142 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3143 } else {
3144 }
3145 RET_LABEL:;
3146 }
3147 /* method parser_prod#AStdClassdef#n_annotations= for (self: Object, nullable AAnnotations) */
3148 void VIRTUAL_parser_prod__AStdClassdef__n_annotations_61d(val* self, val* p0) {
3149 parser_prod__AStdClassdef__n_annotations_61d(self, p0);
3150 RET_LABEL:;
3151 }
3152 /* method parser_prod#AStdClassdef#n_extern_code_block= for (self: AStdClassdef, nullable AExternCodeBlock) */
3153 void parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) {
3154 val* var_node /* var node: nullable AExternCodeBlock */;
3155 val* var /* : null */;
3156 short int var1 /* : Bool */;
3157 var_node = p0;
3158 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on <self:AStdClassdef> */
3159 var = NULL;
3160 if (var_node == NULL) {
3161 var1 = 0; /* is null */
3162 } else {
3163 var1 = 1; /* arg is null and recv is not */
3164 }
3165 if (var1){
3166 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCodeBlock(AExternCodeBlock)>*/;
3167 } else {
3168 }
3169 RET_LABEL:;
3170 }
3171 /* method parser_prod#AStdClassdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */
3172 void VIRTUAL_parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) {
3173 parser_prod__AStdClassdef__n_extern_code_block_61d(self, p0);
3174 RET_LABEL:;
3175 }
3176 /* method parser_prod#AStdClassdef#n_kwend= for (self: AStdClassdef, TKwend) */
3177 void parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) {
3178 val* var_node /* var node: TKwend */;
3179 var_node = p0;
3180 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_node; /* _n_kwend on <self:AStdClassdef> */
3181 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwend>*/;
3182 RET_LABEL:;
3183 }
3184 /* method parser_prod#AStdClassdef#n_kwend= for (self: Object, TKwend) */
3185 void VIRTUAL_parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) {
3186 parser_prod__AStdClassdef__n_kwend_61d(self, p0);
3187 RET_LABEL:;
3188 }
3189 /* method parser_prod#AStdClassdef#visit_all for (self: AStdClassdef, Visitor) */
3190 void parser_prod__AStdClassdef__visit_all(val* self, val* p0) {
3191 val* var_v /* var v: Visitor */;
3192 val* var /* : nullable ADoc */;
3193 val* var1 /* : null */;
3194 short int var2 /* : Bool */;
3195 val* var3 /* : nullable ADoc */;
3196 val* var4 /* : nullable TKwredef */;
3197 val* var5 /* : null */;
3198 short int var6 /* : Bool */;
3199 val* var7 /* : nullable TKwredef */;
3200 val* var8 /* : AVisibility */;
3201 val* var9 /* : AClasskind */;
3202 val* var10 /* : nullable TClassid */;
3203 val* var11 /* : null */;
3204 short int var12 /* : Bool */;
3205 val* var13 /* : nullable TClassid */;
3206 val* var14 /* : ANodes[AFormaldef] */;
3207 val* var15 /* : Iterator[nullable Object] */;
3208 short int var16 /* : Bool */;
3209 val* var17 /* : nullable Object */;
3210 val* var_n /* var n: AFormaldef */;
3211 val* var18 /* : nullable AAnnotations */;
3212 val* var19 /* : null */;
3213 short int var20 /* : Bool */;
3214 val* var21 /* : nullable AAnnotations */;
3215 val* var22 /* : nullable AExternCodeBlock */;
3216 val* var23 /* : null */;
3217 short int var24 /* : Bool */;
3218 val* var25 /* : nullable AExternCodeBlock */;
3219 val* var26 /* : ANodes[ASuperclass] */;
3220 val* var27 /* : Iterator[nullable Object] */;
3221 short int var28 /* : Bool */;
3222 val* var29 /* : nullable Object */;
3223 val* var_n30 /* var n: ASuperclass */;
3224 val* var32 /* : ANodes[APropdef] */;
3225 val* var33 /* : Iterator[nullable Object] */;
3226 short int var34 /* : Bool */;
3227 val* var35 /* : nullable Object */;
3228 val* var_n36 /* var n: APropdef */;
3229 val* var38 /* : TKwend */;
3230 var_v = p0;
3231 var = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
3232 var1 = NULL;
3233 if (var == NULL) {
3234 var2 = 0; /* is null */
3235 } else {
3236 var2 = 1; /* arg is null and recv is not */
3237 }
3238 if (var2){
3239 var3 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
3240 if (var3 == NULL) {
3241 fprintf(stderr, "Runtime error: %s", "Cast failed");
3242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 768);
3243 show_backtrace(1);
3244 }
3245 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
3246 } else {
3247 }
3248 var4 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
3249 var5 = NULL;
3250 if (var4 == NULL) {
3251 var6 = 0; /* is null */
3252 } else {
3253 var6 = 1; /* arg is null and recv is not */
3254 }
3255 if (var6){
3256 var7 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
3257 if (var7 == NULL) {
3258 fprintf(stderr, "Runtime error: %s", "Cast failed");
3259 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 771);
3260 show_backtrace(1);
3261 }
3262 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
3263 } else {
3264 }
3265 var8 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on <self:AStdClassdef> */
3266 if (var8 == NULL) {
3267 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
3268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 773);
3269 show_backtrace(1);
3270 }
3271 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
3272 var9 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on <self:AStdClassdef> */
3273 if (var9 == NULL) {
3274 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classkind");
3275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 774);
3276 show_backtrace(1);
3277 }
3278 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
3279 var10 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
3280 var11 = NULL;
3281 if (var10 == NULL) {
3282 var12 = 0; /* is null */
3283 } else {
3284 var12 = 1; /* arg is null and recv is not */
3285 }
3286 if (var12){
3287 var13 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
3288 if (var13 == NULL) {
3289 fprintf(stderr, "Runtime error: %s", "Cast failed");
3290 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 776);
3291 show_backtrace(1);
3292 }
3293 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on <var_v:Visitor>*/;
3294 } else {
3295 }
3296 var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
3297 if (var14 == NULL) {
3298 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
3299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 778);
3300 show_backtrace(1);
3301 }
3302 var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on <var14:ANodes[AFormaldef]>*/;
3303 for(;;) {
3304 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
3305 if(!var16) break;
3306 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
3307 var_n = var17;
3308 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3309 CONTINUE_label: (void)0;
3310 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
3311 }
3312 BREAK_label: (void)0;
3313 var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
3314 var19 = NULL;
3315 if (var18 == NULL) {
3316 var20 = 0; /* is null */
3317 } else {
3318 var20 = 1; /* arg is null and recv is not */
3319 }
3320 if (var20){
3321 var21 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
3322 if (var21 == NULL) {
3323 fprintf(stderr, "Runtime error: %s", "Cast failed");
3324 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 782);
3325 show_backtrace(1);
3326 }
3327 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on <var_v:Visitor>*/;
3328 } else {
3329 }
3330 var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
3331 var23 = NULL;
3332 if (var22 == NULL) {
3333 var24 = 0; /* is null */
3334 } else {
3335 var24 = 1; /* arg is null and recv is not */
3336 }
3337 if (var24){
3338 var25 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
3339 if (var25 == NULL) {
3340 fprintf(stderr, "Runtime error: %s", "Cast failed");
3341 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 785);
3342 show_backtrace(1);
3343 }
3344 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on <var_v:Visitor>*/;
3345 } else {
3346 }
3347 var26 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
3348 if (var26 == NULL) {
3349 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
3350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 787);
3351 show_backtrace(1);
3352 }
3353 var27 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on <var26:ANodes[ASuperclass]>*/;
3354 for(;;) {
3355 var28 = ((short int (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var27) /* is_ok on <var27:Iterator[nullable Object]>*/;
3356 if(!var28) break;
3357 var29 = ((val* (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__item]))(var27) /* item on <var27:Iterator[nullable Object]>*/;
3358 var_n30 = var29;
3359 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n30) /* enter_visit on <var_v:Visitor>*/;
3360 CONTINUE_label31: (void)0;
3361 ((void (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__next]))(var27) /* next on <var27:Iterator[nullable Object]>*/;
3362 }
3363 BREAK_label31: (void)0;
3364 var32 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
3365 if (var32 == NULL) {
3366 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 790);
3368 show_backtrace(1);
3369 }
3370 var33 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Collection__iterator]))(var32) /* iterator on <var32:ANodes[APropdef]>*/;
3371 for(;;) {
3372 var34 = ((short int (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var33) /* is_ok on <var33:Iterator[nullable Object]>*/;
3373 if(!var34) break;
3374 var35 = ((val* (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__item]))(var33) /* item on <var33:Iterator[nullable Object]>*/;
3375 var_n36 = var35;
3376 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n36) /* enter_visit on <var_v:Visitor>*/;
3377 CONTINUE_label37: (void)0;
3378 ((void (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__next]))(var33) /* next on <var33:Iterator[nullable Object]>*/;
3379 }
3380 BREAK_label37: (void)0;
3381 var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on <self:AStdClassdef> */
3382 if (var38 == NULL) {
3383 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
3384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 793);
3385 show_backtrace(1);
3386 }
3387 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var38) /* enter_visit on <var_v:Visitor>*/;
3388 RET_LABEL:;
3389 }
3390 /* method parser_prod#AStdClassdef#visit_all for (self: Object, Visitor) */
3391 void VIRTUAL_parser_prod__AStdClassdef__visit_all(val* self, val* p0) {
3392 parser_prod__AStdClassdef__visit_all(self, p0);
3393 RET_LABEL:;
3394 }
3395 /* method parser_prod#ATopClassdef#empty_init for (self: ATopClassdef) */
3396 void parser_prod__ATopClassdef__empty_init(val* self) {
3397 RET_LABEL:;
3398 }
3399 /* method parser_prod#ATopClassdef#empty_init for (self: Object) */
3400 void VIRTUAL_parser_prod__ATopClassdef__empty_init(val* self) {
3401 parser_prod__ATopClassdef__empty_init(self);
3402 RET_LABEL:;
3403 }
3404 /* method parser_prod#ATopClassdef#init_atopclassdef for (self: ATopClassdef, Collection[Object]) */
3405 void parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) {
3406 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
3407 val* var /* : Iterator[nullable Object] */;
3408 short int var1 /* : Bool */;
3409 val* var2 /* : nullable Object */;
3410 val* var_n /* var n: Object */;
3411 short int var3 /* : Bool */;
3412 int cltype;
3413 int idtype;
3414 val* var4 /* : ANodes[APropdef] */;
3415 var_n_propdefs = p0;
3416 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATopClassdef__empty_init]))(self) /* empty_init on <self:ATopClassdef>*/;
3417 var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
3418 for(;;) {
3419 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
3420 if(!var1) break;
3421 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
3422 var_n = var2;
3423 /* <var_n:Object> isa APropdef */
3424 cltype = type_parser_nodes__APropdef.color;
3425 idtype = type_parser_nodes__APropdef.id;
3426 if(cltype >= var_n->type->table_size) {
3427 var3 = 0;
3428 } else {
3429 var3 = var_n->type->type_table[cltype] == idtype;
3430 }
3431 if (!var3) {
3432 fprintf(stderr, "Runtime error: %s", "Assert failed");
3433 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 805);
3434 show_backtrace(1);
3435 }
3436 var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3437 if (var4 == NULL) {
3438 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 806);
3440 show_backtrace(1);
3441 }
3442 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[APropdef]>*/;
3443 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(APropdef)>*/;
3444 CONTINUE_label: (void)0;
3445 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
3446 }
3447 BREAK_label: (void)0;
3448 RET_LABEL:;
3449 }
3450 /* method parser_prod#ATopClassdef#init_atopclassdef for (self: Object, Collection[Object]) */
3451 void VIRTUAL_parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) {
3452 parser_prod__ATopClassdef__init_atopclassdef(self, p0);
3453 RET_LABEL:;
3454 }
3455 /* method parser_prod#ATopClassdef#replace_child for (self: ATopClassdef, ANode, nullable ANode) */
3456 void parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) {
3457 val* var_old_child /* var old_child: ANode */;
3458 val* var_new_child /* var new_child: nullable ANode */;
3459 val* var /* : Range[Int] */;
3460 long var1 /* : Int */;
3461 val* var2 /* : ANodes[APropdef] */;
3462 long var3 /* : Int */;
3463 val* var4 /* : Discrete */;
3464 val* var5 /* : Discrete */;
3465 val* var6 /* : Iterator[nullable Object] */;
3466 short int var7 /* : Bool */;
3467 val* var8 /* : nullable Object */;
3468 long var_i /* var i: Int */;
3469 long var9 /* : Int */;
3470 val* var10 /* : ANodes[APropdef] */;
3471 val* var11 /* : nullable Object */;
3472 short int var12 /* : Bool */;
3473 val* var13 /* : null */;
3474 short int var14 /* : Bool */;
3475 short int var15 /* : Bool */;
3476 int cltype;
3477 int idtype;
3478 val* var16 /* : ANodes[APropdef] */;
3479 val* var17 /* : ANodes[APropdef] */;
3480 var_old_child = p0;
3481 var_new_child = p1;
3482 var = NEW_range__Range(&type_range__Rangekernel__Int);
3483 var1 = 0;
3484 var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3485 if (var2 == NULL) {
3486 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 813);
3488 show_backtrace(1);
3489 }
3490 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[APropdef]>*/;
3491 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
3492 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
3493 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
3494 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
3495 for(;;) {
3496 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
3497 if(!var7) break;
3498 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
3499 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
3500 var_i = var9;
3501 var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3502 if (var10 == NULL) {
3503 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 814);
3505 show_backtrace(1);
3506 }
3507 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[APropdef]>*/;
3508 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(APropdef)>*/;
3509 if (var12){
3510 var13 = NULL;
3511 if (var_new_child == NULL) {
3512 var14 = 0; /* is null */
3513 } else {
3514 var14 = 1; /* arg is null and recv is not */
3515 }
3516 if (var14){
3517 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
3518 cltype = type_parser_nodes__APropdef.color;
3519 idtype = type_parser_nodes__APropdef.id;
3520 if(cltype >= var_new_child->type->table_size) {
3521 var15 = 0;
3522 } else {
3523 var15 = var_new_child->type->type_table[cltype] == idtype;
3524 }
3525 if (!var15) {
3526 fprintf(stderr, "Runtime error: %s", "Assert failed");
3527 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 816);
3528 show_backtrace(1);
3529 }
3530 var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3531 if (var16 == NULL) {
3532 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3533 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 817);
3534 show_backtrace(1);
3535 }
3536 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[APropdef]>*/;
3537 ((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(APropdef)>*/;
3538 } else {
3539 var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3540 if (var17 == NULL) {
3541 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 820);
3543 show_backtrace(1);
3544 }
3545 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[APropdef]>*/;
3546 }
3547 goto RET_LABEL;
3548 } else {
3549 }
3550 CONTINUE_label: (void)0;
3551 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
3552 }
3553 BREAK_label: (void)0;
3554 RET_LABEL:;
3555 }
3556 /* method parser_prod#ATopClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3557 void VIRTUAL_parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) {
3558 parser_prod__ATopClassdef__replace_child(self, p0, p1);
3559 RET_LABEL:;
3560 }
3561 /* method parser_prod#ATopClassdef#visit_all for (self: ATopClassdef, Visitor) */
3562 void parser_prod__ATopClassdef__visit_all(val* self, val* p0) {
3563 val* var_v /* var v: Visitor */;
3564 val* var /* : ANodes[APropdef] */;
3565 val* var1 /* : Iterator[nullable Object] */;
3566 short int var2 /* : Bool */;
3567 val* var3 /* : nullable Object */;
3568 val* var_n /* var n: APropdef */;
3569 var_v = p0;
3570 var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3571 if (var == NULL) {
3572 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 831);
3574 show_backtrace(1);
3575 }
3576 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[APropdef]>*/;
3577 for(;;) {
3578 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
3579 if(!var2) break;
3580 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
3581 var_n = var3;
3582 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3583 CONTINUE_label: (void)0;
3584 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
3585 }
3586 BREAK_label: (void)0;
3587 RET_LABEL:;
3588 }
3589 /* method parser_prod#ATopClassdef#visit_all for (self: Object, Visitor) */
3590 void VIRTUAL_parser_prod__ATopClassdef__visit_all(val* self, val* p0) {
3591 parser_prod__ATopClassdef__visit_all(self, p0);
3592 RET_LABEL:;
3593 }
3594 /* method parser_prod#AMainClassdef#empty_init for (self: AMainClassdef) */
3595 void parser_prod__AMainClassdef__empty_init(val* self) {
3596 RET_LABEL:;
3597 }
3598 /* method parser_prod#AMainClassdef#empty_init for (self: Object) */
3599 void VIRTUAL_parser_prod__AMainClassdef__empty_init(val* self) {
3600 parser_prod__AMainClassdef__empty_init(self);
3601 RET_LABEL:;
3602 }
3603 /* method parser_prod#AMainClassdef#init_amainclassdef for (self: AMainClassdef, Collection[Object]) */
3604 void parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) {
3605 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
3606 val* var /* : Iterator[nullable Object] */;
3607 short int var1 /* : Bool */;
3608 val* var2 /* : nullable Object */;
3609 val* var_n /* var n: Object */;
3610 short int var3 /* : Bool */;
3611 int cltype;
3612 int idtype;
3613 val* var4 /* : ANodes[APropdef] */;
3614 var_n_propdefs = p0;
3615 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMainClassdef__empty_init]))(self) /* empty_init on <self:AMainClassdef>*/;
3616 var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
3617 for(;;) {
3618 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
3619 if(!var1) break;
3620 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
3621 var_n = var2;
3622 /* <var_n:Object> isa APropdef */
3623 cltype = type_parser_nodes__APropdef.color;
3624 idtype = type_parser_nodes__APropdef.id;
3625 if(cltype >= var_n->type->table_size) {
3626 var3 = 0;
3627 } else {
3628 var3 = var_n->type->type_table[cltype] == idtype;
3629 }
3630 if (!var3) {
3631 fprintf(stderr, "Runtime error: %s", "Assert failed");
3632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 845);
3633 show_backtrace(1);
3634 }
3635 var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3636 if (var4 == NULL) {
3637 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 846);
3639 show_backtrace(1);
3640 }
3641 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[APropdef]>*/;
3642 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(APropdef)>*/;
3643 CONTINUE_label: (void)0;
3644 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
3645 }
3646 BREAK_label: (void)0;
3647 RET_LABEL:;
3648 }
3649 /* method parser_prod#AMainClassdef#init_amainclassdef for (self: Object, Collection[Object]) */
3650 void VIRTUAL_parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) {
3651 parser_prod__AMainClassdef__init_amainclassdef(self, p0);
3652 RET_LABEL:;
3653 }
3654 /* method parser_prod#AMainClassdef#replace_child for (self: AMainClassdef, ANode, nullable ANode) */
3655 void parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) {
3656 val* var_old_child /* var old_child: ANode */;
3657 val* var_new_child /* var new_child: nullable ANode */;
3658 val* var /* : Range[Int] */;
3659 long var1 /* : Int */;
3660 val* var2 /* : ANodes[APropdef] */;
3661 long var3 /* : Int */;
3662 val* var4 /* : Discrete */;
3663 val* var5 /* : Discrete */;
3664 val* var6 /* : Iterator[nullable Object] */;
3665 short int var7 /* : Bool */;
3666 val* var8 /* : nullable Object */;
3667 long var_i /* var i: Int */;
3668 long var9 /* : Int */;
3669 val* var10 /* : ANodes[APropdef] */;
3670 val* var11 /* : nullable Object */;
3671 short int var12 /* : Bool */;
3672 val* var13 /* : null */;
3673 short int var14 /* : Bool */;
3674 short int var15 /* : Bool */;
3675 int cltype;
3676 int idtype;
3677 val* var16 /* : ANodes[APropdef] */;
3678 val* var17 /* : ANodes[APropdef] */;
3679 var_old_child = p0;
3680 var_new_child = p1;
3681 var = NEW_range__Range(&type_range__Rangekernel__Int);
3682 var1 = 0;
3683 var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3684 if (var2 == NULL) {
3685 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 853);
3687 show_backtrace(1);
3688 }
3689 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[APropdef]>*/;
3690 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
3691 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
3692 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
3693 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
3694 for(;;) {
3695 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
3696 if(!var7) break;
3697 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
3698 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
3699 var_i = var9;
3700 var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3701 if (var10 == NULL) {
3702 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 854);
3704 show_backtrace(1);
3705 }
3706 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[APropdef]>*/;
3707 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(APropdef)>*/;
3708 if (var12){
3709 var13 = NULL;
3710 if (var_new_child == NULL) {
3711 var14 = 0; /* is null */
3712 } else {
3713 var14 = 1; /* arg is null and recv is not */
3714 }
3715 if (var14){
3716 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
3717 cltype = type_parser_nodes__APropdef.color;
3718 idtype = type_parser_nodes__APropdef.id;
3719 if(cltype >= var_new_child->type->table_size) {
3720 var15 = 0;
3721 } else {
3722 var15 = var_new_child->type->type_table[cltype] == idtype;
3723 }
3724 if (!var15) {
3725 fprintf(stderr, "Runtime error: %s", "Assert failed");
3726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 856);
3727 show_backtrace(1);
3728 }
3729 var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3730 if (var16 == NULL) {
3731 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 857);
3733 show_backtrace(1);
3734 }
3735 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[APropdef]>*/;
3736 ((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(APropdef)>*/;
3737 } else {
3738 var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3739 if (var17 == NULL) {
3740 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3741 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 860);
3742 show_backtrace(1);
3743 }
3744 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[APropdef]>*/;
3745 }
3746 goto RET_LABEL;
3747 } else {
3748 }
3749 CONTINUE_label: (void)0;
3750 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
3751 }
3752 BREAK_label: (void)0;
3753 RET_LABEL:;
3754 }
3755 /* method parser_prod#AMainClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3756 void VIRTUAL_parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) {
3757 parser_prod__AMainClassdef__replace_child(self, p0, p1);
3758 RET_LABEL:;
3759 }
3760 /* method parser_prod#AMainClassdef#visit_all for (self: AMainClassdef, Visitor) */
3761 void parser_prod__AMainClassdef__visit_all(val* self, val* p0) {
3762 val* var_v /* var v: Visitor */;
3763 val* var /* : ANodes[APropdef] */;
3764 val* var1 /* : Iterator[nullable Object] */;
3765 short int var2 /* : Bool */;
3766 val* var3 /* : nullable Object */;
3767 val* var_n /* var n: APropdef */;
3768 var_v = p0;
3769 var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3770 if (var == NULL) {
3771 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 871);
3773 show_backtrace(1);
3774 }
3775 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[APropdef]>*/;
3776 for(;;) {
3777 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
3778 if(!var2) break;
3779 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
3780 var_n = var3;
3781 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3782 CONTINUE_label: (void)0;
3783 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
3784 }
3785 BREAK_label: (void)0;
3786 RET_LABEL:;
3787 }
3788 /* method parser_prod#AMainClassdef#visit_all for (self: Object, Visitor) */
3789 void VIRTUAL_parser_prod__AMainClassdef__visit_all(val* self, val* p0) {
3790 parser_prod__AMainClassdef__visit_all(self, p0);
3791 RET_LABEL:;
3792 }
3793 /* method parser_prod#AConcreteClasskind#empty_init for (self: AConcreteClasskind) */
3794 void parser_prod__AConcreteClasskind__empty_init(val* self) {
3795 RET_LABEL:;
3796 }
3797 /* method parser_prod#AConcreteClasskind#empty_init for (self: Object) */
3798 void VIRTUAL_parser_prod__AConcreteClasskind__empty_init(val* self) {
3799 parser_prod__AConcreteClasskind__empty_init(self);
3800 RET_LABEL:;
3801 }
3802 /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: AConcreteClasskind, nullable TKwclass) */
3803 void parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) {
3804 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
3805 var_n_kwclass = p0;
3806 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteClasskind__empty_init]))(self) /* empty_init on <self:AConcreteClasskind>*/;
3807 if (var_n_kwclass == NULL) {
3808 fprintf(stderr, "Runtime error: %s", "Cast failed");
3809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 884);
3810 show_backtrace(1);
3811 }
3812 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AConcreteClasskind> */
3813 if (var_n_kwclass == NULL) {
3814 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 885);
3816 show_backtrace(1);
3817 } else {
3818 ((void (*)(val*, val*))(var_n_kwclass->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwclass, self) /* parent= on <var_n_kwclass:nullable TKwclass>*/;
3819 }
3820 RET_LABEL:;
3821 }
3822 /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: Object, nullable TKwclass) */
3823 void VIRTUAL_parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) {
3824 parser_prod__AConcreteClasskind__init_aconcreteclasskind(self, p0);
3825 RET_LABEL:;
3826 }
3827 /* method parser_prod#AConcreteClasskind#replace_child for (self: AConcreteClasskind, ANode, nullable ANode) */
3828 void parser_prod__AConcreteClasskind__replace_child(val* self, val* p0, val* p1) {
3829 val* var_old_child /* var old_child: ANode */;
3830 val* var_new_child /* var new_child: nullable ANode */;
3831 val* var /* : TKwclass */;
3832 short int var1 /* : Bool */;
3833 val* var2 /* : null */;
3834 short int var3 /* : Bool */;
3835 short int var4 /* : Bool */;
3836 int cltype;
3837 int idtype;
3838 var_old_child = p0;
3839 var_new_child = p1;
3840 var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on <self:AConcreteClasskind> */
3841 if (var == NULL) {
3842 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
3843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 890);
3844 show_backtrace(1);
3845 }
3846 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwclass>*/;
3847 if (var1){
3848 var2 = NULL;
3849 if (var_new_child == NULL) {
3850 var3 = 0; /* is null */
3851 } else {
3852 var3 = 1; /* arg is null and recv is not */
3853 }
3854 if (var3){
3855 ((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)>*/;
3856 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
3857 cltype = type_parser_nodes__TKwclass.color;
3858 idtype = type_parser_nodes__TKwclass.id;
3859 if(cltype >= var_new_child->type->table_size) {
3860 var4 = 0;
3861 } else {
3862 var4 = var_new_child->type->type_table[cltype] == idtype;
3863 }
3864 if (!var4) {
3865 fprintf(stderr, "Runtime error: %s", "Assert failed");
3866 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 893);
3867 show_backtrace(1);
3868 }
3869 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AConcreteClasskind> */
3870 } else {
3871 fprintf(stderr, "Runtime error: %s", "Aborted");
3872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 896);
3873 show_backtrace(1);
3874 }
3875 goto RET_LABEL;
3876 } else {
3877 }
3878 RET_LABEL:;
3879 }
3880 /* method parser_prod#AConcreteClasskind#replace_child for (self: Object, ANode, nullable ANode) */
3881 void VIRTUAL_parser_prod__AConcreteClasskind__replace_child(val* self, val* p0, val* p1) {
3882 parser_prod__AConcreteClasskind__replace_child(self, p0, p1);
3883 RET_LABEL:;
3884 }
3885 /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: AConcreteClasskind, TKwclass) */
3886 void parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) {
3887 val* var_node /* var node: TKwclass */;
3888 var_node = p0;
3889 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AConcreteClasskind> */
3890 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwclass>*/;
3891 RET_LABEL:;
3892 }
3893 /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: Object, TKwclass) */
3894 void VIRTUAL_parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) {
3895 parser_prod__AConcreteClasskind__n_kwclass_61d(self, p0);
3896 RET_LABEL:;
3897 }
3898 /* method parser_prod#AConcreteClasskind#visit_all for (self: AConcreteClasskind, Visitor) */
3899 void parser_prod__AConcreteClasskind__visit_all(val* self, val* p0) {
3900 val* var_v /* var v: Visitor */;
3901 val* var /* : TKwclass */;
3902 var_v = p0;
3903 var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on <self:AConcreteClasskind> */
3904 if (var == NULL) {
3905 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
3906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 911);
3907 show_backtrace(1);
3908 }
3909 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3910 RET_LABEL:;
3911 }
3912 /* method parser_prod#AConcreteClasskind#visit_all for (self: Object, Visitor) */
3913 void VIRTUAL_parser_prod__AConcreteClasskind__visit_all(val* self, val* p0) {
3914 parser_prod__AConcreteClasskind__visit_all(self, p0);
3915 RET_LABEL:;
3916 }
3917 /* method parser_prod#AAbstractClasskind#empty_init for (self: AAbstractClasskind) */
3918 void parser_prod__AAbstractClasskind__empty_init(val* self) {
3919 RET_LABEL:;
3920 }
3921 /* method parser_prod#AAbstractClasskind#empty_init for (self: Object) */
3922 void VIRTUAL_parser_prod__AAbstractClasskind__empty_init(val* self) {
3923 parser_prod__AAbstractClasskind__empty_init(self);
3924 RET_LABEL:;
3925 }
3926 /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: AAbstractClasskind, nullable TKwabstract, nullable TKwclass) */
3927 void parser_prod__AAbstractClasskind__init_aabstractclasskind(val* self, val* p0, val* p1) {
3928 val* var_n_kwabstract /* var n_kwabstract: nullable TKwabstract */;
3929 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
3930 var_n_kwabstract = p0;
3931 var_n_kwclass = p1;
3932 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAbstractClasskind__empty_init]))(self) /* empty_init on <self:AAbstractClasskind>*/;
3933 if (var_n_kwabstract == NULL) {
3934 fprintf(stderr, "Runtime error: %s", "Cast failed");
3935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 923);
3936 show_backtrace(1);
3937 }
3938 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_n_kwabstract; /* _n_kwabstract on <self:AAbstractClasskind> */
3939 if (var_n_kwabstract == NULL) {
3940 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3941 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 924);
3942 show_backtrace(1);
3943 } else {
3944 ((void (*)(val*, val*))(var_n_kwabstract->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwabstract, self) /* parent= on <var_n_kwabstract:nullable TKwabstract>*/;
3945 }
3946 if (var_n_kwclass == NULL) {
3947 fprintf(stderr, "Runtime error: %s", "Cast failed");
3948 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 925);
3949 show_backtrace(1);
3950 }
3951 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AAbstractClasskind> */
3952 if (var_n_kwclass == NULL) {
3953 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3954 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 926);
3955 show_backtrace(1);
3956 } else {
3957 ((void (*)(val*, val*))(var_n_kwclass->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwclass, self) /* parent= on <var_n_kwclass:nullable TKwclass>*/;
3958 }
3959 RET_LABEL:;
3960 }
3961 /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: Object, nullable TKwabstract, nullable TKwclass) */
3962 void VIRTUAL_parser_prod__AAbstractClasskind__init_aabstractclasskind(val* self, val* p0, val* p1) {
3963 parser_prod__AAbstractClasskind__init_aabstractclasskind(self, p0, p1);
3964 RET_LABEL:;
3965 }
3966 /* method parser_prod#AAbstractClasskind#replace_child for (self: AAbstractClasskind, ANode, nullable ANode) */
3967 void parser_prod__AAbstractClasskind__replace_child(val* self, val* p0, val* p1) {
3968 val* var_old_child /* var old_child: ANode */;
3969 val* var_new_child /* var new_child: nullable ANode */;
3970 val* var /* : TKwabstract */;
3971 short int var1 /* : Bool */;
3972 val* var2 /* : null */;
3973 short int var3 /* : Bool */;
3974 short int var4 /* : Bool */;
3975 int cltype;
3976 int idtype;
3977 val* var5 /* : TKwclass */;
3978 short int var6 /* : Bool */;
3979 val* var7 /* : null */;
3980 short int var8 /* : Bool */;
3981 short int var9 /* : Bool */;
3982 int cltype10;
3983 int idtype11;
3984 var_old_child = p0;
3985 var_new_child = p1;
3986 var = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on <self:AAbstractClasskind> */
3987 if (var == NULL) {
3988 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwabstract");
3989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 931);
3990 show_backtrace(1);
3991 }
3992 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwabstract>*/;
3993 if (var1){
3994 var2 = NULL;
3995 if (var_new_child == NULL) {
3996 var3 = 0; /* is null */
3997 } else {
3998 var3 = 1; /* arg is null and recv is not */
3999 }
4000 if (var3){
4001 ((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)>*/;
4002 /* <var_new_child:nullable ANode(ANode)> isa TKwabstract */
4003 cltype = type_parser_nodes__TKwabstract.color;
4004 idtype = type_parser_nodes__TKwabstract.id;
4005 if(cltype >= var_new_child->type->table_size) {
4006 var4 = 0;
4007 } else {
4008 var4 = var_new_child->type->type_table[cltype] == idtype;
4009 }
4010 if (!var4) {
4011 fprintf(stderr, "Runtime error: %s", "Assert failed");
4012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 934);
4013 show_backtrace(1);
4014 }
4015 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_new_child; /* _n_kwabstract on <self:AAbstractClasskind> */
4016 } else {
4017 fprintf(stderr, "Runtime error: %s", "Aborted");
4018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 937);
4019 show_backtrace(1);
4020 }
4021 goto RET_LABEL;
4022 } else {
4023 }
4024 var5 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on <self:AAbstractClasskind> */
4025 if (var5 == NULL) {
4026 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
4027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 941);
4028 show_backtrace(1);
4029 }
4030 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwclass>*/;
4031 if (var6){
4032 var7 = NULL;
4033 if (var_new_child == NULL) {
4034 var8 = 0; /* is null */
4035 } else {
4036 var8 = 1; /* arg is null and recv is not */
4037 }
4038 if (var8){
4039 ((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)>*/;
4040 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
4041 cltype10 = type_parser_nodes__TKwclass.color;
4042 idtype11 = type_parser_nodes__TKwclass.id;
4043 if(cltype10 >= var_new_child->type->table_size) {
4044 var9 = 0;
4045 } else {
4046 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4047 }
4048 if (!var9) {
4049 fprintf(stderr, "Runtime error: %s", "Assert failed");
4050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 944);
4051 show_backtrace(1);
4052 }
4053 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AAbstractClasskind> */
4054 } else {
4055 fprintf(stderr, "Runtime error: %s", "Aborted");
4056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 947);
4057 show_backtrace(1);
4058 }
4059 goto RET_LABEL;
4060 } else {
4061 }
4062 RET_LABEL:;
4063 }
4064 /* method parser_prod#AAbstractClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4065 void VIRTUAL_parser_prod__AAbstractClasskind__replace_child(val* self, val* p0, val* p1) {
4066 parser_prod__AAbstractClasskind__replace_child(self, p0, p1);
4067 RET_LABEL:;
4068 }
4069 /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: AAbstractClasskind, TKwabstract) */
4070 void parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) {
4071 val* var_node /* var node: TKwabstract */;
4072 var_node = p0;
4073 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_node; /* _n_kwabstract on <self:AAbstractClasskind> */
4074 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwabstract>*/;
4075 RET_LABEL:;
4076 }
4077 /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: Object, TKwabstract) */
4078 void VIRTUAL_parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) {
4079 parser_prod__AAbstractClasskind__n_kwabstract_61d(self, p0);
4080 RET_LABEL:;
4081 }
4082 /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: AAbstractClasskind, TKwclass) */
4083 void parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) {
4084 val* var_node /* var node: TKwclass */;
4085 var_node = p0;
4086 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AAbstractClasskind> */
4087 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwclass>*/;
4088 RET_LABEL:;
4089 }
4090 /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: Object, TKwclass) */
4091 void VIRTUAL_parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) {
4092 parser_prod__AAbstractClasskind__n_kwclass_61d(self, p0);
4093 RET_LABEL:;
4094 }
4095 /* method parser_prod#AAbstractClasskind#visit_all for (self: AAbstractClasskind, Visitor) */
4096 void parser_prod__AAbstractClasskind__visit_all(val* self, val* p0) {
4097 val* var_v /* var v: Visitor */;
4098 val* var /* : TKwabstract */;
4099 val* var1 /* : TKwclass */;
4100 var_v = p0;
4101 var = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on <self:AAbstractClasskind> */
4102 if (var == NULL) {
4103 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwabstract");
4104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 967);
4105 show_backtrace(1);
4106 }
4107 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4108 var1 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on <self:AAbstractClasskind> */
4109 if (var1 == NULL) {
4110 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
4111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 968);
4112 show_backtrace(1);
4113 }
4114 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4115 RET_LABEL:;
4116 }
4117 /* method parser_prod#AAbstractClasskind#visit_all for (self: Object, Visitor) */
4118 void VIRTUAL_parser_prod__AAbstractClasskind__visit_all(val* self, val* p0) {
4119 parser_prod__AAbstractClasskind__visit_all(self, p0);
4120 RET_LABEL:;
4121 }
4122 /* method parser_prod#AInterfaceClasskind#empty_init for (self: AInterfaceClasskind) */
4123 void parser_prod__AInterfaceClasskind__empty_init(val* self) {
4124 RET_LABEL:;
4125 }
4126 /* method parser_prod#AInterfaceClasskind#empty_init for (self: Object) */
4127 void VIRTUAL_parser_prod__AInterfaceClasskind__empty_init(val* self) {
4128 parser_prod__AInterfaceClasskind__empty_init(self);
4129 RET_LABEL:;
4130 }
4131 /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: AInterfaceClasskind, nullable TKwinterface) */
4132 void parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) {
4133 val* var_n_kwinterface /* var n_kwinterface: nullable TKwinterface */;
4134 var_n_kwinterface = p0;
4135 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInterfaceClasskind__empty_init]))(self) /* empty_init on <self:AInterfaceClasskind>*/;
4136 if (var_n_kwinterface == NULL) {
4137 fprintf(stderr, "Runtime error: %s", "Cast failed");
4138 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 979);
4139 show_backtrace(1);
4140 }
4141 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_n_kwinterface; /* _n_kwinterface on <self:AInterfaceClasskind> */
4142 if (var_n_kwinterface == NULL) {
4143 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 980);
4145 show_backtrace(1);
4146 } else {
4147 ((void (*)(val*, val*))(var_n_kwinterface->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwinterface, self) /* parent= on <var_n_kwinterface:nullable TKwinterface>*/;
4148 }
4149 RET_LABEL:;
4150 }
4151 /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: Object, nullable TKwinterface) */
4152 void VIRTUAL_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) {
4153 parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(self, p0);
4154 RET_LABEL:;
4155 }
4156 /* method parser_prod#AInterfaceClasskind#replace_child for (self: AInterfaceClasskind, ANode, nullable ANode) */
4157 void parser_prod__AInterfaceClasskind__replace_child(val* self, val* p0, val* p1) {
4158 val* var_old_child /* var old_child: ANode */;
4159 val* var_new_child /* var new_child: nullable ANode */;
4160 val* var /* : TKwinterface */;
4161 short int var1 /* : Bool */;
4162 val* var2 /* : null */;
4163 short int var3 /* : Bool */;
4164 short int var4 /* : Bool */;
4165 int cltype;
4166 int idtype;
4167 var_old_child = p0;
4168 var_new_child = p1;
4169 var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on <self:AInterfaceClasskind> */
4170 if (var == NULL) {
4171 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinterface");
4172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 985);
4173 show_backtrace(1);
4174 }
4175 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwinterface>*/;
4176 if (var1){
4177 var2 = NULL;
4178 if (var_new_child == NULL) {
4179 var3 = 0; /* is null */
4180 } else {
4181 var3 = 1; /* arg is null and recv is not */
4182 }
4183 if (var3){
4184 ((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)>*/;
4185 /* <var_new_child:nullable ANode(ANode)> isa TKwinterface */
4186 cltype = type_parser_nodes__TKwinterface.color;
4187 idtype = type_parser_nodes__TKwinterface.id;
4188 if(cltype >= var_new_child->type->table_size) {
4189 var4 = 0;
4190 } else {
4191 var4 = var_new_child->type->type_table[cltype] == idtype;
4192 }
4193 if (!var4) {
4194 fprintf(stderr, "Runtime error: %s", "Assert failed");
4195 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 988);
4196 show_backtrace(1);
4197 }
4198 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_new_child; /* _n_kwinterface on <self:AInterfaceClasskind> */
4199 } else {
4200 fprintf(stderr, "Runtime error: %s", "Aborted");
4201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 991);
4202 show_backtrace(1);
4203 }
4204 goto RET_LABEL;
4205 } else {
4206 }
4207 RET_LABEL:;
4208 }
4209 /* method parser_prod#AInterfaceClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4210 void VIRTUAL_parser_prod__AInterfaceClasskind__replace_child(val* self, val* p0, val* p1) {
4211 parser_prod__AInterfaceClasskind__replace_child(self, p0, p1);
4212 RET_LABEL:;
4213 }
4214 /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: AInterfaceClasskind, TKwinterface) */
4215 void parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) {
4216 val* var_node /* var node: TKwinterface */;
4217 var_node = p0;
4218 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_node; /* _n_kwinterface on <self:AInterfaceClasskind> */
4219 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwinterface>*/;
4220 RET_LABEL:;
4221 }
4222 /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: Object, TKwinterface) */
4223 void VIRTUAL_parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) {
4224 parser_prod__AInterfaceClasskind__n_kwinterface_61d(self, p0);
4225 RET_LABEL:;
4226 }
4227 /* method parser_prod#AInterfaceClasskind#visit_all for (self: AInterfaceClasskind, Visitor) */
4228 void parser_prod__AInterfaceClasskind__visit_all(val* self, val* p0) {
4229 val* var_v /* var v: Visitor */;
4230 val* var /* : TKwinterface */;
4231 var_v = p0;
4232 var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on <self:AInterfaceClasskind> */
4233 if (var == NULL) {
4234 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinterface");
4235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1006);
4236 show_backtrace(1);
4237 }
4238 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4239 RET_LABEL:;
4240 }
4241 /* method parser_prod#AInterfaceClasskind#visit_all for (self: Object, Visitor) */
4242 void VIRTUAL_parser_prod__AInterfaceClasskind__visit_all(val* self, val* p0) {
4243 parser_prod__AInterfaceClasskind__visit_all(self, p0);
4244 RET_LABEL:;
4245 }
4246 /* method parser_prod#AEnumClasskind#empty_init for (self: AEnumClasskind) */
4247 void parser_prod__AEnumClasskind__empty_init(val* self) {
4248 RET_LABEL:;
4249 }
4250 /* method parser_prod#AEnumClasskind#empty_init for (self: Object) */
4251 void VIRTUAL_parser_prod__AEnumClasskind__empty_init(val* self) {
4252 parser_prod__AEnumClasskind__empty_init(self);
4253 RET_LABEL:;
4254 }
4255 /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: AEnumClasskind, nullable TKwenum) */
4256 void parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) {
4257 val* var_n_kwenum /* var n_kwenum: nullable TKwenum */;
4258 var_n_kwenum = p0;
4259 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEnumClasskind__empty_init]))(self) /* empty_init on <self:AEnumClasskind>*/;
4260 if (var_n_kwenum == NULL) {
4261 fprintf(stderr, "Runtime error: %s", "Cast failed");
4262 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1017);
4263 show_backtrace(1);
4264 }
4265 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_n_kwenum; /* _n_kwenum on <self:AEnumClasskind> */
4266 if (var_n_kwenum == NULL) {
4267 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1018);
4269 show_backtrace(1);
4270 } else {
4271 ((void (*)(val*, val*))(var_n_kwenum->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwenum, self) /* parent= on <var_n_kwenum:nullable TKwenum>*/;
4272 }
4273 RET_LABEL:;
4274 }
4275 /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: Object, nullable TKwenum) */
4276 void VIRTUAL_parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) {
4277 parser_prod__AEnumClasskind__init_aenumclasskind(self, p0);
4278 RET_LABEL:;
4279 }
4280 /* method parser_prod#AEnumClasskind#replace_child for (self: AEnumClasskind, ANode, nullable ANode) */
4281 void parser_prod__AEnumClasskind__replace_child(val* self, val* p0, val* p1) {
4282 val* var_old_child /* var old_child: ANode */;
4283 val* var_new_child /* var new_child: nullable ANode */;
4284 val* var /* : TKwenum */;
4285 short int var1 /* : Bool */;
4286 val* var2 /* : null */;
4287 short int var3 /* : Bool */;
4288 short int var4 /* : Bool */;
4289 int cltype;
4290 int idtype;
4291 var_old_child = p0;
4292 var_new_child = p1;
4293 var = self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val; /* _n_kwenum on <self:AEnumClasskind> */
4294 if (var == NULL) {
4295 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwenum");
4296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1023);
4297 show_backtrace(1);
4298 }
4299 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwenum>*/;
4300 if (var1){
4301 var2 = NULL;
4302 if (var_new_child == NULL) {
4303 var3 = 0; /* is null */
4304 } else {
4305 var3 = 1; /* arg is null and recv is not */
4306 }
4307 if (var3){
4308 ((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)>*/;
4309 /* <var_new_child:nullable ANode(ANode)> isa TKwenum */
4310 cltype = type_parser_nodes__TKwenum.color;
4311 idtype = type_parser_nodes__TKwenum.id;
4312 if(cltype >= var_new_child->type->table_size) {
4313 var4 = 0;
4314 } else {
4315 var4 = var_new_child->type->type_table[cltype] == idtype;
4316 }
4317 if (!var4) {
4318 fprintf(stderr, "Runtime error: %s", "Assert failed");
4319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1026);
4320 show_backtrace(1);
4321 }
4322 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_new_child; /* _n_kwenum on <self:AEnumClasskind> */
4323 } else {
4324 fprintf(stderr, "Runtime error: %s", "Aborted");
4325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1029);
4326 show_backtrace(1);
4327 }
4328 goto RET_LABEL;
4329 } else {
4330 }
4331 RET_LABEL:;
4332 }
4333 /* method parser_prod#AEnumClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4334 void VIRTUAL_parser_prod__AEnumClasskind__replace_child(val* self, val* p0, val* p1) {
4335 parser_prod__AEnumClasskind__replace_child(self, p0, p1);
4336 RET_LABEL:;
4337 }
4338 /* method parser_prod#AEnumClasskind#n_kwenum= for (self: AEnumClasskind, TKwenum) */
4339 void parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) {
4340 val* var_node /* var node: TKwenum */;
4341 var_node = p0;
4342 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_node; /* _n_kwenum on <self:AEnumClasskind> */
4343 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwenum>*/;
4344 RET_LABEL:;
4345 }
4346 /* method parser_prod#AEnumClasskind#n_kwenum= for (self: Object, TKwenum) */
4347 void VIRTUAL_parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) {
4348 parser_prod__AEnumClasskind__n_kwenum_61d(self, p0);
4349 RET_LABEL:;
4350 }
4351 /* method parser_prod#AEnumClasskind#visit_all for (self: AEnumClasskind, Visitor) */
4352 void parser_prod__AEnumClasskind__visit_all(val* self, val* p0) {
4353 val* var_v /* var v: Visitor */;
4354 val* var /* : TKwenum */;
4355 var_v = p0;
4356 var = self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val; /* _n_kwenum on <self:AEnumClasskind> */
4357 if (var == NULL) {
4358 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwenum");
4359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1044);
4360 show_backtrace(1);
4361 }
4362 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4363 RET_LABEL:;
4364 }
4365 /* method parser_prod#AEnumClasskind#visit_all for (self: Object, Visitor) */
4366 void VIRTUAL_parser_prod__AEnumClasskind__visit_all(val* self, val* p0) {
4367 parser_prod__AEnumClasskind__visit_all(self, p0);
4368 RET_LABEL:;
4369 }
4370 /* method parser_prod#AExternClasskind#empty_init for (self: AExternClasskind) */
4371 void parser_prod__AExternClasskind__empty_init(val* self) {
4372 RET_LABEL:;
4373 }
4374 /* method parser_prod#AExternClasskind#empty_init for (self: Object) */
4375 void VIRTUAL_parser_prod__AExternClasskind__empty_init(val* self) {
4376 parser_prod__AExternClasskind__empty_init(self);
4377 RET_LABEL:;
4378 }
4379 /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: AExternClasskind, nullable TKwextern, nullable TKwclass) */
4380 void parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, val* p1) {
4381 val* var_n_kwextern /* var n_kwextern: nullable TKwextern */;
4382 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
4383 val* var /* : null */;
4384 short int var1 /* : Bool */;
4385 var_n_kwextern = p0;
4386 var_n_kwclass = p1;
4387 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternClasskind__empty_init]))(self) /* empty_init on <self:AExternClasskind>*/;
4388 if (var_n_kwextern == NULL) {
4389 fprintf(stderr, "Runtime error: %s", "Cast failed");
4390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1056);
4391 show_backtrace(1);
4392 }
4393 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_n_kwextern; /* _n_kwextern on <self:AExternClasskind> */
4394 if (var_n_kwextern == NULL) {
4395 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4396 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1057);
4397 show_backtrace(1);
4398 } else {
4399 ((void (*)(val*, val*))(var_n_kwextern->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwextern, self) /* parent= on <var_n_kwextern:nullable TKwextern>*/;
4400 }
4401 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AExternClasskind> */
4402 var = NULL;
4403 if (var_n_kwclass == NULL) {
4404 var1 = 0; /* is null */
4405 } else {
4406 var1 = 1; /* arg is null and recv is not */
4407 }
4408 if (var1){
4409 ((void (*)(val*, val*))(var_n_kwclass->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwclass, self) /* parent= on <var_n_kwclass:nullable TKwclass(TKwclass)>*/;
4410 } else {
4411 }
4412 RET_LABEL:;
4413 }
4414 /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: Object, nullable TKwextern, nullable TKwclass) */
4415 void VIRTUAL_parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, val* p1) {
4416 parser_prod__AExternClasskind__init_aexternclasskind(self, p0, p1);
4417 RET_LABEL:;
4418 }
4419 /* method parser_prod#AExternClasskind#replace_child for (self: AExternClasskind, ANode, nullable ANode) */
4420 void parser_prod__AExternClasskind__replace_child(val* self, val* p0, val* p1) {
4421 val* var_old_child /* var old_child: ANode */;
4422 val* var_new_child /* var new_child: nullable ANode */;
4423 val* var /* : TKwextern */;
4424 short int var1 /* : Bool */;
4425 val* var2 /* : null */;
4426 short int var3 /* : Bool */;
4427 short int var4 /* : Bool */;
4428 int cltype;
4429 int idtype;
4430 val* var5 /* : nullable TKwclass */;
4431 short int var6 /* : Bool */;
4432 val* var7 /* : null */;
4433 short int var8 /* : Bool */;
4434 short int var9 /* : Bool */;
4435 int cltype10;
4436 int idtype11;
4437 val* var12 /* : null */;
4438 var_old_child = p0;
4439 var_new_child = p1;
4440 var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on <self:AExternClasskind> */
4441 if (var == NULL) {
4442 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwextern");
4443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1066);
4444 show_backtrace(1);
4445 }
4446 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwextern>*/;
4447 if (var1){
4448 var2 = NULL;
4449 if (var_new_child == NULL) {
4450 var3 = 0; /* is null */
4451 } else {
4452 var3 = 1; /* arg is null and recv is not */
4453 }
4454 if (var3){
4455 ((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)>*/;
4456 /* <var_new_child:nullable ANode(ANode)> isa TKwextern */
4457 cltype = type_parser_nodes__TKwextern.color;
4458 idtype = type_parser_nodes__TKwextern.id;
4459 if(cltype >= var_new_child->type->table_size) {
4460 var4 = 0;
4461 } else {
4462 var4 = var_new_child->type->type_table[cltype] == idtype;
4463 }
4464 if (!var4) {
4465 fprintf(stderr, "Runtime error: %s", "Assert failed");
4466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1069);
4467 show_backtrace(1);
4468 }
4469 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_new_child; /* _n_kwextern on <self:AExternClasskind> */
4470 } else {
4471 fprintf(stderr, "Runtime error: %s", "Aborted");
4472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1072);
4473 show_backtrace(1);
4474 }
4475 goto RET_LABEL;
4476 } else {
4477 }
4478 var5 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4479 if (var5 == NULL) {
4480 var6 = 0; /* <var_old_child:ANode> cannot be null */
4481 } else {
4482 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TKwclass>*/;
4483 }
4484 if (var6){
4485 var7 = NULL;
4486 if (var_new_child == NULL) {
4487 var8 = 0; /* is null */
4488 } else {
4489 var8 = 1; /* arg is null and recv is not */
4490 }
4491 if (var8){
4492 ((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)>*/;
4493 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
4494 cltype10 = type_parser_nodes__TKwclass.color;
4495 idtype11 = type_parser_nodes__TKwclass.id;
4496 if(cltype10 >= var_new_child->type->table_size) {
4497 var9 = 0;
4498 } else {
4499 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4500 }
4501 if (!var9) {
4502 fprintf(stderr, "Runtime error: %s", "Assert failed");
4503 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1079);
4504 show_backtrace(1);
4505 }
4506 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AExternClasskind> */
4507 } else {
4508 var12 = NULL;
4509 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var12; /* _n_kwclass on <self:AExternClasskind> */
4510 }
4511 goto RET_LABEL;
4512 } else {
4513 }
4514 RET_LABEL:;
4515 }
4516 /* method parser_prod#AExternClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4517 void VIRTUAL_parser_prod__AExternClasskind__replace_child(val* self, val* p0, val* p1) {
4518 parser_prod__AExternClasskind__replace_child(self, p0, p1);
4519 RET_LABEL:;
4520 }
4521 /* method parser_prod#AExternClasskind#n_kwextern= for (self: AExternClasskind, TKwextern) */
4522 void parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) {
4523 val* var_node /* var node: TKwextern */;
4524 var_node = p0;
4525 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_node; /* _n_kwextern on <self:AExternClasskind> */
4526 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwextern>*/;
4527 RET_LABEL:;
4528 }
4529 /* method parser_prod#AExternClasskind#n_kwextern= for (self: Object, TKwextern) */
4530 void VIRTUAL_parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) {
4531 parser_prod__AExternClasskind__n_kwextern_61d(self, p0);
4532 RET_LABEL:;
4533 }
4534 /* method parser_prod#AExternClasskind#n_kwclass= for (self: AExternClasskind, nullable TKwclass) */
4535 void parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) {
4536 val* var_node /* var node: nullable TKwclass */;
4537 val* var /* : null */;
4538 short int var1 /* : Bool */;
4539 var_node = p0;
4540 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AExternClasskind> */
4541 var = NULL;
4542 if (var_node == NULL) {
4543 var1 = 0; /* is null */
4544 } else {
4545 var1 = 1; /* arg is null and recv is not */
4546 }
4547 if (var1){
4548 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwclass(TKwclass)>*/;
4549 } else {
4550 }
4551 RET_LABEL:;
4552 }
4553 /* method parser_prod#AExternClasskind#n_kwclass= for (self: Object, nullable TKwclass) */
4554 void VIRTUAL_parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) {
4555 parser_prod__AExternClasskind__n_kwclass_61d(self, p0);
4556 RET_LABEL:;
4557 }
4558 /* method parser_prod#AExternClasskind#visit_all for (self: AExternClasskind, Visitor) */
4559 void parser_prod__AExternClasskind__visit_all(val* self, val* p0) {
4560 val* var_v /* var v: Visitor */;
4561 val* var /* : TKwextern */;
4562 val* var1 /* : nullable TKwclass */;
4563 val* var2 /* : null */;
4564 short int var3 /* : Bool */;
4565 val* var4 /* : nullable TKwclass */;
4566 var_v = p0;
4567 var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on <self:AExternClasskind> */
4568 if (var == NULL) {
4569 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwextern");
4570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1104);
4571 show_backtrace(1);
4572 }
4573 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4574 var1 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4575 var2 = NULL;
4576 if (var1 == NULL) {
4577 var3 = 0; /* is null */
4578 } else {
4579 var3 = 1; /* arg is null and recv is not */
4580 }
4581 if (var3){
4582 var4 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4583 if (var4 == NULL) {
4584 fprintf(stderr, "Runtime error: %s", "Cast failed");
4585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1106);
4586 show_backtrace(1);
4587 }
4588 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4589 } else {
4590 }
4591 RET_LABEL:;
4592 }
4593 /* method parser_prod#AExternClasskind#visit_all for (self: Object, Visitor) */
4594 void VIRTUAL_parser_prod__AExternClasskind__visit_all(val* self, val* p0) {
4595 parser_prod__AExternClasskind__visit_all(self, p0);
4596 RET_LABEL:;
4597 }
4598 /* method parser_prod#AFormaldef#empty_init for (self: AFormaldef) */
4599 void parser_prod__AFormaldef__empty_init(val* self) {
4600 RET_LABEL:;
4601 }
4602 /* method parser_prod#AFormaldef#empty_init for (self: Object) */
4603 void VIRTUAL_parser_prod__AFormaldef__empty_init(val* self) {
4604 parser_prod__AFormaldef__empty_init(self);
4605 RET_LABEL:;
4606 }
4607 /* method parser_prod#AFormaldef#init_aformaldef for (self: AFormaldef, nullable TClassid, nullable AType, nullable AAnnotations) */
4608 void parser_prod__AFormaldef__init_aformaldef(val* self, val* p0, val* p1, val* p2) {
4609 val* var_n_id /* var n_id: nullable TClassid */;
4610 val* var_n_type /* var n_type: nullable AType */;
4611 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4612 val* var /* : null */;
4613 short int var1 /* : Bool */;
4614 val* var2 /* : null */;
4615 short int var3 /* : Bool */;
4616 var_n_id = p0;
4617 var_n_type = p1;
4618 var_n_annotations = p2;
4619 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFormaldef__empty_init]))(self) /* empty_init on <self:AFormaldef>*/;
4620 if (var_n_id == NULL) {
4621 fprintf(stderr, "Runtime error: %s", "Cast failed");
4622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1120);
4623 show_backtrace(1);
4624 }
4625 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_n_id; /* _n_id on <self:AFormaldef> */
4626 if (var_n_id == NULL) {
4627 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1121);
4629 show_backtrace(1);
4630 } else {
4631 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TClassid>*/;
4632 }
4633 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_n_type; /* _n_type on <self:AFormaldef> */
4634 var = NULL;
4635 if (var_n_type == NULL) {
4636 var1 = 0; /* is null */
4637 } else {
4638 var1 = 1; /* arg is null and recv is not */
4639 }
4640 if (var1){
4641 ((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(AType)>*/;
4642 } else {
4643 }
4644 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFormaldef> */
4645 var2 = NULL;
4646 if (var_n_annotations == NULL) {
4647 var3 = 0; /* is null */
4648 } else {
4649 var3 = 1; /* arg is null and recv is not */
4650 }
4651 if (var3){
4652 ((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)>*/;
4653 } else {
4654 }
4655 RET_LABEL:;
4656 }
4657 /* method parser_prod#AFormaldef#init_aformaldef for (self: Object, nullable TClassid, nullable AType, nullable AAnnotations) */
4658 void VIRTUAL_parser_prod__AFormaldef__init_aformaldef(val* self, val* p0, val* p1, val* p2) {
4659 parser_prod__AFormaldef__init_aformaldef(self, p0, p1, p2);
4660 RET_LABEL:;
4661 }
4662 /* method parser_prod#AFormaldef#replace_child for (self: AFormaldef, ANode, nullable ANode) */
4663 void parser_prod__AFormaldef__replace_child(val* self, val* p0, val* p1) {
4664 val* var_old_child /* var old_child: ANode */;
4665 val* var_new_child /* var new_child: nullable ANode */;
4666 val* var /* : TClassid */;
4667 short int var1 /* : Bool */;
4668 val* var2 /* : null */;
4669 short int var3 /* : Bool */;
4670 short int var4 /* : Bool */;
4671 int cltype;
4672 int idtype;
4673 val* var5 /* : nullable AType */;
4674 short int var6 /* : Bool */;
4675 val* var7 /* : null */;
4676 short int var8 /* : Bool */;
4677 short int var9 /* : Bool */;
4678 int cltype10;
4679 int idtype11;
4680 val* var12 /* : null */;
4681 val* var13 /* : nullable AAnnotations */;
4682 short int var14 /* : Bool */;
4683 val* var15 /* : null */;
4684 short int var16 /* : Bool */;
4685 short int var17 /* : Bool */;
4686 int cltype18;
4687 int idtype19;
4688 val* var20 /* : null */;
4689 var_old_child = p0;
4690 var_new_child = p1;
4691 var = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on <self:AFormaldef> */
4692 if (var == NULL) {
4693 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1134);
4695 show_backtrace(1);
4696 }
4697 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TClassid>*/;
4698 if (var1){
4699 var2 = NULL;
4700 if (var_new_child == NULL) {
4701 var3 = 0; /* is null */
4702 } else {
4703 var3 = 1; /* arg is null and recv is not */
4704 }
4705 if (var3){
4706 ((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)>*/;
4707 /* <var_new_child:nullable ANode(ANode)> isa TClassid */
4708 cltype = type_parser_nodes__TClassid.color;
4709 idtype = type_parser_nodes__TClassid.id;
4710 if(cltype >= var_new_child->type->table_size) {
4711 var4 = 0;
4712 } else {
4713 var4 = var_new_child->type->type_table[cltype] == idtype;
4714 }
4715 if (!var4) {
4716 fprintf(stderr, "Runtime error: %s", "Assert failed");
4717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1137);
4718 show_backtrace(1);
4719 }
4720 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_new_child; /* _n_id on <self:AFormaldef> */
4721 } else {
4722 fprintf(stderr, "Runtime error: %s", "Aborted");
4723 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1140);
4724 show_backtrace(1);
4725 }
4726 goto RET_LABEL;
4727 } else {
4728 }
4729 var5 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4730 if (var5 == NULL) {
4731 var6 = 0; /* <var_old_child:ANode> cannot be null */
4732 } else {
4733 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AType>*/;
4734 }
4735 if (var6){
4736 var7 = NULL;
4737 if (var_new_child == NULL) {
4738 var8 = 0; /* is null */
4739 } else {
4740 var8 = 1; /* arg is null and recv is not */
4741 }
4742 if (var8){
4743 ((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)>*/;
4744 /* <var_new_child:nullable ANode(ANode)> isa AType */
4745 cltype10 = type_parser_nodes__AType.color;
4746 idtype11 = type_parser_nodes__AType.id;
4747 if(cltype10 >= var_new_child->type->table_size) {
4748 var9 = 0;
4749 } else {
4750 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4751 }
4752 if (!var9) {
4753 fprintf(stderr, "Runtime error: %s", "Assert failed");
4754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1147);
4755 show_backtrace(1);
4756 }
4757 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_new_child; /* _n_type on <self:AFormaldef> */
4758 } else {
4759 var12 = NULL;
4760 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var12; /* _n_type on <self:AFormaldef> */
4761 }
4762 goto RET_LABEL;
4763 } else {
4764 }
4765 var13 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4766 if (var13 == NULL) {
4767 var14 = 0; /* <var_old_child:ANode> cannot be null */
4768 } else {
4769 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:nullable AAnnotations>*/;
4770 }
4771 if (var14){
4772 var15 = NULL;
4773 if (var_new_child == NULL) {
4774 var16 = 0; /* is null */
4775 } else {
4776 var16 = 1; /* arg is null and recv is not */
4777 }
4778 if (var16){
4779 ((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)>*/;
4780 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4781 cltype18 = type_parser_nodes__AAnnotations.color;
4782 idtype19 = type_parser_nodes__AAnnotations.id;
4783 if(cltype18 >= var_new_child->type->table_size) {
4784 var17 = 0;
4785 } else {
4786 var17 = var_new_child->type->type_table[cltype18] == idtype19;
4787 }
4788 if (!var17) {
4789 fprintf(stderr, "Runtime error: %s", "Assert failed");
4790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1157);
4791 show_backtrace(1);
4792 }
4793 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFormaldef> */
4794 } else {
4795 var20 = NULL;
4796 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var20; /* _n_annotations on <self:AFormaldef> */
4797 }
4798 goto RET_LABEL;
4799 } else {
4800 }
4801 RET_LABEL:;
4802 }
4803 /* method parser_prod#AFormaldef#replace_child for (self: Object, ANode, nullable ANode) */
4804 void VIRTUAL_parser_prod__AFormaldef__replace_child(val* self, val* p0, val* p1) {
4805 parser_prod__AFormaldef__replace_child(self, p0, p1);
4806 RET_LABEL:;
4807 }
4808 /* method parser_prod#AFormaldef#n_id= for (self: AFormaldef, TClassid) */
4809 void parser_prod__AFormaldef__n_id_61d(val* self, val* p0) {
4810 val* var_node /* var node: TClassid */;
4811 var_node = p0;
4812 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_node; /* _n_id on <self:AFormaldef> */
4813 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TClassid>*/;
4814 RET_LABEL:;
4815 }
4816 /* method parser_prod#AFormaldef#n_id= for (self: Object, TClassid) */
4817 void VIRTUAL_parser_prod__AFormaldef__n_id_61d(val* self, val* p0) {
4818 parser_prod__AFormaldef__n_id_61d(self, p0);
4819 RET_LABEL:;
4820 }
4821 /* method parser_prod#AFormaldef#n_type= for (self: AFormaldef, nullable AType) */
4822 void parser_prod__AFormaldef__n_type_61d(val* self, val* p0) {
4823 val* var_node /* var node: nullable AType */;
4824 val* var /* : null */;
4825 short int var1 /* : Bool */;
4826 var_node = p0;
4827 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_node; /* _n_type on <self:AFormaldef> */
4828 var = NULL;
4829 if (var_node == NULL) {
4830 var1 = 0; /* is null */
4831 } else {
4832 var1 = 1; /* arg is null and recv is not */
4833 }
4834 if (var1){
4835 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AType(AType)>*/;
4836 } else {
4837 }
4838 RET_LABEL:;
4839 }
4840 /* method parser_prod#AFormaldef#n_type= for (self: Object, nullable AType) */
4841 void VIRTUAL_parser_prod__AFormaldef__n_type_61d(val* self, val* p0) {
4842 parser_prod__AFormaldef__n_type_61d(self, p0);
4843 RET_LABEL:;
4844 }
4845 /* method parser_prod#AFormaldef#n_annotations= for (self: AFormaldef, nullable AAnnotations) */
4846 void parser_prod__AFormaldef__n_annotations_61d(val* self, val* p0) {
4847 val* var_node /* var node: nullable AAnnotations */;
4848 val* var /* : null */;
4849 short int var1 /* : Bool */;
4850 var_node = p0;
4851 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFormaldef> */
4852 var = NULL;
4853 if (var_node == NULL) {
4854 var1 = 0; /* is null */
4855 } else {
4856 var1 = 1; /* arg is null and recv is not */
4857 }
4858 if (var1){
4859 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4860 } else {
4861 }
4862 RET_LABEL:;
4863 }
4864 /* method parser_prod#AFormaldef#n_annotations= for (self: Object, nullable AAnnotations) */
4865 void VIRTUAL_parser_prod__AFormaldef__n_annotations_61d(val* self, val* p0) {
4866 parser_prod__AFormaldef__n_annotations_61d(self, p0);
4867 RET_LABEL:;
4868 }
4869 /* method parser_prod#AFormaldef#visit_all for (self: AFormaldef, Visitor) */
4870 void parser_prod__AFormaldef__visit_all(val* self, val* p0) {
4871 val* var_v /* var v: Visitor */;
4872 val* var /* : TClassid */;
4873 val* var1 /* : nullable AType */;
4874 val* var2 /* : null */;
4875 short int var3 /* : Bool */;
4876 val* var4 /* : nullable AType */;
4877 val* var5 /* : nullable AAnnotations */;
4878 val* var6 /* : null */;
4879 short int var7 /* : Bool */;
4880 val* var8 /* : nullable AAnnotations */;
4881 var_v = p0;
4882 var = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on <self:AFormaldef> */
4883 if (var == NULL) {
4884 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1189);
4886 show_backtrace(1);
4887 }
4888 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4889 var1 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4890 var2 = NULL;
4891 if (var1 == NULL) {
4892 var3 = 0; /* is null */
4893 } else {
4894 var3 = 1; /* arg is null and recv is not */
4895 }
4896 if (var3){
4897 var4 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4898 if (var4 == NULL) {
4899 fprintf(stderr, "Runtime error: %s", "Cast failed");
4900 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1191);
4901 show_backtrace(1);
4902 }
4903 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4904 } else {
4905 }
4906 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4907 var6 = NULL;
4908 if (var5 == NULL) {
4909 var7 = 0; /* is null */
4910 } else {
4911 var7 = 1; /* arg is null and recv is not */
4912 }
4913 if (var7){
4914 var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4915 if (var8 == NULL) {
4916 fprintf(stderr, "Runtime error: %s", "Cast failed");
4917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1194);
4918 show_backtrace(1);
4919 }
4920 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
4921 } else {
4922 }
4923 RET_LABEL:;
4924 }
4925 /* method parser_prod#AFormaldef#visit_all for (self: Object, Visitor) */
4926 void VIRTUAL_parser_prod__AFormaldef__visit_all(val* self, val* p0) {
4927 parser_prod__AFormaldef__visit_all(self, p0);
4928 RET_LABEL:;
4929 }
4930 /* method parser_prod#ASuperclass#empty_init for (self: ASuperclass) */
4931 void parser_prod__ASuperclass__empty_init(val* self) {
4932 RET_LABEL:;
4933 }
4934 /* method parser_prod#ASuperclass#empty_init for (self: Object) */
4935 void VIRTUAL_parser_prod__ASuperclass__empty_init(val* self) {
4936 parser_prod__ASuperclass__empty_init(self);
4937 RET_LABEL:;
4938 }
4939 /* method parser_prod#ASuperclass#init_asuperclass for (self: ASuperclass, nullable TKwsuper, nullable AType, nullable AAnnotations) */
4940 void parser_prod__ASuperclass__init_asuperclass(val* self, val* p0, val* p1, val* p2) {
4941 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
4942 val* var_n_type /* var n_type: nullable AType */;
4943 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4944 val* var /* : null */;
4945 short int var1 /* : Bool */;
4946 var_n_kwsuper = p0;
4947 var_n_type = p1;
4948 var_n_annotations = p2;
4949 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperclass__empty_init]))(self) /* empty_init on <self:ASuperclass>*/;
4950 if (var_n_kwsuper == NULL) {
4951 fprintf(stderr, "Runtime error: %s", "Cast failed");
4952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1208);
4953 show_backtrace(1);
4954 }
4955 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperclass> */
4956 if (var_n_kwsuper == NULL) {
4957 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1209);
4959 show_backtrace(1);
4960 } else {
4961 ((void (*)(val*, val*))(var_n_kwsuper->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwsuper, self) /* parent= on <var_n_kwsuper:nullable TKwsuper>*/;
4962 }
4963 if (var_n_type == NULL) {
4964 fprintf(stderr, "Runtime error: %s", "Cast failed");
4965 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1210);
4966 show_backtrace(1);
4967 }
4968 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_n_type; /* _n_type on <self:ASuperclass> */
4969 if (var_n_type == NULL) {
4970 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4971 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1211);
4972 show_backtrace(1);
4973 } else {
4974 ((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>*/;
4975 }
4976 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASuperclass> */
4977 var = NULL;
4978 if (var_n_annotations == NULL) {
4979 var1 = 0; /* is null */
4980 } else {
4981 var1 = 1; /* arg is null and recv is not */
4982 }
4983 if (var1){
4984 ((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)>*/;
4985 } else {
4986 }
4987 RET_LABEL:;
4988 }
4989 /* method parser_prod#ASuperclass#init_asuperclass for (self: Object, nullable TKwsuper, nullable AType, nullable AAnnotations) */
4990 void VIRTUAL_parser_prod__ASuperclass__init_asuperclass(val* self, val* p0, val* p1, val* p2) {
4991 parser_prod__ASuperclass__init_asuperclass(self, p0, p1, p2);
4992 RET_LABEL:;
4993 }
4994 /* method parser_prod#ASuperclass#replace_child for (self: ASuperclass, ANode, nullable ANode) */
4995 void parser_prod__ASuperclass__replace_child(val* self, val* p0, val* p1) {
4996 val* var_old_child /* var old_child: ANode */;
4997 val* var_new_child /* var new_child: nullable ANode */;
4998 val* var /* : TKwsuper */;
4999 short int var1 /* : Bool */;
5000 val* var2 /* : null */;
5001 short int var3 /* : Bool */;
5002 short int var4 /* : Bool */;
5003 int cltype;
5004 int idtype;
5005 val* var5 /* : AType */;
5006 short int var6 /* : Bool */;
5007 val* var7 /* : null */;
5008 short int var8 /* : Bool */;
5009 short int var9 /* : Bool */;
5010 int cltype10;
5011 int idtype11;
5012 val* var12 /* : nullable AAnnotations */;
5013 short int var13 /* : Bool */;
5014 val* var14 /* : null */;
5015 short int var15 /* : Bool */;
5016 short int var16 /* : Bool */;
5017 int cltype17;
5018 int idtype18;
5019 val* var19 /* : null */;
5020 var_old_child = p0;
5021 var_new_child = p1;
5022 var = self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val; /* _n_kwsuper on <self:ASuperclass> */
5023 if (var == NULL) {
5024 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
5025 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1220);
5026 show_backtrace(1);
5027 }
5028 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwsuper>*/;
5029 if (var1){
5030 var2 = NULL;
5031 if (var_new_child == NULL) {
5032 var3 = 0; /* is null */
5033 } else {
5034 var3 = 1; /* arg is null and recv is not */
5035 }
5036 if (var3){
5037 ((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)>*/;
5038 /* <var_new_child:nullable ANode(ANode)> isa TKwsuper */
5039 cltype = type_parser_nodes__TKwsuper.color;
5040 idtype = type_parser_nodes__TKwsuper.id;
5041 if(cltype >= var_new_child->type->table_size) {
5042 var4 = 0;
5043 } else {
5044 var4 = var_new_child->type->type_table[cltype] == idtype;
5045 }
5046 if (!var4) {
5047 fprintf(stderr, "Runtime error: %s", "Assert failed");
5048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1223);
5049 show_backtrace(1);
5050 }
5051 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_new_child; /* _n_kwsuper on <self:ASuperclass> */
5052 } else {
5053 fprintf(stderr, "Runtime error: %s", "Aborted");
5054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1226);
5055 show_backtrace(1);
5056 }
5057 goto RET_LABEL;
5058 } else {
5059 }
5060 var5 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on <self:ASuperclass> */
5061 if (var5 == NULL) {
5062 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5063 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1230);
5064 show_backtrace(1);
5065 }
5066 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
5067 if (var6){
5068 var7 = NULL;
5069 if (var_new_child == NULL) {
5070 var8 = 0; /* is null */
5071 } else {
5072 var8 = 1; /* arg is null and recv is not */
5073 }
5074 if (var8){
5075 ((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)>*/;
5076 /* <var_new_child:nullable ANode(ANode)> isa AType */
5077 cltype10 = type_parser_nodes__AType.color;
5078 idtype11 = type_parser_nodes__AType.id;
5079 if(cltype10 >= var_new_child->type->table_size) {
5080 var9 = 0;
5081 } else {
5082 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5083 }
5084 if (!var9) {
5085 fprintf(stderr, "Runtime error: %s", "Assert failed");
5086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1233);
5087 show_backtrace(1);
5088 }
5089 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_new_child; /* _n_type on <self:ASuperclass> */
5090 } else {
5091 fprintf(stderr, "Runtime error: %s", "Aborted");
5092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1236);
5093 show_backtrace(1);
5094 }
5095 goto RET_LABEL;
5096 } else {
5097 }
5098 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
5099 if (var12 == NULL) {
5100 var13 = 0; /* <var_old_child:ANode> cannot be null */
5101 } else {
5102 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable AAnnotations>*/;
5103 }
5104 if (var13){
5105 var14 = NULL;
5106 if (var_new_child == NULL) {
5107 var15 = 0; /* is null */
5108 } else {
5109 var15 = 1; /* arg is null and recv is not */
5110 }
5111 if (var15){
5112 ((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)>*/;
5113 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5114 cltype17 = type_parser_nodes__AAnnotations.color;
5115 idtype18 = type_parser_nodes__AAnnotations.id;
5116 if(cltype17 >= var_new_child->type->table_size) {
5117 var16 = 0;
5118 } else {
5119 var16 = var_new_child->type->type_table[cltype17] == idtype18;
5120 }
5121 if (!var16) {
5122 fprintf(stderr, "Runtime error: %s", "Assert failed");
5123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1243);
5124 show_backtrace(1);
5125 }
5126 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASuperclass> */
5127 } else {
5128 var19 = NULL;
5129 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on <self:ASuperclass> */
5130 }
5131 goto RET_LABEL;
5132 } else {
5133 }
5134 RET_LABEL:;
5135 }
5136 /* method parser_prod#ASuperclass#replace_child for (self: Object, ANode, nullable ANode) */
5137 void VIRTUAL_parser_prod__ASuperclass__replace_child(val* self, val* p0, val* p1) {
5138 parser_prod__ASuperclass__replace_child(self, p0, p1);
5139 RET_LABEL:;
5140 }
5141 /* method parser_prod#ASuperclass#n_kwsuper= for (self: ASuperclass, TKwsuper) */
5142 void parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) {
5143 val* var_node /* var node: TKwsuper */;
5144 var_node = p0;
5145 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperclass> */
5146 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwsuper>*/;
5147 RET_LABEL:;
5148 }
5149 /* method parser_prod#ASuperclass#n_kwsuper= for (self: Object, TKwsuper) */
5150 void VIRTUAL_parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) {
5151 parser_prod__ASuperclass__n_kwsuper_61d(self, p0);
5152 RET_LABEL:;
5153 }
5154 /* method parser_prod#ASuperclass#n_type= for (self: ASuperclass, AType) */
5155 void parser_prod__ASuperclass__n_type_61d(val* self, val* p0) {
5156 val* var_node /* var node: AType */;
5157 var_node = p0;
5158 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_node; /* _n_type on <self:ASuperclass> */
5159 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
5160 RET_LABEL:;
5161 }
5162 /* method parser_prod#ASuperclass#n_type= for (self: Object, AType) */
5163 void VIRTUAL_parser_prod__ASuperclass__n_type_61d(val* self, val* p0) {
5164 parser_prod__ASuperclass__n_type_61d(self, p0);
5165 RET_LABEL:;
5166 }
5167 /* method parser_prod#ASuperclass#n_annotations= for (self: ASuperclass, nullable AAnnotations) */
5168 void parser_prod__ASuperclass__n_annotations_61d(val* self, val* p0) {
5169 val* var_node /* var node: nullable AAnnotations */;
5170 val* var /* : null */;
5171 short int var1 /* : Bool */;
5172 var_node = p0;
5173 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASuperclass> */
5174 var = NULL;
5175 if (var_node == NULL) {
5176 var1 = 0; /* is null */
5177 } else {
5178 var1 = 1; /* arg is null and recv is not */
5179 }
5180 if (var1){
5181 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5182 } else {
5183 }
5184 RET_LABEL:;
5185 }
5186 /* method parser_prod#ASuperclass#n_annotations= for (self: Object, nullable AAnnotations) */
5187 void VIRTUAL_parser_prod__ASuperclass__n_annotations_61d(val* self, val* p0) {
5188 parser_prod__ASuperclass__n_annotations_61d(self, p0);
5189 RET_LABEL:;
5190 }
5191 /* method parser_prod#ASuperclass#visit_all for (self: ASuperclass, Visitor) */
5192 void parser_prod__ASuperclass__visit_all(val* self, val* p0) {
5193 val* var_v /* var v: Visitor */;
5194 val* var /* : TKwsuper */;
5195 val* var1 /* : AType */;
5196 val* var2 /* : nullable AAnnotations */;
5197 val* var3 /* : null */;
5198 short int var4 /* : Bool */;
5199 val* var5 /* : nullable AAnnotations */;
5200 var_v = p0;
5201 var = self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val; /* _n_kwsuper on <self:ASuperclass> */
5202 if (var == NULL) {
5203 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
5204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1273);
5205 show_backtrace(1);
5206 }
5207 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5208 var1 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on <self:ASuperclass> */
5209 if (var1 == NULL) {
5210 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1274);
5212 show_backtrace(1);
5213 }
5214 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5215 var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
5216 var3 = NULL;
5217 if (var2 == NULL) {
5218 var4 = 0; /* is null */
5219 } else {
5220 var4 = 1; /* arg is null and recv is not */
5221 }
5222 if (var4){
5223 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
5224 if (var5 == NULL) {
5225 fprintf(stderr, "Runtime error: %s", "Cast failed");
5226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1276);
5227 show_backtrace(1);
5228 }
5229 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
5230 } else {
5231 }
5232 RET_LABEL:;
5233 }
5234 /* method parser_prod#ASuperclass#visit_all for (self: Object, Visitor) */
5235 void VIRTUAL_parser_prod__ASuperclass__visit_all(val* self, val* p0) {
5236 parser_prod__ASuperclass__visit_all(self, p0);
5237 RET_LABEL:;
5238 }
5239 /* method parser_prod#AAttrPropdef#empty_init for (self: AAttrPropdef) */
5240 void parser_prod__AAttrPropdef__empty_init(val* self) {
5241 RET_LABEL:;
5242 }
5243 /* method parser_prod#AAttrPropdef#empty_init for (self: Object) */
5244 void VIRTUAL_parser_prod__AAttrPropdef__empty_init(val* self) {
5245 parser_prod__AAttrPropdef__empty_init(self);
5246 RET_LABEL:;
5247 }
5248 /* method parser_prod#AAttrPropdef#init_aattrpropdef for (self: AAttrPropdef, nullable ADoc, nullable AAble, nullable AAble, nullable TKwredef, nullable AVisibility, nullable TKwvar, nullable TAttrid, nullable TId, nullable AType, nullable AAnnotations, nullable AExpr) */
5249 void parser_prod__AAttrPropdef__init_aattrpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10) {
5250 val* var_n_doc /* var n_doc: nullable ADoc */;
5251 val* var_n_readable /* var n_readable: nullable AAble */;
5252 val* var_n_writable /* var n_writable: nullable AAble */;
5253 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
5254 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
5255 val* var_n_kwvar /* var n_kwvar: nullable TKwvar */;
5256 val* var_n_id /* var n_id: nullable TAttrid */;
5257 val* var_n_id2 /* var n_id2: nullable TId */;
5258 val* var_n_type /* var n_type: nullable AType */;
5259 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5260 val* var_n_expr /* var n_expr: nullable AExpr */;
5261 val* var /* : null */;
5262 short int var1 /* : Bool */;
5263 val* var2 /* : null */;
5264 short int var3 /* : Bool */;
5265 val* var4 /* : null */;
5266 short int var5 /* : Bool */;
5267 val* var6 /* : null */;
5268 short int var7 /* : Bool */;
5269 val* var8 /* : null */;
5270 short int var9 /* : Bool */;
5271 val* var10 /* : null */;
5272 short int var11 /* : Bool */;
5273 val* var12 /* : null */;
5274 short int var13 /* : Bool */;
5275 val* var14 /* : null */;
5276 short int var15 /* : Bool */;
5277 val* var16 /* : null */;
5278 short int var17 /* : Bool */;
5279 var_n_doc = p0;
5280 var_n_readable = p1;
5281 var_n_writable = p2;
5282 var_n_kwredef = p3;
5283 var_n_visibility = p4;
5284 var_n_kwvar = p5;
5285 var_n_id = p6;
5286 var_n_id2 = p7;
5287 var_n_type = p8;
5288 var_n_annotations = p9;
5289 var_n_expr = p10;
5290 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrPropdef__empty_init]))(self) /* empty_init on <self:AAttrPropdef>*/;
5291 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AAttrPropdef> */
5292 var = NULL;
5293 if (var_n_doc == NULL) {
5294 var1 = 0; /* is null */
5295 } else {
5296 var1 = 1; /* arg is null and recv is not */
5297 }
5298 if (var1){
5299 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
5300 } else {
5301 }
5302 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_n_readable; /* _n_readable on <self:AAttrPropdef> */
5303 var2 = NULL;
5304 if (var_n_readable == NULL) {
5305 var3 = 0; /* is null */
5306 } else {
5307 var3 = 1; /* arg is null and recv is not */
5308 }
5309 if (var3){
5310 ((void (*)(val*, val*))(var_n_readable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_readable, self) /* parent= on <var_n_readable:nullable AAble(AAble)>*/;
5311 } else {
5312 }
5313 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_n_writable; /* _n_writable on <self:AAttrPropdef> */
5314 var4 = NULL;
5315 if (var_n_writable == NULL) {
5316 var5 = 0; /* is null */
5317 } else {
5318 var5 = 1; /* arg is null and recv is not */
5319 }
5320 if (var5){
5321 ((void (*)(val*, val*))(var_n_writable->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_writable, self) /* parent= on <var_n_writable:nullable AAble(AAble)>*/;
5322 } else {
5323 }
5324 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AAttrPropdef> */
5325 var6 = NULL;
5326 if (var_n_kwredef == NULL) {
5327 var7 = 0; /* is null */
5328 } else {
5329 var7 = 1; /* arg is null and recv is not */
5330 }
5331 if (var7){
5332 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
5333 } else {
5334 }
5335 if (var_n_visibility == NULL) {
5336 fprintf(stderr, "Runtime error: %s", "Cast failed");
5337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1314);
5338 show_backtrace(1);
5339 }
5340 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AAttrPropdef> */
5341 if (var_n_visibility == NULL) {
5342 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1315);
5344 show_backtrace(1);
5345 } else {
5346 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
5347 }
5348 if (var_n_kwvar == NULL) {
5349 fprintf(stderr, "Runtime error: %s", "Cast failed");
5350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1316);
5351 show_backtrace(1);
5352 }
5353 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_n_kwvar; /* _n_kwvar on <self:AAttrPropdef> */
5354 if (var_n_kwvar == NULL) {
5355 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1317);
5357 show_backtrace(1);
5358 } else {
5359 ((void (*)(val*, val*))(var_n_kwvar->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwvar, self) /* parent= on <var_n_kwvar:nullable TKwvar>*/;
5360 }
5361 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_n_id; /* _n_id on <self:AAttrPropdef> */
5362 var8 = NULL;
5363 if (var_n_id == NULL) {
5364 var9 = 0; /* is null */
5365 } else {
5366 var9 = 1; /* arg is null and recv is not */
5367 }
5368 if (var9){
5369 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TAttrid(TAttrid)>*/;
5370 } else {
5371 }
5372 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_n_id2; /* _n_id2 on <self:AAttrPropdef> */
5373 var10 = NULL;
5374 if (var_n_id2 == NULL) {
5375 var11 = 0; /* is null */
5376 } else {
5377 var11 = 1; /* arg is null and recv is not */
5378 }
5379 if (var11){
5380 ((void (*)(val*, val*))(var_n_id2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id2, self) /* parent= on <var_n_id2:nullable TId(TId)>*/;
5381 } else {
5382 }
5383 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_n_type; /* _n_type on <self:AAttrPropdef> */
5384 var12 = NULL;
5385 if (var_n_type == NULL) {
5386 var13 = 0; /* is null */
5387 } else {
5388 var13 = 1; /* arg is null and recv is not */
5389 }
5390 if (var13){
5391 ((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(AType)>*/;
5392 } else {
5393 }
5394 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AAttrPropdef> */
5395 var14 = NULL;
5396 if (var_n_annotations == NULL) {
5397 var15 = 0; /* is null */
5398 } else {
5399 var15 = 1; /* arg is null and recv is not */
5400 }
5401 if (var15){
5402 ((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)>*/;
5403 } else {
5404 }
5405 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrPropdef> */
5406 var16 = NULL;
5407 if (var_n_expr == NULL) {
5408 var17 = 0; /* is null */
5409 } else {
5410 var17 = 1; /* arg is null and recv is not */
5411 }
5412 if (var17){
5413 ((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(AExpr)>*/;
5414 } else {
5415 }
5416 RET_LABEL:;
5417 }
5418 /* method parser_prod#AAttrPropdef#init_aattrpropdef for (self: Object, nullable ADoc, nullable AAble, nullable AAble, nullable TKwredef, nullable AVisibility, nullable TKwvar, nullable TAttrid, nullable TId, nullable AType, nullable AAnnotations, nullable AExpr) */
5419 void VIRTUAL_parser_prod__AAttrPropdef__init_aattrpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8, val* p9, val* p10) {
5420 parser_prod__AAttrPropdef__init_aattrpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
5421 RET_LABEL:;
5422 }
5423 /* method parser_prod#AAttrPropdef#replace_child for (self: AAttrPropdef, ANode, nullable ANode) */
5424 void parser_prod__AAttrPropdef__replace_child(val* self, val* p0, val* p1) {
5425 val* var_old_child /* var old_child: ANode */;
5426 val* var_new_child /* var new_child: nullable ANode */;
5427 val* var /* : nullable ADoc */;
5428 short int var1 /* : Bool */;
5429 val* var2 /* : null */;
5430 short int var3 /* : Bool */;
5431 short int var4 /* : Bool */;
5432 int cltype;
5433 int idtype;
5434 val* var5 /* : null */;
5435 val* var6 /* : nullable AAble */;
5436 short int var7 /* : Bool */;
5437 val* var8 /* : null */;
5438 short int var9 /* : Bool */;
5439 short int var10 /* : Bool */;
5440 int cltype11;
5441 int idtype12;
5442 val* var13 /* : null */;
5443 val* var14 /* : nullable AAble */;
5444 short int var15 /* : Bool */;
5445 val* var16 /* : null */;
5446 short int var17 /* : Bool */;
5447 short int var18 /* : Bool */;
5448 int cltype19;
5449 int idtype20;
5450 val* var21 /* : null */;
5451 val* var22 /* : nullable TKwredef */;
5452 short int var23 /* : Bool */;
5453 val* var24 /* : null */;
5454 short int var25 /* : Bool */;
5455 short int var26 /* : Bool */;
5456 int cltype27;
5457 int idtype28;
5458 val* var29 /* : null */;
5459 val* var30 /* : AVisibility */;
5460 short int var31 /* : Bool */;
5461 val* var32 /* : null */;
5462 short int var33 /* : Bool */;
5463 short int var34 /* : Bool */;
5464 int cltype35;
5465 int idtype36;
5466 val* var37 /* : TKwvar */;
5467 short int var38 /* : Bool */;
5468 val* var39 /* : null */;
5469 short int var40 /* : Bool */;
5470 short int var41 /* : Bool */;
5471 int cltype42;
5472 int idtype43;
5473 val* var44 /* : nullable TAttrid */;
5474 short int var45 /* : Bool */;
5475 val* var46 /* : null */;
5476 short int var47 /* : Bool */;
5477 short int var48 /* : Bool */;
5478 int cltype49;
5479 int idtype50;
5480 val* var51 /* : null */;
5481 val* var52 /* : nullable TId */;
5482 short int var53 /* : Bool */;
5483 val* var54 /* : null */;
5484 short int var55 /* : Bool */;
5485 short int var56 /* : Bool */;
5486 int cltype57;
5487 int idtype58;
5488 val* var59 /* : null */;
5489 val* var60 /* : nullable AType */;
5490 short int var61 /* : Bool */;
5491 val* var62 /* : null */;
5492 short int var63 /* : Bool */;
5493 short int var64 /* : Bool */;
5494 int cltype65;
5495 int idtype66;
5496 val* var67 /* : null */;
5497 val* var68 /* : nullable AAnnotations */;
5498 short int var69 /* : Bool */;
5499 val* var70 /* : null */;
5500 short int var71 /* : Bool */;
5501 short int var72 /* : Bool */;
5502 int cltype73;
5503 int idtype74;
5504 val* var75 /* : null */;
5505 val* var76 /* : nullable AExpr */;
5506 short int var77 /* : Bool */;
5507 val* var78 /* : null */;
5508 short int var79 /* : Bool */;
5509 short int var80 /* : Bool */;
5510 int cltype81;
5511 int idtype82;
5512 val* var83 /* : null */;
5513 var_old_child = p0;
5514 var_new_child = p1;
5515 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
5516 if (var == NULL) {
5517 var1 = 0; /* <var_old_child:ANode> cannot be null */
5518 } else {
5519 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
5520 }
5521 if (var1){
5522 var2 = NULL;
5523 if (var_new_child == NULL) {
5524 var3 = 0; /* is null */
5525 } else {
5526 var3 = 1; /* arg is null and recv is not */
5527 }
5528 if (var3){
5529 ((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)>*/;
5530 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
5531 cltype = type_parser_nodes__ADoc.color;
5532 idtype = type_parser_nodes__ADoc.id;
5533 if(cltype >= var_new_child->type->table_size) {
5534 var4 = 0;
5535 } else {
5536 var4 = var_new_child->type->type_table[cltype] == idtype;
5537 }
5538 if (!var4) {
5539 fprintf(stderr, "Runtime error: %s", "Assert failed");
5540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1345);
5541 show_backtrace(1);
5542 }
5543 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AAttrPropdef> */
5544 } else {
5545 var5 = NULL;
5546 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AAttrPropdef> */
5547 }
5548 goto RET_LABEL;
5549 } else {
5550 }
5551 var6 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
5552 if (var6 == NULL) {
5553 var7 = 0; /* <var_old_child:ANode> cannot be null */
5554 } else {
5555 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable AAble>*/;
5556 }
5557 if (var7){
5558 var8 = NULL;
5559 if (var_new_child == NULL) {
5560 var9 = 0; /* is null */
5561 } else {
5562 var9 = 1; /* arg is null and recv is not */
5563 }
5564 if (var9){
5565 ((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)>*/;
5566 /* <var_new_child:nullable ANode(ANode)> isa AAble */
5567 cltype11 = type_parser_nodes__AAble.color;
5568 idtype12 = type_parser_nodes__AAble.id;
5569 if(cltype11 >= var_new_child->type->table_size) {
5570 var10 = 0;
5571 } else {
5572 var10 = var_new_child->type->type_table[cltype11] == idtype12;
5573 }
5574 if (!var10) {
5575 fprintf(stderr, "Runtime error: %s", "Assert failed");
5576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1355);
5577 show_backtrace(1);
5578 }
5579 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_new_child; /* _n_readable on <self:AAttrPropdef> */
5580 } else {
5581 var13 = NULL;
5582 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var13; /* _n_readable on <self:AAttrPropdef> */
5583 }
5584 goto RET_LABEL;
5585 } else {
5586 }
5587 var14 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
5588 if (var14 == NULL) {
5589 var15 = 0; /* <var_old_child:ANode> cannot be null */
5590 } else {
5591 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AAble>*/;
5592 }
5593 if (var15){
5594 var16 = NULL;
5595 if (var_new_child == NULL) {
5596 var17 = 0; /* is null */
5597 } else {
5598 var17 = 1; /* arg is null and recv is not */
5599 }
5600 if (var17){
5601 ((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)>*/;
5602 /* <var_new_child:nullable ANode(ANode)> isa AAble */
5603 cltype19 = type_parser_nodes__AAble.color;
5604 idtype20 = type_parser_nodes__AAble.id;
5605 if(cltype19 >= var_new_child->type->table_size) {
5606 var18 = 0;
5607 } else {
5608 var18 = var_new_child->type->type_table[cltype19] == idtype20;
5609 }
5610 if (!var18) {
5611 fprintf(stderr, "Runtime error: %s", "Assert failed");
5612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1365);
5613 show_backtrace(1);
5614 }
5615 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_new_child; /* _n_writable on <self:AAttrPropdef> */
5616 } else {
5617 var21 = NULL;
5618 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var21; /* _n_writable on <self:AAttrPropdef> */
5619 }
5620 goto RET_LABEL;
5621 } else {
5622 }
5623 var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
5624 if (var22 == NULL) {
5625 var23 = 0; /* <var_old_child:ANode> cannot be null */
5626 } else {
5627 var23 = ((short int (*)(val*, val*))(var22->class->vft[COLOR_kernel__Object___61d_61d]))(var22, var_old_child) /* == on <var22:nullable TKwredef>*/;
5628 }
5629 if (var23){
5630 var24 = NULL;
5631 if (var_new_child == NULL) {
5632 var25 = 0; /* is null */
5633 } else {
5634 var25 = 1; /* arg is null and recv is not */
5635 }
5636 if (var25){
5637 ((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)>*/;
5638 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
5639 cltype27 = type_parser_nodes__TKwredef.color;
5640 idtype28 = type_parser_nodes__TKwredef.id;
5641 if(cltype27 >= var_new_child->type->table_size) {
5642 var26 = 0;
5643 } else {
5644 var26 = var_new_child->type->type_table[cltype27] == idtype28;
5645 }
5646 if (!var26) {
5647 fprintf(stderr, "Runtime error: %s", "Assert failed");
5648 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1375);
5649 show_backtrace(1);
5650 }
5651 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AAttrPropdef> */
5652 } else {
5653 var29 = NULL;
5654 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var29; /* _n_kwredef on <self:AAttrPropdef> */
5655 }
5656 goto RET_LABEL;
5657 } else {
5658 }
5659 var30 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
5660 if (var30 == NULL) {
5661 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
5662 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1382);
5663 show_backtrace(1);
5664 }
5665 var31 = ((short int (*)(val*, val*))(var30->class->vft[COLOR_kernel__Object___61d_61d]))(var30, var_old_child) /* == on <var30:AVisibility>*/;
5666 if (var31){
5667 var32 = NULL;
5668 if (var_new_child == NULL) {
5669 var33 = 0; /* is null */
5670 } else {
5671 var33 = 1; /* arg is null and recv is not */
5672 }
5673 if (var33){
5674 ((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)>*/;
5675 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
5676 cltype35 = type_parser_nodes__AVisibility.color;
5677 idtype36 = type_parser_nodes__AVisibility.id;
5678 if(cltype35 >= var_new_child->type->table_size) {
5679 var34 = 0;
5680 } else {
5681 var34 = var_new_child->type->type_table[cltype35] == idtype36;
5682 }
5683 if (!var34) {
5684 fprintf(stderr, "Runtime error: %s", "Assert failed");
5685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1385);
5686 show_backtrace(1);
5687 }
5688 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AAttrPropdef> */
5689 } else {
5690 fprintf(stderr, "Runtime error: %s", "Aborted");
5691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1388);
5692 show_backtrace(1);
5693 }
5694 goto RET_LABEL;
5695 } else {
5696 }
5697 var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on <self:AAttrPropdef> */
5698 if (var37 == NULL) {
5699 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwvar");
5700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1392);
5701 show_backtrace(1);
5702 }
5703 var38 = ((short int (*)(val*, val*))(var37->class->vft[COLOR_kernel__Object___61d_61d]))(var37, var_old_child) /* == on <var37:TKwvar>*/;
5704 if (var38){
5705 var39 = NULL;
5706 if (var_new_child == NULL) {
5707 var40 = 0; /* is null */
5708 } else {
5709 var40 = 1; /* arg is null and recv is not */
5710 }
5711 if (var40){
5712 ((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)>*/;
5713 /* <var_new_child:nullable ANode(ANode)> isa TKwvar */
5714 cltype42 = type_parser_nodes__TKwvar.color;
5715 idtype43 = type_parser_nodes__TKwvar.id;
5716 if(cltype42 >= var_new_child->type->table_size) {
5717 var41 = 0;
5718 } else {
5719 var41 = var_new_child->type->type_table[cltype42] == idtype43;
5720 }
5721 if (!var41) {
5722 fprintf(stderr, "Runtime error: %s", "Assert failed");
5723 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1395);
5724 show_backtrace(1);
5725 }
5726 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_new_child; /* _n_kwvar on <self:AAttrPropdef> */
5727 } else {
5728 fprintf(stderr, "Runtime error: %s", "Aborted");
5729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1398);
5730 show_backtrace(1);
5731 }
5732 goto RET_LABEL;
5733 } else {
5734 }
5735 var44 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
5736 if (var44 == NULL) {
5737 var45 = 0; /* <var_old_child:ANode> cannot be null */
5738 } else {
5739 var45 = ((short int (*)(val*, val*))(var44->class->vft[COLOR_kernel__Object___61d_61d]))(var44, var_old_child) /* == on <var44:nullable TAttrid>*/;
5740 }
5741 if (var45){
5742 var46 = NULL;
5743 if (var_new_child == NULL) {
5744 var47 = 0; /* is null */
5745 } else {
5746 var47 = 1; /* arg is null and recv is not */
5747 }
5748 if (var47){
5749 ((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)>*/;
5750 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
5751 cltype49 = type_parser_nodes__TAttrid.color;
5752 idtype50 = type_parser_nodes__TAttrid.id;
5753 if(cltype49 >= var_new_child->type->table_size) {
5754 var48 = 0;
5755 } else {
5756 var48 = var_new_child->type->type_table[cltype49] == idtype50;
5757 }
5758 if (!var48) {
5759 fprintf(stderr, "Runtime error: %s", "Assert failed");
5760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1405);
5761 show_backtrace(1);
5762 }
5763 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_new_child; /* _n_id on <self:AAttrPropdef> */
5764 } else {
5765 var51 = NULL;
5766 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var51; /* _n_id on <self:AAttrPropdef> */
5767 }
5768 goto RET_LABEL;
5769 } else {
5770 }
5771 var52 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
5772 if (var52 == NULL) {
5773 var53 = 0; /* <var_old_child:ANode> cannot be null */
5774 } else {
5775 var53 = ((short int (*)(val*, val*))(var52->class->vft[COLOR_kernel__Object___61d_61d]))(var52, var_old_child) /* == on <var52:nullable TId>*/;
5776 }
5777 if (var53){
5778 var54 = NULL;
5779 if (var_new_child == NULL) {
5780 var55 = 0; /* is null */
5781 } else {
5782 var55 = 1; /* arg is null and recv is not */
5783 }
5784 if (var55){
5785 ((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)>*/;
5786 /* <var_new_child:nullable ANode(ANode)> isa TId */
5787 cltype57 = type_parser_nodes__TId.color;
5788 idtype58 = type_parser_nodes__TId.id;
5789 if(cltype57 >= var_new_child->type->table_size) {
5790 var56 = 0;
5791 } else {
5792 var56 = var_new_child->type->type_table[cltype57] == idtype58;
5793 }
5794 if (!var56) {
5795 fprintf(stderr, "Runtime error: %s", "Assert failed");
5796 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1415);
5797 show_backtrace(1);
5798 }
5799 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_new_child; /* _n_id2 on <self:AAttrPropdef> */
5800 } else {
5801 var59 = NULL;
5802 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var59; /* _n_id2 on <self:AAttrPropdef> */
5803 }
5804 goto RET_LABEL;
5805 } else {
5806 }
5807 var60 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
5808 if (var60 == NULL) {
5809 var61 = 0; /* <var_old_child:ANode> cannot be null */
5810 } else {
5811 var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on <var60:nullable AType>*/;
5812 }
5813 if (var61){
5814 var62 = NULL;
5815 if (var_new_child == NULL) {
5816 var63 = 0; /* is null */
5817 } else {
5818 var63 = 1; /* arg is null and recv is not */
5819 }
5820 if (var63){
5821 ((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)>*/;
5822 /* <var_new_child:nullable ANode(ANode)> isa AType */
5823 cltype65 = type_parser_nodes__AType.color;
5824 idtype66 = type_parser_nodes__AType.id;
5825 if(cltype65 >= var_new_child->type->table_size) {
5826 var64 = 0;
5827 } else {
5828 var64 = var_new_child->type->type_table[cltype65] == idtype66;
5829 }
5830 if (!var64) {
5831 fprintf(stderr, "Runtime error: %s", "Assert failed");
5832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1425);
5833 show_backtrace(1);
5834 }
5835 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_new_child; /* _n_type on <self:AAttrPropdef> */
5836 } else {
5837 var67 = NULL;
5838 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var67; /* _n_type on <self:AAttrPropdef> */
5839 }
5840 goto RET_LABEL;
5841 } else {
5842 }
5843 var68 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
5844 if (var68 == NULL) {
5845 var69 = 0; /* <var_old_child:ANode> cannot be null */
5846 } else {
5847 var69 = ((short int (*)(val*, val*))(var68->class->vft[COLOR_kernel__Object___61d_61d]))(var68, var_old_child) /* == on <var68:nullable AAnnotations>*/;
5848 }
5849 if (var69){
5850 var70 = NULL;
5851 if (var_new_child == NULL) {
5852 var71 = 0; /* is null */
5853 } else {
5854 var71 = 1; /* arg is null and recv is not */
5855 }
5856 if (var71){
5857 ((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)>*/;
5858 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5859 cltype73 = type_parser_nodes__AAnnotations.color;
5860 idtype74 = type_parser_nodes__AAnnotations.id;
5861 if(cltype73 >= var_new_child->type->table_size) {
5862 var72 = 0;
5863 } else {
5864 var72 = var_new_child->type->type_table[cltype73] == idtype74;
5865 }
5866 if (!var72) {
5867 fprintf(stderr, "Runtime error: %s", "Assert failed");
5868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1435);
5869 show_backtrace(1);
5870 }
5871 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AAttrPropdef> */
5872 } else {
5873 var75 = NULL;
5874 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var75; /* _n_annotations on <self:AAttrPropdef> */
5875 }
5876 goto RET_LABEL;
5877 } else {
5878 }
5879 var76 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
5880 if (var76 == NULL) {
5881 var77 = 0; /* <var_old_child:ANode> cannot be null */
5882 } else {
5883 var77 = ((short int (*)(val*, val*))(var76->class->vft[COLOR_kernel__Object___61d_61d]))(var76, var_old_child) /* == on <var76:nullable AExpr>*/;
5884 }
5885 if (var77){
5886 var78 = NULL;
5887 if (var_new_child == NULL) {
5888 var79 = 0; /* is null */
5889 } else {
5890 var79 = 1; /* arg is null and recv is not */
5891 }
5892 if (var79){
5893 ((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)>*/;
5894 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5895 cltype81 = type_parser_nodes__AExpr.color;
5896 idtype82 = type_parser_nodes__AExpr.id;
5897 if(cltype81 >= var_new_child->type->table_size) {
5898 var80 = 0;
5899 } else {
5900 var80 = var_new_child->type->type_table[cltype81] == idtype82;
5901 }
5902 if (!var80) {
5903 fprintf(stderr, "Runtime error: %s", "Assert failed");
5904 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1445);
5905 show_backtrace(1);
5906 }
5907 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_new_child; /* _n_expr on <self:AAttrPropdef> */
5908 } else {
5909 var83 = NULL;
5910 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var83; /* _n_expr on <self:AAttrPropdef> */
5911 }
5912 goto RET_LABEL;
5913 } else {
5914 }
5915 RET_LABEL:;
5916 }
5917 /* method parser_prod#AAttrPropdef#replace_child for (self: Object, ANode, nullable ANode) */
5918 void VIRTUAL_parser_prod__AAttrPropdef__replace_child(val* self, val* p0, val* p1) {
5919 parser_prod__AAttrPropdef__replace_child(self, p0, p1);
5920 RET_LABEL:;
5921 }
5922 /* method parser_prod#AAttrPropdef#n_doc= for (self: AAttrPropdef, nullable ADoc) */
5923 void parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) {
5924 val* var_node /* var node: nullable ADoc */;
5925 val* var /* : null */;
5926 short int var1 /* : Bool */;
5927 var_node = p0;
5928 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AAttrPropdef> */
5929 var = NULL;
5930 if (var_node == NULL) {
5931 var1 = 0; /* is null */
5932 } else {
5933 var1 = 1; /* arg is null and recv is not */
5934 }
5935 if (var1){
5936 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
5937 } else {
5938 }
5939 RET_LABEL:;
5940 }
5941 /* method parser_prod#AAttrPropdef#n_doc= for (self: Object, nullable ADoc) */
5942 void VIRTUAL_parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) {
5943 parser_prod__AAttrPropdef__n_doc_61d(self, p0);
5944 RET_LABEL:;
5945 }
5946 /* method parser_prod#AAttrPropdef#n_readable= for (self: AAttrPropdef, nullable AAble) */
5947 void parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) {
5948 val* var_node /* var node: nullable AAble */;
5949 val* var /* : null */;
5950 short int var1 /* : Bool */;
5951 var_node = p0;
5952 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_node; /* _n_readable on <self:AAttrPropdef> */
5953 var = NULL;
5954 if (var_node == NULL) {
5955 var1 = 0; /* is null */
5956 } else {
5957 var1 = 1; /* arg is null and recv is not */
5958 }
5959 if (var1){
5960 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAble(AAble)>*/;
5961 } else {
5962 }
5963 RET_LABEL:;
5964 }
5965 /* method parser_prod#AAttrPropdef#n_readable= for (self: Object, nullable AAble) */
5966 void VIRTUAL_parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) {
5967 parser_prod__AAttrPropdef__n_readable_61d(self, p0);
5968 RET_LABEL:;
5969 }
5970 /* method parser_prod#AAttrPropdef#n_writable= for (self: AAttrPropdef, nullable AAble) */
5971 void parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) {
5972 val* var_node /* var node: nullable AAble */;
5973 val* var /* : null */;
5974 short int var1 /* : Bool */;
5975 var_node = p0;
5976 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_node; /* _n_writable on <self:AAttrPropdef> */
5977 var = NULL;
5978 if (var_node == NULL) {
5979 var1 = 0; /* is null */
5980 } else {
5981 var1 = 1; /* arg is null and recv is not */
5982 }
5983 if (var1){
5984 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAble(AAble)>*/;
5985 } else {
5986 }
5987 RET_LABEL:;
5988 }
5989 /* method parser_prod#AAttrPropdef#n_writable= for (self: Object, nullable AAble) */
5990 void VIRTUAL_parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) {
5991 parser_prod__AAttrPropdef__n_writable_61d(self, p0);
5992 RET_LABEL:;
5993 }
5994 /* method parser_prod#AAttrPropdef#n_kwredef= for (self: AAttrPropdef, nullable TKwredef) */
5995 void parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) {
5996 val* var_node /* var node: nullable TKwredef */;
5997 val* var /* : null */;
5998 short int var1 /* : Bool */;
5999 var_node = p0;
6000 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AAttrPropdef> */
6001 var = NULL;
6002 if (var_node == NULL) {
6003 var1 = 0; /* is null */
6004 } else {
6005 var1 = 1; /* arg is null and recv is not */
6006 }
6007 if (var1){
6008 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
6009 } else {
6010 }
6011 RET_LABEL:;
6012 }
6013 /* method parser_prod#AAttrPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
6014 void VIRTUAL_parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) {
6015 parser_prod__AAttrPropdef__n_kwredef_61d(self, p0);
6016 RET_LABEL:;
6017 }
6018 /* method parser_prod#AAttrPropdef#n_visibility= for (self: AAttrPropdef, AVisibility) */
6019 void parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) {
6020 val* var_node /* var node: AVisibility */;
6021 var_node = p0;
6022 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AAttrPropdef> */
6023 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
6024 RET_LABEL:;
6025 }
6026 /* method parser_prod#AAttrPropdef#n_visibility= for (self: Object, AVisibility) */
6027 void VIRTUAL_parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) {
6028 parser_prod__AAttrPropdef__n_visibility_61d(self, p0);
6029 RET_LABEL:;
6030 }
6031 /* method parser_prod#AAttrPropdef#n_kwvar= for (self: AAttrPropdef, TKwvar) */
6032 void parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) {
6033 val* var_node /* var node: TKwvar */;
6034 var_node = p0;
6035 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_node; /* _n_kwvar on <self:AAttrPropdef> */
6036 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwvar>*/;
6037 RET_LABEL:;
6038 }
6039 /* method parser_prod#AAttrPropdef#n_kwvar= for (self: Object, TKwvar) */
6040 void VIRTUAL_parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) {
6041 parser_prod__AAttrPropdef__n_kwvar_61d(self, p0);
6042 RET_LABEL:;
6043 }
6044 /* method parser_prod#AAttrPropdef#n_id= for (self: AAttrPropdef, nullable TAttrid) */
6045 void parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) {
6046 val* var_node /* var node: nullable TAttrid */;
6047 val* var /* : null */;
6048 short int var1 /* : Bool */;
6049 var_node = p0;
6050 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_node; /* _n_id on <self:AAttrPropdef> */
6051 var = NULL;
6052 if (var_node == NULL) {
6053 var1 = 0; /* is null */
6054 } else {
6055 var1 = 1; /* arg is null and recv is not */
6056 }
6057 if (var1){
6058 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TAttrid(TAttrid)>*/;
6059 } else {
6060 }
6061 RET_LABEL:;
6062 }
6063 /* method parser_prod#AAttrPropdef#n_id= for (self: Object, nullable TAttrid) */
6064 void VIRTUAL_parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) {
6065 parser_prod__AAttrPropdef__n_id_61d(self, p0);
6066 RET_LABEL:;
6067 }
6068 /* method parser_prod#AAttrPropdef#n_id2= for (self: AAttrPropdef, nullable TId) */
6069 void parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) {
6070 val* var_node /* var node: nullable TId */;
6071 val* var /* : null */;
6072 short int var1 /* : Bool */;
6073 var_node = p0;
6074 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_node; /* _n_id2 on <self:AAttrPropdef> */
6075 var = NULL;
6076 if (var_node == NULL) {
6077 var1 = 0; /* is null */
6078 } else {
6079 var1 = 1; /* arg is null and recv is not */
6080 }
6081 if (var1){
6082 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
6083 } else {
6084 }
6085 RET_LABEL:;
6086 }
6087 /* method parser_prod#AAttrPropdef#n_id2= for (self: Object, nullable TId) */
6088 void VIRTUAL_parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) {
6089 parser_prod__AAttrPropdef__n_id2_61d(self, p0);
6090 RET_LABEL:;
6091 }
6092 /* method parser_prod#AAttrPropdef#n_type= for (self: AAttrPropdef, nullable AType) */
6093 void parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) {
6094 val* var_node /* var node: nullable AType */;
6095 val* var /* : null */;
6096 short int var1 /* : Bool */;
6097 var_node = p0;
6098 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_node; /* _n_type on <self:AAttrPropdef> */
6099 var = NULL;
6100 if (var_node == NULL) {
6101 var1 = 0; /* is null */
6102 } else {
6103 var1 = 1; /* arg is null and recv is not */
6104 }
6105 if (var1){
6106 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AType(AType)>*/;
6107 } else {
6108 }
6109 RET_LABEL:;
6110 }
6111 /* method parser_prod#AAttrPropdef#n_type= for (self: Object, nullable AType) */
6112 void VIRTUAL_parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) {
6113 parser_prod__AAttrPropdef__n_type_61d(self, p0);
6114 RET_LABEL:;
6115 }
6116 /* method parser_prod#AAttrPropdef#n_annotations= for (self: AAttrPropdef, nullable AAnnotations) */
6117 void parser_prod__AAttrPropdef__n_annotations_61d(val* self, val* p0) {
6118 val* var_node /* var node: nullable AAnnotations */;
6119 val* var /* : null */;
6120 short int var1 /* : Bool */;
6121 var_node = p0;
6122 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AAttrPropdef> */
6123 var = NULL;
6124 if (var_node == NULL) {
6125 var1 = 0; /* is null */
6126 } else {
6127 var1 = 1; /* arg is null and recv is not */
6128 }
6129 if (var1){
6130 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
6131 } else {
6132 }
6133 RET_LABEL:;
6134 }
6135 /* method parser_prod#AAttrPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
6136 void VIRTUAL_parser_prod__AAttrPropdef__n_annotations_61d(val* self, val* p0) {
6137 parser_prod__AAttrPropdef__n_annotations_61d(self, p0);
6138 RET_LABEL:;
6139 }
6140 /* method parser_prod#AAttrPropdef#n_expr= for (self: AAttrPropdef, nullable AExpr) */
6141 void parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) {
6142 val* var_node /* var node: nullable AExpr */;
6143 val* var /* : null */;
6144 short int var1 /* : Bool */;
6145 var_node = p0;
6146 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_node; /* _n_expr on <self:AAttrPropdef> */
6147 var = NULL;
6148 if (var_node == NULL) {
6149 var1 = 0; /* is null */
6150 } else {
6151 var1 = 1; /* arg is null and recv is not */
6152 }
6153 if (var1){
6154 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
6155 } else {
6156 }
6157 RET_LABEL:;
6158 }
6159 /* method parser_prod#AAttrPropdef#n_expr= for (self: Object, nullable AExpr) */
6160 void VIRTUAL_parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) {
6161 parser_prod__AAttrPropdef__n_expr_61d(self, p0);
6162 RET_LABEL:;
6163 }
6164 /* method parser_prod#AAttrPropdef#visit_all for (self: AAttrPropdef, Visitor) */
6165 void parser_prod__AAttrPropdef__visit_all(val* self, val* p0) {
6166 val* var_v /* var v: Visitor */;
6167 val* var /* : nullable ADoc */;
6168 val* var1 /* : null */;
6169 short int var2 /* : Bool */;
6170 val* var3 /* : nullable ADoc */;
6171 val* var4 /* : nullable AAble */;
6172 val* var5 /* : null */;
6173 short int var6 /* : Bool */;
6174 val* var7 /* : nullable AAble */;
6175 val* var8 /* : nullable AAble */;
6176 val* var9 /* : null */;
6177 short int var10 /* : Bool */;
6178 val* var11 /* : nullable AAble */;
6179 val* var12 /* : nullable TKwredef */;
6180 val* var13 /* : null */;
6181 short int var14 /* : Bool */;
6182 val* var15 /* : nullable TKwredef */;
6183 val* var16 /* : AVisibility */;
6184 val* var17 /* : TKwvar */;
6185 val* var18 /* : nullable TAttrid */;
6186 val* var19 /* : null */;
6187 short int var20 /* : Bool */;
6188 val* var21 /* : nullable TAttrid */;
6189 val* var22 /* : nullable TId */;
6190 val* var23 /* : null */;
6191 short int var24 /* : Bool */;
6192 val* var25 /* : nullable TId */;
6193 val* var26 /* : nullable AType */;
6194 val* var27 /* : null */;
6195 short int var28 /* : Bool */;
6196 val* var29 /* : nullable AType */;
6197 val* var30 /* : nullable AAnnotations */;
6198 val* var31 /* : null */;
6199 short int var32 /* : Bool */;
6200 val* var33 /* : nullable AAnnotations */;
6201 val* var34 /* : nullable AExpr */;
6202 val* var35 /* : null */;
6203 short int var36 /* : Bool */;
6204 val* var37 /* : nullable AExpr */;
6205 var_v = p0;
6206 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
6207 var1 = NULL;
6208 if (var == NULL) {
6209 var2 = 0; /* is null */
6210 } else {
6211 var2 = 1; /* arg is null and recv is not */
6212 }
6213 if (var2){
6214 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
6215 if (var3 == NULL) {
6216 fprintf(stderr, "Runtime error: %s", "Cast failed");
6217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1532);
6218 show_backtrace(1);
6219 }
6220 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6221 } else {
6222 }
6223 var4 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
6224 var5 = NULL;
6225 if (var4 == NULL) {
6226 var6 = 0; /* is null */
6227 } else {
6228 var6 = 1; /* arg is null and recv is not */
6229 }
6230 if (var6){
6231 var7 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
6232 if (var7 == NULL) {
6233 fprintf(stderr, "Runtime error: %s", "Cast failed");
6234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1535);
6235 show_backtrace(1);
6236 }
6237 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
6238 } else {
6239 }
6240 var8 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
6241 var9 = NULL;
6242 if (var8 == NULL) {
6243 var10 = 0; /* is null */
6244 } else {
6245 var10 = 1; /* arg is null and recv is not */
6246 }
6247 if (var10){
6248 var11 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
6249 if (var11 == NULL) {
6250 fprintf(stderr, "Runtime error: %s", "Cast failed");
6251 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1538);
6252 show_backtrace(1);
6253 }
6254 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
6255 } else {
6256 }
6257 var12 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
6258 var13 = NULL;
6259 if (var12 == NULL) {
6260 var14 = 0; /* is null */
6261 } else {
6262 var14 = 1; /* arg is null and recv is not */
6263 }
6264 if (var14){
6265 var15 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
6266 if (var15 == NULL) {
6267 fprintf(stderr, "Runtime error: %s", "Cast failed");
6268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1541);
6269 show_backtrace(1);
6270 }
6271 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
6272 } else {
6273 }
6274 var16 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
6275 if (var16 == NULL) {
6276 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
6277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1543);
6278 show_backtrace(1);
6279 }
6280 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var16) /* enter_visit on <var_v:Visitor>*/;
6281 var17 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on <self:AAttrPropdef> */
6282 if (var17 == NULL) {
6283 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwvar");
6284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1544);
6285 show_backtrace(1);
6286 }
6287 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var17) /* enter_visit on <var_v:Visitor>*/;
6288 var18 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
6289 var19 = NULL;
6290 if (var18 == NULL) {
6291 var20 = 0; /* is null */
6292 } else {
6293 var20 = 1; /* arg is null and recv is not */
6294 }
6295 if (var20){
6296 var21 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
6297 if (var21 == NULL) {
6298 fprintf(stderr, "Runtime error: %s", "Cast failed");
6299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1546);
6300 show_backtrace(1);
6301 }
6302 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on <var_v:Visitor>*/;
6303 } else {
6304 }
6305 var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
6306 var23 = NULL;
6307 if (var22 == NULL) {
6308 var24 = 0; /* is null */
6309 } else {
6310 var24 = 1; /* arg is null and recv is not */
6311 }
6312 if (var24){
6313 var25 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
6314 if (var25 == NULL) {
6315 fprintf(stderr, "Runtime error: %s", "Cast failed");
6316 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1549);
6317 show_backtrace(1);
6318 }
6319 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on <var_v:Visitor>*/;
6320 } else {
6321 }
6322 var26 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
6323 var27 = NULL;
6324 if (var26 == NULL) {
6325 var28 = 0; /* is null */
6326 } else {
6327 var28 = 1; /* arg is null and recv is not */
6328 }
6329 if (var28){
6330 var29 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
6331 if (var29 == NULL) {
6332 fprintf(stderr, "Runtime error: %s", "Cast failed");
6333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1552);
6334 show_backtrace(1);
6335 }
6336 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var29) /* enter_visit on <var_v:Visitor>*/;
6337 } else {
6338 }
6339 var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
6340 var31 = NULL;
6341 if (var30 == NULL) {
6342 var32 = 0; /* is null */
6343 } else {
6344 var32 = 1; /* arg is null and recv is not */
6345 }
6346 if (var32){
6347 var33 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
6348 if (var33 == NULL) {
6349 fprintf(stderr, "Runtime error: %s", "Cast failed");
6350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1555);
6351 show_backtrace(1);
6352 }
6353 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var33) /* enter_visit on <var_v:Visitor>*/;
6354 } else {
6355 }
6356 var34 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
6357 var35 = NULL;
6358 if (var34 == NULL) {
6359 var36 = 0; /* is null */
6360 } else {
6361 var36 = 1; /* arg is null and recv is not */
6362 }
6363 if (var36){
6364 var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
6365 if (var37 == NULL) {
6366 fprintf(stderr, "Runtime error: %s", "Cast failed");
6367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1558);
6368 show_backtrace(1);
6369 }
6370 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var37) /* enter_visit on <var_v:Visitor>*/;
6371 } else {
6372 }
6373 RET_LABEL:;
6374 }
6375 /* method parser_prod#AAttrPropdef#visit_all for (self: Object, Visitor) */
6376 void VIRTUAL_parser_prod__AAttrPropdef__visit_all(val* self, val* p0) {
6377 parser_prod__AAttrPropdef__visit_all(self, p0);
6378 RET_LABEL:;
6379 }
6380 /* method parser_prod#AMethPropdef#empty_init for (self: AMethPropdef) */
6381 void parser_prod__AMethPropdef__empty_init(val* self) {
6382 RET_LABEL:;
6383 }
6384 /* method parser_prod#AMethPropdef#empty_init for (self: Object) */
6385 void VIRTUAL_parser_prod__AMethPropdef__empty_init(val* self) {
6386 parser_prod__AMethPropdef__empty_init(self);
6387 RET_LABEL:;
6388 }
6389 /* method parser_prod#AMethPropdef#init_amethpropdef for (self: AMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */
6390 void parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6391 val* var_n_doc /* var n_doc: nullable ADoc */;
6392 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
6393 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
6394 val* var_n_methid /* var n_methid: nullable AMethid */;
6395 val* var_n_signature /* var n_signature: nullable ASignature */;
6396 val* var /* : null */;
6397 short int var1 /* : Bool */;
6398 val* var2 /* : null */;
6399 short int var3 /* : Bool */;
6400 var_n_doc = p0;
6401 var_n_kwredef = p1;
6402 var_n_visibility = p2;
6403 var_n_methid = p3;
6404 var_n_signature = p4;
6405 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMethPropdef__empty_init]))(self) /* empty_init on <self:AMethPropdef>*/;
6406 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AMethPropdef> */
6407 var = NULL;
6408 if (var_n_doc == NULL) {
6409 var1 = 0; /* is null */
6410 } else {
6411 var1 = 1; /* arg is null and recv is not */
6412 }
6413 if (var1){
6414 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
6415 } else {
6416 }
6417 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AMethPropdef> */
6418 var2 = NULL;
6419 if (var_n_kwredef == NULL) {
6420 var3 = 0; /* is null */
6421 } else {
6422 var3 = 1; /* arg is null and recv is not */
6423 }
6424 if (var3){
6425 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
6426 } else {
6427 }
6428 if (var_n_visibility == NULL) {
6429 fprintf(stderr, "Runtime error: %s", "Cast failed");
6430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1582);
6431 show_backtrace(1);
6432 }
6433 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AMethPropdef> */
6434 if (var_n_visibility == NULL) {
6435 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1583);
6437 show_backtrace(1);
6438 } else {
6439 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
6440 }
6441 if (var_n_methid == NULL) {
6442 fprintf(stderr, "Runtime error: %s", "Cast failed");
6443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1584);
6444 show_backtrace(1);
6445 }
6446 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AMethPropdef> */
6447 if (var_n_methid == NULL) {
6448 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6449 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1585);
6450 show_backtrace(1);
6451 } else {
6452 ((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>*/;
6453 }
6454 if (var_n_signature == NULL) {
6455 fprintf(stderr, "Runtime error: %s", "Cast failed");
6456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1586);
6457 show_backtrace(1);
6458 }
6459 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AMethPropdef> */
6460 if (var_n_signature == NULL) {
6461 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1587);
6463 show_backtrace(1);
6464 } else {
6465 ((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on <var_n_signature:nullable ASignature>*/;
6466 }
6467 RET_LABEL:;
6468 }
6469 /* method parser_prod#AMethPropdef#init_amethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */
6470 void VIRTUAL_parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6471 parser_prod__AMethPropdef__init_amethpropdef(self, p0, p1, p2, p3, p4);
6472 RET_LABEL:;
6473 }
6474 /* method parser_prod#AMethPropdef#replace_child for (self: AMethPropdef, ANode, nullable ANode) */
6475 void parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) {
6476 val* var_old_child /* var old_child: ANode */;
6477 val* var_new_child /* var new_child: nullable ANode */;
6478 val* var /* : nullable ADoc */;
6479 short int var1 /* : Bool */;
6480 val* var2 /* : null */;
6481 short int var3 /* : Bool */;
6482 short int var4 /* : Bool */;
6483 int cltype;
6484 int idtype;
6485 val* var5 /* : null */;
6486 val* var6 /* : nullable TKwredef */;
6487 short int var7 /* : Bool */;
6488 val* var8 /* : null */;
6489 short int var9 /* : Bool */;
6490 short int var10 /* : Bool */;
6491 int cltype11;
6492 int idtype12;
6493 val* var13 /* : null */;
6494 val* var14 /* : nullable AVisibility */;
6495 short int var15 /* : Bool */;
6496 val* var16 /* : null */;
6497 short int var17 /* : Bool */;
6498 short int var18 /* : Bool */;
6499 int cltype19;
6500 int idtype20;
6501 val* var21 /* : nullable AMethid */;
6502 short int var22 /* : Bool */;
6503 val* var23 /* : null */;
6504 short int var24 /* : Bool */;
6505 short int var25 /* : Bool */;
6506 int cltype26;
6507 int idtype27;
6508 val* var28 /* : nullable ASignature */;
6509 short int var29 /* : Bool */;
6510 val* var30 /* : null */;
6511 short int var31 /* : Bool */;
6512 short int var32 /* : Bool */;
6513 int cltype33;
6514 int idtype34;
6515 var_old_child = p0;
6516 var_new_child = p1;
6517 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6518 if (var == NULL) {
6519 var1 = 0; /* <var_old_child:ANode> cannot be null */
6520 } else {
6521 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
6522 }
6523 if (var1){
6524 var2 = NULL;
6525 if (var_new_child == NULL) {
6526 var3 = 0; /* is null */
6527 } else {
6528 var3 = 1; /* arg is null and recv is not */
6529 }
6530 if (var3){
6531 ((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)>*/;
6532 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
6533 cltype = type_parser_nodes__ADoc.color;
6534 idtype = type_parser_nodes__ADoc.id;
6535 if(cltype >= var_new_child->type->table_size) {
6536 var4 = 0;
6537 } else {
6538 var4 = var_new_child->type->type_table[cltype] == idtype;
6539 }
6540 if (!var4) {
6541 fprintf(stderr, "Runtime error: %s", "Assert failed");
6542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1595);
6543 show_backtrace(1);
6544 }
6545 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AMethPropdef> */
6546 } else {
6547 var5 = NULL;
6548 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AMethPropdef> */
6549 }
6550 goto RET_LABEL;
6551 } else {
6552 }
6553 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6554 if (var6 == NULL) {
6555 var7 = 0; /* <var_old_child:ANode> cannot be null */
6556 } else {
6557 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
6558 }
6559 if (var7){
6560 var8 = NULL;
6561 if (var_new_child == NULL) {
6562 var9 = 0; /* is null */
6563 } else {
6564 var9 = 1; /* arg is null and recv is not */
6565 }
6566 if (var9){
6567 ((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)>*/;
6568 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
6569 cltype11 = type_parser_nodes__TKwredef.color;
6570 idtype12 = type_parser_nodes__TKwredef.id;
6571 if(cltype11 >= var_new_child->type->table_size) {
6572 var10 = 0;
6573 } else {
6574 var10 = var_new_child->type->type_table[cltype11] == idtype12;
6575 }
6576 if (!var10) {
6577 fprintf(stderr, "Runtime error: %s", "Assert failed");
6578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1605);
6579 show_backtrace(1);
6580 }
6581 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AMethPropdef> */
6582 } else {
6583 var13 = NULL;
6584 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AMethPropdef> */
6585 }
6586 goto RET_LABEL;
6587 } else {
6588 }
6589 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AMethPropdef> */
6590 if (var14 == NULL) {
6591 var15 = 0; /* <var_old_child:ANode> cannot be null */
6592 } else {
6593 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
6594 }
6595 if (var15){
6596 var16 = NULL;
6597 if (var_new_child == NULL) {
6598 var17 = 0; /* is null */
6599 } else {
6600 var17 = 1; /* arg is null and recv is not */
6601 }
6602 if (var17){
6603 ((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)>*/;
6604 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
6605 cltype19 = type_parser_nodes__AVisibility.color;
6606 idtype20 = type_parser_nodes__AVisibility.id;
6607 if(cltype19 >= var_new_child->type->table_size) {
6608 var18 = 0;
6609 } else {
6610 var18 = var_new_child->type->type_table[cltype19] == idtype20;
6611 }
6612 if (!var18) {
6613 fprintf(stderr, "Runtime error: %s", "Assert failed");
6614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1615);
6615 show_backtrace(1);
6616 }
6617 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AMethPropdef> */
6618 } else {
6619 fprintf(stderr, "Runtime error: %s", "Aborted");
6620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1618);
6621 show_backtrace(1);
6622 }
6623 goto RET_LABEL;
6624 } else {
6625 }
6626 var21 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AMethPropdef> */
6627 if (var21 == NULL) {
6628 var22 = 0; /* <var_old_child:ANode> cannot be null */
6629 } else {
6630 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:nullable AMethid>*/;
6631 }
6632 if (var22){
6633 var23 = NULL;
6634 if (var_new_child == NULL) {
6635 var24 = 0; /* is null */
6636 } else {
6637 var24 = 1; /* arg is null and recv is not */
6638 }
6639 if (var24){
6640 ((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)>*/;
6641 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
6642 cltype26 = type_parser_nodes__AMethid.color;
6643 idtype27 = type_parser_nodes__AMethid.id;
6644 if(cltype26 >= var_new_child->type->table_size) {
6645 var25 = 0;
6646 } else {
6647 var25 = var_new_child->type->type_table[cltype26] == idtype27;
6648 }
6649 if (!var25) {
6650 fprintf(stderr, "Runtime error: %s", "Assert failed");
6651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1625);
6652 show_backtrace(1);
6653 }
6654 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AMethPropdef> */
6655 } else {
6656 fprintf(stderr, "Runtime error: %s", "Aborted");
6657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1628);
6658 show_backtrace(1);
6659 }
6660 goto RET_LABEL;
6661 } else {
6662 }
6663 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AMethPropdef> */
6664 if (var28 == NULL) {
6665 var29 = 0; /* <var_old_child:ANode> cannot be null */
6666 } else {
6667 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable ASignature>*/;
6668 }
6669 if (var29){
6670 var30 = NULL;
6671 if (var_new_child == NULL) {
6672 var31 = 0; /* is null */
6673 } else {
6674 var31 = 1; /* arg is null and recv is not */
6675 }
6676 if (var31){
6677 ((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)>*/;
6678 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
6679 cltype33 = type_parser_nodes__ASignature.color;
6680 idtype34 = type_parser_nodes__ASignature.id;
6681 if(cltype33 >= var_new_child->type->table_size) {
6682 var32 = 0;
6683 } else {
6684 var32 = var_new_child->type->type_table[cltype33] == idtype34;
6685 }
6686 if (!var32) {
6687 fprintf(stderr, "Runtime error: %s", "Assert failed");
6688 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1635);
6689 show_backtrace(1);
6690 }
6691 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AMethPropdef> */
6692 } else {
6693 fprintf(stderr, "Runtime error: %s", "Aborted");
6694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1638);
6695 show_backtrace(1);
6696 }
6697 goto RET_LABEL;
6698 } else {
6699 }
6700 RET_LABEL:;
6701 }
6702 /* method parser_prod#AMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
6703 void VIRTUAL_parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) {
6704 parser_prod__AMethPropdef__replace_child(self, p0, p1);
6705 RET_LABEL:;
6706 }
6707 /* method parser_prod#AMethPropdef#n_doc= for (self: AMethPropdef, nullable ADoc) */
6708 void parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) {
6709 val* var_node /* var node: nullable ADoc */;
6710 val* var /* : null */;
6711 short int var1 /* : Bool */;
6712 var_node = p0;
6713 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AMethPropdef> */
6714 var = NULL;
6715 if (var_node == NULL) {
6716 var1 = 0; /* is null */
6717 } else {
6718 var1 = 1; /* arg is null and recv is not */
6719 }
6720 if (var1){
6721 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
6722 } else {
6723 }
6724 RET_LABEL:;
6725 }
6726 /* method parser_prod#AMethPropdef#n_doc= for (self: Object, nullable ADoc) */
6727 void VIRTUAL_parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) {
6728 parser_prod__AMethPropdef__n_doc_61d(self, p0);
6729 RET_LABEL:;
6730 }
6731 /* method parser_prod#AMethPropdef#n_kwredef= for (self: AMethPropdef, nullable TKwredef) */
6732 void parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) {
6733 val* var_node /* var node: nullable TKwredef */;
6734 val* var /* : null */;
6735 short int var1 /* : Bool */;
6736 var_node = p0;
6737 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AMethPropdef> */
6738 var = NULL;
6739 if (var_node == NULL) {
6740 var1 = 0; /* is null */
6741 } else {
6742 var1 = 1; /* arg is null and recv is not */
6743 }
6744 if (var1){
6745 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
6746 } else {
6747 }
6748 RET_LABEL:;
6749 }
6750 /* method parser_prod#AMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
6751 void VIRTUAL_parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) {
6752 parser_prod__AMethPropdef__n_kwredef_61d(self, p0);
6753 RET_LABEL:;
6754 }
6755 /* method parser_prod#AMethPropdef#n_visibility= for (self: AMethPropdef, nullable AVisibility) */
6756 void parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) {
6757 val* var_node /* var node: nullable AVisibility */;
6758 var_node = p0;
6759 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AMethPropdef> */
6760 if (var_node == NULL) {
6761 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1661);
6763 show_backtrace(1);
6764 } else {
6765 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
6766 }
6767 RET_LABEL:;
6768 }
6769 /* method parser_prod#AMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
6770 void VIRTUAL_parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) {
6771 parser_prod__AMethPropdef__n_visibility_61d(self, p0);
6772 RET_LABEL:;
6773 }
6774 /* method parser_prod#AMethPropdef#n_methid= for (self: AMethPropdef, nullable AMethid) */
6775 void parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) {
6776 val* var_node /* var node: nullable AMethid */;
6777 var_node = p0;
6778 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AMethPropdef> */
6779 if (var_node == NULL) {
6780 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1666);
6782 show_backtrace(1);
6783 } else {
6784 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
6785 }
6786 RET_LABEL:;
6787 }
6788 /* method parser_prod#AMethPropdef#n_methid= for (self: Object, nullable AMethid) */
6789 void VIRTUAL_parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) {
6790 parser_prod__AMethPropdef__n_methid_61d(self, p0);
6791 RET_LABEL:;
6792 }
6793 /* method parser_prod#AMethPropdef#n_signature= for (self: AMethPropdef, nullable ASignature) */
6794 void parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) {
6795 val* var_node /* var node: nullable ASignature */;
6796 var_node = p0;
6797 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AMethPropdef> */
6798 if (var_node == NULL) {
6799 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1671);
6801 show_backtrace(1);
6802 } else {
6803 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
6804 }
6805 RET_LABEL:;
6806 }
6807 /* method parser_prod#AMethPropdef#n_signature= for (self: Object, nullable ASignature) */
6808 void VIRTUAL_parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) {
6809 parser_prod__AMethPropdef__n_signature_61d(self, p0);
6810 RET_LABEL:;
6811 }
6812 /* method parser_prod#AMethPropdef#visit_all for (self: AMethPropdef, Visitor) */
6813 void parser_prod__AMethPropdef__visit_all(val* self, val* p0) {
6814 val* var_v /* var v: Visitor */;
6815 val* var /* : nullable ADoc */;
6816 val* var1 /* : null */;
6817 short int var2 /* : Bool */;
6818 val* var3 /* : nullable ADoc */;
6819 val* var4 /* : nullable TKwredef */;
6820 val* var5 /* : null */;
6821 short int var6 /* : Bool */;
6822 val* var7 /* : nullable TKwredef */;
6823 val* var8 /* : nullable AVisibility */;
6824 val* var9 /* : nullable AMethid */;
6825 val* var10 /* : nullable ASignature */;
6826 var_v = p0;
6827 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6828 var1 = NULL;
6829 if (var == NULL) {
6830 var2 = 0; /* is null */
6831 } else {
6832 var2 = 1; /* arg is null and recv is not */
6833 }
6834 if (var2){
6835 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6836 if (var3 == NULL) {
6837 fprintf(stderr, "Runtime error: %s", "Cast failed");
6838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1678);
6839 show_backtrace(1);
6840 }
6841 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6842 } else {
6843 }
6844 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6845 var5 = NULL;
6846 if (var4 == NULL) {
6847 var6 = 0; /* is null */
6848 } else {
6849 var6 = 1; /* arg is null and recv is not */
6850 }
6851 if (var6){
6852 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6853 if (var7 == NULL) {
6854 fprintf(stderr, "Runtime error: %s", "Cast failed");
6855 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1681);
6856 show_backtrace(1);
6857 }
6858 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
6859 } else {
6860 }
6861 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AMethPropdef> */
6862 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
6863 var9 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AMethPropdef> */
6864 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
6865 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AMethPropdef> */
6866 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
6867 RET_LABEL:;
6868 }
6869 /* method parser_prod#AMethPropdef#visit_all for (self: Object, Visitor) */
6870 void VIRTUAL_parser_prod__AMethPropdef__visit_all(val* self, val* p0) {
6871 parser_prod__AMethPropdef__visit_all(self, p0);
6872 RET_LABEL:;
6873 }
6874 /* method parser_prod#ADeferredMethPropdef#empty_init for (self: ADeferredMethPropdef) */
6875 void parser_prod__ADeferredMethPropdef__empty_init(val* self) {
6876 RET_LABEL:;
6877 }
6878 /* method parser_prod#ADeferredMethPropdef#empty_init for (self: Object) */
6879 void VIRTUAL_parser_prod__ADeferredMethPropdef__empty_init(val* self) {
6880 parser_prod__ADeferredMethPropdef__empty_init(self);
6881 RET_LABEL:;
6882 }
6883 /* method parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef for (self: ADeferredMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */
6884 void parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
6885 val* var_n_doc /* var n_doc: nullable ADoc */;
6886 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
6887 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
6888 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
6889 val* var_n_methid /* var n_methid: nullable AMethid */;
6890 val* var_n_signature /* var n_signature: nullable ASignature */;
6891 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
6892 val* var /* : null */;
6893 short int var1 /* : Bool */;
6894 val* var2 /* : null */;
6895 short int var3 /* : Bool */;
6896 val* var4 /* : null */;
6897 short int var5 /* : Bool */;
6898 var_n_doc = p0;
6899 var_n_kwredef = p1;
6900 var_n_visibility = p2;
6901 var_n_kwmeth = p3;
6902 var_n_methid = p4;
6903 var_n_signature = p5;
6904 var_n_annotations = p6;
6905 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADeferredMethPropdef__empty_init]))(self) /* empty_init on <self:ADeferredMethPropdef>*/;
6906 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:ADeferredMethPropdef> */
6907 var = NULL;
6908 if (var_n_doc == NULL) {
6909 var1 = 0; /* is null */
6910 } else {
6911 var1 = 1; /* arg is null and recv is not */
6912 }
6913 if (var1){
6914 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
6915 } else {
6916 }
6917 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:ADeferredMethPropdef> */
6918 var2 = NULL;
6919 if (var_n_kwredef == NULL) {
6920 var3 = 0; /* is null */
6921 } else {
6922 var3 = 1; /* arg is null and recv is not */
6923 }
6924 if (var3){
6925 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
6926 } else {
6927 }
6928 if (var_n_visibility == NULL) {
6929 fprintf(stderr, "Runtime error: %s", "Cast failed");
6930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1710);
6931 show_backtrace(1);
6932 }
6933 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:ADeferredMethPropdef> */
6934 if (var_n_visibility == NULL) {
6935 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1711);
6937 show_backtrace(1);
6938 } else {
6939 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
6940 }
6941 if (var_n_kwmeth == NULL) {
6942 fprintf(stderr, "Runtime error: %s", "Cast failed");
6943 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1712);
6944 show_backtrace(1);
6945 }
6946 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:ADeferredMethPropdef> */
6947 if (var_n_kwmeth == NULL) {
6948 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1713);
6950 show_backtrace(1);
6951 } else {
6952 ((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on <var_n_kwmeth:nullable TKwmeth>*/;
6953 }
6954 if (var_n_methid == NULL) {
6955 fprintf(stderr, "Runtime error: %s", "Cast failed");
6956 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1714);
6957 show_backtrace(1);
6958 }
6959 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:ADeferredMethPropdef> */
6960 if (var_n_methid == NULL) {
6961 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1715);
6963 show_backtrace(1);
6964 } else {
6965 ((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>*/;
6966 }
6967 if (var_n_signature == NULL) {
6968 fprintf(stderr, "Runtime error: %s", "Cast failed");
6969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1716);
6970 show_backtrace(1);
6971 }
6972 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:ADeferredMethPropdef> */
6973 if (var_n_signature == NULL) {
6974 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1717);
6976 show_backtrace(1);
6977 } else {
6978 ((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on <var_n_signature:nullable ASignature>*/;
6979 }
6980 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ADeferredMethPropdef> */
6981 var4 = NULL;
6982 if (var_n_annotations == NULL) {
6983 var5 = 0; /* is null */
6984 } else {
6985 var5 = 1; /* arg is null and recv is not */
6986 }
6987 if (var5){
6988 ((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)>*/;
6989 } else {
6990 }
6991 RET_LABEL:;
6992 }
6993 /* method parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */
6994 void VIRTUAL_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
6995 parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(self, p0, p1, p2, p3, p4, p5, p6);
6996 RET_LABEL:;
6997 }
6998 /* method parser_prod#ADeferredMethPropdef#replace_child for (self: ADeferredMethPropdef, ANode, nullable ANode) */
6999 void parser_prod__ADeferredMethPropdef__replace_child(val* self, val* p0, val* p1) {
7000 val* var_old_child /* var old_child: ANode */;
7001 val* var_new_child /* var new_child: nullable ANode */;
7002 val* var /* : nullable ADoc */;
7003 short int var1 /* : Bool */;
7004 val* var2 /* : null */;
7005 short int var3 /* : Bool */;
7006 short int var4 /* : Bool */;
7007 int cltype;
7008 int idtype;
7009 val* var5 /* : null */;
7010 val* var6 /* : nullable TKwredef */;
7011 short int var7 /* : Bool */;
7012 val* var8 /* : null */;
7013 short int var9 /* : Bool */;
7014 short int var10 /* : Bool */;
7015 int cltype11;
7016 int idtype12;
7017 val* var13 /* : null */;
7018 val* var14 /* : nullable AVisibility */;
7019 short int var15 /* : Bool */;
7020 val* var16 /* : null */;
7021 short int var17 /* : Bool */;
7022 short int var18 /* : Bool */;
7023 int cltype19;
7024 int idtype20;
7025 val* var21 /* : TKwmeth */;
7026 short int var22 /* : Bool */;
7027 val* var23 /* : null */;
7028 short int var24 /* : Bool */;
7029 short int var25 /* : Bool */;
7030 int cltype26;
7031 int idtype27;
7032 val* var28 /* : nullable AMethid */;
7033 short int var29 /* : Bool */;
7034 val* var30 /* : null */;
7035 short int var31 /* : Bool */;
7036 short int var32 /* : Bool */;
7037 int cltype33;
7038 int idtype34;
7039 val* var35 /* : nullable ASignature */;
7040 short int var36 /* : Bool */;
7041 val* var37 /* : null */;
7042 short int var38 /* : Bool */;
7043 short int var39 /* : Bool */;
7044 int cltype40;
7045 int idtype41;
7046 val* var42 /* : nullable AAnnotations */;
7047 short int var43 /* : Bool */;
7048 val* var44 /* : null */;
7049 short int var45 /* : Bool */;
7050 short int var46 /* : Bool */;
7051 int cltype47;
7052 int idtype48;
7053 val* var49 /* : null */;
7054 var_old_child = p0;
7055 var_new_child = p1;
7056 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7057 if (var == NULL) {
7058 var1 = 0; /* <var_old_child:ANode> cannot be null */
7059 } else {
7060 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
7061 }
7062 if (var1){
7063 var2 = NULL;
7064 if (var_new_child == NULL) {
7065 var3 = 0; /* is null */
7066 } else {
7067 var3 = 1; /* arg is null and recv is not */
7068 }
7069 if (var3){
7070 ((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)>*/;
7071 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
7072 cltype = type_parser_nodes__ADoc.color;
7073 idtype = type_parser_nodes__ADoc.id;
7074 if(cltype >= var_new_child->type->table_size) {
7075 var4 = 0;
7076 } else {
7077 var4 = var_new_child->type->type_table[cltype] == idtype;
7078 }
7079 if (!var4) {
7080 fprintf(stderr, "Runtime error: %s", "Assert failed");
7081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1729);
7082 show_backtrace(1);
7083 }
7084 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:ADeferredMethPropdef> */
7085 } else {
7086 var5 = NULL;
7087 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:ADeferredMethPropdef> */
7088 }
7089 goto RET_LABEL;
7090 } else {
7091 }
7092 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7093 if (var6 == NULL) {
7094 var7 = 0; /* <var_old_child:ANode> cannot be null */
7095 } else {
7096 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
7097 }
7098 if (var7){
7099 var8 = NULL;
7100 if (var_new_child == NULL) {
7101 var9 = 0; /* is null */
7102 } else {
7103 var9 = 1; /* arg is null and recv is not */
7104 }
7105 if (var9){
7106 ((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)>*/;
7107 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
7108 cltype11 = type_parser_nodes__TKwredef.color;
7109 idtype12 = type_parser_nodes__TKwredef.id;
7110 if(cltype11 >= var_new_child->type->table_size) {
7111 var10 = 0;
7112 } else {
7113 var10 = var_new_child->type->type_table[cltype11] == idtype12;
7114 }
7115 if (!var10) {
7116 fprintf(stderr, "Runtime error: %s", "Assert failed");
7117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1739);
7118 show_backtrace(1);
7119 }
7120 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:ADeferredMethPropdef> */
7121 } else {
7122 var13 = NULL;
7123 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:ADeferredMethPropdef> */
7124 }
7125 goto RET_LABEL;
7126 } else {
7127 }
7128 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:ADeferredMethPropdef> */
7129 if (var14 == NULL) {
7130 var15 = 0; /* <var_old_child:ANode> cannot be null */
7131 } else {
7132 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
7133 }
7134 if (var15){
7135 var16 = NULL;
7136 if (var_new_child == NULL) {
7137 var17 = 0; /* is null */
7138 } else {
7139 var17 = 1; /* arg is null and recv is not */
7140 }
7141 if (var17){
7142 ((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)>*/;
7143 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
7144 cltype19 = type_parser_nodes__AVisibility.color;
7145 idtype20 = type_parser_nodes__AVisibility.id;
7146 if(cltype19 >= var_new_child->type->table_size) {
7147 var18 = 0;
7148 } else {
7149 var18 = var_new_child->type->type_table[cltype19] == idtype20;
7150 }
7151 if (!var18) {
7152 fprintf(stderr, "Runtime error: %s", "Assert failed");
7153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1749);
7154 show_backtrace(1);
7155 }
7156 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:ADeferredMethPropdef> */
7157 } else {
7158 fprintf(stderr, "Runtime error: %s", "Aborted");
7159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1752);
7160 show_backtrace(1);
7161 }
7162 goto RET_LABEL;
7163 } else {
7164 }
7165 var21 = self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7166 if (var21 == NULL) {
7167 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
7168 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1756);
7169 show_backtrace(1);
7170 }
7171 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
7172 if (var22){
7173 var23 = NULL;
7174 if (var_new_child == NULL) {
7175 var24 = 0; /* is null */
7176 } else {
7177 var24 = 1; /* arg is null and recv is not */
7178 }
7179 if (var24){
7180 ((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)>*/;
7181 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
7182 cltype26 = type_parser_nodes__TKwmeth.color;
7183 idtype27 = type_parser_nodes__TKwmeth.id;
7184 if(cltype26 >= var_new_child->type->table_size) {
7185 var25 = 0;
7186 } else {
7187 var25 = var_new_child->type->type_table[cltype26] == idtype27;
7188 }
7189 if (!var25) {
7190 fprintf(stderr, "Runtime error: %s", "Assert failed");
7191 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1759);
7192 show_backtrace(1);
7193 }
7194 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7195 } else {
7196 fprintf(stderr, "Runtime error: %s", "Aborted");
7197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1762);
7198 show_backtrace(1);
7199 }
7200 goto RET_LABEL;
7201 } else {
7202 }
7203 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:ADeferredMethPropdef> */
7204 if (var28 == NULL) {
7205 var29 = 0; /* <var_old_child:ANode> cannot be null */
7206 } else {
7207 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
7208 }
7209 if (var29){
7210 var30 = NULL;
7211 if (var_new_child == NULL) {
7212 var31 = 0; /* is null */
7213 } else {
7214 var31 = 1; /* arg is null and recv is not */
7215 }
7216 if (var31){
7217 ((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)>*/;
7218 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
7219 cltype33 = type_parser_nodes__AMethid.color;
7220 idtype34 = type_parser_nodes__AMethid.id;
7221 if(cltype33 >= var_new_child->type->table_size) {
7222 var32 = 0;
7223 } else {
7224 var32 = var_new_child->type->type_table[cltype33] == idtype34;
7225 }
7226 if (!var32) {
7227 fprintf(stderr, "Runtime error: %s", "Assert failed");
7228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1769);
7229 show_backtrace(1);
7230 }
7231 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:ADeferredMethPropdef> */
7232 } else {
7233 fprintf(stderr, "Runtime error: %s", "Aborted");
7234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1772);
7235 show_backtrace(1);
7236 }
7237 goto RET_LABEL;
7238 } else {
7239 }
7240 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:ADeferredMethPropdef> */
7241 if (var35 == NULL) {
7242 var36 = 0; /* <var_old_child:ANode> cannot be null */
7243 } else {
7244 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
7245 }
7246 if (var36){
7247 var37 = NULL;
7248 if (var_new_child == NULL) {
7249 var38 = 0; /* is null */
7250 } else {
7251 var38 = 1; /* arg is null and recv is not */
7252 }
7253 if (var38){
7254 ((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)>*/;
7255 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
7256 cltype40 = type_parser_nodes__ASignature.color;
7257 idtype41 = type_parser_nodes__ASignature.id;
7258 if(cltype40 >= var_new_child->type->table_size) {
7259 var39 = 0;
7260 } else {
7261 var39 = var_new_child->type->type_table[cltype40] == idtype41;
7262 }
7263 if (!var39) {
7264 fprintf(stderr, "Runtime error: %s", "Assert failed");
7265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1779);
7266 show_backtrace(1);
7267 }
7268 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:ADeferredMethPropdef> */
7269 } else {
7270 fprintf(stderr, "Runtime error: %s", "Aborted");
7271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1782);
7272 show_backtrace(1);
7273 }
7274 goto RET_LABEL;
7275 } else {
7276 }
7277 var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7278 if (var42 == NULL) {
7279 var43 = 0; /* <var_old_child:ANode> cannot be null */
7280 } else {
7281 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable AAnnotations>*/;
7282 }
7283 if (var43){
7284 var44 = NULL;
7285 if (var_new_child == NULL) {
7286 var45 = 0; /* is null */
7287 } else {
7288 var45 = 1; /* arg is null and recv is not */
7289 }
7290 if (var45){
7291 ((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)>*/;
7292 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
7293 cltype47 = type_parser_nodes__AAnnotations.color;
7294 idtype48 = type_parser_nodes__AAnnotations.id;
7295 if(cltype47 >= var_new_child->type->table_size) {
7296 var46 = 0;
7297 } else {
7298 var46 = var_new_child->type->type_table[cltype47] == idtype48;
7299 }
7300 if (!var46) {
7301 fprintf(stderr, "Runtime error: %s", "Assert failed");
7302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1789);
7303 show_backtrace(1);
7304 }
7305 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ADeferredMethPropdef> */
7306 } else {
7307 var49 = NULL;
7308 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _n_annotations on <self:ADeferredMethPropdef> */
7309 }
7310 goto RET_LABEL;
7311 } else {
7312 }
7313 RET_LABEL:;
7314 }
7315 /* method parser_prod#ADeferredMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
7316 void VIRTUAL_parser_prod__ADeferredMethPropdef__replace_child(val* self, val* p0, val* p1) {
7317 parser_prod__ADeferredMethPropdef__replace_child(self, p0, p1);
7318 RET_LABEL:;
7319 }
7320 /* method parser_prod#ADeferredMethPropdef#n_doc= for (self: ADeferredMethPropdef, nullable ADoc) */
7321 void parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) {
7322 val* var_node /* var node: nullable ADoc */;
7323 val* var /* : null */;
7324 short int var1 /* : Bool */;
7325 var_node = p0;
7326 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:ADeferredMethPropdef> */
7327 var = NULL;
7328 if (var_node == NULL) {
7329 var1 = 0; /* is null */
7330 } else {
7331 var1 = 1; /* arg is null and recv is not */
7332 }
7333 if (var1){
7334 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
7335 } else {
7336 }
7337 RET_LABEL:;
7338 }
7339 /* method parser_prod#ADeferredMethPropdef#n_doc= for (self: Object, nullable ADoc) */
7340 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) {
7341 parser_prod__ADeferredMethPropdef__n_doc_61d(self, p0);
7342 RET_LABEL:;
7343 }
7344 /* method parser_prod#ADeferredMethPropdef#n_kwredef= for (self: ADeferredMethPropdef, nullable TKwredef) */
7345 void parser_prod__ADeferredMethPropdef__n_kwredef_61d(val* self, val* p0) {
7346 val* var_node /* var node: nullable TKwredef */;
7347 val* var /* : null */;
7348 short int var1 /* : Bool */;
7349 var_node = p0;
7350 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:ADeferredMethPropdef> */
7351 var = NULL;
7352 if (var_node == NULL) {
7353 var1 = 0; /* is null */
7354 } else {
7355 var1 = 1; /* arg is null and recv is not */
7356 }
7357 if (var1){
7358 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
7359 } else {
7360 }
7361 RET_LABEL:;
7362 }
7363 /* method parser_prod#ADeferredMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
7364 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwredef_61d(val* self, val* p0) {
7365 parser_prod__ADeferredMethPropdef__n_kwredef_61d(self, p0);
7366 RET_LABEL:;
7367 }
7368 /* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: ADeferredMethPropdef, nullable AVisibility) */
7369 void parser_prod__ADeferredMethPropdef__n_visibility_61d(val* self, val* p0) {
7370 val* var_node /* var node: nullable AVisibility */;
7371 var_node = p0;
7372 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:ADeferredMethPropdef> */
7373 if (var_node == NULL) {
7374 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7375 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1815);
7376 show_backtrace(1);
7377 } else {
7378 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
7379 }
7380 RET_LABEL:;
7381 }
7382 /* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
7383 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_visibility_61d(val* self, val* p0) {
7384 parser_prod__ADeferredMethPropdef__n_visibility_61d(self, p0);
7385 RET_LABEL:;
7386 }
7387 /* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: ADeferredMethPropdef, TKwmeth) */
7388 void parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7389 val* var_node /* var node: TKwmeth */;
7390 var_node = p0;
7391 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7392 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
7393 RET_LABEL:;
7394 }
7395 /* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
7396 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7397 parser_prod__ADeferredMethPropdef__n_kwmeth_61d(self, p0);
7398 RET_LABEL:;
7399 }
7400 /* method parser_prod#ADeferredMethPropdef#n_methid= for (self: ADeferredMethPropdef, nullable AMethid) */
7401 void parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) {
7402 val* var_node /* var node: nullable AMethid */;
7403 var_node = p0;
7404 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:ADeferredMethPropdef> */
7405 if (var_node == NULL) {
7406 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7407 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1825);
7408 show_backtrace(1);
7409 } else {
7410 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
7411 }
7412 RET_LABEL:;
7413 }
7414 /* method parser_prod#ADeferredMethPropdef#n_methid= for (self: Object, nullable AMethid) */
7415 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) {
7416 parser_prod__ADeferredMethPropdef__n_methid_61d(self, p0);
7417 RET_LABEL:;
7418 }
7419 /* method parser_prod#ADeferredMethPropdef#n_signature= for (self: ADeferredMethPropdef, nullable ASignature) */
7420 void parser_prod__ADeferredMethPropdef__n_signature_61d(val* self, val* p0) {
7421 val* var_node /* var node: nullable ASignature */;
7422 var_node = p0;
7423 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:ADeferredMethPropdef> */
7424 if (var_node == NULL) {
7425 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7426 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1830);
7427 show_backtrace(1);
7428 } else {
7429 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
7430 }
7431 RET_LABEL:;
7432 }
7433 /* method parser_prod#ADeferredMethPropdef#n_signature= for (self: Object, nullable ASignature) */
7434 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_signature_61d(val* self, val* p0) {
7435 parser_prod__ADeferredMethPropdef__n_signature_61d(self, p0);
7436 RET_LABEL:;
7437 }
7438 /* method parser_prod#ADeferredMethPropdef#n_annotations= for (self: ADeferredMethPropdef, nullable AAnnotations) */
7439 void parser_prod__ADeferredMethPropdef__n_annotations_61d(val* self, val* p0) {
7440 val* var_node /* var node: nullable AAnnotations */;
7441 val* var /* : null */;
7442 short int var1 /* : Bool */;
7443 var_node = p0;
7444 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ADeferredMethPropdef> */
7445 var = NULL;
7446 if (var_node == NULL) {
7447 var1 = 0; /* is null */
7448 } else {
7449 var1 = 1; /* arg is null and recv is not */
7450 }
7451 if (var1){
7452 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
7453 } else {
7454 }
7455 RET_LABEL:;
7456 }
7457 /* method parser_prod#ADeferredMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
7458 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_annotations_61d(val* self, val* p0) {
7459 parser_prod__ADeferredMethPropdef__n_annotations_61d(self, p0);
7460 RET_LABEL:;
7461 }
7462 /* method parser_prod#ADeferredMethPropdef#visit_all for (self: ADeferredMethPropdef, Visitor) */
7463 void parser_prod__ADeferredMethPropdef__visit_all(val* self, val* p0) {
7464 val* var_v /* var v: Visitor */;
7465 val* var /* : nullable ADoc */;
7466 val* var1 /* : null */;
7467 short int var2 /* : Bool */;
7468 val* var3 /* : nullable ADoc */;
7469 val* var4 /* : nullable TKwredef */;
7470 val* var5 /* : null */;
7471 short int var6 /* : Bool */;
7472 val* var7 /* : nullable TKwredef */;
7473 val* var8 /* : nullable AVisibility */;
7474 val* var9 /* : TKwmeth */;
7475 val* var10 /* : nullable AMethid */;
7476 val* var11 /* : nullable ASignature */;
7477 val* var12 /* : nullable AAnnotations */;
7478 val* var13 /* : null */;
7479 short int var14 /* : Bool */;
7480 val* var15 /* : nullable AAnnotations */;
7481 var_v = p0;
7482 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7483 var1 = NULL;
7484 if (var == NULL) {
7485 var2 = 0; /* is null */
7486 } else {
7487 var2 = 1; /* arg is null and recv is not */
7488 }
7489 if (var2){
7490 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7491 if (var3 == NULL) {
7492 fprintf(stderr, "Runtime error: %s", "Cast failed");
7493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1844);
7494 show_backtrace(1);
7495 }
7496 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7497 } else {
7498 }
7499 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7500 var5 = NULL;
7501 if (var4 == NULL) {
7502 var6 = 0; /* is null */
7503 } else {
7504 var6 = 1; /* arg is null and recv is not */
7505 }
7506 if (var6){
7507 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7508 if (var7 == NULL) {
7509 fprintf(stderr, "Runtime error: %s", "Cast failed");
7510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1847);
7511 show_backtrace(1);
7512 }
7513 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
7514 } else {
7515 }
7516 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:ADeferredMethPropdef> */
7517 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
7518 var9 = self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7519 if (var9 == NULL) {
7520 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
7521 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1850);
7522 show_backtrace(1);
7523 }
7524 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
7525 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:ADeferredMethPropdef> */
7526 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
7527 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:ADeferredMethPropdef> */
7528 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
7529 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7530 var13 = NULL;
7531 if (var12 == NULL) {
7532 var14 = 0; /* is null */
7533 } else {
7534 var14 = 1; /* arg is null and recv is not */
7535 }
7536 if (var14){
7537 var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7538 if (var15 == NULL) {
7539 fprintf(stderr, "Runtime error: %s", "Cast failed");
7540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1854);
7541 show_backtrace(1);
7542 }
7543 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
7544 } else {
7545 }
7546 RET_LABEL:;
7547 }
7548 /* method parser_prod#ADeferredMethPropdef#visit_all for (self: Object, Visitor) */
7549 void VIRTUAL_parser_prod__ADeferredMethPropdef__visit_all(val* self, val* p0) {
7550 parser_prod__ADeferredMethPropdef__visit_all(self, p0);
7551 RET_LABEL:;
7552 }
7553 /* method parser_prod#AInternMethPropdef#empty_init for (self: AInternMethPropdef) */
7554 void parser_prod__AInternMethPropdef__empty_init(val* self) {
7555 RET_LABEL:;
7556 }
7557 /* method parser_prod#AInternMethPropdef#empty_init for (self: Object) */
7558 void VIRTUAL_parser_prod__AInternMethPropdef__empty_init(val* self) {
7559 parser_prod__AInternMethPropdef__empty_init(self);
7560 RET_LABEL:;
7561 }
7562 /* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: AInternMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */
7563 void parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
7564 val* var_n_doc /* var n_doc: nullable ADoc */;
7565 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
7566 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
7567 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
7568 val* var_n_methid /* var n_methid: nullable AMethid */;
7569 val* var_n_signature /* var n_signature: nullable ASignature */;
7570 val* var /* : null */;
7571 short int var1 /* : Bool */;
7572 val* var2 /* : null */;
7573 short int var3 /* : Bool */;
7574 var_n_doc = p0;
7575 var_n_kwredef = p1;
7576 var_n_visibility = p2;
7577 var_n_kwmeth = p3;
7578 var_n_methid = p4;
7579 var_n_signature = p5;
7580 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInternMethPropdef__empty_init]))(self) /* empty_init on <self:AInternMethPropdef>*/;
7581 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AInternMethPropdef> */
7582 var = NULL;
7583 if (var_n_doc == NULL) {
7584 var1 = 0; /* is null */
7585 } else {
7586 var1 = 1; /* arg is null and recv is not */
7587 }
7588 if (var1){
7589 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
7590 } else {
7591 }
7592 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AInternMethPropdef> */
7593 var2 = NULL;
7594 if (var_n_kwredef == NULL) {
7595 var3 = 0; /* is null */
7596 } else {
7597 var3 = 1; /* arg is null and recv is not */
7598 }
7599 if (var3){
7600 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
7601 } else {
7602 }
7603 if (var_n_visibility == NULL) {
7604 fprintf(stderr, "Runtime error: %s", "Cast failed");
7605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1879);
7606 show_backtrace(1);
7607 }
7608 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AInternMethPropdef> */
7609 if (var_n_visibility == NULL) {
7610 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7611 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1880);
7612 show_backtrace(1);
7613 } else {
7614 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
7615 }
7616 if (var_n_kwmeth == NULL) {
7617 fprintf(stderr, "Runtime error: %s", "Cast failed");
7618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1881);
7619 show_backtrace(1);
7620 }
7621 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AInternMethPropdef> */
7622 if (var_n_kwmeth == NULL) {
7623 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1882);
7625 show_backtrace(1);
7626 } else {
7627 ((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on <var_n_kwmeth:nullable TKwmeth>*/;
7628 }
7629 if (var_n_methid == NULL) {
7630 fprintf(stderr, "Runtime error: %s", "Cast failed");
7631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1883);
7632 show_backtrace(1);
7633 }
7634 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AInternMethPropdef> */
7635 if (var_n_methid == NULL) {
7636 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7637 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1884);
7638 show_backtrace(1);
7639 } else {
7640 ((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>*/;
7641 }
7642 if (var_n_signature == NULL) {
7643 fprintf(stderr, "Runtime error: %s", "Cast failed");
7644 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1885);
7645 show_backtrace(1);
7646 }
7647 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AInternMethPropdef> */
7648 if (var_n_signature == NULL) {
7649 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1886);
7651 show_backtrace(1);
7652 } else {
7653 ((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on <var_n_signature:nullable ASignature>*/;
7654 }
7655 RET_LABEL:;
7656 }
7657 /* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */
7658 void VIRTUAL_parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
7659 parser_prod__AInternMethPropdef__init_ainternmethpropdef(self, p0, p1, p2, p3, p4, p5);
7660 RET_LABEL:;
7661 }
7662 /* method parser_prod#AInternMethPropdef#replace_child for (self: AInternMethPropdef, ANode, nullable ANode) */
7663 void parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) {
7664 val* var_old_child /* var old_child: ANode */;
7665 val* var_new_child /* var new_child: nullable ANode */;
7666 val* var /* : nullable ADoc */;
7667 short int var1 /* : Bool */;
7668 val* var2 /* : null */;
7669 short int var3 /* : Bool */;
7670 short int var4 /* : Bool */;
7671 int cltype;
7672 int idtype;
7673 val* var5 /* : null */;
7674 val* var6 /* : nullable TKwredef */;
7675 short int var7 /* : Bool */;
7676 val* var8 /* : null */;
7677 short int var9 /* : Bool */;
7678 short int var10 /* : Bool */;
7679 int cltype11;
7680 int idtype12;
7681 val* var13 /* : null */;
7682 val* var14 /* : nullable AVisibility */;
7683 short int var15 /* : Bool */;
7684 val* var16 /* : null */;
7685 short int var17 /* : Bool */;
7686 short int var18 /* : Bool */;
7687 int cltype19;
7688 int idtype20;
7689 val* var21 /* : TKwmeth */;
7690 short int var22 /* : Bool */;
7691 val* var23 /* : null */;
7692 short int var24 /* : Bool */;
7693 short int var25 /* : Bool */;
7694 int cltype26;
7695 int idtype27;
7696 val* var28 /* : nullable AMethid */;
7697 short int var29 /* : Bool */;
7698 val* var30 /* : null */;
7699 short int var31 /* : Bool */;
7700 short int var32 /* : Bool */;
7701 int cltype33;
7702 int idtype34;
7703 val* var35 /* : nullable ASignature */;
7704 short int var36 /* : Bool */;
7705 val* var37 /* : null */;
7706 short int var38 /* : Bool */;
7707 short int var39 /* : Bool */;
7708 int cltype40;
7709 int idtype41;
7710 var_old_child = p0;
7711 var_new_child = p1;
7712 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
7713 if (var == NULL) {
7714 var1 = 0; /* <var_old_child:ANode> cannot be null */
7715 } else {
7716 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
7717 }
7718 if (var1){
7719 var2 = NULL;
7720 if (var_new_child == NULL) {
7721 var3 = 0; /* is null */
7722 } else {
7723 var3 = 1; /* arg is null and recv is not */
7724 }
7725 if (var3){
7726 ((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)>*/;
7727 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
7728 cltype = type_parser_nodes__ADoc.color;
7729 idtype = type_parser_nodes__ADoc.id;
7730 if(cltype >= var_new_child->type->table_size) {
7731 var4 = 0;
7732 } else {
7733 var4 = var_new_child->type->type_table[cltype] == idtype;
7734 }
7735 if (!var4) {
7736 fprintf(stderr, "Runtime error: %s", "Assert failed");
7737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1894);
7738 show_backtrace(1);
7739 }
7740 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AInternMethPropdef> */
7741 } else {
7742 var5 = NULL;
7743 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AInternMethPropdef> */
7744 }
7745 goto RET_LABEL;
7746 } else {
7747 }
7748 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
7749 if (var6 == NULL) {
7750 var7 = 0; /* <var_old_child:ANode> cannot be null */
7751 } else {
7752 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
7753 }
7754 if (var7){
7755 var8 = NULL;
7756 if (var_new_child == NULL) {
7757 var9 = 0; /* is null */
7758 } else {
7759 var9 = 1; /* arg is null and recv is not */
7760 }
7761 if (var9){
7762 ((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)>*/;
7763 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
7764 cltype11 = type_parser_nodes__TKwredef.color;
7765 idtype12 = type_parser_nodes__TKwredef.id;
7766 if(cltype11 >= var_new_child->type->table_size) {
7767 var10 = 0;
7768 } else {
7769 var10 = var_new_child->type->type_table[cltype11] == idtype12;
7770 }
7771 if (!var10) {
7772 fprintf(stderr, "Runtime error: %s", "Assert failed");
7773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1904);
7774 show_backtrace(1);
7775 }
7776 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AInternMethPropdef> */
7777 } else {
7778 var13 = NULL;
7779 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AInternMethPropdef> */
7780 }
7781 goto RET_LABEL;
7782 } else {
7783 }
7784 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AInternMethPropdef> */
7785 if (var14 == NULL) {
7786 var15 = 0; /* <var_old_child:ANode> cannot be null */
7787 } else {
7788 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
7789 }
7790 if (var15){
7791 var16 = NULL;
7792 if (var_new_child == NULL) {
7793 var17 = 0; /* is null */
7794 } else {
7795 var17 = 1; /* arg is null and recv is not */
7796 }
7797 if (var17){
7798 ((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)>*/;
7799 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
7800 cltype19 = type_parser_nodes__AVisibility.color;
7801 idtype20 = type_parser_nodes__AVisibility.id;
7802 if(cltype19 >= var_new_child->type->table_size) {
7803 var18 = 0;
7804 } else {
7805 var18 = var_new_child->type->type_table[cltype19] == idtype20;
7806 }
7807 if (!var18) {
7808 fprintf(stderr, "Runtime error: %s", "Assert failed");
7809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1914);
7810 show_backtrace(1);
7811 }
7812 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AInternMethPropdef> */
7813 } else {
7814 fprintf(stderr, "Runtime error: %s", "Aborted");
7815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1917);
7816 show_backtrace(1);
7817 }
7818 goto RET_LABEL;
7819 } else {
7820 }
7821 var21 = self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AInternMethPropdef> */
7822 if (var21 == NULL) {
7823 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
7824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1921);
7825 show_backtrace(1);
7826 }
7827 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
7828 if (var22){
7829 var23 = NULL;
7830 if (var_new_child == NULL) {
7831 var24 = 0; /* is null */
7832 } else {
7833 var24 = 1; /* arg is null and recv is not */
7834 }
7835 if (var24){
7836 ((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)>*/;
7837 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
7838 cltype26 = type_parser_nodes__TKwmeth.color;
7839 idtype27 = type_parser_nodes__TKwmeth.id;
7840 if(cltype26 >= var_new_child->type->table_size) {
7841 var25 = 0;
7842 } else {
7843 var25 = var_new_child->type->type_table[cltype26] == idtype27;
7844 }
7845 if (!var25) {
7846 fprintf(stderr, "Runtime error: %s", "Assert failed");
7847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1924);
7848 show_backtrace(1);
7849 }
7850 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AInternMethPropdef> */
7851 } else {
7852 fprintf(stderr, "Runtime error: %s", "Aborted");
7853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1927);
7854 show_backtrace(1);
7855 }
7856 goto RET_LABEL;
7857 } else {
7858 }
7859 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AInternMethPropdef> */
7860 if (var28 == NULL) {
7861 var29 = 0; /* <var_old_child:ANode> cannot be null */
7862 } else {
7863 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
7864 }
7865 if (var29){
7866 var30 = NULL;
7867 if (var_new_child == NULL) {
7868 var31 = 0; /* is null */
7869 } else {
7870 var31 = 1; /* arg is null and recv is not */
7871 }
7872 if (var31){
7873 ((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)>*/;
7874 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
7875 cltype33 = type_parser_nodes__AMethid.color;
7876 idtype34 = type_parser_nodes__AMethid.id;
7877 if(cltype33 >= var_new_child->type->table_size) {
7878 var32 = 0;
7879 } else {
7880 var32 = var_new_child->type->type_table[cltype33] == idtype34;
7881 }
7882 if (!var32) {
7883 fprintf(stderr, "Runtime error: %s", "Assert failed");
7884 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1934);
7885 show_backtrace(1);
7886 }
7887 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AInternMethPropdef> */
7888 } else {
7889 fprintf(stderr, "Runtime error: %s", "Aborted");
7890 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1937);
7891 show_backtrace(1);
7892 }
7893 goto RET_LABEL;
7894 } else {
7895 }
7896 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AInternMethPropdef> */
7897 if (var35 == NULL) {
7898 var36 = 0; /* <var_old_child:ANode> cannot be null */
7899 } else {
7900 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
7901 }
7902 if (var36){
7903 var37 = NULL;
7904 if (var_new_child == NULL) {
7905 var38 = 0; /* is null */
7906 } else {
7907 var38 = 1; /* arg is null and recv is not */
7908 }
7909 if (var38){
7910 ((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)>*/;
7911 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
7912 cltype40 = type_parser_nodes__ASignature.color;
7913 idtype41 = type_parser_nodes__ASignature.id;
7914 if(cltype40 >= var_new_child->type->table_size) {
7915 var39 = 0;
7916 } else {
7917 var39 = var_new_child->type->type_table[cltype40] == idtype41;
7918 }
7919 if (!var39) {
7920 fprintf(stderr, "Runtime error: %s", "Assert failed");
7921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1944);
7922 show_backtrace(1);
7923 }
7924 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AInternMethPropdef> */
7925 } else {
7926 fprintf(stderr, "Runtime error: %s", "Aborted");
7927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1947);
7928 show_backtrace(1);
7929 }
7930 goto RET_LABEL;
7931 } else {
7932 }
7933 RET_LABEL:;
7934 }
7935 /* method parser_prod#AInternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
7936 void VIRTUAL_parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) {
7937 parser_prod__AInternMethPropdef__replace_child(self, p0, p1);
7938 RET_LABEL:;
7939 }
7940 /* method parser_prod#AInternMethPropdef#n_doc= for (self: AInternMethPropdef, nullable ADoc) */
7941 void parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) {
7942 val* var_node /* var node: nullable ADoc */;
7943 val* var /* : null */;
7944 short int var1 /* : Bool */;
7945 var_node = p0;
7946 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AInternMethPropdef> */
7947 var = NULL;
7948 if (var_node == NULL) {
7949 var1 = 0; /* is null */
7950 } else {
7951 var1 = 1; /* arg is null and recv is not */
7952 }
7953 if (var1){
7954 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
7955 } else {
7956 }
7957 RET_LABEL:;
7958 }
7959 /* method parser_prod#AInternMethPropdef#n_doc= for (self: Object, nullable ADoc) */
7960 void VIRTUAL_parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) {
7961 parser_prod__AInternMethPropdef__n_doc_61d(self, p0);
7962 RET_LABEL:;
7963 }
7964 /* method parser_prod#AInternMethPropdef#n_kwredef= for (self: AInternMethPropdef, nullable TKwredef) */
7965 void parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) {
7966 val* var_node /* var node: nullable TKwredef */;
7967 val* var /* : null */;
7968 short int var1 /* : Bool */;
7969 var_node = p0;
7970 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AInternMethPropdef> */
7971 var = NULL;
7972 if (var_node == NULL) {
7973 var1 = 0; /* is null */
7974 } else {
7975 var1 = 1; /* arg is null and recv is not */
7976 }
7977 if (var1){
7978 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
7979 } else {
7980 }
7981 RET_LABEL:;
7982 }
7983 /* method parser_prod#AInternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
7984 void VIRTUAL_parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) {
7985 parser_prod__AInternMethPropdef__n_kwredef_61d(self, p0);
7986 RET_LABEL:;
7987 }
7988 /* method parser_prod#AInternMethPropdef#n_visibility= for (self: AInternMethPropdef, nullable AVisibility) */
7989 void parser_prod__AInternMethPropdef__n_visibility_61d(val* self, val* p0) {
7990 val* var_node /* var node: nullable AVisibility */;
7991 var_node = p0;
7992 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AInternMethPropdef> */
7993 if (var_node == NULL) {
7994 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1970);
7996 show_backtrace(1);
7997 } else {
7998 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
7999 }
8000 RET_LABEL:;
8001 }
8002 /* method parser_prod#AInternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
8003 void VIRTUAL_parser_prod__AInternMethPropdef__n_visibility_61d(val* self, val* p0) {
8004 parser_prod__AInternMethPropdef__n_visibility_61d(self, p0);
8005 RET_LABEL:;
8006 }
8007 /* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: AInternMethPropdef, TKwmeth) */
8008 void parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8009 val* var_node /* var node: TKwmeth */;
8010 var_node = p0;
8011 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AInternMethPropdef> */
8012 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
8013 RET_LABEL:;
8014 }
8015 /* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
8016 void VIRTUAL_parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8017 parser_prod__AInternMethPropdef__n_kwmeth_61d(self, p0);
8018 RET_LABEL:;
8019 }
8020 /* method parser_prod#AInternMethPropdef#n_methid= for (self: AInternMethPropdef, nullable AMethid) */
8021 void parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) {
8022 val* var_node /* var node: nullable AMethid */;
8023 var_node = p0;
8024 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AInternMethPropdef> */
8025 if (var_node == NULL) {
8026 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1980);
8028 show_backtrace(1);
8029 } else {
8030 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
8031 }
8032 RET_LABEL:;
8033 }
8034 /* method parser_prod#AInternMethPropdef#n_methid= for (self: Object, nullable AMethid) */
8035 void VIRTUAL_parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) {
8036 parser_prod__AInternMethPropdef__n_methid_61d(self, p0);
8037 RET_LABEL:;
8038 }
8039 /* method parser_prod#AInternMethPropdef#n_signature= for (self: AInternMethPropdef, nullable ASignature) */
8040 void parser_prod__AInternMethPropdef__n_signature_61d(val* self, val* p0) {
8041 val* var_node /* var node: nullable ASignature */;
8042 var_node = p0;
8043 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AInternMethPropdef> */
8044 if (var_node == NULL) {
8045 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1985);
8047 show_backtrace(1);
8048 } else {
8049 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
8050 }
8051 RET_LABEL:;
8052 }
8053 /* method parser_prod#AInternMethPropdef#n_signature= for (self: Object, nullable ASignature) */
8054 void VIRTUAL_parser_prod__AInternMethPropdef__n_signature_61d(val* self, val* p0) {
8055 parser_prod__AInternMethPropdef__n_signature_61d(self, p0);
8056 RET_LABEL:;
8057 }
8058 /* method parser_prod#AInternMethPropdef#visit_all for (self: AInternMethPropdef, Visitor) */
8059 void parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) {
8060 val* var_v /* var v: Visitor */;
8061 val* var /* : nullable ADoc */;
8062 val* var1 /* : null */;
8063 short int var2 /* : Bool */;
8064 val* var3 /* : nullable ADoc */;
8065 val* var4 /* : nullable TKwredef */;
8066 val* var5 /* : null */;
8067 short int var6 /* : Bool */;
8068 val* var7 /* : nullable TKwredef */;
8069 val* var8 /* : nullable AVisibility */;
8070 val* var9 /* : TKwmeth */;
8071 val* var10 /* : nullable AMethid */;
8072 val* var11 /* : nullable ASignature */;
8073 var_v = p0;
8074 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
8075 var1 = NULL;
8076 if (var == NULL) {
8077 var2 = 0; /* is null */
8078 } else {
8079 var2 = 1; /* arg is null and recv is not */
8080 }
8081 if (var2){
8082 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
8083 if (var3 == NULL) {
8084 fprintf(stderr, "Runtime error: %s", "Cast failed");
8085 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1992);
8086 show_backtrace(1);
8087 }
8088 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8089 } else {
8090 }
8091 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
8092 var5 = NULL;
8093 if (var4 == NULL) {
8094 var6 = 0; /* is null */
8095 } else {
8096 var6 = 1; /* arg is null and recv is not */
8097 }
8098 if (var6){
8099 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
8100 if (var7 == NULL) {
8101 fprintf(stderr, "Runtime error: %s", "Cast failed");
8102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1995);
8103 show_backtrace(1);
8104 }
8105 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
8106 } else {
8107 }
8108 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AInternMethPropdef> */
8109 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
8110 var9 = self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AInternMethPropdef> */
8111 if (var9 == NULL) {
8112 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
8113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1998);
8114 show_backtrace(1);
8115 }
8116 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
8117 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AInternMethPropdef> */
8118 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
8119 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AInternMethPropdef> */
8120 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
8121 RET_LABEL:;
8122 }
8123 /* method parser_prod#AInternMethPropdef#visit_all for (self: Object, Visitor) */
8124 void VIRTUAL_parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) {
8125 parser_prod__AInternMethPropdef__visit_all(self, p0);
8126 RET_LABEL:;
8127 }
8128 /* method parser_prod#AExternMethPropdef#empty_init for (self: AExternMethPropdef) */
8129 void parser_prod__AExternMethPropdef__empty_init(val* self) {
8130 RET_LABEL:;
8131 }
8132 /* method parser_prod#AExternMethPropdef#empty_init for (self: Object) */
8133 void VIRTUAL_parser_prod__AExternMethPropdef__empty_init(val* self) {
8134 parser_prod__AExternMethPropdef__empty_init(self);
8135 RET_LABEL:;
8136 }
8137 /* method parser_prod#AExternMethPropdef#init_aexternmethpropdef for (self: AExternMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable TString, nullable AExternCalls, nullable AExternCodeBlock) */
8138 void parser_prod__AExternMethPropdef__init_aexternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8) {
8139 val* var_n_doc /* var n_doc: nullable ADoc */;
8140 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
8141 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
8142 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
8143 val* var_n_methid /* var n_methid: nullable AMethid */;
8144 val* var_n_signature /* var n_signature: nullable ASignature */;
8145 val* var_n_extern /* var n_extern: nullable TString */;
8146 val* var_n_extern_calls /* var n_extern_calls: nullable AExternCalls */;
8147 val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */;
8148 val* var /* : null */;
8149 short int var1 /* : Bool */;
8150 val* var2 /* : null */;
8151 short int var3 /* : Bool */;
8152 val* var4 /* : null */;
8153 short int var5 /* : Bool */;
8154 val* var6 /* : null */;
8155 short int var7 /* : Bool */;
8156 val* var8 /* : null */;
8157 short int var9 /* : Bool */;
8158 var_n_doc = p0;
8159 var_n_kwredef = p1;
8160 var_n_visibility = p2;
8161 var_n_kwmeth = p3;
8162 var_n_methid = p4;
8163 var_n_signature = p5;
8164 var_n_extern = p6;
8165 var_n_extern_calls = p7;
8166 var_n_extern_code_block = p8;
8167 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternMethPropdef__empty_init]))(self) /* empty_init on <self:AExternMethPropdef>*/;
8168 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AExternMethPropdef> */
8169 var = NULL;
8170 if (var_n_doc == NULL) {
8171 var1 = 0; /* is null */
8172 } else {
8173 var1 = 1; /* arg is null and recv is not */
8174 }
8175 if (var1){
8176 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
8177 } else {
8178 }
8179 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AExternMethPropdef> */
8180 var2 = NULL;
8181 if (var_n_kwredef == NULL) {
8182 var3 = 0; /* is null */
8183 } else {
8184 var3 = 1; /* arg is null and recv is not */
8185 }
8186 if (var3){
8187 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
8188 } else {
8189 }
8190 if (var_n_visibility == NULL) {
8191 fprintf(stderr, "Runtime error: %s", "Cast failed");
8192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2027);
8193 show_backtrace(1);
8194 }
8195 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AExternMethPropdef> */
8196 if (var_n_visibility == NULL) {
8197 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2028);
8199 show_backtrace(1);
8200 } else {
8201 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
8202 }
8203 if (var_n_kwmeth == NULL) {
8204 fprintf(stderr, "Runtime error: %s", "Cast failed");
8205 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2029);
8206 show_backtrace(1);
8207 }
8208 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AExternMethPropdef> */
8209 if (var_n_kwmeth == NULL) {
8210 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2030);
8212 show_backtrace(1);
8213 } else {
8214 ((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on <var_n_kwmeth:nullable TKwmeth>*/;
8215 }
8216 if (var_n_methid == NULL) {
8217 fprintf(stderr, "Runtime error: %s", "Cast failed");
8218 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2031);
8219 show_backtrace(1);
8220 }
8221 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AExternMethPropdef> */
8222 if (var_n_methid == NULL) {
8223 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8224 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2032);
8225 show_backtrace(1);
8226 } else {
8227 ((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>*/;
8228 }
8229 if (var_n_signature == NULL) {
8230 fprintf(stderr, "Runtime error: %s", "Cast failed");
8231 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2033);
8232 show_backtrace(1);
8233 }
8234 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AExternMethPropdef> */
8235 if (var_n_signature == NULL) {
8236 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2034);
8238 show_backtrace(1);
8239 } else {
8240 ((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on <var_n_signature:nullable ASignature>*/;
8241 }
8242 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_n_extern; /* _n_extern on <self:AExternMethPropdef> */
8243 var4 = NULL;
8244 if (var_n_extern == NULL) {
8245 var5 = 0; /* is null */
8246 } else {
8247 var5 = 1; /* arg is null and recv is not */
8248 }
8249 if (var5){
8250 ((void (*)(val*, val*))(var_n_extern->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern, self) /* parent= on <var_n_extern:nullable TString(TString)>*/;
8251 } else {
8252 }
8253 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_n_extern_calls; /* _n_extern_calls on <self:AExternMethPropdef> */
8254 var6 = NULL;
8255 if (var_n_extern_calls == NULL) {
8256 var7 = 0; /* is null */
8257 } else {
8258 var7 = 1; /* arg is null and recv is not */
8259 }
8260 if (var7){
8261 ((void (*)(val*, val*))(var_n_extern_calls->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern_calls, self) /* parent= on <var_n_extern_calls:nullable AExternCalls(AExternCalls)>*/;
8262 } else {
8263 }
8264 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on <self:AExternMethPropdef> */
8265 var8 = NULL;
8266 if (var_n_extern_code_block == NULL) {
8267 var9 = 0; /* is null */
8268 } else {
8269 var9 = 1; /* arg is null and recv is not */
8270 }
8271 if (var9){
8272 ((void (*)(val*, val*))(var_n_extern_code_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_extern_code_block, self) /* parent= on <var_n_extern_code_block:nullable AExternCodeBlock(AExternCodeBlock)>*/;
8273 } else {
8274 }
8275 RET_LABEL:;
8276 }
8277 /* method parser_prod#AExternMethPropdef#init_aexternmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable TString, nullable AExternCalls, nullable AExternCodeBlock) */
8278 void VIRTUAL_parser_prod__AExternMethPropdef__init_aexternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7, val* p8) {
8279 parser_prod__AExternMethPropdef__init_aexternmethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8);
8280 RET_LABEL:;
8281 }
8282 /* method parser_prod#AExternMethPropdef#replace_child for (self: AExternMethPropdef, ANode, nullable ANode) */
8283 void parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) {
8284 val* var_old_child /* var old_child: ANode */;
8285 val* var_new_child /* var new_child: nullable ANode */;
8286 val* var /* : nullable ADoc */;
8287 short int var1 /* : Bool */;
8288 val* var2 /* : null */;
8289 short int var3 /* : Bool */;
8290 short int var4 /* : Bool */;
8291 int cltype;
8292 int idtype;
8293 val* var5 /* : null */;
8294 val* var6 /* : nullable TKwredef */;
8295 short int var7 /* : Bool */;
8296 val* var8 /* : null */;
8297 short int var9 /* : Bool */;
8298 short int var10 /* : Bool */;
8299 int cltype11;
8300 int idtype12;
8301 val* var13 /* : null */;
8302 val* var14 /* : nullable AVisibility */;
8303 short int var15 /* : Bool */;
8304 val* var16 /* : null */;
8305 short int var17 /* : Bool */;
8306 short int var18 /* : Bool */;
8307 int cltype19;
8308 int idtype20;
8309 val* var21 /* : TKwmeth */;
8310 short int var22 /* : Bool */;
8311 val* var23 /* : null */;
8312 short int var24 /* : Bool */;
8313 short int var25 /* : Bool */;
8314 int cltype26;
8315 int idtype27;
8316 val* var28 /* : nullable AMethid */;
8317 short int var29 /* : Bool */;
8318 val* var30 /* : null */;
8319 short int var31 /* : Bool */;
8320 short int var32 /* : Bool */;
8321 int cltype33;
8322 int idtype34;
8323 val* var35 /* : nullable ASignature */;
8324 short int var36 /* : Bool */;
8325 val* var37 /* : null */;
8326 short int var38 /* : Bool */;
8327 short int var39 /* : Bool */;
8328 int cltype40;
8329 int idtype41;
8330 val* var42 /* : nullable TString */;
8331 short int var43 /* : Bool */;
8332 val* var44 /* : null */;
8333 short int var45 /* : Bool */;
8334 short int var46 /* : Bool */;
8335 int cltype47;
8336 int idtype48;
8337 val* var49 /* : null */;
8338 val* var50 /* : nullable AExternCalls */;
8339 short int var51 /* : Bool */;
8340 val* var52 /* : null */;
8341 short int var53 /* : Bool */;
8342 short int var54 /* : Bool */;
8343 int cltype55;
8344 int idtype56;
8345 val* var57 /* : null */;
8346 val* var58 /* : nullable AExternCodeBlock */;
8347 short int var59 /* : Bool */;
8348 val* var60 /* : null */;
8349 short int var61 /* : Bool */;
8350 short int var62 /* : Bool */;
8351 int cltype63;
8352 int idtype64;
8353 val* var65 /* : null */;
8354 var_old_child = p0;
8355 var_new_child = p1;
8356 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8357 if (var == NULL) {
8358 var1 = 0; /* <var_old_child:ANode> cannot be null */
8359 } else {
8360 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
8361 }
8362 if (var1){
8363 var2 = NULL;
8364 if (var_new_child == NULL) {
8365 var3 = 0; /* is null */
8366 } else {
8367 var3 = 1; /* arg is null and recv is not */
8368 }
8369 if (var3){
8370 ((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)>*/;
8371 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
8372 cltype = type_parser_nodes__ADoc.color;
8373 idtype = type_parser_nodes__ADoc.id;
8374 if(cltype >= var_new_child->type->table_size) {
8375 var4 = 0;
8376 } else {
8377 var4 = var_new_child->type->type_table[cltype] == idtype;
8378 }
8379 if (!var4) {
8380 fprintf(stderr, "Runtime error: %s", "Assert failed");
8381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2054);
8382 show_backtrace(1);
8383 }
8384 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AExternMethPropdef> */
8385 } else {
8386 var5 = NULL;
8387 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AExternMethPropdef> */
8388 }
8389 goto RET_LABEL;
8390 } else {
8391 }
8392 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8393 if (var6 == NULL) {
8394 var7 = 0; /* <var_old_child:ANode> cannot be null */
8395 } else {
8396 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
8397 }
8398 if (var7){
8399 var8 = NULL;
8400 if (var_new_child == NULL) {
8401 var9 = 0; /* is null */
8402 } else {
8403 var9 = 1; /* arg is null and recv is not */
8404 }
8405 if (var9){
8406 ((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)>*/;
8407 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
8408 cltype11 = type_parser_nodes__TKwredef.color;
8409 idtype12 = type_parser_nodes__TKwredef.id;
8410 if(cltype11 >= var_new_child->type->table_size) {
8411 var10 = 0;
8412 } else {
8413 var10 = var_new_child->type->type_table[cltype11] == idtype12;
8414 }
8415 if (!var10) {
8416 fprintf(stderr, "Runtime error: %s", "Assert failed");
8417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2064);
8418 show_backtrace(1);
8419 }
8420 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AExternMethPropdef> */
8421 } else {
8422 var13 = NULL;
8423 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AExternMethPropdef> */
8424 }
8425 goto RET_LABEL;
8426 } else {
8427 }
8428 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AExternMethPropdef> */
8429 if (var14 == NULL) {
8430 var15 = 0; /* <var_old_child:ANode> cannot be null */
8431 } else {
8432 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
8433 }
8434 if (var15){
8435 var16 = NULL;
8436 if (var_new_child == NULL) {
8437 var17 = 0; /* is null */
8438 } else {
8439 var17 = 1; /* arg is null and recv is not */
8440 }
8441 if (var17){
8442 ((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)>*/;
8443 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
8444 cltype19 = type_parser_nodes__AVisibility.color;
8445 idtype20 = type_parser_nodes__AVisibility.id;
8446 if(cltype19 >= var_new_child->type->table_size) {
8447 var18 = 0;
8448 } else {
8449 var18 = var_new_child->type->type_table[cltype19] == idtype20;
8450 }
8451 if (!var18) {
8452 fprintf(stderr, "Runtime error: %s", "Assert failed");
8453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2074);
8454 show_backtrace(1);
8455 }
8456 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AExternMethPropdef> */
8457 } else {
8458 fprintf(stderr, "Runtime error: %s", "Aborted");
8459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2077);
8460 show_backtrace(1);
8461 }
8462 goto RET_LABEL;
8463 } else {
8464 }
8465 var21 = self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AExternMethPropdef> */
8466 if (var21 == NULL) {
8467 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
8468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2081);
8469 show_backtrace(1);
8470 }
8471 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
8472 if (var22){
8473 var23 = NULL;
8474 if (var_new_child == NULL) {
8475 var24 = 0; /* is null */
8476 } else {
8477 var24 = 1; /* arg is null and recv is not */
8478 }
8479 if (var24){
8480 ((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)>*/;
8481 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
8482 cltype26 = type_parser_nodes__TKwmeth.color;
8483 idtype27 = type_parser_nodes__TKwmeth.id;
8484 if(cltype26 >= var_new_child->type->table_size) {
8485 var25 = 0;
8486 } else {
8487 var25 = var_new_child->type->type_table[cltype26] == idtype27;
8488 }
8489 if (!var25) {
8490 fprintf(stderr, "Runtime error: %s", "Assert failed");
8491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2084);
8492 show_backtrace(1);
8493 }
8494 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AExternMethPropdef> */
8495 } else {
8496 fprintf(stderr, "Runtime error: %s", "Aborted");
8497 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2087);
8498 show_backtrace(1);
8499 }
8500 goto RET_LABEL;
8501 } else {
8502 }
8503 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AExternMethPropdef> */
8504 if (var28 == NULL) {
8505 var29 = 0; /* <var_old_child:ANode> cannot be null */
8506 } else {
8507 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
8508 }
8509 if (var29){
8510 var30 = NULL;
8511 if (var_new_child == NULL) {
8512 var31 = 0; /* is null */
8513 } else {
8514 var31 = 1; /* arg is null and recv is not */
8515 }
8516 if (var31){
8517 ((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)>*/;
8518 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
8519 cltype33 = type_parser_nodes__AMethid.color;
8520 idtype34 = type_parser_nodes__AMethid.id;
8521 if(cltype33 >= var_new_child->type->table_size) {
8522 var32 = 0;
8523 } else {
8524 var32 = var_new_child->type->type_table[cltype33] == idtype34;
8525 }
8526 if (!var32) {
8527 fprintf(stderr, "Runtime error: %s", "Assert failed");
8528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2094);
8529 show_backtrace(1);
8530 }
8531 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AExternMethPropdef> */
8532 } else {
8533 fprintf(stderr, "Runtime error: %s", "Aborted");
8534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2097);
8535 show_backtrace(1);
8536 }
8537 goto RET_LABEL;
8538 } else {
8539 }
8540 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AExternMethPropdef> */
8541 if (var35 == NULL) {
8542 var36 = 0; /* <var_old_child:ANode> cannot be null */
8543 } else {
8544 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
8545 }
8546 if (var36){
8547 var37 = NULL;
8548 if (var_new_child == NULL) {
8549 var38 = 0; /* is null */
8550 } else {
8551 var38 = 1; /* arg is null and recv is not */
8552 }
8553 if (var38){
8554 ((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)>*/;
8555 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
8556 cltype40 = type_parser_nodes__ASignature.color;
8557 idtype41 = type_parser_nodes__ASignature.id;
8558 if(cltype40 >= var_new_child->type->table_size) {
8559 var39 = 0;
8560 } else {
8561 var39 = var_new_child->type->type_table[cltype40] == idtype41;
8562 }
8563 if (!var39) {
8564 fprintf(stderr, "Runtime error: %s", "Assert failed");
8565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2104);
8566 show_backtrace(1);
8567 }
8568 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AExternMethPropdef> */
8569 } else {
8570 fprintf(stderr, "Runtime error: %s", "Aborted");
8571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2107);
8572 show_backtrace(1);
8573 }
8574 goto RET_LABEL;
8575 } else {
8576 }
8577 var42 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8578 if (var42 == NULL) {
8579 var43 = 0; /* <var_old_child:ANode> cannot be null */
8580 } else {
8581 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable TString>*/;
8582 }
8583 if (var43){
8584 var44 = NULL;
8585 if (var_new_child == NULL) {
8586 var45 = 0; /* is null */
8587 } else {
8588 var45 = 1; /* arg is null and recv is not */
8589 }
8590 if (var45){
8591 ((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)>*/;
8592 /* <var_new_child:nullable ANode(ANode)> isa TString */
8593 cltype47 = type_parser_nodes__TString.color;
8594 idtype48 = type_parser_nodes__TString.id;
8595 if(cltype47 >= var_new_child->type->table_size) {
8596 var46 = 0;
8597 } else {
8598 var46 = var_new_child->type->type_table[cltype47] == idtype48;
8599 }
8600 if (!var46) {
8601 fprintf(stderr, "Runtime error: %s", "Assert failed");
8602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2114);
8603 show_backtrace(1);
8604 }
8605 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_new_child; /* _n_extern on <self:AExternMethPropdef> */
8606 } else {
8607 var49 = NULL;
8608 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var49; /* _n_extern on <self:AExternMethPropdef> */
8609 }
8610 goto RET_LABEL;
8611 } else {
8612 }
8613 var50 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8614 if (var50 == NULL) {
8615 var51 = 0; /* <var_old_child:ANode> cannot be null */
8616 } else {
8617 var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on <var50:nullable AExternCalls>*/;
8618 }
8619 if (var51){
8620 var52 = NULL;
8621 if (var_new_child == NULL) {
8622 var53 = 0; /* is null */
8623 } else {
8624 var53 = 1; /* arg is null and recv is not */
8625 }
8626 if (var53){
8627 ((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)>*/;
8628 /* <var_new_child:nullable ANode(ANode)> isa AExternCalls */
8629 cltype55 = type_parser_nodes__AExternCalls.color;
8630 idtype56 = type_parser_nodes__AExternCalls.id;
8631 if(cltype55 >= var_new_child->type->table_size) {
8632 var54 = 0;
8633 } else {
8634 var54 = var_new_child->type->type_table[cltype55] == idtype56;
8635 }
8636 if (!var54) {
8637 fprintf(stderr, "Runtime error: %s", "Assert failed");
8638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2124);
8639 show_backtrace(1);
8640 }
8641 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_new_child; /* _n_extern_calls on <self:AExternMethPropdef> */
8642 } else {
8643 var57 = NULL;
8644 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var57; /* _n_extern_calls on <self:AExternMethPropdef> */
8645 }
8646 goto RET_LABEL;
8647 } else {
8648 }
8649 var58 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
8650 if (var58 == NULL) {
8651 var59 = 0; /* <var_old_child:ANode> cannot be null */
8652 } else {
8653 var59 = ((short int (*)(val*, val*))(var58->class->vft[COLOR_kernel__Object___61d_61d]))(var58, var_old_child) /* == on <var58:nullable AExternCodeBlock>*/;
8654 }
8655 if (var59){
8656 var60 = NULL;
8657 if (var_new_child == NULL) {
8658 var61 = 0; /* is null */
8659 } else {
8660 var61 = 1; /* arg is null and recv is not */
8661 }
8662 if (var61){
8663 ((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)>*/;
8664 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
8665 cltype63 = type_parser_nodes__AExternCodeBlock.color;
8666 idtype64 = type_parser_nodes__AExternCodeBlock.id;
8667 if(cltype63 >= var_new_child->type->table_size) {
8668 var62 = 0;
8669 } else {
8670 var62 = var_new_child->type->type_table[cltype63] == idtype64;
8671 }
8672 if (!var62) {
8673 fprintf(stderr, "Runtime error: %s", "Assert failed");
8674 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2134);
8675 show_backtrace(1);
8676 }
8677 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on <self:AExternMethPropdef> */
8678 } else {
8679 var65 = NULL;
8680 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var65; /* _n_extern_code_block on <self:AExternMethPropdef> */
8681 }
8682 goto RET_LABEL;
8683 } else {
8684 }
8685 RET_LABEL:;
8686 }
8687 /* method parser_prod#AExternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
8688 void VIRTUAL_parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) {
8689 parser_prod__AExternMethPropdef__replace_child(self, p0, p1);
8690 RET_LABEL:;
8691 }
8692 /* method parser_prod#AExternMethPropdef#n_doc= for (self: AExternMethPropdef, nullable ADoc) */
8693 void parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) {
8694 val* var_node /* var node: nullable ADoc */;
8695 val* var /* : null */;
8696 short int var1 /* : Bool */;
8697 var_node = p0;
8698 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AExternMethPropdef> */
8699 var = NULL;
8700 if (var_node == NULL) {
8701 var1 = 0; /* is null */
8702 } else {
8703 var1 = 1; /* arg is null and recv is not */
8704 }
8705 if (var1){
8706 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
8707 } else {
8708 }
8709 RET_LABEL:;
8710 }
8711 /* method parser_prod#AExternMethPropdef#n_doc= for (self: Object, nullable ADoc) */
8712 void VIRTUAL_parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) {
8713 parser_prod__AExternMethPropdef__n_doc_61d(self, p0);
8714 RET_LABEL:;
8715 }
8716 /* method parser_prod#AExternMethPropdef#n_kwredef= for (self: AExternMethPropdef, nullable TKwredef) */
8717 void parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) {
8718 val* var_node /* var node: nullable TKwredef */;
8719 val* var /* : null */;
8720 short int var1 /* : Bool */;
8721 var_node = p0;
8722 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AExternMethPropdef> */
8723 var = NULL;
8724 if (var_node == NULL) {
8725 var1 = 0; /* is null */
8726 } else {
8727 var1 = 1; /* arg is null and recv is not */
8728 }
8729 if (var1){
8730 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
8731 } else {
8732 }
8733 RET_LABEL:;
8734 }
8735 /* method parser_prod#AExternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
8736 void VIRTUAL_parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) {
8737 parser_prod__AExternMethPropdef__n_kwredef_61d(self, p0);
8738 RET_LABEL:;
8739 }
8740 /* method parser_prod#AExternMethPropdef#n_visibility= for (self: AExternMethPropdef, nullable AVisibility) */
8741 void parser_prod__AExternMethPropdef__n_visibility_61d(val* self, val* p0) {
8742 val* var_node /* var node: nullable AVisibility */;
8743 var_node = p0;
8744 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AExternMethPropdef> */
8745 if (var_node == NULL) {
8746 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2160);
8748 show_backtrace(1);
8749 } else {
8750 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
8751 }
8752 RET_LABEL:;
8753 }
8754 /* method parser_prod#AExternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
8755 void VIRTUAL_parser_prod__AExternMethPropdef__n_visibility_61d(val* self, val* p0) {
8756 parser_prod__AExternMethPropdef__n_visibility_61d(self, p0);
8757 RET_LABEL:;
8758 }
8759 /* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: AExternMethPropdef, TKwmeth) */
8760 void parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8761 val* var_node /* var node: TKwmeth */;
8762 var_node = p0;
8763 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AExternMethPropdef> */
8764 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
8765 RET_LABEL:;
8766 }
8767 /* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
8768 void VIRTUAL_parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8769 parser_prod__AExternMethPropdef__n_kwmeth_61d(self, p0);
8770 RET_LABEL:;
8771 }
8772 /* method parser_prod#AExternMethPropdef#n_methid= for (self: AExternMethPropdef, nullable AMethid) */
8773 void parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) {
8774 val* var_node /* var node: nullable AMethid */;
8775 var_node = p0;
8776 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AExternMethPropdef> */
8777 if (var_node == NULL) {
8778 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8779 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2170);
8780 show_backtrace(1);
8781 } else {
8782 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
8783 }
8784 RET_LABEL:;
8785 }
8786 /* method parser_prod#AExternMethPropdef#n_methid= for (self: Object, nullable AMethid) */
8787 void VIRTUAL_parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) {
8788 parser_prod__AExternMethPropdef__n_methid_61d(self, p0);
8789 RET_LABEL:;
8790 }
8791 /* method parser_prod#AExternMethPropdef#n_signature= for (self: AExternMethPropdef, nullable ASignature) */
8792 void parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) {
8793 val* var_node /* var node: nullable ASignature */;
8794 var_node = p0;
8795 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AExternMethPropdef> */
8796 if (var_node == NULL) {
8797 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2175);
8799 show_backtrace(1);
8800 } else {
8801 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
8802 }
8803 RET_LABEL:;
8804 }
8805 /* method parser_prod#AExternMethPropdef#n_signature= for (self: Object, nullable ASignature) */
8806 void VIRTUAL_parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) {
8807 parser_prod__AExternMethPropdef__n_signature_61d(self, p0);
8808 RET_LABEL:;
8809 }
8810 /* method parser_prod#AExternMethPropdef#n_extern= for (self: AExternMethPropdef, nullable TString) */
8811 void parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) {
8812 val* var_node /* var node: nullable TString */;
8813 val* var /* : null */;
8814 short int var1 /* : Bool */;
8815 var_node = p0;
8816 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_node; /* _n_extern on <self:AExternMethPropdef> */
8817 var = NULL;
8818 if (var_node == NULL) {
8819 var1 = 0; /* is null */
8820 } else {
8821 var1 = 1; /* arg is null and recv is not */
8822 }
8823 if (var1){
8824 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TString(TString)>*/;
8825 } else {
8826 }
8827 RET_LABEL:;
8828 }
8829 /* method parser_prod#AExternMethPropdef#n_extern= for (self: Object, nullable TString) */
8830 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) {
8831 parser_prod__AExternMethPropdef__n_extern_61d(self, p0);
8832 RET_LABEL:;
8833 }
8834 /* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: AExternMethPropdef, nullable AExternCalls) */
8835 void parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) {
8836 val* var_node /* var node: nullable AExternCalls */;
8837 val* var /* : null */;
8838 short int var1 /* : Bool */;
8839 var_node = p0;
8840 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_node; /* _n_extern_calls on <self:AExternMethPropdef> */
8841 var = NULL;
8842 if (var_node == NULL) {
8843 var1 = 0; /* is null */
8844 } else {
8845 var1 = 1; /* arg is null and recv is not */
8846 }
8847 if (var1){
8848 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCalls(AExternCalls)>*/;
8849 } else {
8850 }
8851 RET_LABEL:;
8852 }
8853 /* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: Object, nullable AExternCalls) */
8854 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) {
8855 parser_prod__AExternMethPropdef__n_extern_calls_61d(self, p0);
8856 RET_LABEL:;
8857 }
8858 /* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: AExternMethPropdef, nullable AExternCodeBlock) */
8859 void parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
8860 val* var_node /* var node: nullable AExternCodeBlock */;
8861 val* var /* : null */;
8862 short int var1 /* : Bool */;
8863 var_node = p0;
8864 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on <self:AExternMethPropdef> */
8865 var = NULL;
8866 if (var_node == NULL) {
8867 var1 = 0; /* is null */
8868 } else {
8869 var1 = 1; /* arg is null and recv is not */
8870 }
8871 if (var1){
8872 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCodeBlock(AExternCodeBlock)>*/;
8873 } else {
8874 }
8875 RET_LABEL:;
8876 }
8877 /* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */
8878 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
8879 parser_prod__AExternMethPropdef__n_extern_code_block_61d(self, p0);
8880 RET_LABEL:;
8881 }
8882 /* method parser_prod#AExternMethPropdef#visit_all for (self: AExternMethPropdef, Visitor) */
8883 void parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) {
8884 val* var_v /* var v: Visitor */;
8885 val* var /* : nullable ADoc */;
8886 val* var1 /* : null */;
8887 short int var2 /* : Bool */;
8888 val* var3 /* : nullable ADoc */;
8889 val* var4 /* : nullable TKwredef */;
8890 val* var5 /* : null */;
8891 short int var6 /* : Bool */;
8892 val* var7 /* : nullable TKwredef */;
8893 val* var8 /* : nullable AVisibility */;
8894 val* var9 /* : TKwmeth */;
8895 val* var10 /* : nullable AMethid */;
8896 val* var11 /* : nullable ASignature */;
8897 val* var12 /* : nullable TString */;
8898 val* var13 /* : null */;
8899 short int var14 /* : Bool */;
8900 val* var15 /* : nullable TString */;
8901 val* var16 /* : nullable AExternCalls */;
8902 val* var17 /* : null */;
8903 short int var18 /* : Bool */;
8904 val* var19 /* : nullable AExternCalls */;
8905 val* var20 /* : nullable AExternCodeBlock */;
8906 val* var21 /* : null */;
8907 short int var22 /* : Bool */;
8908 val* var23 /* : nullable AExternCodeBlock */;
8909 var_v = p0;
8910 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8911 var1 = NULL;
8912 if (var == NULL) {
8913 var2 = 0; /* is null */
8914 } else {
8915 var2 = 1; /* arg is null and recv is not */
8916 }
8917 if (var2){
8918 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8919 if (var3 == NULL) {
8920 fprintf(stderr, "Runtime error: %s", "Cast failed");
8921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2203);
8922 show_backtrace(1);
8923 }
8924 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8925 } else {
8926 }
8927 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8928 var5 = NULL;
8929 if (var4 == NULL) {
8930 var6 = 0; /* is null */
8931 } else {
8932 var6 = 1; /* arg is null and recv is not */
8933 }
8934 if (var6){
8935 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8936 if (var7 == NULL) {
8937 fprintf(stderr, "Runtime error: %s", "Cast failed");
8938 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2206);
8939 show_backtrace(1);
8940 }
8941 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
8942 } else {
8943 }
8944 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AExternMethPropdef> */
8945 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
8946 var9 = self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AExternMethPropdef> */
8947 if (var9 == NULL) {
8948 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
8949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2209);
8950 show_backtrace(1);
8951 }
8952 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
8953 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AExternMethPropdef> */
8954 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
8955 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AExternMethPropdef> */
8956 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
8957 var12 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8958 var13 = NULL;
8959 if (var12 == NULL) {
8960 var14 = 0; /* is null */
8961 } else {
8962 var14 = 1; /* arg is null and recv is not */
8963 }
8964 if (var14){
8965 var15 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8966 if (var15 == NULL) {
8967 fprintf(stderr, "Runtime error: %s", "Cast failed");
8968 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2213);
8969 show_backtrace(1);
8970 }
8971 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
8972 } else {
8973 }
8974 var16 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8975 var17 = NULL;
8976 if (var16 == NULL) {
8977 var18 = 0; /* is null */
8978 } else {
8979 var18 = 1; /* arg is null and recv is not */
8980 }
8981 if (var18){
8982 var19 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8983 if (var19 == NULL) {
8984 fprintf(stderr, "Runtime error: %s", "Cast failed");
8985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2216);
8986 show_backtrace(1);
8987 }
8988 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on <var_v:Visitor>*/;
8989 } else {
8990 }
8991 var20 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
8992 var21 = NULL;
8993 if (var20 == NULL) {
8994 var22 = 0; /* is null */
8995 } else {
8996 var22 = 1; /* arg is null and recv is not */
8997 }
8998 if (var22){
8999 var23 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
9000 if (var23 == NULL) {
9001 fprintf(stderr, "Runtime error: %s", "Cast failed");
9002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2219);
9003 show_backtrace(1);
9004 }
9005 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var23) /* enter_visit on <var_v:Visitor>*/;
9006 } else {
9007 }
9008 RET_LABEL:;
9009 }
9010 /* method parser_prod#AExternMethPropdef#visit_all for (self: Object, Visitor) */
9011 void VIRTUAL_parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) {
9012 parser_prod__AExternMethPropdef__visit_all(self, p0);
9013 RET_LABEL:;
9014 }
9015 /* method parser_prod#AConcreteMethPropdef#empty_init for (self: AConcreteMethPropdef) */
9016 void parser_prod__AConcreteMethPropdef__empty_init(val* self) {
9017 RET_LABEL:;
9018 }
9019 /* method parser_prod#AConcreteMethPropdef#empty_init for (self: Object) */
9020 void VIRTUAL_parser_prod__AConcreteMethPropdef__empty_init(val* self) {
9021 parser_prod__AConcreteMethPropdef__empty_init(self);
9022 RET_LABEL:;
9023 }
9024 /* method parser_prod#AConcreteMethPropdef#init_aconcretemethpropdef for (self: AConcreteMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */
9025 void parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
9026 val* var_n_doc /* var n_doc: nullable ADoc */;
9027 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
9028 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
9029 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
9030 val* var_n_methid /* var n_methid: nullable AMethid */;
9031 val* var_n_signature /* var n_signature: nullable ASignature */;
9032 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
9033 val* var_n_block /* var n_block: nullable AExpr */;
9034 val* var /* : null */;
9035 short int var1 /* : Bool */;
9036 val* var2 /* : null */;
9037 short int var3 /* : Bool */;
9038 val* var4 /* : null */;
9039 short int var5 /* : Bool */;
9040 val* var6 /* : null */;
9041 short int var7 /* : Bool */;
9042 var_n_doc = p0;
9043 var_n_kwredef = p1;
9044 var_n_visibility = p2;
9045 var_n_kwmeth = p3;
9046 var_n_methid = p4;
9047 var_n_signature = p5;
9048 var_n_annotations = p6;
9049 var_n_block = p7;
9050 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteMethPropdef__empty_init]))(self) /* empty_init on <self:AConcreteMethPropdef>*/;
9051 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AConcreteMethPropdef> */
9052 var = NULL;
9053 if (var_n_doc == NULL) {
9054 var1 = 0; /* is null */
9055 } else {
9056 var1 = 1; /* arg is null and recv is not */
9057 }
9058 if (var1){
9059 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
9060 } else {
9061 }
9062 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AConcreteMethPropdef> */
9063 var2 = NULL;
9064 if (var_n_kwredef == NULL) {
9065 var3 = 0; /* is null */
9066 } else {
9067 var3 = 1; /* arg is null and recv is not */
9068 }
9069 if (var3){
9070 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
9071 } else {
9072 }
9073 if (var_n_visibility == NULL) {
9074 fprintf(stderr, "Runtime error: %s", "Cast failed");
9075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2246);
9076 show_backtrace(1);
9077 }
9078 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AConcreteMethPropdef> */
9079 if (var_n_visibility == NULL) {
9080 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2247);
9082 show_backtrace(1);
9083 } else {
9084 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
9085 }
9086 if (var_n_kwmeth == NULL) {
9087 fprintf(stderr, "Runtime error: %s", "Cast failed");
9088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2248);
9089 show_backtrace(1);
9090 }
9091 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9092 if (var_n_kwmeth == NULL) {
9093 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9094 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2249);
9095 show_backtrace(1);
9096 } else {
9097 ((void (*)(val*, val*))(var_n_kwmeth->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwmeth, self) /* parent= on <var_n_kwmeth:nullable TKwmeth>*/;
9098 }
9099 if (var_n_methid == NULL) {
9100 fprintf(stderr, "Runtime error: %s", "Cast failed");
9101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2250);
9102 show_backtrace(1);
9103 }
9104 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AConcreteMethPropdef> */
9105 if (var_n_methid == NULL) {
9106 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2251);
9108 show_backtrace(1);
9109 } else {
9110 ((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>*/;
9111 }
9112 if (var_n_signature == NULL) {
9113 fprintf(stderr, "Runtime error: %s", "Cast failed");
9114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2252);
9115 show_backtrace(1);
9116 }
9117 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AConcreteMethPropdef> */
9118 if (var_n_signature == NULL) {
9119 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2253);
9121 show_backtrace(1);
9122 } else {
9123 ((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on <var_n_signature:nullable ASignature>*/;
9124 }
9125 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AConcreteMethPropdef> */
9126 var4 = NULL;
9127 if (var_n_annotations == NULL) {
9128 var5 = 0; /* is null */
9129 } else {
9130 var5 = 1; /* arg is null and recv is not */
9131 }
9132 if (var5){
9133 ((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)>*/;
9134 } else {
9135 }
9136 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on <self:AConcreteMethPropdef> */
9137 var6 = NULL;
9138 if (var_n_block == NULL) {
9139 var7 = 0; /* is null */
9140 } else {
9141 var7 = 1; /* arg is null and recv is not */
9142 }
9143 if (var7){
9144 ((void (*)(val*, val*))(var_n_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_block, self) /* parent= on <var_n_block:nullable AExpr(AExpr)>*/;
9145 } else {
9146 }
9147 RET_LABEL:;
9148 }
9149 /* method parser_prod#AConcreteMethPropdef#init_aconcretemethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */
9150 void VIRTUAL_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
9151 parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7);
9152 RET_LABEL:;
9153 }
9154 /* method parser_prod#AConcreteMethPropdef#replace_child for (self: AConcreteMethPropdef, ANode, nullable ANode) */
9155 void parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) {
9156 val* var_old_child /* var old_child: ANode */;
9157 val* var_new_child /* var new_child: nullable ANode */;
9158 val* var /* : nullable ADoc */;
9159 short int var1 /* : Bool */;
9160 val* var2 /* : null */;
9161 short int var3 /* : Bool */;
9162 short int var4 /* : Bool */;
9163 int cltype;
9164 int idtype;
9165 val* var5 /* : null */;
9166 val* var6 /* : nullable TKwredef */;
9167 short int var7 /* : Bool */;
9168 val* var8 /* : null */;
9169 short int var9 /* : Bool */;
9170 short int var10 /* : Bool */;
9171 int cltype11;
9172 int idtype12;
9173 val* var13 /* : null */;
9174 val* var14 /* : nullable AVisibility */;
9175 short int var15 /* : Bool */;
9176 val* var16 /* : null */;
9177 short int var17 /* : Bool */;
9178 short int var18 /* : Bool */;
9179 int cltype19;
9180 int idtype20;
9181 val* var21 /* : nullable TKwmeth */;
9182 short int var22 /* : Bool */;
9183 val* var23 /* : null */;
9184 short int var24 /* : Bool */;
9185 short int var25 /* : Bool */;
9186 int cltype26;
9187 int idtype27;
9188 val* var28 /* : nullable AMethid */;
9189 short int var29 /* : Bool */;
9190 val* var30 /* : null */;
9191 short int var31 /* : Bool */;
9192 short int var32 /* : Bool */;
9193 int cltype33;
9194 int idtype34;
9195 val* var35 /* : nullable ASignature */;
9196 short int var36 /* : Bool */;
9197 val* var37 /* : null */;
9198 short int var38 /* : Bool */;
9199 short int var39 /* : Bool */;
9200 int cltype40;
9201 int idtype41;
9202 val* var42 /* : nullable AAnnotations */;
9203 short int var43 /* : Bool */;
9204 val* var44 /* : null */;
9205 short int var45 /* : Bool */;
9206 short int var46 /* : Bool */;
9207 int cltype47;
9208 int idtype48;
9209 val* var49 /* : null */;
9210 val* var50 /* : nullable AExpr */;
9211 short int var51 /* : Bool */;
9212 val* var52 /* : null */;
9213 short int var53 /* : Bool */;
9214 short int var54 /* : Bool */;
9215 int cltype55;
9216 int idtype56;
9217 val* var57 /* : null */;
9218 var_old_child = p0;
9219 var_new_child = p1;
9220 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9221 if (var == NULL) {
9222 var1 = 0; /* <var_old_child:ANode> cannot be null */
9223 } else {
9224 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
9225 }
9226 if (var1){
9227 var2 = NULL;
9228 if (var_new_child == NULL) {
9229 var3 = 0; /* is null */
9230 } else {
9231 var3 = 1; /* arg is null and recv is not */
9232 }
9233 if (var3){
9234 ((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)>*/;
9235 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
9236 cltype = type_parser_nodes__ADoc.color;
9237 idtype = type_parser_nodes__ADoc.id;
9238 if(cltype >= var_new_child->type->table_size) {
9239 var4 = 0;
9240 } else {
9241 var4 = var_new_child->type->type_table[cltype] == idtype;
9242 }
9243 if (!var4) {
9244 fprintf(stderr, "Runtime error: %s", "Assert failed");
9245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2269);
9246 show_backtrace(1);
9247 }
9248 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AConcreteMethPropdef> */
9249 } else {
9250 var5 = NULL;
9251 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AConcreteMethPropdef> */
9252 }
9253 goto RET_LABEL;
9254 } else {
9255 }
9256 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9257 if (var6 == NULL) {
9258 var7 = 0; /* <var_old_child:ANode> cannot be null */
9259 } else {
9260 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
9261 }
9262 if (var7){
9263 var8 = NULL;
9264 if (var_new_child == NULL) {
9265 var9 = 0; /* is null */
9266 } else {
9267 var9 = 1; /* arg is null and recv is not */
9268 }
9269 if (var9){
9270 ((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)>*/;
9271 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
9272 cltype11 = type_parser_nodes__TKwredef.color;
9273 idtype12 = type_parser_nodes__TKwredef.id;
9274 if(cltype11 >= var_new_child->type->table_size) {
9275 var10 = 0;
9276 } else {
9277 var10 = var_new_child->type->type_table[cltype11] == idtype12;
9278 }
9279 if (!var10) {
9280 fprintf(stderr, "Runtime error: %s", "Assert failed");
9281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2279);
9282 show_backtrace(1);
9283 }
9284 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AConcreteMethPropdef> */
9285 } else {
9286 var13 = NULL;
9287 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AConcreteMethPropdef> */
9288 }
9289 goto RET_LABEL;
9290 } else {
9291 }
9292 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AConcreteMethPropdef> */
9293 if (var14 == NULL) {
9294 var15 = 0; /* <var_old_child:ANode> cannot be null */
9295 } else {
9296 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
9297 }
9298 if (var15){
9299 var16 = NULL;
9300 if (var_new_child == NULL) {
9301 var17 = 0; /* is null */
9302 } else {
9303 var17 = 1; /* arg is null and recv is not */
9304 }
9305 if (var17){
9306 ((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)>*/;
9307 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
9308 cltype19 = type_parser_nodes__AVisibility.color;
9309 idtype20 = type_parser_nodes__AVisibility.id;
9310 if(cltype19 >= var_new_child->type->table_size) {
9311 var18 = 0;
9312 } else {
9313 var18 = var_new_child->type->type_table[cltype19] == idtype20;
9314 }
9315 if (!var18) {
9316 fprintf(stderr, "Runtime error: %s", "Assert failed");
9317 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2289);
9318 show_backtrace(1);
9319 }
9320 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AConcreteMethPropdef> */
9321 } else {
9322 fprintf(stderr, "Runtime error: %s", "Aborted");
9323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2292);
9324 show_backtrace(1);
9325 }
9326 goto RET_LABEL;
9327 } else {
9328 }
9329 var21 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9330 if (var21 == NULL) {
9331 var22 = 0; /* <var_old_child:ANode> cannot be null */
9332 } else {
9333 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:nullable TKwmeth>*/;
9334 }
9335 if (var22){
9336 var23 = NULL;
9337 if (var_new_child == NULL) {
9338 var24 = 0; /* is null */
9339 } else {
9340 var24 = 1; /* arg is null and recv is not */
9341 }
9342 if (var24){
9343 ((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)>*/;
9344 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
9345 cltype26 = type_parser_nodes__TKwmeth.color;
9346 idtype27 = type_parser_nodes__TKwmeth.id;
9347 if(cltype26 >= var_new_child->type->table_size) {
9348 var25 = 0;
9349 } else {
9350 var25 = var_new_child->type->type_table[cltype26] == idtype27;
9351 }
9352 if (!var25) {
9353 fprintf(stderr, "Runtime error: %s", "Assert failed");
9354 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2299);
9355 show_backtrace(1);
9356 }
9357 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9358 } else {
9359 fprintf(stderr, "Runtime error: %s", "Aborted");
9360 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2302);
9361 show_backtrace(1);
9362 }
9363 goto RET_LABEL;
9364 } else {
9365 }
9366 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AConcreteMethPropdef> */
9367 if (var28 == NULL) {
9368 var29 = 0; /* <var_old_child:ANode> cannot be null */
9369 } else {
9370 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
9371 }
9372 if (var29){
9373 var30 = NULL;
9374 if (var_new_child == NULL) {
9375 var31 = 0; /* is null */
9376 } else {
9377 var31 = 1; /* arg is null and recv is not */
9378 }
9379 if (var31){
9380 ((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)>*/;
9381 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
9382 cltype33 = type_parser_nodes__AMethid.color;
9383 idtype34 = type_parser_nodes__AMethid.id;
9384 if(cltype33 >= var_new_child->type->table_size) {
9385 var32 = 0;
9386 } else {
9387 var32 = var_new_child->type->type_table[cltype33] == idtype34;
9388 }
9389 if (!var32) {
9390 fprintf(stderr, "Runtime error: %s", "Assert failed");
9391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2309);
9392 show_backtrace(1);
9393 }
9394 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AConcreteMethPropdef> */
9395 } else {
9396 fprintf(stderr, "Runtime error: %s", "Aborted");
9397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2312);
9398 show_backtrace(1);
9399 }
9400 goto RET_LABEL;
9401 } else {
9402 }
9403 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AConcreteMethPropdef> */
9404 if (var35 == NULL) {
9405 var36 = 0; /* <var_old_child:ANode> cannot be null */
9406 } else {
9407 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
9408 }
9409 if (var36){
9410 var37 = NULL;
9411 if (var_new_child == NULL) {
9412 var38 = 0; /* is null */
9413 } else {
9414 var38 = 1; /* arg is null and recv is not */
9415 }
9416 if (var38){
9417 ((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)>*/;
9418 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
9419 cltype40 = type_parser_nodes__ASignature.color;
9420 idtype41 = type_parser_nodes__ASignature.id;
9421 if(cltype40 >= var_new_child->type->table_size) {
9422 var39 = 0;
9423 } else {
9424 var39 = var_new_child->type->type_table[cltype40] == idtype41;
9425 }
9426 if (!var39) {
9427 fprintf(stderr, "Runtime error: %s", "Assert failed");
9428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2319);
9429 show_backtrace(1);
9430 }
9431 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AConcreteMethPropdef> */
9432 } else {
9433 fprintf(stderr, "Runtime error: %s", "Aborted");
9434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2322);
9435 show_backtrace(1);
9436 }
9437 goto RET_LABEL;
9438 } else {
9439 }
9440 var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9441 if (var42 == NULL) {
9442 var43 = 0; /* <var_old_child:ANode> cannot be null */
9443 } else {
9444 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable AAnnotations>*/;
9445 }
9446 if (var43){
9447 var44 = NULL;
9448 if (var_new_child == NULL) {
9449 var45 = 0; /* is null */
9450 } else {
9451 var45 = 1; /* arg is null and recv is not */
9452 }
9453 if (var45){
9454 ((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)>*/;
9455 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
9456 cltype47 = type_parser_nodes__AAnnotations.color;
9457 idtype48 = type_parser_nodes__AAnnotations.id;
9458 if(cltype47 >= var_new_child->type->table_size) {
9459 var46 = 0;
9460 } else {
9461 var46 = var_new_child->type->type_table[cltype47] == idtype48;
9462 }
9463 if (!var46) {
9464 fprintf(stderr, "Runtime error: %s", "Assert failed");
9465 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2329);
9466 show_backtrace(1);
9467 }
9468 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AConcreteMethPropdef> */
9469 } else {
9470 var49 = NULL;
9471 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _n_annotations on <self:AConcreteMethPropdef> */
9472 }
9473 goto RET_LABEL;
9474 } else {
9475 }
9476 var50 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9477 if (var50 == NULL) {
9478 var51 = 0; /* <var_old_child:ANode> cannot be null */
9479 } else {
9480 var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on <var50:nullable AExpr>*/;
9481 }
9482 if (var51){
9483 var52 = NULL;
9484 if (var_new_child == NULL) {
9485 var53 = 0; /* is null */
9486 } else {
9487 var53 = 1; /* arg is null and recv is not */
9488 }
9489 if (var53){
9490 ((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)>*/;
9491 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9492 cltype55 = type_parser_nodes__AExpr.color;
9493 idtype56 = type_parser_nodes__AExpr.id;
9494 if(cltype55 >= var_new_child->type->table_size) {
9495 var54 = 0;
9496 } else {
9497 var54 = var_new_child->type->type_table[cltype55] == idtype56;
9498 }
9499 if (!var54) {
9500 fprintf(stderr, "Runtime error: %s", "Assert failed");
9501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2339);
9502 show_backtrace(1);
9503 }
9504 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_new_child; /* _n_block on <self:AConcreteMethPropdef> */
9505 } else {
9506 var57 = NULL;
9507 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var57; /* _n_block on <self:AConcreteMethPropdef> */
9508 }
9509 goto RET_LABEL;
9510 } else {
9511 }
9512 RET_LABEL:;
9513 }
9514 /* method parser_prod#AConcreteMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
9515 void VIRTUAL_parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) {
9516 parser_prod__AConcreteMethPropdef__replace_child(self, p0, p1);
9517 RET_LABEL:;
9518 }
9519 /* method parser_prod#AConcreteMethPropdef#n_doc= for (self: AConcreteMethPropdef, nullable ADoc) */
9520 void parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) {
9521 val* var_node /* var node: nullable ADoc */;
9522 val* var /* : null */;
9523 short int var1 /* : Bool */;
9524 var_node = p0;
9525 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AConcreteMethPropdef> */
9526 var = NULL;
9527 if (var_node == NULL) {
9528 var1 = 0; /* is null */
9529 } else {
9530 var1 = 1; /* arg is null and recv is not */
9531 }
9532 if (var1){
9533 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
9534 } else {
9535 }
9536 RET_LABEL:;
9537 }
9538 /* method parser_prod#AConcreteMethPropdef#n_doc= for (self: Object, nullable ADoc) */
9539 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) {
9540 parser_prod__AConcreteMethPropdef__n_doc_61d(self, p0);
9541 RET_LABEL:;
9542 }
9543 /* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: AConcreteMethPropdef, nullable TKwredef) */
9544 void parser_prod__AConcreteMethPropdef__n_kwredef_61d(val* self, val* p0) {
9545 val* var_node /* var node: nullable TKwredef */;
9546 val* var /* : null */;
9547 short int var1 /* : Bool */;
9548 var_node = p0;
9549 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AConcreteMethPropdef> */
9550 var = NULL;
9551 if (var_node == NULL) {
9552 var1 = 0; /* is null */
9553 } else {
9554 var1 = 1; /* arg is null and recv is not */
9555 }
9556 if (var1){
9557 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
9558 } else {
9559 }
9560 RET_LABEL:;
9561 }
9562 /* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
9563 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwredef_61d(val* self, val* p0) {
9564 parser_prod__AConcreteMethPropdef__n_kwredef_61d(self, p0);
9565 RET_LABEL:;
9566 }
9567 /* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: AConcreteMethPropdef, nullable AVisibility) */
9568 void parser_prod__AConcreteMethPropdef__n_visibility_61d(val* self, val* p0) {
9569 val* var_node /* var node: nullable AVisibility */;
9570 var_node = p0;
9571 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AConcreteMethPropdef> */
9572 if (var_node == NULL) {
9573 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2365);
9575 show_backtrace(1);
9576 } else {
9577 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
9578 }
9579 RET_LABEL:;
9580 }
9581 /* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
9582 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_visibility_61d(val* self, val* p0) {
9583 parser_prod__AConcreteMethPropdef__n_visibility_61d(self, p0);
9584 RET_LABEL:;
9585 }
9586 /* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: AConcreteMethPropdef, nullable TKwmeth) */
9587 void parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) {
9588 val* var_node /* var node: nullable TKwmeth */;
9589 var_node = p0;
9590 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9591 if (var_node == NULL) {
9592 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2370);
9594 show_backtrace(1);
9595 } else {
9596 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwmeth>*/;
9597 }
9598 RET_LABEL:;
9599 }
9600 /* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: Object, nullable TKwmeth) */
9601 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) {
9602 parser_prod__AConcreteMethPropdef__n_kwmeth_61d(self, p0);
9603 RET_LABEL:;
9604 }
9605 /* method parser_prod#AConcreteMethPropdef#n_methid= for (self: AConcreteMethPropdef, nullable AMethid) */
9606 void parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) {
9607 val* var_node /* var node: nullable AMethid */;
9608 var_node = p0;
9609 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AConcreteMethPropdef> */
9610 if (var_node == NULL) {
9611 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2375);
9613 show_backtrace(1);
9614 } else {
9615 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
9616 }
9617 RET_LABEL:;
9618 }
9619 /* method parser_prod#AConcreteMethPropdef#n_methid= for (self: Object, nullable AMethid) */
9620 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) {
9621 parser_prod__AConcreteMethPropdef__n_methid_61d(self, p0);
9622 RET_LABEL:;
9623 }
9624 /* method parser_prod#AConcreteMethPropdef#n_signature= for (self: AConcreteMethPropdef, nullable ASignature) */
9625 void parser_prod__AConcreteMethPropdef__n_signature_61d(val* self, val* p0) {
9626 val* var_node /* var node: nullable ASignature */;
9627 var_node = p0;
9628 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AConcreteMethPropdef> */
9629 if (var_node == NULL) {
9630 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2380);
9632 show_backtrace(1);
9633 } else {
9634 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
9635 }
9636 RET_LABEL:;
9637 }
9638 /* method parser_prod#AConcreteMethPropdef#n_signature= for (self: Object, nullable ASignature) */
9639 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_signature_61d(val* self, val* p0) {
9640 parser_prod__AConcreteMethPropdef__n_signature_61d(self, p0);
9641 RET_LABEL:;
9642 }
9643 /* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: AConcreteMethPropdef, nullable AAnnotations) */
9644 void parser_prod__AConcreteMethPropdef__n_annotations_61d(val* self, val* p0) {
9645 val* var_node /* var node: nullable AAnnotations */;
9646 val* var /* : null */;
9647 short int var1 /* : Bool */;
9648 var_node = p0;
9649 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AConcreteMethPropdef> */
9650 var = NULL;
9651 if (var_node == NULL) {
9652 var1 = 0; /* is null */
9653 } else {
9654 var1 = 1; /* arg is null and recv is not */
9655 }
9656 if (var1){
9657 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
9658 } else {
9659 }
9660 RET_LABEL:;
9661 }
9662 /* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
9663 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_annotations_61d(val* self, val* p0) {
9664 parser_prod__AConcreteMethPropdef__n_annotations_61d(self, p0);
9665 RET_LABEL:;
9666 }
9667 /* method parser_prod#AConcreteMethPropdef#n_block= for (self: AConcreteMethPropdef, nullable AExpr) */
9668 void parser_prod__AConcreteMethPropdef__n_block_61d(val* self, val* p0) {
9669 val* var_node /* var node: nullable AExpr */;
9670 val* var /* : null */;
9671 short int var1 /* : Bool */;
9672 var_node = p0;
9673 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_node; /* _n_block on <self:AConcreteMethPropdef> */
9674 var = NULL;
9675 if (var_node == NULL) {
9676 var1 = 0; /* is null */
9677 } else {
9678 var1 = 1; /* arg is null and recv is not */
9679 }
9680 if (var1){
9681 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
9682 } else {
9683 }
9684 RET_LABEL:;
9685 }
9686 /* method parser_prod#AConcreteMethPropdef#n_block= for (self: Object, nullable AExpr) */
9687 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_block_61d(val* self, val* p0) {
9688 parser_prod__AConcreteMethPropdef__n_block_61d(self, p0);
9689 RET_LABEL:;
9690 }
9691 /* method parser_prod#AConcreteMethPropdef#visit_all for (self: AConcreteMethPropdef, Visitor) */
9692 void parser_prod__AConcreteMethPropdef__visit_all(val* self, val* p0) {
9693 val* var_v /* var v: Visitor */;
9694 val* var /* : nullable ADoc */;
9695 val* var1 /* : null */;
9696 short int var2 /* : Bool */;
9697 val* var3 /* : nullable ADoc */;
9698 val* var4 /* : nullable TKwredef */;
9699 val* var5 /* : null */;
9700 short int var6 /* : Bool */;
9701 val* var7 /* : nullable TKwredef */;
9702 val* var8 /* : nullable AVisibility */;
9703 val* var9 /* : nullable TKwmeth */;
9704 val* var10 /* : nullable AMethid */;
9705 val* var11 /* : nullable ASignature */;
9706 val* var12 /* : nullable AAnnotations */;
9707 val* var13 /* : null */;
9708 short int var14 /* : Bool */;
9709 val* var15 /* : nullable AAnnotations */;
9710 val* var16 /* : nullable AExpr */;
9711 val* var17 /* : null */;
9712 short int var18 /* : Bool */;
9713 val* var19 /* : nullable AExpr */;
9714 var_v = p0;
9715 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9716 var1 = NULL;
9717 if (var == NULL) {
9718 var2 = 0; /* is null */
9719 } else {
9720 var2 = 1; /* arg is null and recv is not */
9721 }
9722 if (var2){
9723 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9724 if (var3 == NULL) {
9725 fprintf(stderr, "Runtime error: %s", "Cast failed");
9726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2401);
9727 show_backtrace(1);
9728 }
9729 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9730 } else {
9731 }
9732 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9733 var5 = NULL;
9734 if (var4 == NULL) {
9735 var6 = 0; /* is null */
9736 } else {
9737 var6 = 1; /* arg is null and recv is not */
9738 }
9739 if (var6){
9740 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9741 if (var7 == NULL) {
9742 fprintf(stderr, "Runtime error: %s", "Cast failed");
9743 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2404);
9744 show_backtrace(1);
9745 }
9746 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
9747 } else {
9748 }
9749 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AConcreteMethPropdef> */
9750 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
9751 var9 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9752 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
9753 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AConcreteMethPropdef> */
9754 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
9755 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AConcreteMethPropdef> */
9756 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
9757 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9758 var13 = NULL;
9759 if (var12 == NULL) {
9760 var14 = 0; /* is null */
9761 } else {
9762 var14 = 1; /* arg is null and recv is not */
9763 }
9764 if (var14){
9765 var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9766 if (var15 == NULL) {
9767 fprintf(stderr, "Runtime error: %s", "Cast failed");
9768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2411);
9769 show_backtrace(1);
9770 }
9771 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
9772 } else {
9773 }
9774 var16 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9775 var17 = NULL;
9776 if (var16 == NULL) {
9777 var18 = 0; /* is null */
9778 } else {
9779 var18 = 1; /* arg is null and recv is not */
9780 }
9781 if (var18){
9782 var19 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9783 if (var19 == NULL) {
9784 fprintf(stderr, "Runtime error: %s", "Cast failed");
9785 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2414);
9786 show_backtrace(1);
9787 }
9788 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on <var_v:Visitor>*/;
9789 } else {
9790 }
9791 RET_LABEL:;
9792 }
9793 /* method parser_prod#AConcreteMethPropdef#visit_all for (self: Object, Visitor) */
9794 void VIRTUAL_parser_prod__AConcreteMethPropdef__visit_all(val* self, val* p0) {
9795 parser_prod__AConcreteMethPropdef__visit_all(self, p0);
9796 RET_LABEL:;
9797 }
9798 /* method parser_prod#AConcreteInitPropdef#empty_init for (self: AConcreteInitPropdef) */
9799 void parser_prod__AConcreteInitPropdef__empty_init(val* self) {
9800 RET_LABEL:;
9801 }
9802 /* method parser_prod#AConcreteInitPropdef#empty_init for (self: Object) */
9803 void VIRTUAL_parser_prod__AConcreteInitPropdef__empty_init(val* self) {
9804 parser_prod__AConcreteInitPropdef__empty_init(self);
9805 RET_LABEL:;
9806 }
9807 /* method parser_prod#AConcreteInitPropdef#init_aconcreteinitpropdef for (self: AConcreteInitPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwinit, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */
9808 void parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
9809 val* var_n_doc /* var n_doc: nullable ADoc */;
9810 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
9811 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
9812 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
9813 val* var_n_methid /* var n_methid: nullable AMethid */;
9814 val* var_n_signature /* var n_signature: nullable ASignature */;
9815 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
9816 val* var_n_block /* var n_block: nullable AExpr */;
9817 val* var /* : null */;
9818 short int var1 /* : Bool */;
9819 val* var2 /* : null */;
9820 short int var3 /* : Bool */;
9821 val* var4 /* : null */;
9822 short int var5 /* : Bool */;
9823 val* var6 /* : null */;
9824 short int var7 /* : Bool */;
9825 val* var8 /* : null */;
9826 short int var9 /* : Bool */;
9827 var_n_doc = p0;
9828 var_n_kwredef = p1;
9829 var_n_visibility = p2;
9830 var_n_kwinit = p3;
9831 var_n_methid = p4;
9832 var_n_signature = p5;
9833 var_n_annotations = p6;
9834 var_n_block = p7;
9835 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteInitPropdef__empty_init]))(self) /* empty_init on <self:AConcreteInitPropdef>*/;
9836 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AConcreteInitPropdef> */
9837 var = NULL;
9838 if (var_n_doc == NULL) {
9839 var1 = 0; /* is null */
9840 } else {
9841 var1 = 1; /* arg is null and recv is not */
9842 }
9843 if (var1){
9844 ((void (*)(val*, val*))(var_n_doc->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_doc, self) /* parent= on <var_n_doc:nullable ADoc(ADoc)>*/;
9845 } else {
9846 }
9847 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AConcreteInitPropdef> */
9848 var2 = NULL;
9849 if (var_n_kwredef == NULL) {
9850 var3 = 0; /* is null */
9851 } else {
9852 var3 = 1; /* arg is null and recv is not */
9853 }
9854 if (var3){
9855 ((void (*)(val*, val*))(var_n_kwredef->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwredef, self) /* parent= on <var_n_kwredef:nullable TKwredef(TKwredef)>*/;
9856 } else {
9857 }
9858 if (var_n_visibility == NULL) {
9859 fprintf(stderr, "Runtime error: %s", "Cast failed");
9860 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2441);
9861 show_backtrace(1);
9862 }
9863 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AConcreteInitPropdef> */
9864 if (var_n_visibility == NULL) {
9865 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9866 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2442);
9867 show_backtrace(1);
9868 } else {
9869 ((void (*)(val*, val*))(var_n_visibility->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_visibility, self) /* parent= on <var_n_visibility:nullable AVisibility>*/;
9870 }
9871 if (var_n_kwinit == NULL) {
9872 fprintf(stderr, "Runtime error: %s", "Cast failed");
9873 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2443);
9874 show_backtrace(1);
9875 }
9876 self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AConcreteInitPropdef> */
9877 if (var_n_kwinit == NULL) {
9878 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2444);
9880 show_backtrace(1);
9881 } else {
9882 ((void (*)(val*, val*))(var_n_kwinit->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwinit, self) /* parent= on <var_n_kwinit:nullable TKwinit>*/;
9883 }
9884 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AConcreteInitPropdef> */
9885 var4 = NULL;
9886 if (var_n_methid == NULL) {
9887 var5 = 0; /* is null */
9888 } else {
9889 var5 = 1; /* arg is null and recv is not */
9890 }
9891 if (var5){
9892 ((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(AMethid)>*/;
9893 } else {
9894 }
9895 if (var_n_signature == NULL) {
9896 fprintf(stderr, "Runtime error: %s", "Cast failed");
9897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2449);
9898 show_backtrace(1);
9899 }
9900 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AConcreteInitPropdef> */
9901 if (var_n_signature == NULL) {
9902 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9903 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2450);
9904 show_backtrace(1);
9905 } else {
9906 ((void (*)(val*, val*))(var_n_signature->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_signature, self) /* parent= on <var_n_signature:nullable ASignature>*/;
9907 }
9908 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AConcreteInitPropdef> */
9909 var6 = NULL;
9910 if (var_n_annotations == NULL) {
9911 var7 = 0; /* is null */
9912 } else {
9913 var7 = 1; /* arg is null and recv is not */
9914 }
9915 if (var7){
9916 ((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)>*/;
9917 } else {
9918 }
9919 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on <self:AConcreteInitPropdef> */
9920 var8 = NULL;
9921 if (var_n_block == NULL) {
9922 var9 = 0; /* is null */
9923 } else {
9924 var9 = 1; /* arg is null and recv is not */
9925 }
9926 if (var9){
9927 ((void (*)(val*, val*))(var_n_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_block, self) /* parent= on <var_n_block:nullable AExpr(AExpr)>*/;
9928 } else {
9929 }
9930 RET_LABEL:;
9931 }
9932 /* method parser_prod#AConcreteInitPropdef#init_aconcreteinitpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwinit, nullable AMethid, nullable ASignature, nullable AAnnotations, nullable AExpr) */
9933 void VIRTUAL_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
9934 parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7);
9935 RET_LABEL:;
9936 }