c_src: update for kill is
[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 exit(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 exit(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 exit(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 exit(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 exit(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 exit(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 exit(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 exit(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 CHECK_NEW_range__Range(var6);
285 var12 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Collection__iterator]))(var6) /* iterator on <var6:Range[Int]>*/;
286 for(;;) {
287 var13 = ((short int (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var12) /* is_ok on <var12:Iterator[nullable Object]>*/;
288 if(!var13) break;
289 var14 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__item]))(var12) /* item on <var12:Iterator[nullable Object]>*/;
290 var15 = ((struct instance_kernel__Int*)var14)->value; /* autounbox from nullable Object to Int */;
291 var_i = var15;
292 var16 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
293 if (var16 == NULL) {
294 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 54);
296 exit(1);
297 }
298 var17 = ((val* (*)(val*, long))(var16->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var16, var_i) /* [] on <var16:ANodes[AImport]>*/;
299 var18 = ((short int (*)(val*, val*))(var17->class->vft[COLOR_kernel__Object___61d_61d]))(var17, var_old_child) /* == on <var17:nullable Object(AImport)>*/;
300 if (var18){
301 var19 = NULL;
302 if (var_new_child == NULL) {
303 var20 = 0; /* is null */
304 } else {
305 var20 = 1; /* arg is null and recv is not */
306 }
307 if (var20){
308 /* <var_new_child:nullable ANode(ANode)> isa AImport */
309 cltype22 = type_parser_nodes__AImport.color;
310 idtype23 = type_parser_nodes__AImport.id;
311 if(cltype22 >= var_new_child->type->table_size) {
312 var21 = 0;
313 } else {
314 var21 = var_new_child->type->type_table[cltype22] == idtype23;
315 }
316 if (!var21) {
317 fprintf(stderr, "Runtime error: %s", "Assert failed");
318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 56);
319 exit(1);
320 }
321 var24 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
322 if (var24 == NULL) {
323 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
324 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 57);
325 exit(1);
326 }
327 ((void (*)(val*, long, val*))(var24->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var24, var_i, var_new_child) /* []= on <var24:ANodes[AImport]>*/;
328 ((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)>*/;
329 } else {
330 var25 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
331 if (var25 == NULL) {
332 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 60);
334 exit(1);
335 }
336 ((void (*)(val*, long))(var25->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var25, var_i) /* remove_at on <var25:ANodes[AImport]>*/;
337 }
338 goto RET_LABEL;
339 } else {
340 }
341 CONTINUE_label: (void)0;
342 ((void (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__next]))(var12) /* next on <var12:Iterator[nullable Object]>*/;
343 }
344 BREAK_label: (void)0;
345 var26 = NEW_range__Range(&type_range__Rangekernel__Int);
346 var27 = 0;
347 var28 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
348 if (var28 == NULL) {
349 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 65);
351 exit(1);
352 }
353 var29 = ((long (*)(val*))(var28->class->vft[COLOR_abstract_collection__Collection__length]))(var28) /* length on <var28:ANodes[AExternCodeBlock]>*/;
354 var30 = BOX_kernel__Int(var27); /* autobox from Int to Discrete */
355 var31 = BOX_kernel__Int(var29); /* autobox from Int to Discrete */
356 ((void (*)(val*, val*, val*))(var26->class->vft[COLOR_range__Range__without_last]))(var26, var30, var31) /* without_last on <var26:Range[Int]>*/;
357 CHECK_NEW_range__Range(var26);
358 var32 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on <var26:Range[Int]>*/;
359 for(;;) {
360 var33 = ((short int (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var32) /* is_ok on <var32:Iterator[nullable Object]>*/;
361 if(!var33) break;
362 var34 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__item]))(var32) /* item on <var32:Iterator[nullable Object]>*/;
363 var36 = ((struct instance_kernel__Int*)var34)->value; /* autounbox from nullable Object to Int */;
364 var_i35 = var36;
365 var37 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
366 if (var37 == NULL) {
367 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 66);
369 exit(1);
370 }
371 var38 = ((val* (*)(val*, long))(var37->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var37, var_i35) /* [] on <var37:ANodes[AExternCodeBlock]>*/;
372 var39 = ((short int (*)(val*, val*))(var38->class->vft[COLOR_kernel__Object___61d_61d]))(var38, var_old_child) /* == on <var38:nullable Object(AExternCodeBlock)>*/;
373 if (var39){
374 var40 = NULL;
375 if (var_new_child == NULL) {
376 var41 = 0; /* is null */
377 } else {
378 var41 = 1; /* arg is null and recv is not */
379 }
380 if (var41){
381 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
382 cltype43 = type_parser_nodes__AExternCodeBlock.color;
383 idtype44 = type_parser_nodes__AExternCodeBlock.id;
384 if(cltype43 >= var_new_child->type->table_size) {
385 var42 = 0;
386 } else {
387 var42 = var_new_child->type->type_table[cltype43] == idtype44;
388 }
389 if (!var42) {
390 fprintf(stderr, "Runtime error: %s", "Assert failed");
391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 68);
392 exit(1);
393 }
394 var45 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
395 if (var45 == NULL) {
396 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 69);
398 exit(1);
399 }
400 ((void (*)(val*, long, val*))(var45->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var45, var_i35, var_new_child) /* []= on <var45:ANodes[AExternCodeBlock]>*/;
401 ((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)>*/;
402 } else {
403 var46 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
404 if (var46 == NULL) {
405 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 72);
407 exit(1);
408 }
409 ((void (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var46, var_i35) /* remove_at on <var46:ANodes[AExternCodeBlock]>*/;
410 }
411 goto RET_LABEL;
412 } else {
413 }
414 CONTINUE_label47: (void)0;
415 ((void (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__next]))(var32) /* next on <var32:Iterator[nullable Object]>*/;
416 }
417 BREAK_label47: (void)0;
418 var48 = NEW_range__Range(&type_range__Rangekernel__Int);
419 var49 = 0;
420 var50 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
421 if (var50 == NULL) {
422 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 77);
424 exit(1);
425 }
426 var51 = ((long (*)(val*))(var50->class->vft[COLOR_abstract_collection__Collection__length]))(var50) /* length on <var50:ANodes[AClassdef]>*/;
427 var52 = BOX_kernel__Int(var49); /* autobox from Int to Discrete */
428 var53 = BOX_kernel__Int(var51); /* autobox from Int to Discrete */
429 ((void (*)(val*, val*, val*))(var48->class->vft[COLOR_range__Range__without_last]))(var48, var52, var53) /* without_last on <var48:Range[Int]>*/;
430 CHECK_NEW_range__Range(var48);
431 var54 = ((val* (*)(val*))(var48->class->vft[COLOR_abstract_collection__Collection__iterator]))(var48) /* iterator on <var48:Range[Int]>*/;
432 for(;;) {
433 var55 = ((short int (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var54) /* is_ok on <var54:Iterator[nullable Object]>*/;
434 if(!var55) break;
435 var56 = ((val* (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__item]))(var54) /* item on <var54:Iterator[nullable Object]>*/;
436 var58 = ((struct instance_kernel__Int*)var56)->value; /* autounbox from nullable Object to Int */;
437 var_i57 = var58;
438 var59 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
439 if (var59 == NULL) {
440 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 78);
442 exit(1);
443 }
444 var60 = ((val* (*)(val*, long))(var59->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var59, var_i57) /* [] on <var59:ANodes[AClassdef]>*/;
445 var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on <var60:nullable Object(AClassdef)>*/;
446 if (var61){
447 var62 = NULL;
448 if (var_new_child == NULL) {
449 var63 = 0; /* is null */
450 } else {
451 var63 = 1; /* arg is null and recv is not */
452 }
453 if (var63){
454 /* <var_new_child:nullable ANode(ANode)> isa AClassdef */
455 cltype65 = type_parser_nodes__AClassdef.color;
456 idtype66 = type_parser_nodes__AClassdef.id;
457 if(cltype65 >= var_new_child->type->table_size) {
458 var64 = 0;
459 } else {
460 var64 = var_new_child->type->type_table[cltype65] == idtype66;
461 }
462 if (!var64) {
463 fprintf(stderr, "Runtime error: %s", "Assert failed");
464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 80);
465 exit(1);
466 }
467 var67 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
468 if (var67 == NULL) {
469 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 81);
471 exit(1);
472 }
473 ((void (*)(val*, long, val*))(var67->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var67, var_i57, var_new_child) /* []= on <var67:ANodes[AClassdef]>*/;
474 ((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)>*/;
475 } else {
476 var68 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
477 if (var68 == NULL) {
478 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 84);
480 exit(1);
481 }
482 ((void (*)(val*, long))(var68->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var68, var_i57) /* remove_at on <var68:ANodes[AClassdef]>*/;
483 }
484 goto RET_LABEL;
485 } else {
486 }
487 CONTINUE_label69: (void)0;
488 ((void (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__next]))(var54) /* next on <var54:Iterator[nullable Object]>*/;
489 }
490 BREAK_label69: (void)0;
491 RET_LABEL:;
492 }
493 /* method parser_prod#AModule#replace_child for (self: Object, ANode, nullable ANode) */
494 void VIRTUAL_parser_prod__AModule__replace_child(val* self, val* p0, val* p1) {
495 parser_prod__AModule__replace_child(self, p0, p1);
496 RET_LABEL:;
497 }
498 /* method parser_prod#AModule#n_moduledecl= for (self: AModule, nullable AModuledecl) */
499 void parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) {
500 val* var_node /* var node: nullable AModuledecl */;
501 val* var /* : null */;
502 short int var1 /* : Bool */;
503 var_node = p0;
504 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_node; /* _n_moduledecl on <self:AModule> */
505 var = NULL;
506 if (var_node == NULL) {
507 var1 = 0; /* is null */
508 } else {
509 var1 = 1; /* arg is null and recv is not */
510 }
511 if (var1){
512 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AModuledecl(AModuledecl)>*/;
513 } else {
514 }
515 RET_LABEL:;
516 }
517 /* method parser_prod#AModule#n_moduledecl= for (self: Object, nullable AModuledecl) */
518 void VIRTUAL_parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) {
519 parser_prod__AModule__n_moduledecl_61d(self, p0);
520 RET_LABEL:;
521 }
522 /* method parser_prod#AModule#visit_all for (self: AModule, Visitor) */
523 void parser_prod__AModule__visit_all(val* self, val* p0) {
524 val* var_v /* var v: Visitor */;
525 val* var /* : nullable AModuledecl */;
526 val* var1 /* : null */;
527 short int var2 /* : Bool */;
528 val* var3 /* : nullable AModuledecl */;
529 val* var4 /* : ANodes[AImport] */;
530 val* var5 /* : Iterator[nullable Object] */;
531 short int var6 /* : Bool */;
532 val* var7 /* : nullable Object */;
533 val* var_n /* var n: AImport */;
534 val* var8 /* : ANodes[AExternCodeBlock] */;
535 val* var9 /* : Iterator[nullable Object] */;
536 short int var10 /* : Bool */;
537 val* var11 /* : nullable Object */;
538 val* var_n12 /* var n: AExternCodeBlock */;
539 val* var14 /* : ANodes[AClassdef] */;
540 val* var15 /* : Iterator[nullable Object] */;
541 short int var16 /* : Bool */;
542 val* var17 /* : nullable Object */;
543 val* var_n18 /* var n: AClassdef */;
544 var_v = p0;
545 var = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
546 var1 = NULL;
547 if (var == NULL) {
548 var2 = 0; /* is null */
549 } else {
550 var2 = 1; /* arg is null and recv is not */
551 }
552 if (var2){
553 var3 = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
554 if (var3 == NULL) {
555 fprintf(stderr, "Runtime error: %s", "Cast failed");
556 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 103);
557 exit(1);
558 }
559 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
560 } else {
561 }
562 var4 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
563 if (var4 == NULL) {
564 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_imports");
565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 105);
566 exit(1);
567 }
568 var5 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Collection__iterator]))(var4) /* iterator on <var4:ANodes[AImport]>*/;
569 for(;;) {
570 var6 = ((short int (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var5) /* is_ok on <var5:Iterator[nullable Object]>*/;
571 if(!var6) break;
572 var7 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__item]))(var5) /* item on <var5:Iterator[nullable Object]>*/;
573 var_n = var7;
574 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
575 CONTINUE_label: (void)0;
576 ((void (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__next]))(var5) /* next on <var5:Iterator[nullable Object]>*/;
577 }
578 BREAK_label: (void)0;
579 var8 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
580 if (var8 == NULL) {
581 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 108);
583 exit(1);
584 }
585 var9 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__iterator]))(var8) /* iterator on <var8:ANodes[AExternCodeBlock]>*/;
586 for(;;) {
587 var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on <var9:Iterator[nullable Object]>*/;
588 if(!var10) break;
589 var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on <var9:Iterator[nullable Object]>*/;
590 var_n12 = var11;
591 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n12) /* enter_visit on <var_v:Visitor>*/;
592 CONTINUE_label13: (void)0;
593 ((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on <var9:Iterator[nullable Object]>*/;
594 }
595 BREAK_label13: (void)0;
596 var14 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
597 if (var14 == NULL) {
598 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classdefs");
599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 111);
600 exit(1);
601 }
602 var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on <var14:ANodes[AClassdef]>*/;
603 for(;;) {
604 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
605 if(!var16) break;
606 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
607 var_n18 = var17;
608 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n18) /* enter_visit on <var_v:Visitor>*/;
609 CONTINUE_label19: (void)0;
610 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
611 }
612 BREAK_label19: (void)0;
613 RET_LABEL:;
614 }
615 /* method parser_prod#AModule#visit_all for (self: Object, Visitor) */
616 void VIRTUAL_parser_prod__AModule__visit_all(val* self, val* p0) {
617 parser_prod__AModule__visit_all(self, p0);
618 RET_LABEL:;
619 }
620 /* method parser_prod#AModuledecl#empty_init for (self: AModuledecl) */
621 void parser_prod__AModuledecl__empty_init(val* self) {
622 RET_LABEL:;
623 }
624 /* method parser_prod#AModuledecl#empty_init for (self: Object) */
625 void VIRTUAL_parser_prod__AModuledecl__empty_init(val* self) {
626 parser_prod__AModuledecl__empty_init(self);
627 RET_LABEL:;
628 }
629 /* method parser_prod#AModuledecl#init_amoduledecl for (self: AModuledecl, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */
630 void parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) {
631 val* var_n_doc /* var n_doc: nullable ADoc */;
632 val* var_n_kwmodule /* var n_kwmodule: nullable TKwmodule */;
633 val* var_n_name /* var n_name: nullable AModuleName */;
634 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
635 val* var /* : null */;
636 short int var1 /* : Bool */;
637 val* var2 /* : null */;
638 short int var3 /* : Bool */;
639 var_n_doc = p0;
640 var_n_kwmodule = p1;
641 var_n_name = p2;
642 var_n_annotations = p3;
643 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuledecl__empty_init]))(self) /* empty_init on <self:AModuledecl>*/;
644 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_n_doc; /* _n_doc on <self:AModuledecl> */
645 var = NULL;
646 if (var_n_doc == NULL) {
647 var1 = 0; /* is null */
648 } else {
649 var1 = 1; /* arg is null and recv is not */
650 }
651 if (var1){
652 ((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)>*/;
653 } else {
654 }
655 if (var_n_kwmodule == NULL) {
656 fprintf(stderr, "Runtime error: %s", "Cast failed");
657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 131);
658 exit(1);
659 }
660 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_n_kwmodule; /* _n_kwmodule on <self:AModuledecl> */
661 if (var_n_kwmodule == NULL) {
662 fprintf(stderr, "Runtime error: %s", "Reciever is null");
663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 132);
664 exit(1);
665 } else {
666 ((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>*/;
667 }
668 if (var_n_name == NULL) {
669 fprintf(stderr, "Runtime error: %s", "Cast failed");
670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 133);
671 exit(1);
672 }
673 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_n_name; /* _n_name on <self:AModuledecl> */
674 if (var_n_name == NULL) {
675 fprintf(stderr, "Runtime error: %s", "Reciever is null");
676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 134);
677 exit(1);
678 } else {
679 ((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>*/;
680 }
681 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AModuledecl> */
682 var2 = NULL;
683 if (var_n_annotations == NULL) {
684 var3 = 0; /* is null */
685 } else {
686 var3 = 1; /* arg is null and recv is not */
687 }
688 if (var3){
689 ((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)>*/;
690 } else {
691 }
692 RET_LABEL:;
693 }
694 /* method parser_prod#AModuledecl#init_amoduledecl for (self: Object, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */
695 void VIRTUAL_parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) {
696 parser_prod__AModuledecl__init_amoduledecl(self, p0, p1, p2, p3);
697 RET_LABEL:;
698 }
699 /* method parser_prod#AModuledecl#replace_child for (self: AModuledecl, ANode, nullable ANode) */
700 void parser_prod__AModuledecl__replace_child(val* self, val* p0, val* p1) {
701 val* var_old_child /* var old_child: ANode */;
702 val* var_new_child /* var new_child: nullable ANode */;
703 val* var /* : nullable ADoc */;
704 short int var1 /* : Bool */;
705 val* var2 /* : null */;
706 short int var3 /* : Bool */;
707 short int var4 /* : Bool */;
708 int cltype;
709 int idtype;
710 val* var5 /* : null */;
711 val* var6 /* : TKwmodule */;
712 short int var7 /* : Bool */;
713 val* var8 /* : null */;
714 short int var9 /* : Bool */;
715 short int var10 /* : Bool */;
716 int cltype11;
717 int idtype12;
718 val* var13 /* : AModuleName */;
719 short int var14 /* : Bool */;
720 val* var15 /* : null */;
721 short int var16 /* : Bool */;
722 short int var17 /* : Bool */;
723 int cltype18;
724 int idtype19;
725 val* var20 /* : nullable AAnnotations */;
726 short int var21 /* : Bool */;
727 val* var22 /* : null */;
728 short int var23 /* : Bool */;
729 short int var24 /* : Bool */;
730 int cltype25;
731 int idtype26;
732 val* var27 /* : null */;
733 var_old_child = p0;
734 var_new_child = p1;
735 var = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
736 if (var == NULL) {
737 var1 = 0; /* <var_old_child:ANode> cannot be null */
738 } else {
739 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
740 }
741 if (var1){
742 var2 = NULL;
743 if (var_new_child == NULL) {
744 var3 = 0; /* is null */
745 } else {
746 var3 = 1; /* arg is null and recv is not */
747 }
748 if (var3){
749 ((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)>*/;
750 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
751 cltype = type_parser_nodes__ADoc.color;
752 idtype = type_parser_nodes__ADoc.id;
753 if(cltype >= var_new_child->type->table_size) {
754 var4 = 0;
755 } else {
756 var4 = var_new_child->type->type_table[cltype] == idtype;
757 }
758 if (!var4) {
759 fprintf(stderr, "Runtime error: %s", "Assert failed");
760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 146);
761 exit(1);
762 }
763 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_new_child; /* _n_doc on <self:AModuledecl> */
764 } else {
765 var5 = NULL;
766 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var5; /* _n_doc on <self:AModuledecl> */
767 }
768 goto RET_LABEL;
769 } else {
770 }
771 var6 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on <self:AModuledecl> */
772 if (var6 == NULL) {
773 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmodule");
774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 153);
775 exit(1);
776 }
777 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:TKwmodule>*/;
778 if (var7){
779 var8 = NULL;
780 if (var_new_child == NULL) {
781 var9 = 0; /* is null */
782 } else {
783 var9 = 1; /* arg is null and recv is not */
784 }
785 if (var9){
786 ((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)>*/;
787 /* <var_new_child:nullable ANode(ANode)> isa TKwmodule */
788 cltype11 = type_parser_nodes__TKwmodule.color;
789 idtype12 = type_parser_nodes__TKwmodule.id;
790 if(cltype11 >= var_new_child->type->table_size) {
791 var10 = 0;
792 } else {
793 var10 = var_new_child->type->type_table[cltype11] == idtype12;
794 }
795 if (!var10) {
796 fprintf(stderr, "Runtime error: %s", "Assert failed");
797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 156);
798 exit(1);
799 }
800 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_new_child; /* _n_kwmodule on <self:AModuledecl> */
801 } else {
802 fprintf(stderr, "Runtime error: %s", "Aborted");
803 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 159);
804 exit(1);
805 }
806 goto RET_LABEL;
807 } else {
808 }
809 var13 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on <self:AModuledecl> */
810 if (var13 == NULL) {
811 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 163);
813 exit(1);
814 }
815 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AModuleName>*/;
816 if (var14){
817 var15 = NULL;
818 if (var_new_child == NULL) {
819 var16 = 0; /* is null */
820 } else {
821 var16 = 1; /* arg is null and recv is not */
822 }
823 if (var16){
824 ((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)>*/;
825 /* <var_new_child:nullable ANode(ANode)> isa AModuleName */
826 cltype18 = type_parser_nodes__AModuleName.color;
827 idtype19 = type_parser_nodes__AModuleName.id;
828 if(cltype18 >= var_new_child->type->table_size) {
829 var17 = 0;
830 } else {
831 var17 = var_new_child->type->type_table[cltype18] == idtype19;
832 }
833 if (!var17) {
834 fprintf(stderr, "Runtime error: %s", "Assert failed");
835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 166);
836 exit(1);
837 }
838 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_new_child; /* _n_name on <self:AModuledecl> */
839 } else {
840 fprintf(stderr, "Runtime error: %s", "Aborted");
841 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 169);
842 exit(1);
843 }
844 goto RET_LABEL;
845 } else {
846 }
847 var20 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
848 if (var20 == NULL) {
849 var21 = 0; /* <var_old_child:ANode> cannot be null */
850 } else {
851 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:nullable AAnnotations>*/;
852 }
853 if (var21){
854 var22 = NULL;
855 if (var_new_child == NULL) {
856 var23 = 0; /* is null */
857 } else {
858 var23 = 1; /* arg is null and recv is not */
859 }
860 if (var23){
861 ((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)>*/;
862 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
863 cltype25 = type_parser_nodes__AAnnotations.color;
864 idtype26 = type_parser_nodes__AAnnotations.id;
865 if(cltype25 >= var_new_child->type->table_size) {
866 var24 = 0;
867 } else {
868 var24 = var_new_child->type->type_table[cltype25] == idtype26;
869 }
870 if (!var24) {
871 fprintf(stderr, "Runtime error: %s", "Assert failed");
872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 176);
873 exit(1);
874 }
875 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AModuledecl> */
876 } else {
877 var27 = NULL;
878 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var27; /* _n_annotations on <self:AModuledecl> */
879 }
880 goto RET_LABEL;
881 } else {
882 }
883 RET_LABEL:;
884 }
885 /* method parser_prod#AModuledecl#replace_child for (self: Object, ANode, nullable ANode) */
886 void VIRTUAL_parser_prod__AModuledecl__replace_child(val* self, val* p0, val* p1) {
887 parser_prod__AModuledecl__replace_child(self, p0, p1);
888 RET_LABEL:;
889 }
890 /* method parser_prod#AModuledecl#n_doc= for (self: AModuledecl, nullable ADoc) */
891 void parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) {
892 val* var_node /* var node: nullable ADoc */;
893 val* var /* : null */;
894 short int var1 /* : Bool */;
895 var_node = p0;
896 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_node; /* _n_doc on <self:AModuledecl> */
897 var = NULL;
898 if (var_node == NULL) {
899 var1 = 0; /* is null */
900 } else {
901 var1 = 1; /* arg is null and recv is not */
902 }
903 if (var1){
904 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
905 } else {
906 }
907 RET_LABEL:;
908 }
909 /* method parser_prod#AModuledecl#n_doc= for (self: Object, nullable ADoc) */
910 void VIRTUAL_parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) {
911 parser_prod__AModuledecl__n_doc_61d(self, p0);
912 RET_LABEL:;
913 }
914 /* method parser_prod#AModuledecl#n_kwmodule= for (self: AModuledecl, TKwmodule) */
915 void parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) {
916 val* var_node /* var node: TKwmodule */;
917 var_node = p0;
918 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_node; /* _n_kwmodule on <self:AModuledecl> */
919 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmodule>*/;
920 RET_LABEL:;
921 }
922 /* method parser_prod#AModuledecl#n_kwmodule= for (self: Object, TKwmodule) */
923 void VIRTUAL_parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) {
924 parser_prod__AModuledecl__n_kwmodule_61d(self, p0);
925 RET_LABEL:;
926 }
927 /* method parser_prod#AModuledecl#n_name= for (self: AModuledecl, AModuleName) */
928 void parser_prod__AModuledecl__n_name_61d(val* self, val* p0) {
929 val* var_node /* var node: AModuleName */;
930 var_node = p0;
931 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_node; /* _n_name on <self:AModuledecl> */
932 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AModuleName>*/;
933 RET_LABEL:;
934 }
935 /* method parser_prod#AModuledecl#n_name= for (self: Object, AModuleName) */
936 void VIRTUAL_parser_prod__AModuledecl__n_name_61d(val* self, val* p0) {
937 parser_prod__AModuledecl__n_name_61d(self, p0);
938 RET_LABEL:;
939 }
940 /* method parser_prod#AModuledecl#n_annotations= for (self: AModuledecl, nullable AAnnotations) */
941 void parser_prod__AModuledecl__n_annotations_61d(val* self, val* p0) {
942 val* var_node /* var node: nullable AAnnotations */;
943 val* var /* : null */;
944 short int var1 /* : Bool */;
945 var_node = p0;
946 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AModuledecl> */
947 var = NULL;
948 if (var_node == NULL) {
949 var1 = 0; /* is null */
950 } else {
951 var1 = 1; /* arg is null and recv is not */
952 }
953 if (var1){
954 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
955 } else {
956 }
957 RET_LABEL:;
958 }
959 /* method parser_prod#AModuledecl#n_annotations= for (self: Object, nullable AAnnotations) */
960 void VIRTUAL_parser_prod__AModuledecl__n_annotations_61d(val* self, val* p0) {
961 parser_prod__AModuledecl__n_annotations_61d(self, p0);
962 RET_LABEL:;
963 }
964 /* method parser_prod#AModuledecl#visit_all for (self: AModuledecl, Visitor) */
965 void parser_prod__AModuledecl__visit_all(val* self, val* p0) {
966 val* var_v /* var v: Visitor */;
967 val* var /* : nullable ADoc */;
968 val* var1 /* : null */;
969 short int var2 /* : Bool */;
970 val* var3 /* : nullable ADoc */;
971 val* var4 /* : TKwmodule */;
972 val* var5 /* : AModuleName */;
973 val* var6 /* : nullable AAnnotations */;
974 val* var7 /* : null */;
975 short int var8 /* : Bool */;
976 val* var9 /* : nullable AAnnotations */;
977 var_v = p0;
978 var = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
979 var1 = NULL;
980 if (var == NULL) {
981 var2 = 0; /* is null */
982 } else {
983 var2 = 1; /* arg is null and recv is not */
984 }
985 if (var2){
986 var3 = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
987 if (var3 == NULL) {
988 fprintf(stderr, "Runtime error: %s", "Cast failed");
989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 214);
990 exit(1);
991 }
992 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
993 } else {
994 }
995 var4 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on <self:AModuledecl> */
996 if (var4 == NULL) {
997 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmodule");
998 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 216);
999 exit(1);
1000 }
1001 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
1002 var5 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on <self:AModuledecl> */
1003 if (var5 == NULL) {
1004 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
1005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 217);
1006 exit(1);
1007 }
1008 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
1009 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
1010 var7 = NULL;
1011 if (var6 == NULL) {
1012 var8 = 0; /* is null */
1013 } else {
1014 var8 = 1; /* arg is null and recv is not */
1015 }
1016 if (var8){
1017 var9 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
1018 if (var9 == NULL) {
1019 fprintf(stderr, "Runtime error: %s", "Cast failed");
1020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 219);
1021 exit(1);
1022 }
1023 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
1024 } else {
1025 }
1026 RET_LABEL:;
1027 }
1028 /* method parser_prod#AModuledecl#visit_all for (self: Object, Visitor) */
1029 void VIRTUAL_parser_prod__AModuledecl__visit_all(val* self, val* p0) {
1030 parser_prod__AModuledecl__visit_all(self, p0);
1031 RET_LABEL:;
1032 }
1033 /* method parser_prod#AStdImport#empty_init for (self: AStdImport) */
1034 void parser_prod__AStdImport__empty_init(val* self) {
1035 RET_LABEL:;
1036 }
1037 /* method parser_prod#AStdImport#empty_init for (self: Object) */
1038 void VIRTUAL_parser_prod__AStdImport__empty_init(val* self) {
1039 parser_prod__AStdImport__empty_init(self);
1040 RET_LABEL:;
1041 }
1042 /* method parser_prod#AStdImport#init_astdimport for (self: AStdImport, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */
1043 void parser_prod__AStdImport__init_astdimport(val* self, val* p0, val* p1, val* p2, val* p3) {
1044 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
1045 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
1046 val* var_n_name /* var n_name: nullable AModuleName */;
1047 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
1048 val* var /* : null */;
1049 short int var1 /* : Bool */;
1050 var_n_visibility = p0;
1051 var_n_kwimport = p1;
1052 var_n_name = p2;
1053 var_n_annotations = p3;
1054 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdImport__empty_init]))(self) /* empty_init on <self:AStdImport>*/;
1055 if (var_n_visibility == NULL) {
1056 fprintf(stderr, "Runtime error: %s", "Cast failed");
1057 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 234);
1058 exit(1);
1059 }
1060 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AStdImport> */
1061 if (var_n_visibility == NULL) {
1062 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1063 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 235);
1064 exit(1);
1065 } else {
1066 ((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>*/;
1067 }
1068 if (var_n_kwimport == NULL) {
1069 fprintf(stderr, "Runtime error: %s", "Cast failed");
1070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 236);
1071 exit(1);
1072 }
1073 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:AStdImport> */
1074 if (var_n_kwimport == NULL) {
1075 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 237);
1077 exit(1);
1078 } else {
1079 ((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>*/;
1080 }
1081 if (var_n_name == NULL) {
1082 fprintf(stderr, "Runtime error: %s", "Cast failed");
1083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 238);
1084 exit(1);
1085 }
1086 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_n_name; /* _n_name on <self:AStdImport> */
1087 if (var_n_name == NULL) {
1088 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 239);
1090 exit(1);
1091 } else {
1092 ((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>*/;
1093 }
1094 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStdImport> */
1095 var = NULL;
1096 if (var_n_annotations == NULL) {
1097 var1 = 0; /* is null */
1098 } else {
1099 var1 = 1; /* arg is null and recv is not */
1100 }
1101 if (var1){
1102 ((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)>*/;
1103 } else {
1104 }
1105 RET_LABEL:;
1106 }
1107 /* method parser_prod#AStdImport#init_astdimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */
1108 void VIRTUAL_parser_prod__AStdImport__init_astdimport(val* self, val* p0, val* p1, val* p2, val* p3) {
1109 parser_prod__AStdImport__init_astdimport(self, p0, p1, p2, p3);
1110 RET_LABEL:;
1111 }
1112 /* method parser_prod#AStdImport#replace_child for (self: AStdImport, ANode, nullable ANode) */
1113 void parser_prod__AStdImport__replace_child(val* self, val* p0, val* p1) {
1114 val* var_old_child /* var old_child: ANode */;
1115 val* var_new_child /* var new_child: nullable ANode */;
1116 val* var /* : AVisibility */;
1117 short int var1 /* : Bool */;
1118 val* var2 /* : null */;
1119 short int var3 /* : Bool */;
1120 short int var4 /* : Bool */;
1121 int cltype;
1122 int idtype;
1123 val* var5 /* : TKwimport */;
1124 short int var6 /* : Bool */;
1125 val* var7 /* : null */;
1126 short int var8 /* : Bool */;
1127 short int var9 /* : Bool */;
1128 int cltype10;
1129 int idtype11;
1130 val* var12 /* : AModuleName */;
1131 short int var13 /* : Bool */;
1132 val* var14 /* : null */;
1133 short int var15 /* : Bool */;
1134 short int var16 /* : Bool */;
1135 int cltype17;
1136 int idtype18;
1137 val* var19 /* : nullable AAnnotations */;
1138 short int var20 /* : Bool */;
1139 val* var21 /* : null */;
1140 short int var22 /* : Bool */;
1141 short int var23 /* : Bool */;
1142 int cltype24;
1143 int idtype25;
1144 val* var26 /* : null */;
1145 var_old_child = p0;
1146 var_new_child = p1;
1147 var = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on <self:AStdImport> */
1148 if (var == NULL) {
1149 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 248);
1151 exit(1);
1152 }
1153 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AVisibility>*/;
1154 if (var1){
1155 var2 = NULL;
1156 if (var_new_child == NULL) {
1157 var3 = 0; /* is null */
1158 } else {
1159 var3 = 1; /* arg is null and recv is not */
1160 }
1161 if (var3){
1162 ((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)>*/;
1163 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
1164 cltype = type_parser_nodes__AVisibility.color;
1165 idtype = type_parser_nodes__AVisibility.id;
1166 if(cltype >= var_new_child->type->table_size) {
1167 var4 = 0;
1168 } else {
1169 var4 = var_new_child->type->type_table[cltype] == idtype;
1170 }
1171 if (!var4) {
1172 fprintf(stderr, "Runtime error: %s", "Assert failed");
1173 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 251);
1174 exit(1);
1175 }
1176 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_new_child; /* _n_visibility on <self:AStdImport> */
1177 } else {
1178 fprintf(stderr, "Runtime error: %s", "Aborted");
1179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 254);
1180 exit(1);
1181 }
1182 goto RET_LABEL;
1183 } else {
1184 }
1185 var5 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on <self:AStdImport> */
1186 if (var5 == NULL) {
1187 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 258);
1189 exit(1);
1190 }
1191 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwimport>*/;
1192 if (var6){
1193 var7 = NULL;
1194 if (var_new_child == NULL) {
1195 var8 = 0; /* is null */
1196 } else {
1197 var8 = 1; /* arg is null and recv is not */
1198 }
1199 if (var8){
1200 ((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)>*/;
1201 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
1202 cltype10 = type_parser_nodes__TKwimport.color;
1203 idtype11 = type_parser_nodes__TKwimport.id;
1204 if(cltype10 >= var_new_child->type->table_size) {
1205 var9 = 0;
1206 } else {
1207 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1208 }
1209 if (!var9) {
1210 fprintf(stderr, "Runtime error: %s", "Assert failed");
1211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 261);
1212 exit(1);
1213 }
1214 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_new_child; /* _n_kwimport on <self:AStdImport> */
1215 } else {
1216 fprintf(stderr, "Runtime error: %s", "Aborted");
1217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 264);
1218 exit(1);
1219 }
1220 goto RET_LABEL;
1221 } else {
1222 }
1223 var12 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on <self:AStdImport> */
1224 if (var12 == NULL) {
1225 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
1226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 268);
1227 exit(1);
1228 }
1229 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AModuleName>*/;
1230 if (var13){
1231 var14 = NULL;
1232 if (var_new_child == NULL) {
1233 var15 = 0; /* is null */
1234 } else {
1235 var15 = 1; /* arg is null and recv is not */
1236 }
1237 if (var15){
1238 ((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)>*/;
1239 /* <var_new_child:nullable ANode(ANode)> isa AModuleName */
1240 cltype17 = type_parser_nodes__AModuleName.color;
1241 idtype18 = type_parser_nodes__AModuleName.id;
1242 if(cltype17 >= var_new_child->type->table_size) {
1243 var16 = 0;
1244 } else {
1245 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1246 }
1247 if (!var16) {
1248 fprintf(stderr, "Runtime error: %s", "Assert failed");
1249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 271);
1250 exit(1);
1251 }
1252 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_new_child; /* _n_name on <self:AStdImport> */
1253 } else {
1254 fprintf(stderr, "Runtime error: %s", "Aborted");
1255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 274);
1256 exit(1);
1257 }
1258 goto RET_LABEL;
1259 } else {
1260 }
1261 var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1262 if (var19 == NULL) {
1263 var20 = 0; /* <var_old_child:ANode> cannot be null */
1264 } else {
1265 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AAnnotations>*/;
1266 }
1267 if (var20){
1268 var21 = NULL;
1269 if (var_new_child == NULL) {
1270 var22 = 0; /* is null */
1271 } else {
1272 var22 = 1; /* arg is null and recv is not */
1273 }
1274 if (var22){
1275 ((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)>*/;
1276 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
1277 cltype24 = type_parser_nodes__AAnnotations.color;
1278 idtype25 = type_parser_nodes__AAnnotations.id;
1279 if(cltype24 >= var_new_child->type->table_size) {
1280 var23 = 0;
1281 } else {
1282 var23 = var_new_child->type->type_table[cltype24] == idtype25;
1283 }
1284 if (!var23) {
1285 fprintf(stderr, "Runtime error: %s", "Assert failed");
1286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 281);
1287 exit(1);
1288 }
1289 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStdImport> */
1290 } else {
1291 var26 = NULL;
1292 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations on <self:AStdImport> */
1293 }
1294 goto RET_LABEL;
1295 } else {
1296 }
1297 RET_LABEL:;
1298 }
1299 /* method parser_prod#AStdImport#replace_child for (self: Object, ANode, nullable ANode) */
1300 void VIRTUAL_parser_prod__AStdImport__replace_child(val* self, val* p0, val* p1) {
1301 parser_prod__AStdImport__replace_child(self, p0, p1);
1302 RET_LABEL:;
1303 }
1304 /* method parser_prod#AStdImport#n_visibility= for (self: AStdImport, AVisibility) */
1305 void parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) {
1306 val* var_node /* var node: AVisibility */;
1307 var_node = p0;
1308 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_node; /* _n_visibility on <self:AStdImport> */
1309 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
1310 RET_LABEL:;
1311 }
1312 /* method parser_prod#AStdImport#n_visibility= for (self: Object, AVisibility) */
1313 void VIRTUAL_parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) {
1314 parser_prod__AStdImport__n_visibility_61d(self, p0);
1315 RET_LABEL:;
1316 }
1317 /* method parser_prod#AStdImport#n_kwimport= for (self: AStdImport, TKwimport) */
1318 void parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) {
1319 val* var_node /* var node: TKwimport */;
1320 var_node = p0;
1321 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_node; /* _n_kwimport on <self:AStdImport> */
1322 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
1323 RET_LABEL:;
1324 }
1325 /* method parser_prod#AStdImport#n_kwimport= for (self: Object, TKwimport) */
1326 void VIRTUAL_parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) {
1327 parser_prod__AStdImport__n_kwimport_61d(self, p0);
1328 RET_LABEL:;
1329 }
1330 /* method parser_prod#AStdImport#n_name= for (self: AStdImport, AModuleName) */
1331 void parser_prod__AStdImport__n_name_61d(val* self, val* p0) {
1332 val* var_node /* var node: AModuleName */;
1333 var_node = p0;
1334 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_node; /* _n_name on <self:AStdImport> */
1335 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AModuleName>*/;
1336 RET_LABEL:;
1337 }
1338 /* method parser_prod#AStdImport#n_name= for (self: Object, AModuleName) */
1339 void VIRTUAL_parser_prod__AStdImport__n_name_61d(val* self, val* p0) {
1340 parser_prod__AStdImport__n_name_61d(self, p0);
1341 RET_LABEL:;
1342 }
1343 /* method parser_prod#AStdImport#n_annotations= for (self: AStdImport, nullable AAnnotations) */
1344 void parser_prod__AStdImport__n_annotations_61d(val* self, val* p0) {
1345 val* var_node /* var node: nullable AAnnotations */;
1346 val* var /* : null */;
1347 short int var1 /* : Bool */;
1348 var_node = p0;
1349 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStdImport> */
1350 var = NULL;
1351 if (var_node == NULL) {
1352 var1 = 0; /* is null */
1353 } else {
1354 var1 = 1; /* arg is null and recv is not */
1355 }
1356 if (var1){
1357 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
1358 } else {
1359 }
1360 RET_LABEL:;
1361 }
1362 /* method parser_prod#AStdImport#n_annotations= for (self: Object, nullable AAnnotations) */
1363 void VIRTUAL_parser_prod__AStdImport__n_annotations_61d(val* self, val* p0) {
1364 parser_prod__AStdImport__n_annotations_61d(self, p0);
1365 RET_LABEL:;
1366 }
1367 /* method parser_prod#AStdImport#visit_all for (self: AStdImport, Visitor) */
1368 void parser_prod__AStdImport__visit_all(val* self, val* p0) {
1369 val* var_v /* var v: Visitor */;
1370 val* var /* : AVisibility */;
1371 val* var1 /* : TKwimport */;
1372 val* var2 /* : AModuleName */;
1373 val* var3 /* : nullable AAnnotations */;
1374 val* var4 /* : null */;
1375 short int var5 /* : Bool */;
1376 val* var6 /* : nullable AAnnotations */;
1377 var_v = p0;
1378 var = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on <self:AStdImport> */
1379 if (var == NULL) {
1380 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 316);
1382 exit(1);
1383 }
1384 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1385 var1 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on <self:AStdImport> */
1386 if (var1 == NULL) {
1387 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 317);
1389 exit(1);
1390 }
1391 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1392 var2 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on <self:AStdImport> */
1393 if (var2 == NULL) {
1394 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_name");
1395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 318);
1396 exit(1);
1397 }
1398 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1399 var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1400 var4 = NULL;
1401 if (var3 == NULL) {
1402 var5 = 0; /* is null */
1403 } else {
1404 var5 = 1; /* arg is null and recv is not */
1405 }
1406 if (var5){
1407 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1408 if (var6 == NULL) {
1409 fprintf(stderr, "Runtime error: %s", "Cast failed");
1410 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 320);
1411 exit(1);
1412 }
1413 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
1414 } else {
1415 }
1416 RET_LABEL:;
1417 }
1418 /* method parser_prod#AStdImport#visit_all for (self: Object, Visitor) */
1419 void VIRTUAL_parser_prod__AStdImport__visit_all(val* self, val* p0) {
1420 parser_prod__AStdImport__visit_all(self, p0);
1421 RET_LABEL:;
1422 }
1423 /* method parser_prod#ANoImport#empty_init for (self: ANoImport) */
1424 void parser_prod__ANoImport__empty_init(val* self) {
1425 RET_LABEL:;
1426 }
1427 /* method parser_prod#ANoImport#empty_init for (self: Object) */
1428 void VIRTUAL_parser_prod__ANoImport__empty_init(val* self) {
1429 parser_prod__ANoImport__empty_init(self);
1430 RET_LABEL:;
1431 }
1432 /* method parser_prod#ANoImport#init_anoimport for (self: ANoImport, nullable AVisibility, nullable TKwimport, nullable TKwend) */
1433 void parser_prod__ANoImport__init_anoimport(val* self, val* p0, val* p1, val* p2) {
1434 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
1435 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
1436 val* var_n_kwend /* var n_kwend: nullable TKwend */;
1437 var_n_visibility = p0;
1438 var_n_kwimport = p1;
1439 var_n_kwend = p2;
1440 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANoImport__empty_init]))(self) /* empty_init on <self:ANoImport>*/;
1441 if (var_n_visibility == NULL) {
1442 fprintf(stderr, "Runtime error: %s", "Cast failed");
1443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 334);
1444 exit(1);
1445 }
1446 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_n_visibility; /* _n_visibility on <self:ANoImport> */
1447 if (var_n_visibility == NULL) {
1448 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1449 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 335);
1450 exit(1);
1451 } else {
1452 ((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>*/;
1453 }
1454 if (var_n_kwimport == NULL) {
1455 fprintf(stderr, "Runtime error: %s", "Cast failed");
1456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 336);
1457 exit(1);
1458 }
1459 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:ANoImport> */
1460 if (var_n_kwimport == NULL) {
1461 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 337);
1463 exit(1);
1464 } else {
1465 ((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>*/;
1466 }
1467 if (var_n_kwend == NULL) {
1468 fprintf(stderr, "Runtime error: %s", "Cast failed");
1469 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 338);
1470 exit(1);
1471 }
1472 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_n_kwend; /* _n_kwend on <self:ANoImport> */
1473 if (var_n_kwend == NULL) {
1474 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 339);
1476 exit(1);
1477 } else {
1478 ((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>*/;
1479 }
1480 RET_LABEL:;
1481 }
1482 /* method parser_prod#ANoImport#init_anoimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable TKwend) */
1483 void VIRTUAL_parser_prod__ANoImport__init_anoimport(val* self, val* p0, val* p1, val* p2) {
1484 parser_prod__ANoImport__init_anoimport(self, p0, p1, p2);
1485 RET_LABEL:;
1486 }
1487 /* method parser_prod#ANoImport#replace_child for (self: ANoImport, ANode, nullable ANode) */
1488 void parser_prod__ANoImport__replace_child(val* self, val* p0, val* p1) {
1489 val* var_old_child /* var old_child: ANode */;
1490 val* var_new_child /* var new_child: nullable ANode */;
1491 val* var /* : AVisibility */;
1492 short int var1 /* : Bool */;
1493 val* var2 /* : null */;
1494 short int var3 /* : Bool */;
1495 short int var4 /* : Bool */;
1496 int cltype;
1497 int idtype;
1498 val* var5 /* : TKwimport */;
1499 short int var6 /* : Bool */;
1500 val* var7 /* : null */;
1501 short int var8 /* : Bool */;
1502 short int var9 /* : Bool */;
1503 int cltype10;
1504 int idtype11;
1505 val* var12 /* : TKwend */;
1506 short int var13 /* : Bool */;
1507 val* var14 /* : null */;
1508 short int var15 /* : Bool */;
1509 short int var16 /* : Bool */;
1510 int cltype17;
1511 int idtype18;
1512 var_old_child = p0;
1513 var_new_child = p1;
1514 var = self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val; /* _n_visibility on <self:ANoImport> */
1515 if (var == NULL) {
1516 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 344);
1518 exit(1);
1519 }
1520 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AVisibility>*/;
1521 if (var1){
1522 var2 = NULL;
1523 if (var_new_child == NULL) {
1524 var3 = 0; /* is null */
1525 } else {
1526 var3 = 1; /* arg is null and recv is not */
1527 }
1528 if (var3){
1529 ((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)>*/;
1530 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
1531 cltype = type_parser_nodes__AVisibility.color;
1532 idtype = type_parser_nodes__AVisibility.id;
1533 if(cltype >= var_new_child->type->table_size) {
1534 var4 = 0;
1535 } else {
1536 var4 = var_new_child->type->type_table[cltype] == idtype;
1537 }
1538 if (!var4) {
1539 fprintf(stderr, "Runtime error: %s", "Assert failed");
1540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 347);
1541 exit(1);
1542 }
1543 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_new_child; /* _n_visibility on <self:ANoImport> */
1544 } else {
1545 fprintf(stderr, "Runtime error: %s", "Aborted");
1546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 350);
1547 exit(1);
1548 }
1549 goto RET_LABEL;
1550 } else {
1551 }
1552 var5 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on <self:ANoImport> */
1553 if (var5 == NULL) {
1554 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 354);
1556 exit(1);
1557 }
1558 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwimport>*/;
1559 if (var6){
1560 var7 = NULL;
1561 if (var_new_child == NULL) {
1562 var8 = 0; /* is null */
1563 } else {
1564 var8 = 1; /* arg is null and recv is not */
1565 }
1566 if (var8){
1567 ((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)>*/;
1568 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
1569 cltype10 = type_parser_nodes__TKwimport.color;
1570 idtype11 = type_parser_nodes__TKwimport.id;
1571 if(cltype10 >= var_new_child->type->table_size) {
1572 var9 = 0;
1573 } else {
1574 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1575 }
1576 if (!var9) {
1577 fprintf(stderr, "Runtime error: %s", "Assert failed");
1578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 357);
1579 exit(1);
1580 }
1581 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_new_child; /* _n_kwimport on <self:ANoImport> */
1582 } else {
1583 fprintf(stderr, "Runtime error: %s", "Aborted");
1584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 360);
1585 exit(1);
1586 }
1587 goto RET_LABEL;
1588 } else {
1589 }
1590 var12 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on <self:ANoImport> */
1591 if (var12 == NULL) {
1592 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
1593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 364);
1594 exit(1);
1595 }
1596 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwend>*/;
1597 if (var13){
1598 var14 = NULL;
1599 if (var_new_child == NULL) {
1600 var15 = 0; /* is null */
1601 } else {
1602 var15 = 1; /* arg is null and recv is not */
1603 }
1604 if (var15){
1605 ((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)>*/;
1606 /* <var_new_child:nullable ANode(ANode)> isa TKwend */
1607 cltype17 = type_parser_nodes__TKwend.color;
1608 idtype18 = type_parser_nodes__TKwend.id;
1609 if(cltype17 >= var_new_child->type->table_size) {
1610 var16 = 0;
1611 } else {
1612 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1613 }
1614 if (!var16) {
1615 fprintf(stderr, "Runtime error: %s", "Assert failed");
1616 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 367);
1617 exit(1);
1618 }
1619 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_new_child; /* _n_kwend on <self:ANoImport> */
1620 } else {
1621 fprintf(stderr, "Runtime error: %s", "Aborted");
1622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 370);
1623 exit(1);
1624 }
1625 goto RET_LABEL;
1626 } else {
1627 }
1628 RET_LABEL:;
1629 }
1630 /* method parser_prod#ANoImport#replace_child for (self: Object, ANode, nullable ANode) */
1631 void VIRTUAL_parser_prod__ANoImport__replace_child(val* self, val* p0, val* p1) {
1632 parser_prod__ANoImport__replace_child(self, p0, p1);
1633 RET_LABEL:;
1634 }
1635 /* method parser_prod#ANoImport#n_visibility= for (self: ANoImport, AVisibility) */
1636 void parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) {
1637 val* var_node /* var node: AVisibility */;
1638 var_node = p0;
1639 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_node; /* _n_visibility on <self:ANoImport> */
1640 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
1641 RET_LABEL:;
1642 }
1643 /* method parser_prod#ANoImport#n_visibility= for (self: Object, AVisibility) */
1644 void VIRTUAL_parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) {
1645 parser_prod__ANoImport__n_visibility_61d(self, p0);
1646 RET_LABEL:;
1647 }
1648 /* method parser_prod#ANoImport#n_kwimport= for (self: ANoImport, TKwimport) */
1649 void parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) {
1650 val* var_node /* var node: TKwimport */;
1651 var_node = p0;
1652 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_node; /* _n_kwimport on <self:ANoImport> */
1653 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
1654 RET_LABEL:;
1655 }
1656 /* method parser_prod#ANoImport#n_kwimport= for (self: Object, TKwimport) */
1657 void VIRTUAL_parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) {
1658 parser_prod__ANoImport__n_kwimport_61d(self, p0);
1659 RET_LABEL:;
1660 }
1661 /* method parser_prod#ANoImport#n_kwend= for (self: ANoImport, TKwend) */
1662 void parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) {
1663 val* var_node /* var node: TKwend */;
1664 var_node = p0;
1665 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_node; /* _n_kwend on <self:ANoImport> */
1666 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwend>*/;
1667 RET_LABEL:;
1668 }
1669 /* method parser_prod#ANoImport#n_kwend= for (self: Object, TKwend) */
1670 void VIRTUAL_parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) {
1671 parser_prod__ANoImport__n_kwend_61d(self, p0);
1672 RET_LABEL:;
1673 }
1674 /* method parser_prod#ANoImport#visit_all for (self: ANoImport, Visitor) */
1675 void parser_prod__ANoImport__visit_all(val* self, val* p0) {
1676 val* var_v /* var v: Visitor */;
1677 val* var /* : AVisibility */;
1678 val* var1 /* : TKwimport */;
1679 val* var2 /* : TKwend */;
1680 var_v = p0;
1681 var = self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val; /* _n_visibility on <self:ANoImport> */
1682 if (var == NULL) {
1683 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
1684 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 395);
1685 exit(1);
1686 }
1687 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1688 var1 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on <self:ANoImport> */
1689 if (var1 == NULL) {
1690 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwimport");
1691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 396);
1692 exit(1);
1693 }
1694 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1695 var2 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on <self:ANoImport> */
1696 if (var2 == NULL) {
1697 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
1698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 397);
1699 exit(1);
1700 }
1701 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1702 RET_LABEL:;
1703 }
1704 /* method parser_prod#ANoImport#visit_all for (self: Object, Visitor) */
1705 void VIRTUAL_parser_prod__ANoImport__visit_all(val* self, val* p0) {
1706 parser_prod__ANoImport__visit_all(self, p0);
1707 RET_LABEL:;
1708 }
1709 /* method parser_prod#APublicVisibility#empty_init for (self: APublicVisibility) */
1710 void parser_prod__APublicVisibility__empty_init(val* self) {
1711 RET_LABEL:;
1712 }
1713 /* method parser_prod#APublicVisibility#empty_init for (self: Object) */
1714 void VIRTUAL_parser_prod__APublicVisibility__empty_init(val* self) {
1715 parser_prod__APublicVisibility__empty_init(self);
1716 RET_LABEL:;
1717 }
1718 /* method parser_prod#APublicVisibility#init_apublicvisibility for (self: APublicVisibility) */
1719 void parser_prod__APublicVisibility__init_apublicvisibility(val* self) {
1720 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APublicVisibility__empty_init]))(self) /* empty_init on <self:APublicVisibility>*/;
1721 RET_LABEL:;
1722 }
1723 /* method parser_prod#APublicVisibility#init_apublicvisibility for (self: Object) */
1724 void VIRTUAL_parser_prod__APublicVisibility__init_apublicvisibility(val* self) {
1725 parser_prod__APublicVisibility__init_apublicvisibility(self);
1726 RET_LABEL:;
1727 }
1728 /* method parser_prod#APublicVisibility#replace_child for (self: APublicVisibility, ANode, nullable ANode) */
1729 void parser_prod__APublicVisibility__replace_child(val* self, val* p0, val* p1) {
1730 val* var_old_child /* var old_child: ANode */;
1731 val* var_new_child /* var new_child: nullable ANode */;
1732 var_old_child = p0;
1733 var_new_child = p1;
1734 RET_LABEL:;
1735 }
1736 /* method parser_prod#APublicVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1737 void VIRTUAL_parser_prod__APublicVisibility__replace_child(val* self, val* p0, val* p1) {
1738 parser_prod__APublicVisibility__replace_child(self, p0, p1);
1739 RET_LABEL:;
1740 }
1741 /* method parser_prod#APublicVisibility#visit_all for (self: APublicVisibility, Visitor) */
1742 void parser_prod__APublicVisibility__visit_all(val* self, val* p0) {
1743 val* var_v /* var v: Visitor */;
1744 var_v = p0;
1745 RET_LABEL:;
1746 }
1747 /* method parser_prod#APublicVisibility#visit_all for (self: Object, Visitor) */
1748 void VIRTUAL_parser_prod__APublicVisibility__visit_all(val* self, val* p0) {
1749 parser_prod__APublicVisibility__visit_all(self, p0);
1750 RET_LABEL:;
1751 }
1752 /* method parser_prod#APrivateVisibility#empty_init for (self: APrivateVisibility) */
1753 void parser_prod__APrivateVisibility__empty_init(val* self) {
1754 RET_LABEL:;
1755 }
1756 /* method parser_prod#APrivateVisibility#empty_init for (self: Object) */
1757 void VIRTUAL_parser_prod__APrivateVisibility__empty_init(val* self) {
1758 parser_prod__APrivateVisibility__empty_init(self);
1759 RET_LABEL:;
1760 }
1761 /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: APrivateVisibility, nullable TKwprivate) */
1762 void parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) {
1763 val* var_n_kwprivate /* var n_kwprivate: nullable TKwprivate */;
1764 var_n_kwprivate = p0;
1765 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APrivateVisibility__empty_init]))(self) /* empty_init on <self:APrivateVisibility>*/;
1766 if (var_n_kwprivate == NULL) {
1767 fprintf(stderr, "Runtime error: %s", "Cast failed");
1768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 426);
1769 exit(1);
1770 }
1771 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_n_kwprivate; /* _n_kwprivate on <self:APrivateVisibility> */
1772 if (var_n_kwprivate == NULL) {
1773 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 427);
1775 exit(1);
1776 } else {
1777 ((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>*/;
1778 }
1779 RET_LABEL:;
1780 }
1781 /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: Object, nullable TKwprivate) */
1782 void VIRTUAL_parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) {
1783 parser_prod__APrivateVisibility__init_aprivatevisibility(self, p0);
1784 RET_LABEL:;
1785 }
1786 /* method parser_prod#APrivateVisibility#replace_child for (self: APrivateVisibility, ANode, nullable ANode) */
1787 void parser_prod__APrivateVisibility__replace_child(val* self, val* p0, val* p1) {
1788 val* var_old_child /* var old_child: ANode */;
1789 val* var_new_child /* var new_child: nullable ANode */;
1790 val* var /* : TKwprivate */;
1791 short int var1 /* : Bool */;
1792 val* var2 /* : null */;
1793 short int var3 /* : Bool */;
1794 short int var4 /* : Bool */;
1795 int cltype;
1796 int idtype;
1797 var_old_child = p0;
1798 var_new_child = p1;
1799 var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on <self:APrivateVisibility> */
1800 if (var == NULL) {
1801 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprivate");
1802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 432);
1803 exit(1);
1804 }
1805 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwprivate>*/;
1806 if (var1){
1807 var2 = NULL;
1808 if (var_new_child == NULL) {
1809 var3 = 0; /* is null */
1810 } else {
1811 var3 = 1; /* arg is null and recv is not */
1812 }
1813 if (var3){
1814 ((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)>*/;
1815 /* <var_new_child:nullable ANode(ANode)> isa TKwprivate */
1816 cltype = type_parser_nodes__TKwprivate.color;
1817 idtype = type_parser_nodes__TKwprivate.id;
1818 if(cltype >= var_new_child->type->table_size) {
1819 var4 = 0;
1820 } else {
1821 var4 = var_new_child->type->type_table[cltype] == idtype;
1822 }
1823 if (!var4) {
1824 fprintf(stderr, "Runtime error: %s", "Assert failed");
1825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 435);
1826 exit(1);
1827 }
1828 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_new_child; /* _n_kwprivate on <self:APrivateVisibility> */
1829 } else {
1830 fprintf(stderr, "Runtime error: %s", "Aborted");
1831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 438);
1832 exit(1);
1833 }
1834 goto RET_LABEL;
1835 } else {
1836 }
1837 RET_LABEL:;
1838 }
1839 /* method parser_prod#APrivateVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1840 void VIRTUAL_parser_prod__APrivateVisibility__replace_child(val* self, val* p0, val* p1) {
1841 parser_prod__APrivateVisibility__replace_child(self, p0, p1);
1842 RET_LABEL:;
1843 }
1844 /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: APrivateVisibility, TKwprivate) */
1845 void parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) {
1846 val* var_node /* var node: TKwprivate */;
1847 var_node = p0;
1848 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_node; /* _n_kwprivate on <self:APrivateVisibility> */
1849 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwprivate>*/;
1850 RET_LABEL:;
1851 }
1852 /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: Object, TKwprivate) */
1853 void VIRTUAL_parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) {
1854 parser_prod__APrivateVisibility__n_kwprivate_61d(self, p0);
1855 RET_LABEL:;
1856 }
1857 /* method parser_prod#APrivateVisibility#visit_all for (self: APrivateVisibility, Visitor) */
1858 void parser_prod__APrivateVisibility__visit_all(val* self, val* p0) {
1859 val* var_v /* var v: Visitor */;
1860 val* var /* : TKwprivate */;
1861 var_v = p0;
1862 var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on <self:APrivateVisibility> */
1863 if (var == NULL) {
1864 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprivate");
1865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 453);
1866 exit(1);
1867 }
1868 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1869 RET_LABEL:;
1870 }
1871 /* method parser_prod#APrivateVisibility#visit_all for (self: Object, Visitor) */
1872 void VIRTUAL_parser_prod__APrivateVisibility__visit_all(val* self, val* p0) {
1873 parser_prod__APrivateVisibility__visit_all(self, p0);
1874 RET_LABEL:;
1875 }
1876 /* method parser_prod#AProtectedVisibility#empty_init for (self: AProtectedVisibility) */
1877 void parser_prod__AProtectedVisibility__empty_init(val* self) {
1878 RET_LABEL:;
1879 }
1880 /* method parser_prod#AProtectedVisibility#empty_init for (self: Object) */
1881 void VIRTUAL_parser_prod__AProtectedVisibility__empty_init(val* self) {
1882 parser_prod__AProtectedVisibility__empty_init(self);
1883 RET_LABEL:;
1884 }
1885 /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: AProtectedVisibility, nullable TKwprotected) */
1886 void parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) {
1887 val* var_n_kwprotected /* var n_kwprotected: nullable TKwprotected */;
1888 var_n_kwprotected = p0;
1889 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AProtectedVisibility__empty_init]))(self) /* empty_init on <self:AProtectedVisibility>*/;
1890 if (var_n_kwprotected == NULL) {
1891 fprintf(stderr, "Runtime error: %s", "Cast failed");
1892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 464);
1893 exit(1);
1894 }
1895 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_n_kwprotected; /* _n_kwprotected on <self:AProtectedVisibility> */
1896 if (var_n_kwprotected == NULL) {
1897 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 465);
1899 exit(1);
1900 } else {
1901 ((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>*/;
1902 }
1903 RET_LABEL:;
1904 }
1905 /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: Object, nullable TKwprotected) */
1906 void VIRTUAL_parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) {
1907 parser_prod__AProtectedVisibility__init_aprotectedvisibility(self, p0);
1908 RET_LABEL:;
1909 }
1910 /* method parser_prod#AProtectedVisibility#replace_child for (self: AProtectedVisibility, ANode, nullable ANode) */
1911 void parser_prod__AProtectedVisibility__replace_child(val* self, val* p0, val* p1) {
1912 val* var_old_child /* var old_child: ANode */;
1913 val* var_new_child /* var new_child: nullable ANode */;
1914 val* var /* : TKwprotected */;
1915 short int var1 /* : Bool */;
1916 val* var2 /* : null */;
1917 short int var3 /* : Bool */;
1918 short int var4 /* : Bool */;
1919 int cltype;
1920 int idtype;
1921 var_old_child = p0;
1922 var_new_child = p1;
1923 var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on <self:AProtectedVisibility> */
1924 if (var == NULL) {
1925 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprotected");
1926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 470);
1927 exit(1);
1928 }
1929 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwprotected>*/;
1930 if (var1){
1931 var2 = NULL;
1932 if (var_new_child == NULL) {
1933 var3 = 0; /* is null */
1934 } else {
1935 var3 = 1; /* arg is null and recv is not */
1936 }
1937 if (var3){
1938 ((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)>*/;
1939 /* <var_new_child:nullable ANode(ANode)> isa TKwprotected */
1940 cltype = type_parser_nodes__TKwprotected.color;
1941 idtype = type_parser_nodes__TKwprotected.id;
1942 if(cltype >= var_new_child->type->table_size) {
1943 var4 = 0;
1944 } else {
1945 var4 = var_new_child->type->type_table[cltype] == idtype;
1946 }
1947 if (!var4) {
1948 fprintf(stderr, "Runtime error: %s", "Assert failed");
1949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 473);
1950 exit(1);
1951 }
1952 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_new_child; /* _n_kwprotected on <self:AProtectedVisibility> */
1953 } else {
1954 fprintf(stderr, "Runtime error: %s", "Aborted");
1955 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 476);
1956 exit(1);
1957 }
1958 goto RET_LABEL;
1959 } else {
1960 }
1961 RET_LABEL:;
1962 }
1963 /* method parser_prod#AProtectedVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1964 void VIRTUAL_parser_prod__AProtectedVisibility__replace_child(val* self, val* p0, val* p1) {
1965 parser_prod__AProtectedVisibility__replace_child(self, p0, p1);
1966 RET_LABEL:;
1967 }
1968 /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: AProtectedVisibility, TKwprotected) */
1969 void parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) {
1970 val* var_node /* var node: TKwprotected */;
1971 var_node = p0;
1972 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_node; /* _n_kwprotected on <self:AProtectedVisibility> */
1973 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwprotected>*/;
1974 RET_LABEL:;
1975 }
1976 /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: Object, TKwprotected) */
1977 void VIRTUAL_parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) {
1978 parser_prod__AProtectedVisibility__n_kwprotected_61d(self, p0);
1979 RET_LABEL:;
1980 }
1981 /* method parser_prod#AProtectedVisibility#visit_all for (self: AProtectedVisibility, Visitor) */
1982 void parser_prod__AProtectedVisibility__visit_all(val* self, val* p0) {
1983 val* var_v /* var v: Visitor */;
1984 val* var /* : TKwprotected */;
1985 var_v = p0;
1986 var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on <self:AProtectedVisibility> */
1987 if (var == NULL) {
1988 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwprotected");
1989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 491);
1990 exit(1);
1991 }
1992 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1993 RET_LABEL:;
1994 }
1995 /* method parser_prod#AProtectedVisibility#visit_all for (self: Object, Visitor) */
1996 void VIRTUAL_parser_prod__AProtectedVisibility__visit_all(val* self, val* p0) {
1997 parser_prod__AProtectedVisibility__visit_all(self, p0);
1998 RET_LABEL:;
1999 }
2000 /* method parser_prod#AIntrudeVisibility#empty_init for (self: AIntrudeVisibility) */
2001 void parser_prod__AIntrudeVisibility__empty_init(val* self) {
2002 RET_LABEL:;
2003 }
2004 /* method parser_prod#AIntrudeVisibility#empty_init for (self: Object) */
2005 void VIRTUAL_parser_prod__AIntrudeVisibility__empty_init(val* self) {
2006 parser_prod__AIntrudeVisibility__empty_init(self);
2007 RET_LABEL:;
2008 }
2009 /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: AIntrudeVisibility, nullable TKwintrude) */
2010 void parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) {
2011 val* var_n_kwintrude /* var n_kwintrude: nullable TKwintrude */;
2012 var_n_kwintrude = p0;
2013 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntrudeVisibility__empty_init]))(self) /* empty_init on <self:AIntrudeVisibility>*/;
2014 if (var_n_kwintrude == NULL) {
2015 fprintf(stderr, "Runtime error: %s", "Cast failed");
2016 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 502);
2017 exit(1);
2018 }
2019 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_n_kwintrude; /* _n_kwintrude on <self:AIntrudeVisibility> */
2020 if (var_n_kwintrude == NULL) {
2021 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 503);
2023 exit(1);
2024 } else {
2025 ((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>*/;
2026 }
2027 RET_LABEL:;
2028 }
2029 /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: Object, nullable TKwintrude) */
2030 void VIRTUAL_parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) {
2031 parser_prod__AIntrudeVisibility__init_aintrudevisibility(self, p0);
2032 RET_LABEL:;
2033 }
2034 /* method parser_prod#AIntrudeVisibility#replace_child for (self: AIntrudeVisibility, ANode, nullable ANode) */
2035 void parser_prod__AIntrudeVisibility__replace_child(val* self, val* p0, val* p1) {
2036 val* var_old_child /* var old_child: ANode */;
2037 val* var_new_child /* var new_child: nullable ANode */;
2038 val* var /* : TKwintrude */;
2039 short int var1 /* : Bool */;
2040 val* var2 /* : null */;
2041 short int var3 /* : Bool */;
2042 short int var4 /* : Bool */;
2043 int cltype;
2044 int idtype;
2045 var_old_child = p0;
2046 var_new_child = p1;
2047 var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on <self:AIntrudeVisibility> */
2048 if (var == NULL) {
2049 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwintrude");
2050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 508);
2051 exit(1);
2052 }
2053 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwintrude>*/;
2054 if (var1){
2055 var2 = NULL;
2056 if (var_new_child == NULL) {
2057 var3 = 0; /* is null */
2058 } else {
2059 var3 = 1; /* arg is null and recv is not */
2060 }
2061 if (var3){
2062 ((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)>*/;
2063 /* <var_new_child:nullable ANode(ANode)> isa TKwintrude */
2064 cltype = type_parser_nodes__TKwintrude.color;
2065 idtype = type_parser_nodes__TKwintrude.id;
2066 if(cltype >= var_new_child->type->table_size) {
2067 var4 = 0;
2068 } else {
2069 var4 = var_new_child->type->type_table[cltype] == idtype;
2070 }
2071 if (!var4) {
2072 fprintf(stderr, "Runtime error: %s", "Assert failed");
2073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 511);
2074 exit(1);
2075 }
2076 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_new_child; /* _n_kwintrude on <self:AIntrudeVisibility> */
2077 } else {
2078 fprintf(stderr, "Runtime error: %s", "Aborted");
2079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 514);
2080 exit(1);
2081 }
2082 goto RET_LABEL;
2083 } else {
2084 }
2085 RET_LABEL:;
2086 }
2087 /* method parser_prod#AIntrudeVisibility#replace_child for (self: Object, ANode, nullable ANode) */
2088 void VIRTUAL_parser_prod__AIntrudeVisibility__replace_child(val* self, val* p0, val* p1) {
2089 parser_prod__AIntrudeVisibility__replace_child(self, p0, p1);
2090 RET_LABEL:;
2091 }
2092 /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: AIntrudeVisibility, TKwintrude) */
2093 void parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) {
2094 val* var_node /* var node: TKwintrude */;
2095 var_node = p0;
2096 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_node; /* _n_kwintrude on <self:AIntrudeVisibility> */
2097 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwintrude>*/;
2098 RET_LABEL:;
2099 }
2100 /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: Object, TKwintrude) */
2101 void VIRTUAL_parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) {
2102 parser_prod__AIntrudeVisibility__n_kwintrude_61d(self, p0);
2103 RET_LABEL:;
2104 }
2105 /* method parser_prod#AIntrudeVisibility#visit_all for (self: AIntrudeVisibility, Visitor) */
2106 void parser_prod__AIntrudeVisibility__visit_all(val* self, val* p0) {
2107 val* var_v /* var v: Visitor */;
2108 val* var /* : TKwintrude */;
2109 var_v = p0;
2110 var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on <self:AIntrudeVisibility> */
2111 if (var == NULL) {
2112 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwintrude");
2113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 529);
2114 exit(1);
2115 }
2116 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2117 RET_LABEL:;
2118 }
2119 /* method parser_prod#AIntrudeVisibility#visit_all for (self: Object, Visitor) */
2120 void VIRTUAL_parser_prod__AIntrudeVisibility__visit_all(val* self, val* p0) {
2121 parser_prod__AIntrudeVisibility__visit_all(self, p0);
2122 RET_LABEL:;
2123 }
2124 /* method parser_prod#AStdClassdef#empty_init for (self: AStdClassdef) */
2125 void parser_prod__AStdClassdef__empty_init(val* self) {
2126 RET_LABEL:;
2127 }
2128 /* method parser_prod#AStdClassdef#empty_init for (self: Object) */
2129 void VIRTUAL_parser_prod__AStdClassdef__empty_init(val* self) {
2130 parser_prod__AStdClassdef__empty_init(self);
2131 RET_LABEL:;
2132 }
2133 /* 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) */
2134 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) {
2135 val* var_n_doc /* var n_doc: nullable ADoc */;
2136 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
2137 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
2138 val* var_n_classkind /* var n_classkind: nullable AClasskind */;
2139 val* var_n_id /* var n_id: nullable TClassid */;
2140 val* var_n_formaldefs /* var n_formaldefs: Collection[Object] */;
2141 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2142 val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */;
2143 val* var_n_superclasses /* var n_superclasses: Collection[Object] */;
2144 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
2145 val* var_n_kwend /* var n_kwend: nullable TKwend */;
2146 val* var /* : null */;
2147 short int var1 /* : Bool */;
2148 val* var2 /* : null */;
2149 short int var3 /* : Bool */;
2150 val* var4 /* : null */;
2151 short int var5 /* : Bool */;
2152 val* var6 /* : Iterator[nullable Object] */;
2153 short int var7 /* : Bool */;
2154 val* var8 /* : nullable Object */;
2155 val* var_n /* var n: Object */;
2156 short int var9 /* : Bool */;
2157 int cltype;
2158 int idtype;
2159 val* var10 /* : ANodes[AFormaldef] */;
2160 val* var11 /* : null */;
2161 short int var12 /* : Bool */;
2162 val* var13 /* : null */;
2163 short int var14 /* : Bool */;
2164 val* var15 /* : Iterator[nullable Object] */;
2165 short int var16 /* : Bool */;
2166 val* var17 /* : nullable Object */;
2167 val* var_n18 /* var n: Object */;
2168 short int var19 /* : Bool */;
2169 int cltype20;
2170 int idtype21;
2171 val* var22 /* : ANodes[ASuperclass] */;
2172 val* var24 /* : Iterator[nullable Object] */;
2173 short int var25 /* : Bool */;
2174 val* var26 /* : nullable Object */;
2175 val* var_n27 /* var n: Object */;
2176 short int var28 /* : Bool */;
2177 int cltype29;
2178 int idtype30;
2179 val* var31 /* : ANodes[APropdef] */;
2180 var_n_doc = p0;
2181 var_n_kwredef = p1;
2182 var_n_visibility = p2;
2183 var_n_classkind = p3;
2184 var_n_id = p4;
2185 var_n_formaldefs = p5;
2186 var_n_annotations = p6;
2187 var_n_extern_code_block = p7;
2188 var_n_superclasses = p8;
2189 var_n_propdefs = p9;
2190 var_n_kwend = p10;
2191 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdClassdef__empty_init]))(self) /* empty_init on <self:AStdClassdef>*/;
2192 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_n_doc; /* _n_doc on <self:AStdClassdef> */
2193 var = NULL;
2194 if (var_n_doc == NULL) {
2195 var1 = 0; /* is null */
2196 } else {
2197 var1 = 1; /* arg is null and recv is not */
2198 }
2199 if (var1){
2200 ((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)>*/;
2201 } else {
2202 }
2203 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AStdClassdef> */
2204 var2 = NULL;
2205 if (var_n_kwredef == NULL) {
2206 var3 = 0; /* is null */
2207 } else {
2208 var3 = 1; /* arg is null and recv is not */
2209 }
2210 if (var3){
2211 ((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)>*/;
2212 } else {
2213 }
2214 if (var_n_visibility == NULL) {
2215 fprintf(stderr, "Runtime error: %s", "Cast failed");
2216 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 558);
2217 exit(1);
2218 }
2219 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AStdClassdef> */
2220 if (var_n_visibility == NULL) {
2221 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 559);
2223 exit(1);
2224 } else {
2225 ((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>*/;
2226 }
2227 if (var_n_classkind == NULL) {
2228 fprintf(stderr, "Runtime error: %s", "Cast failed");
2229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 560);
2230 exit(1);
2231 }
2232 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_n_classkind; /* _n_classkind on <self:AStdClassdef> */
2233 if (var_n_classkind == NULL) {
2234 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 561);
2236 exit(1);
2237 } else {
2238 ((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>*/;
2239 }
2240 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_n_id; /* _n_id on <self:AStdClassdef> */
2241 var4 = NULL;
2242 if (var_n_id == NULL) {
2243 var5 = 0; /* is null */
2244 } else {
2245 var5 = 1; /* arg is null and recv is not */
2246 }
2247 if (var5){
2248 ((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)>*/;
2249 } else {
2250 }
2251 var6 = ((val* (*)(val*))(var_n_formaldefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_formaldefs) /* iterator on <var_n_formaldefs:Collection[Object]>*/;
2252 for(;;) {
2253 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
2254 if(!var7) break;
2255 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
2256 var_n = var8;
2257 /* <var_n:Object> isa AFormaldef */
2258 cltype = type_parser_nodes__AFormaldef.color;
2259 idtype = type_parser_nodes__AFormaldef.id;
2260 if(cltype >= var_n->type->table_size) {
2261 var9 = 0;
2262 } else {
2263 var9 = var_n->type->type_table[cltype] == idtype;
2264 }
2265 if (!var9) {
2266 fprintf(stderr, "Runtime error: %s", "Assert failed");
2267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 567);
2268 exit(1);
2269 }
2270 var10 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2271 if (var10 == NULL) {
2272 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 568);
2274 exit(1);
2275 }
2276 ((void (*)(val*, val*))(var10->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var10, var_n) /* add on <var10:ANodes[AFormaldef]>*/;
2277 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AFormaldef)>*/;
2278 CONTINUE_label: (void)0;
2279 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
2280 }
2281 BREAK_label: (void)0;
2282 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStdClassdef> */
2283 var11 = NULL;
2284 if (var_n_annotations == NULL) {
2285 var12 = 0; /* is null */
2286 } else {
2287 var12 = 1; /* arg is null and recv is not */
2288 }
2289 if (var12){
2290 ((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)>*/;
2291 } else {
2292 }
2293 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on <self:AStdClassdef> */
2294 var13 = NULL;
2295 if (var_n_extern_code_block == NULL) {
2296 var14 = 0; /* is null */
2297 } else {
2298 var14 = 1; /* arg is null and recv is not */
2299 }
2300 if (var14){
2301 ((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)>*/;
2302 } else {
2303 }
2304 var15 = ((val* (*)(val*))(var_n_superclasses->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_superclasses) /* iterator on <var_n_superclasses:Collection[Object]>*/;
2305 for(;;) {
2306 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
2307 if(!var16) break;
2308 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
2309 var_n18 = var17;
2310 /* <var_n18:Object> isa ASuperclass */
2311 cltype20 = type_parser_nodes__ASuperclass.color;
2312 idtype21 = type_parser_nodes__ASuperclass.id;
2313 if(cltype20 >= var_n18->type->table_size) {
2314 var19 = 0;
2315 } else {
2316 var19 = var_n18->type->type_table[cltype20] == idtype21;
2317 }
2318 if (!var19) {
2319 fprintf(stderr, "Runtime error: %s", "Assert failed");
2320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 580);
2321 exit(1);
2322 }
2323 var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2324 if (var22 == NULL) {
2325 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2326 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 581);
2327 exit(1);
2328 }
2329 ((void (*)(val*, val*))(var22->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var22, var_n18) /* add on <var22:ANodes[ASuperclass]>*/;
2330 ((void (*)(val*, val*))(var_n18->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n18, self) /* parent= on <var_n18:Object(ASuperclass)>*/;
2331 CONTINUE_label23: (void)0;
2332 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
2333 }
2334 BREAK_label23: (void)0;
2335 var24 = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
2336 for(;;) {
2337 var25 = ((short int (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var24) /* is_ok on <var24:Iterator[nullable Object]>*/;
2338 if(!var25) break;
2339 var26 = ((val* (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__item]))(var24) /* item on <var24:Iterator[nullable Object]>*/;
2340 var_n27 = var26;
2341 /* <var_n27:Object> isa APropdef */
2342 cltype29 = type_parser_nodes__APropdef.color;
2343 idtype30 = type_parser_nodes__APropdef.id;
2344 if(cltype29 >= var_n27->type->table_size) {
2345 var28 = 0;
2346 } else {
2347 var28 = var_n27->type->type_table[cltype29] == idtype30;
2348 }
2349 if (!var28) {
2350 fprintf(stderr, "Runtime error: %s", "Assert failed");
2351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 585);
2352 exit(1);
2353 }
2354 var31 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2355 if (var31 == NULL) {
2356 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2357 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 586);
2358 exit(1);
2359 }
2360 ((void (*)(val*, val*))(var31->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var31, var_n27) /* add on <var31:ANodes[APropdef]>*/;
2361 ((void (*)(val*, val*))(var_n27->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n27, self) /* parent= on <var_n27:Object(APropdef)>*/;
2362 CONTINUE_label32: (void)0;
2363 ((void (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__next]))(var24) /* next on <var24:Iterator[nullable Object]>*/;
2364 }
2365 BREAK_label32: (void)0;
2366 if (var_n_kwend == NULL) {
2367 fprintf(stderr, "Runtime error: %s", "Cast failed");
2368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 589);
2369 exit(1);
2370 }
2371 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_n_kwend; /* _n_kwend on <self:AStdClassdef> */
2372 if (var_n_kwend == NULL) {
2373 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 590);
2375 exit(1);
2376 } else {
2377 ((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>*/;
2378 }
2379 RET_LABEL:;
2380 }
2381 /* 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) */
2382 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) {
2383 parser_prod__AStdClassdef__init_astdclassdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
2384 RET_LABEL:;
2385 }
2386 /* method parser_prod#AStdClassdef#replace_child for (self: AStdClassdef, ANode, nullable ANode) */
2387 void parser_prod__AStdClassdef__replace_child(val* self, val* p0, val* p1) {
2388 val* var_old_child /* var old_child: ANode */;
2389 val* var_new_child /* var new_child: nullable ANode */;
2390 val* var /* : nullable ADoc */;
2391 short int var1 /* : Bool */;
2392 val* var2 /* : null */;
2393 short int var3 /* : Bool */;
2394 short int var4 /* : Bool */;
2395 int cltype;
2396 int idtype;
2397 val* var5 /* : null */;
2398 val* var6 /* : nullable TKwredef */;
2399 short int var7 /* : Bool */;
2400 val* var8 /* : null */;
2401 short int var9 /* : Bool */;
2402 short int var10 /* : Bool */;
2403 int cltype11;
2404 int idtype12;
2405 val* var13 /* : null */;
2406 val* var14 /* : AVisibility */;
2407 short int var15 /* : Bool */;
2408 val* var16 /* : null */;
2409 short int var17 /* : Bool */;
2410 short int var18 /* : Bool */;
2411 int cltype19;
2412 int idtype20;
2413 val* var21 /* : AClasskind */;
2414 short int var22 /* : Bool */;
2415 val* var23 /* : null */;
2416 short int var24 /* : Bool */;
2417 short int var25 /* : Bool */;
2418 int cltype26;
2419 int idtype27;
2420 val* var28 /* : nullable TClassid */;
2421 short int var29 /* : Bool */;
2422 val* var30 /* : null */;
2423 short int var31 /* : Bool */;
2424 short int var32 /* : Bool */;
2425 int cltype33;
2426 int idtype34;
2427 val* var35 /* : null */;
2428 val* var36 /* : Range[Int] */;
2429 long var37 /* : Int */;
2430 val* var38 /* : ANodes[AFormaldef] */;
2431 long var39 /* : Int */;
2432 val* var40 /* : Discrete */;
2433 val* var41 /* : Discrete */;
2434 val* var42 /* : Iterator[nullable Object] */;
2435 short int var43 /* : Bool */;
2436 val* var44 /* : nullable Object */;
2437 long var_i /* var i: Int */;
2438 long var45 /* : Int */;
2439 val* var46 /* : ANodes[AFormaldef] */;
2440 val* var47 /* : nullable Object */;
2441 short int var48 /* : Bool */;
2442 val* var49 /* : null */;
2443 short int var50 /* : Bool */;
2444 short int var51 /* : Bool */;
2445 int cltype52;
2446 int idtype53;
2447 val* var54 /* : ANodes[AFormaldef] */;
2448 val* var55 /* : ANodes[AFormaldef] */;
2449 val* var56 /* : nullable AAnnotations */;
2450 short int var57 /* : Bool */;
2451 val* var58 /* : null */;
2452 short int var59 /* : Bool */;
2453 short int var60 /* : Bool */;
2454 int cltype61;
2455 int idtype62;
2456 val* var63 /* : null */;
2457 val* var64 /* : nullable AExternCodeBlock */;
2458 short int var65 /* : Bool */;
2459 val* var66 /* : null */;
2460 short int var67 /* : Bool */;
2461 short int var68 /* : Bool */;
2462 int cltype69;
2463 int idtype70;
2464 val* var71 /* : null */;
2465 val* var72 /* : Range[Int] */;
2466 long var73 /* : Int */;
2467 val* var74 /* : ANodes[ASuperclass] */;
2468 long var75 /* : Int */;
2469 val* var76 /* : Discrete */;
2470 val* var77 /* : Discrete */;
2471 val* var78 /* : Iterator[nullable Object] */;
2472 short int var79 /* : Bool */;
2473 val* var80 /* : nullable Object */;
2474 long var_i81 /* var i: Int */;
2475 long var82 /* : Int */;
2476 val* var83 /* : ANodes[ASuperclass] */;
2477 val* var84 /* : nullable Object */;
2478 short int var85 /* : Bool */;
2479 val* var86 /* : null */;
2480 short int var87 /* : Bool */;
2481 short int var88 /* : Bool */;
2482 int cltype89;
2483 int idtype90;
2484 val* var91 /* : ANodes[ASuperclass] */;
2485 val* var92 /* : ANodes[ASuperclass] */;
2486 val* var94 /* : Range[Int] */;
2487 long var95 /* : Int */;
2488 val* var96 /* : ANodes[APropdef] */;
2489 long var97 /* : Int */;
2490 val* var98 /* : Discrete */;
2491 val* var99 /* : Discrete */;
2492 val* var100 /* : Iterator[nullable Object] */;
2493 short int var101 /* : Bool */;
2494 val* var102 /* : nullable Object */;
2495 long var_i103 /* var i: Int */;
2496 long var104 /* : Int */;
2497 val* var105 /* : ANodes[APropdef] */;
2498 val* var106 /* : nullable Object */;
2499 short int var107 /* : Bool */;
2500 val* var108 /* : null */;
2501 short int var109 /* : Bool */;
2502 short int var110 /* : Bool */;
2503 int cltype111;
2504 int idtype112;
2505 val* var113 /* : ANodes[APropdef] */;
2506 val* var114 /* : ANodes[APropdef] */;
2507 val* var116 /* : TKwend */;
2508 short int var117 /* : Bool */;
2509 val* var118 /* : null */;
2510 short int var119 /* : Bool */;
2511 short int var120 /* : Bool */;
2512 int cltype121;
2513 int idtype122;
2514 var_old_child = p0;
2515 var_new_child = p1;
2516 var = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
2517 if (var == NULL) {
2518 var1 = 0; /* <var_old_child:ANode> cannot be null */
2519 } else {
2520 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
2521 }
2522 if (var1){
2523 var2 = NULL;
2524 if (var_new_child == NULL) {
2525 var3 = 0; /* is null */
2526 } else {
2527 var3 = 1; /* arg is null and recv is not */
2528 }
2529 if (var3){
2530 ((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)>*/;
2531 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
2532 cltype = type_parser_nodes__ADoc.color;
2533 idtype = type_parser_nodes__ADoc.id;
2534 if(cltype >= var_new_child->type->table_size) {
2535 var4 = 0;
2536 } else {
2537 var4 = var_new_child->type->type_table[cltype] == idtype;
2538 }
2539 if (!var4) {
2540 fprintf(stderr, "Runtime error: %s", "Assert failed");
2541 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 598);
2542 exit(1);
2543 }
2544 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_new_child; /* _n_doc on <self:AStdClassdef> */
2545 } else {
2546 var5 = NULL;
2547 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var5; /* _n_doc on <self:AStdClassdef> */
2548 }
2549 goto RET_LABEL;
2550 } else {
2551 }
2552 var6 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
2553 if (var6 == NULL) {
2554 var7 = 0; /* <var_old_child:ANode> cannot be null */
2555 } else {
2556 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
2557 }
2558 if (var7){
2559 var8 = NULL;
2560 if (var_new_child == NULL) {
2561 var9 = 0; /* is null */
2562 } else {
2563 var9 = 1; /* arg is null and recv is not */
2564 }
2565 if (var9){
2566 ((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)>*/;
2567 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
2568 cltype11 = type_parser_nodes__TKwredef.color;
2569 idtype12 = type_parser_nodes__TKwredef.id;
2570 if(cltype11 >= var_new_child->type->table_size) {
2571 var10 = 0;
2572 } else {
2573 var10 = var_new_child->type->type_table[cltype11] == idtype12;
2574 }
2575 if (!var10) {
2576 fprintf(stderr, "Runtime error: %s", "Assert failed");
2577 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 608);
2578 exit(1);
2579 }
2580 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AStdClassdef> */
2581 } else {
2582 var13 = NULL;
2583 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var13; /* _n_kwredef on <self:AStdClassdef> */
2584 }
2585 goto RET_LABEL;
2586 } else {
2587 }
2588 var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on <self:AStdClassdef> */
2589 if (var14 == NULL) {
2590 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
2591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 615);
2592 exit(1);
2593 }
2594 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:AVisibility>*/;
2595 if (var15){
2596 var16 = NULL;
2597 if (var_new_child == NULL) {
2598 var17 = 0; /* is null */
2599 } else {
2600 var17 = 1; /* arg is null and recv is not */
2601 }
2602 if (var17){
2603 ((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)>*/;
2604 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
2605 cltype19 = type_parser_nodes__AVisibility.color;
2606 idtype20 = type_parser_nodes__AVisibility.id;
2607 if(cltype19 >= var_new_child->type->table_size) {
2608 var18 = 0;
2609 } else {
2610 var18 = var_new_child->type->type_table[cltype19] == idtype20;
2611 }
2612 if (!var18) {
2613 fprintf(stderr, "Runtime error: %s", "Assert failed");
2614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 618);
2615 exit(1);
2616 }
2617 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AStdClassdef> */
2618 } else {
2619 fprintf(stderr, "Runtime error: %s", "Aborted");
2620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 621);
2621 exit(1);
2622 }
2623 goto RET_LABEL;
2624 } else {
2625 }
2626 var21 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on <self:AStdClassdef> */
2627 if (var21 == NULL) {
2628 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classkind");
2629 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 625);
2630 exit(1);
2631 }
2632 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:AClasskind>*/;
2633 if (var22){
2634 var23 = NULL;
2635 if (var_new_child == NULL) {
2636 var24 = 0; /* is null */
2637 } else {
2638 var24 = 1; /* arg is null and recv is not */
2639 }
2640 if (var24){
2641 ((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)>*/;
2642 /* <var_new_child:nullable ANode(ANode)> isa AClasskind */
2643 cltype26 = type_parser_nodes__AClasskind.color;
2644 idtype27 = type_parser_nodes__AClasskind.id;
2645 if(cltype26 >= var_new_child->type->table_size) {
2646 var25 = 0;
2647 } else {
2648 var25 = var_new_child->type->type_table[cltype26] == idtype27;
2649 }
2650 if (!var25) {
2651 fprintf(stderr, "Runtime error: %s", "Assert failed");
2652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 628);
2653 exit(1);
2654 }
2655 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_new_child; /* _n_classkind on <self:AStdClassdef> */
2656 } else {
2657 fprintf(stderr, "Runtime error: %s", "Aborted");
2658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 631);
2659 exit(1);
2660 }
2661 goto RET_LABEL;
2662 } else {
2663 }
2664 var28 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
2665 if (var28 == NULL) {
2666 var29 = 0; /* <var_old_child:ANode> cannot be null */
2667 } else {
2668 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable TClassid>*/;
2669 }
2670 if (var29){
2671 var30 = NULL;
2672 if (var_new_child == NULL) {
2673 var31 = 0; /* is null */
2674 } else {
2675 var31 = 1; /* arg is null and recv is not */
2676 }
2677 if (var31){
2678 ((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)>*/;
2679 /* <var_new_child:nullable ANode(ANode)> isa TClassid */
2680 cltype33 = type_parser_nodes__TClassid.color;
2681 idtype34 = type_parser_nodes__TClassid.id;
2682 if(cltype33 >= var_new_child->type->table_size) {
2683 var32 = 0;
2684 } else {
2685 var32 = var_new_child->type->type_table[cltype33] == idtype34;
2686 }
2687 if (!var32) {
2688 fprintf(stderr, "Runtime error: %s", "Assert failed");
2689 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 638);
2690 exit(1);
2691 }
2692 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_new_child; /* _n_id on <self:AStdClassdef> */
2693 } else {
2694 var35 = NULL;
2695 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var35; /* _n_id on <self:AStdClassdef> */
2696 }
2697 goto RET_LABEL;
2698 } else {
2699 }
2700 var36 = NEW_range__Range(&type_range__Rangekernel__Int);
2701 var37 = 0;
2702 var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2703 if (var38 == NULL) {
2704 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2705 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 645);
2706 exit(1);
2707 }
2708 var39 = ((long (*)(val*))(var38->class->vft[COLOR_abstract_collection__Collection__length]))(var38) /* length on <var38:ANodes[AFormaldef]>*/;
2709 var40 = BOX_kernel__Int(var37); /* autobox from Int to Discrete */
2710 var41 = BOX_kernel__Int(var39); /* autobox from Int to Discrete */
2711 ((void (*)(val*, val*, val*))(var36->class->vft[COLOR_range__Range__without_last]))(var36, var40, var41) /* without_last on <var36:Range[Int]>*/;
2712 CHECK_NEW_range__Range(var36);
2713 var42 = ((val* (*)(val*))(var36->class->vft[COLOR_abstract_collection__Collection__iterator]))(var36) /* iterator on <var36:Range[Int]>*/;
2714 for(;;) {
2715 var43 = ((short int (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var42) /* is_ok on <var42:Iterator[nullable Object]>*/;
2716 if(!var43) break;
2717 var44 = ((val* (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__item]))(var42) /* item on <var42:Iterator[nullable Object]>*/;
2718 var45 = ((struct instance_kernel__Int*)var44)->value; /* autounbox from nullable Object to Int */;
2719 var_i = var45;
2720 var46 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2721 if (var46 == NULL) {
2722 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2723 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 646);
2724 exit(1);
2725 }
2726 var47 = ((val* (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var46, var_i) /* [] on <var46:ANodes[AFormaldef]>*/;
2727 var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on <var47:nullable Object(AFormaldef)>*/;
2728 if (var48){
2729 var49 = NULL;
2730 if (var_new_child == NULL) {
2731 var50 = 0; /* is null */
2732 } else {
2733 var50 = 1; /* arg is null and recv is not */
2734 }
2735 if (var50){
2736 /* <var_new_child:nullable ANode(ANode)> isa AFormaldef */
2737 cltype52 = type_parser_nodes__AFormaldef.color;
2738 idtype53 = type_parser_nodes__AFormaldef.id;
2739 if(cltype52 >= var_new_child->type->table_size) {
2740 var51 = 0;
2741 } else {
2742 var51 = var_new_child->type->type_table[cltype52] == idtype53;
2743 }
2744 if (!var51) {
2745 fprintf(stderr, "Runtime error: %s", "Assert failed");
2746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 648);
2747 exit(1);
2748 }
2749 var54 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2750 if (var54 == NULL) {
2751 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 649);
2753 exit(1);
2754 }
2755 ((void (*)(val*, long, val*))(var54->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var54, var_i, var_new_child) /* []= on <var54:ANodes[AFormaldef]>*/;
2756 ((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)>*/;
2757 } else {
2758 var55 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2759 if (var55 == NULL) {
2760 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
2761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 652);
2762 exit(1);
2763 }
2764 ((void (*)(val*, long))(var55->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var55, var_i) /* remove_at on <var55:ANodes[AFormaldef]>*/;
2765 }
2766 goto RET_LABEL;
2767 } else {
2768 }
2769 CONTINUE_label: (void)0;
2770 ((void (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__next]))(var42) /* next on <var42:Iterator[nullable Object]>*/;
2771 }
2772 BREAK_label: (void)0;
2773 var56 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
2774 if (var56 == NULL) {
2775 var57 = 0; /* <var_old_child:ANode> cannot be null */
2776 } else {
2777 var57 = ((short int (*)(val*, val*))(var56->class->vft[COLOR_kernel__Object___61d_61d]))(var56, var_old_child) /* == on <var56:nullable AAnnotations>*/;
2778 }
2779 if (var57){
2780 var58 = NULL;
2781 if (var_new_child == NULL) {
2782 var59 = 0; /* is null */
2783 } else {
2784 var59 = 1; /* arg is null and recv is not */
2785 }
2786 if (var59){
2787 ((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)>*/;
2788 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2789 cltype61 = type_parser_nodes__AAnnotations.color;
2790 idtype62 = type_parser_nodes__AAnnotations.id;
2791 if(cltype61 >= var_new_child->type->table_size) {
2792 var60 = 0;
2793 } else {
2794 var60 = var_new_child->type->type_table[cltype61] == idtype62;
2795 }
2796 if (!var60) {
2797 fprintf(stderr, "Runtime error: %s", "Assert failed");
2798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 660);
2799 exit(1);
2800 }
2801 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStdClassdef> */
2802 } else {
2803 var63 = NULL;
2804 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var63; /* _n_annotations on <self:AStdClassdef> */
2805 }
2806 goto RET_LABEL;
2807 } else {
2808 }
2809 var64 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
2810 if (var64 == NULL) {
2811 var65 = 0; /* <var_old_child:ANode> cannot be null */
2812 } else {
2813 var65 = ((short int (*)(val*, val*))(var64->class->vft[COLOR_kernel__Object___61d_61d]))(var64, var_old_child) /* == on <var64:nullable AExternCodeBlock>*/;
2814 }
2815 if (var65){
2816 var66 = NULL;
2817 if (var_new_child == NULL) {
2818 var67 = 0; /* is null */
2819 } else {
2820 var67 = 1; /* arg is null and recv is not */
2821 }
2822 if (var67){
2823 ((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)>*/;
2824 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
2825 cltype69 = type_parser_nodes__AExternCodeBlock.color;
2826 idtype70 = type_parser_nodes__AExternCodeBlock.id;
2827 if(cltype69 >= var_new_child->type->table_size) {
2828 var68 = 0;
2829 } else {
2830 var68 = var_new_child->type->type_table[cltype69] == idtype70;
2831 }
2832 if (!var68) {
2833 fprintf(stderr, "Runtime error: %s", "Assert failed");
2834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 670);
2835 exit(1);
2836 }
2837 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on <self:AStdClassdef> */
2838 } else {
2839 var71 = NULL;
2840 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var71; /* _n_extern_code_block on <self:AStdClassdef> */
2841 }
2842 goto RET_LABEL;
2843 } else {
2844 }
2845 var72 = NEW_range__Range(&type_range__Rangekernel__Int);
2846 var73 = 0;
2847 var74 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2848 if (var74 == NULL) {
2849 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2850 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 677);
2851 exit(1);
2852 }
2853 var75 = ((long (*)(val*))(var74->class->vft[COLOR_abstract_collection__Collection__length]))(var74) /* length on <var74:ANodes[ASuperclass]>*/;
2854 var76 = BOX_kernel__Int(var73); /* autobox from Int to Discrete */
2855 var77 = BOX_kernel__Int(var75); /* autobox from Int to Discrete */
2856 ((void (*)(val*, val*, val*))(var72->class->vft[COLOR_range__Range__without_last]))(var72, var76, var77) /* without_last on <var72:Range[Int]>*/;
2857 CHECK_NEW_range__Range(var72);
2858 var78 = ((val* (*)(val*))(var72->class->vft[COLOR_abstract_collection__Collection__iterator]))(var72) /* iterator on <var72:Range[Int]>*/;
2859 for(;;) {
2860 var79 = ((short int (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var78) /* is_ok on <var78:Iterator[nullable Object]>*/;
2861 if(!var79) break;
2862 var80 = ((val* (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__item]))(var78) /* item on <var78:Iterator[nullable Object]>*/;
2863 var82 = ((struct instance_kernel__Int*)var80)->value; /* autounbox from nullable Object to Int */;
2864 var_i81 = var82;
2865 var83 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2866 if (var83 == NULL) {
2867 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 678);
2869 exit(1);
2870 }
2871 var84 = ((val* (*)(val*, long))(var83->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var83, var_i81) /* [] on <var83:ANodes[ASuperclass]>*/;
2872 var85 = ((short int (*)(val*, val*))(var84->class->vft[COLOR_kernel__Object___61d_61d]))(var84, var_old_child) /* == on <var84:nullable Object(ASuperclass)>*/;
2873 if (var85){
2874 var86 = NULL;
2875 if (var_new_child == NULL) {
2876 var87 = 0; /* is null */
2877 } else {
2878 var87 = 1; /* arg is null and recv is not */
2879 }
2880 if (var87){
2881 /* <var_new_child:nullable ANode(ANode)> isa ASuperclass */
2882 cltype89 = type_parser_nodes__ASuperclass.color;
2883 idtype90 = type_parser_nodes__ASuperclass.id;
2884 if(cltype89 >= var_new_child->type->table_size) {
2885 var88 = 0;
2886 } else {
2887 var88 = var_new_child->type->type_table[cltype89] == idtype90;
2888 }
2889 if (!var88) {
2890 fprintf(stderr, "Runtime error: %s", "Assert failed");
2891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 680);
2892 exit(1);
2893 }
2894 var91 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2895 if (var91 == NULL) {
2896 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 681);
2898 exit(1);
2899 }
2900 ((void (*)(val*, long, val*))(var91->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var91, var_i81, var_new_child) /* []= on <var91:ANodes[ASuperclass]>*/;
2901 ((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)>*/;
2902 } else {
2903 var92 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2904 if (var92 == NULL) {
2905 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
2906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 684);
2907 exit(1);
2908 }
2909 ((void (*)(val*, long))(var92->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var92, var_i81) /* remove_at on <var92:ANodes[ASuperclass]>*/;
2910 }
2911 goto RET_LABEL;
2912 } else {
2913 }
2914 CONTINUE_label93: (void)0;
2915 ((void (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__next]))(var78) /* next on <var78:Iterator[nullable Object]>*/;
2916 }
2917 BREAK_label93: (void)0;
2918 var94 = NEW_range__Range(&type_range__Rangekernel__Int);
2919 var95 = 0;
2920 var96 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2921 if (var96 == NULL) {
2922 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2923 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 689);
2924 exit(1);
2925 }
2926 var97 = ((long (*)(val*))(var96->class->vft[COLOR_abstract_collection__Collection__length]))(var96) /* length on <var96:ANodes[APropdef]>*/;
2927 var98 = BOX_kernel__Int(var95); /* autobox from Int to Discrete */
2928 var99 = BOX_kernel__Int(var97); /* autobox from Int to Discrete */
2929 ((void (*)(val*, val*, val*))(var94->class->vft[COLOR_range__Range__without_last]))(var94, var98, var99) /* without_last on <var94:Range[Int]>*/;
2930 CHECK_NEW_range__Range(var94);
2931 var100 = ((val* (*)(val*))(var94->class->vft[COLOR_abstract_collection__Collection__iterator]))(var94) /* iterator on <var94:Range[Int]>*/;
2932 for(;;) {
2933 var101 = ((short int (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var100) /* is_ok on <var100:Iterator[nullable Object]>*/;
2934 if(!var101) break;
2935 var102 = ((val* (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__item]))(var100) /* item on <var100:Iterator[nullable Object]>*/;
2936 var104 = ((struct instance_kernel__Int*)var102)->value; /* autounbox from nullable Object to Int */;
2937 var_i103 = var104;
2938 var105 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2939 if (var105 == NULL) {
2940 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2941 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 690);
2942 exit(1);
2943 }
2944 var106 = ((val* (*)(val*, long))(var105->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var105, var_i103) /* [] on <var105:ANodes[APropdef]>*/;
2945 var107 = ((short int (*)(val*, val*))(var106->class->vft[COLOR_kernel__Object___61d_61d]))(var106, var_old_child) /* == on <var106:nullable Object(APropdef)>*/;
2946 if (var107){
2947 var108 = NULL;
2948 if (var_new_child == NULL) {
2949 var109 = 0; /* is null */
2950 } else {
2951 var109 = 1; /* arg is null and recv is not */
2952 }
2953 if (var109){
2954 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
2955 cltype111 = type_parser_nodes__APropdef.color;
2956 idtype112 = type_parser_nodes__APropdef.id;
2957 if(cltype111 >= var_new_child->type->table_size) {
2958 var110 = 0;
2959 } else {
2960 var110 = var_new_child->type->type_table[cltype111] == idtype112;
2961 }
2962 if (!var110) {
2963 fprintf(stderr, "Runtime error: %s", "Assert failed");
2964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 692);
2965 exit(1);
2966 }
2967 var113 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2968 if (var113 == NULL) {
2969 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 693);
2971 exit(1);
2972 }
2973 ((void (*)(val*, long, val*))(var113->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var113, var_i103, var_new_child) /* []= on <var113:ANodes[APropdef]>*/;
2974 ((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)>*/;
2975 } else {
2976 var114 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2977 if (var114 == NULL) {
2978 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
2979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 696);
2980 exit(1);
2981 }
2982 ((void (*)(val*, long))(var114->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var114, var_i103) /* remove_at on <var114:ANodes[APropdef]>*/;
2983 }
2984 goto RET_LABEL;
2985 } else {
2986 }
2987 CONTINUE_label115: (void)0;
2988 ((void (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__next]))(var100) /* next on <var100:Iterator[nullable Object]>*/;
2989 }
2990 BREAK_label115: (void)0;
2991 var116 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on <self:AStdClassdef> */
2992 if (var116 == NULL) {
2993 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
2994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 701);
2995 exit(1);
2996 }
2997 var117 = ((short int (*)(val*, val*))(var116->class->vft[COLOR_kernel__Object___61d_61d]))(var116, var_old_child) /* == on <var116:TKwend>*/;
2998 if (var117){
2999 var118 = NULL;
3000 if (var_new_child == NULL) {
3001 var119 = 0; /* is null */
3002 } else {
3003 var119 = 1; /* arg is null and recv is not */
3004 }
3005 if (var119){
3006 ((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)>*/;
3007 /* <var_new_child:nullable ANode(ANode)> isa TKwend */
3008 cltype121 = type_parser_nodes__TKwend.color;
3009 idtype122 = type_parser_nodes__TKwend.id;
3010 if(cltype121 >= var_new_child->type->table_size) {
3011 var120 = 0;
3012 } else {
3013 var120 = var_new_child->type->type_table[cltype121] == idtype122;
3014 }
3015 if (!var120) {
3016 fprintf(stderr, "Runtime error: %s", "Assert failed");
3017 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 704);
3018 exit(1);
3019 }
3020 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_new_child; /* _n_kwend on <self:AStdClassdef> */
3021 } else {
3022 fprintf(stderr, "Runtime error: %s", "Aborted");
3023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 707);
3024 exit(1);
3025 }
3026 goto RET_LABEL;
3027 } else {
3028 }
3029 RET_LABEL:;
3030 }
3031 /* method parser_prod#AStdClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3032 void VIRTUAL_parser_prod__AStdClassdef__replace_child(val* self, val* p0, val* p1) {
3033 parser_prod__AStdClassdef__replace_child(self, p0, p1);
3034 RET_LABEL:;
3035 }
3036 /* method parser_prod#AStdClassdef#n_doc= for (self: AStdClassdef, nullable ADoc) */
3037 void parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) {
3038 val* var_node /* var node: nullable ADoc */;
3039 val* var /* : null */;
3040 short int var1 /* : Bool */;
3041 var_node = p0;
3042 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_node; /* _n_doc on <self:AStdClassdef> */
3043 var = NULL;
3044 if (var_node == NULL) {
3045 var1 = 0; /* is null */
3046 } else {
3047 var1 = 1; /* arg is null and recv is not */
3048 }
3049 if (var1){
3050 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
3051 } else {
3052 }
3053 RET_LABEL:;
3054 }
3055 /* method parser_prod#AStdClassdef#n_doc= for (self: Object, nullable ADoc) */
3056 void VIRTUAL_parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) {
3057 parser_prod__AStdClassdef__n_doc_61d(self, p0);
3058 RET_LABEL:;
3059 }
3060 /* method parser_prod#AStdClassdef#n_kwredef= for (self: AStdClassdef, nullable TKwredef) */
3061 void parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) {
3062 val* var_node /* var node: nullable TKwredef */;
3063 val* var /* : null */;
3064 short int var1 /* : Bool */;
3065 var_node = p0;
3066 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AStdClassdef> */
3067 var = NULL;
3068 if (var_node == NULL) {
3069 var1 = 0; /* is null */
3070 } else {
3071 var1 = 1; /* arg is null and recv is not */
3072 }
3073 if (var1){
3074 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
3075 } else {
3076 }
3077 RET_LABEL:;
3078 }
3079 /* method parser_prod#AStdClassdef#n_kwredef= for (self: Object, nullable TKwredef) */
3080 void VIRTUAL_parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) {
3081 parser_prod__AStdClassdef__n_kwredef_61d(self, p0);
3082 RET_LABEL:;
3083 }
3084 /* method parser_prod#AStdClassdef#n_visibility= for (self: AStdClassdef, AVisibility) */
3085 void parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) {
3086 val* var_node /* var node: AVisibility */;
3087 var_node = p0;
3088 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_node; /* _n_visibility on <self:AStdClassdef> */
3089 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
3090 RET_LABEL:;
3091 }
3092 /* method parser_prod#AStdClassdef#n_visibility= for (self: Object, AVisibility) */
3093 void VIRTUAL_parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) {
3094 parser_prod__AStdClassdef__n_visibility_61d(self, p0);
3095 RET_LABEL:;
3096 }
3097 /* method parser_prod#AStdClassdef#n_classkind= for (self: AStdClassdef, AClasskind) */
3098 void parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) {
3099 val* var_node /* var node: AClasskind */;
3100 var_node = p0;
3101 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_node; /* _n_classkind on <self:AStdClassdef> */
3102 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AClasskind>*/;
3103 RET_LABEL:;
3104 }
3105 /* method parser_prod#AStdClassdef#n_classkind= for (self: Object, AClasskind) */
3106 void VIRTUAL_parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) {
3107 parser_prod__AStdClassdef__n_classkind_61d(self, p0);
3108 RET_LABEL:;
3109 }
3110 /* method parser_prod#AStdClassdef#n_id= for (self: AStdClassdef, nullable TClassid) */
3111 void parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) {
3112 val* var_node /* var node: nullable TClassid */;
3113 val* var /* : null */;
3114 short int var1 /* : Bool */;
3115 var_node = p0;
3116 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_node; /* _n_id on <self:AStdClassdef> */
3117 var = NULL;
3118 if (var_node == NULL) {
3119 var1 = 0; /* is null */
3120 } else {
3121 var1 = 1; /* arg is null and recv is not */
3122 }
3123 if (var1){
3124 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TClassid(TClassid)>*/;
3125 } else {
3126 }
3127 RET_LABEL:;
3128 }
3129 /* method parser_prod#AStdClassdef#n_id= for (self: Object, nullable TClassid) */
3130 void VIRTUAL_parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) {
3131 parser_prod__AStdClassdef__n_id_61d(self, p0);
3132 RET_LABEL:;
3133 }
3134 /* method parser_prod#AStdClassdef#n_annotations= for (self: AStdClassdef, nullable AAnnotations) */
3135 void parser_prod__AStdClassdef__n_annotations_61d(val* self, val* p0) {
3136 val* var_node /* var node: nullable AAnnotations */;
3137 val* var /* : null */;
3138 short int var1 /* : Bool */;
3139 var_node = p0;
3140 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStdClassdef> */
3141 var = NULL;
3142 if (var_node == NULL) {
3143 var1 = 0; /* is null */
3144 } else {
3145 var1 = 1; /* arg is null and recv is not */
3146 }
3147 if (var1){
3148 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3149 } else {
3150 }
3151 RET_LABEL:;
3152 }
3153 /* method parser_prod#AStdClassdef#n_annotations= for (self: Object, nullable AAnnotations) */
3154 void VIRTUAL_parser_prod__AStdClassdef__n_annotations_61d(val* self, val* p0) {
3155 parser_prod__AStdClassdef__n_annotations_61d(self, p0);
3156 RET_LABEL:;
3157 }
3158 /* method parser_prod#AStdClassdef#n_extern_code_block= for (self: AStdClassdef, nullable AExternCodeBlock) */
3159 void parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) {
3160 val* var_node /* var node: nullable AExternCodeBlock */;
3161 val* var /* : null */;
3162 short int var1 /* : Bool */;
3163 var_node = p0;
3164 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on <self:AStdClassdef> */
3165 var = NULL;
3166 if (var_node == NULL) {
3167 var1 = 0; /* is null */
3168 } else {
3169 var1 = 1; /* arg is null and recv is not */
3170 }
3171 if (var1){
3172 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCodeBlock(AExternCodeBlock)>*/;
3173 } else {
3174 }
3175 RET_LABEL:;
3176 }
3177 /* method parser_prod#AStdClassdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */
3178 void VIRTUAL_parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) {
3179 parser_prod__AStdClassdef__n_extern_code_block_61d(self, p0);
3180 RET_LABEL:;
3181 }
3182 /* method parser_prod#AStdClassdef#n_kwend= for (self: AStdClassdef, TKwend) */
3183 void parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) {
3184 val* var_node /* var node: TKwend */;
3185 var_node = p0;
3186 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_node; /* _n_kwend on <self:AStdClassdef> */
3187 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwend>*/;
3188 RET_LABEL:;
3189 }
3190 /* method parser_prod#AStdClassdef#n_kwend= for (self: Object, TKwend) */
3191 void VIRTUAL_parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) {
3192 parser_prod__AStdClassdef__n_kwend_61d(self, p0);
3193 RET_LABEL:;
3194 }
3195 /* method parser_prod#AStdClassdef#visit_all for (self: AStdClassdef, Visitor) */
3196 void parser_prod__AStdClassdef__visit_all(val* self, val* p0) {
3197 val* var_v /* var v: Visitor */;
3198 val* var /* : nullable ADoc */;
3199 val* var1 /* : null */;
3200 short int var2 /* : Bool */;
3201 val* var3 /* : nullable ADoc */;
3202 val* var4 /* : nullable TKwredef */;
3203 val* var5 /* : null */;
3204 short int var6 /* : Bool */;
3205 val* var7 /* : nullable TKwredef */;
3206 val* var8 /* : AVisibility */;
3207 val* var9 /* : AClasskind */;
3208 val* var10 /* : nullable TClassid */;
3209 val* var11 /* : null */;
3210 short int var12 /* : Bool */;
3211 val* var13 /* : nullable TClassid */;
3212 val* var14 /* : ANodes[AFormaldef] */;
3213 val* var15 /* : Iterator[nullable Object] */;
3214 short int var16 /* : Bool */;
3215 val* var17 /* : nullable Object */;
3216 val* var_n /* var n: AFormaldef */;
3217 val* var18 /* : nullable AAnnotations */;
3218 val* var19 /* : null */;
3219 short int var20 /* : Bool */;
3220 val* var21 /* : nullable AAnnotations */;
3221 val* var22 /* : nullable AExternCodeBlock */;
3222 val* var23 /* : null */;
3223 short int var24 /* : Bool */;
3224 val* var25 /* : nullable AExternCodeBlock */;
3225 val* var26 /* : ANodes[ASuperclass] */;
3226 val* var27 /* : Iterator[nullable Object] */;
3227 short int var28 /* : Bool */;
3228 val* var29 /* : nullable Object */;
3229 val* var_n30 /* var n: ASuperclass */;
3230 val* var32 /* : ANodes[APropdef] */;
3231 val* var33 /* : Iterator[nullable Object] */;
3232 short int var34 /* : Bool */;
3233 val* var35 /* : nullable Object */;
3234 val* var_n36 /* var n: APropdef */;
3235 val* var38 /* : TKwend */;
3236 var_v = p0;
3237 var = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
3238 var1 = NULL;
3239 if (var == NULL) {
3240 var2 = 0; /* is null */
3241 } else {
3242 var2 = 1; /* arg is null and recv is not */
3243 }
3244 if (var2){
3245 var3 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
3246 if (var3 == NULL) {
3247 fprintf(stderr, "Runtime error: %s", "Cast failed");
3248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 768);
3249 exit(1);
3250 }
3251 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
3252 } else {
3253 }
3254 var4 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
3255 var5 = NULL;
3256 if (var4 == NULL) {
3257 var6 = 0; /* is null */
3258 } else {
3259 var6 = 1; /* arg is null and recv is not */
3260 }
3261 if (var6){
3262 var7 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
3263 if (var7 == NULL) {
3264 fprintf(stderr, "Runtime error: %s", "Cast failed");
3265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 771);
3266 exit(1);
3267 }
3268 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
3269 } else {
3270 }
3271 var8 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on <self:AStdClassdef> */
3272 if (var8 == NULL) {
3273 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
3274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 773);
3275 exit(1);
3276 }
3277 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
3278 var9 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on <self:AStdClassdef> */
3279 if (var9 == NULL) {
3280 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_classkind");
3281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 774);
3282 exit(1);
3283 }
3284 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
3285 var10 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
3286 var11 = NULL;
3287 if (var10 == NULL) {
3288 var12 = 0; /* is null */
3289 } else {
3290 var12 = 1; /* arg is null and recv is not */
3291 }
3292 if (var12){
3293 var13 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
3294 if (var13 == NULL) {
3295 fprintf(stderr, "Runtime error: %s", "Cast failed");
3296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 776);
3297 exit(1);
3298 }
3299 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on <var_v:Visitor>*/;
3300 } else {
3301 }
3302 var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
3303 if (var14 == NULL) {
3304 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_formaldefs");
3305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 778);
3306 exit(1);
3307 }
3308 var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on <var14:ANodes[AFormaldef]>*/;
3309 for(;;) {
3310 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
3311 if(!var16) break;
3312 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
3313 var_n = var17;
3314 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3315 CONTINUE_label: (void)0;
3316 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
3317 }
3318 BREAK_label: (void)0;
3319 var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
3320 var19 = NULL;
3321 if (var18 == NULL) {
3322 var20 = 0; /* is null */
3323 } else {
3324 var20 = 1; /* arg is null and recv is not */
3325 }
3326 if (var20){
3327 var21 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
3328 if (var21 == NULL) {
3329 fprintf(stderr, "Runtime error: %s", "Cast failed");
3330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 782);
3331 exit(1);
3332 }
3333 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on <var_v:Visitor>*/;
3334 } else {
3335 }
3336 var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
3337 var23 = NULL;
3338 if (var22 == NULL) {
3339 var24 = 0; /* is null */
3340 } else {
3341 var24 = 1; /* arg is null and recv is not */
3342 }
3343 if (var24){
3344 var25 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
3345 if (var25 == NULL) {
3346 fprintf(stderr, "Runtime error: %s", "Cast failed");
3347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 785);
3348 exit(1);
3349 }
3350 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on <var_v:Visitor>*/;
3351 } else {
3352 }
3353 var26 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
3354 if (var26 == NULL) {
3355 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_superclasses");
3356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 787);
3357 exit(1);
3358 }
3359 var27 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on <var26:ANodes[ASuperclass]>*/;
3360 for(;;) {
3361 var28 = ((short int (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var27) /* is_ok on <var27:Iterator[nullable Object]>*/;
3362 if(!var28) break;
3363 var29 = ((val* (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__item]))(var27) /* item on <var27:Iterator[nullable Object]>*/;
3364 var_n30 = var29;
3365 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n30) /* enter_visit on <var_v:Visitor>*/;
3366 CONTINUE_label31: (void)0;
3367 ((void (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__next]))(var27) /* next on <var27:Iterator[nullable Object]>*/;
3368 }
3369 BREAK_label31: (void)0;
3370 var32 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
3371 if (var32 == NULL) {
3372 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 790);
3374 exit(1);
3375 }
3376 var33 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Collection__iterator]))(var32) /* iterator on <var32:ANodes[APropdef]>*/;
3377 for(;;) {
3378 var34 = ((short int (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var33) /* is_ok on <var33:Iterator[nullable Object]>*/;
3379 if(!var34) break;
3380 var35 = ((val* (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__item]))(var33) /* item on <var33:Iterator[nullable Object]>*/;
3381 var_n36 = var35;
3382 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n36) /* enter_visit on <var_v:Visitor>*/;
3383 CONTINUE_label37: (void)0;
3384 ((void (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__next]))(var33) /* next on <var33:Iterator[nullable Object]>*/;
3385 }
3386 BREAK_label37: (void)0;
3387 var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on <self:AStdClassdef> */
3388 if (var38 == NULL) {
3389 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwend");
3390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 793);
3391 exit(1);
3392 }
3393 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var38) /* enter_visit on <var_v:Visitor>*/;
3394 RET_LABEL:;
3395 }
3396 /* method parser_prod#AStdClassdef#visit_all for (self: Object, Visitor) */
3397 void VIRTUAL_parser_prod__AStdClassdef__visit_all(val* self, val* p0) {
3398 parser_prod__AStdClassdef__visit_all(self, p0);
3399 RET_LABEL:;
3400 }
3401 /* method parser_prod#ATopClassdef#empty_init for (self: ATopClassdef) */
3402 void parser_prod__ATopClassdef__empty_init(val* self) {
3403 RET_LABEL:;
3404 }
3405 /* method parser_prod#ATopClassdef#empty_init for (self: Object) */
3406 void VIRTUAL_parser_prod__ATopClassdef__empty_init(val* self) {
3407 parser_prod__ATopClassdef__empty_init(self);
3408 RET_LABEL:;
3409 }
3410 /* method parser_prod#ATopClassdef#init_atopclassdef for (self: ATopClassdef, Collection[Object]) */
3411 void parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) {
3412 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
3413 val* var /* : Iterator[nullable Object] */;
3414 short int var1 /* : Bool */;
3415 val* var2 /* : nullable Object */;
3416 val* var_n /* var n: Object */;
3417 short int var3 /* : Bool */;
3418 int cltype;
3419 int idtype;
3420 val* var4 /* : ANodes[APropdef] */;
3421 var_n_propdefs = p0;
3422 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATopClassdef__empty_init]))(self) /* empty_init on <self:ATopClassdef>*/;
3423 var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
3424 for(;;) {
3425 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
3426 if(!var1) break;
3427 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
3428 var_n = var2;
3429 /* <var_n:Object> isa APropdef */
3430 cltype = type_parser_nodes__APropdef.color;
3431 idtype = type_parser_nodes__APropdef.id;
3432 if(cltype >= var_n->type->table_size) {
3433 var3 = 0;
3434 } else {
3435 var3 = var_n->type->type_table[cltype] == idtype;
3436 }
3437 if (!var3) {
3438 fprintf(stderr, "Runtime error: %s", "Assert failed");
3439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 805);
3440 exit(1);
3441 }
3442 var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3443 if (var4 == NULL) {
3444 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 806);
3446 exit(1);
3447 }
3448 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[APropdef]>*/;
3449 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(APropdef)>*/;
3450 CONTINUE_label: (void)0;
3451 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
3452 }
3453 BREAK_label: (void)0;
3454 RET_LABEL:;
3455 }
3456 /* method parser_prod#ATopClassdef#init_atopclassdef for (self: Object, Collection[Object]) */
3457 void VIRTUAL_parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) {
3458 parser_prod__ATopClassdef__init_atopclassdef(self, p0);
3459 RET_LABEL:;
3460 }
3461 /* method parser_prod#ATopClassdef#replace_child for (self: ATopClassdef, ANode, nullable ANode) */
3462 void parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) {
3463 val* var_old_child /* var old_child: ANode */;
3464 val* var_new_child /* var new_child: nullable ANode */;
3465 val* var /* : Range[Int] */;
3466 long var1 /* : Int */;
3467 val* var2 /* : ANodes[APropdef] */;
3468 long var3 /* : Int */;
3469 val* var4 /* : Discrete */;
3470 val* var5 /* : Discrete */;
3471 val* var6 /* : Iterator[nullable Object] */;
3472 short int var7 /* : Bool */;
3473 val* var8 /* : nullable Object */;
3474 long var_i /* var i: Int */;
3475 long var9 /* : Int */;
3476 val* var10 /* : ANodes[APropdef] */;
3477 val* var11 /* : nullable Object */;
3478 short int var12 /* : Bool */;
3479 val* var13 /* : null */;
3480 short int var14 /* : Bool */;
3481 short int var15 /* : Bool */;
3482 int cltype;
3483 int idtype;
3484 val* var16 /* : ANodes[APropdef] */;
3485 val* var17 /* : ANodes[APropdef] */;
3486 var_old_child = p0;
3487 var_new_child = p1;
3488 var = NEW_range__Range(&type_range__Rangekernel__Int);
3489 var1 = 0;
3490 var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3491 if (var2 == NULL) {
3492 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 813);
3494 exit(1);
3495 }
3496 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[APropdef]>*/;
3497 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
3498 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
3499 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
3500 CHECK_NEW_range__Range(var);
3501 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
3502 for(;;) {
3503 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
3504 if(!var7) break;
3505 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
3506 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
3507 var_i = var9;
3508 var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3509 if (var10 == NULL) {
3510 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 814);
3512 exit(1);
3513 }
3514 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[APropdef]>*/;
3515 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(APropdef)>*/;
3516 if (var12){
3517 var13 = NULL;
3518 if (var_new_child == NULL) {
3519 var14 = 0; /* is null */
3520 } else {
3521 var14 = 1; /* arg is null and recv is not */
3522 }
3523 if (var14){
3524 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
3525 cltype = type_parser_nodes__APropdef.color;
3526 idtype = type_parser_nodes__APropdef.id;
3527 if(cltype >= var_new_child->type->table_size) {
3528 var15 = 0;
3529 } else {
3530 var15 = var_new_child->type->type_table[cltype] == idtype;
3531 }
3532 if (!var15) {
3533 fprintf(stderr, "Runtime error: %s", "Assert failed");
3534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 816);
3535 exit(1);
3536 }
3537 var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3538 if (var16 == NULL) {
3539 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 817);
3541 exit(1);
3542 }
3543 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[APropdef]>*/;
3544 ((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)>*/;
3545 } else {
3546 var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3547 if (var17 == NULL) {
3548 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 820);
3550 exit(1);
3551 }
3552 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[APropdef]>*/;
3553 }
3554 goto RET_LABEL;
3555 } else {
3556 }
3557 CONTINUE_label: (void)0;
3558 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
3559 }
3560 BREAK_label: (void)0;
3561 RET_LABEL:;
3562 }
3563 /* method parser_prod#ATopClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3564 void VIRTUAL_parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) {
3565 parser_prod__ATopClassdef__replace_child(self, p0, p1);
3566 RET_LABEL:;
3567 }
3568 /* method parser_prod#ATopClassdef#visit_all for (self: ATopClassdef, Visitor) */
3569 void parser_prod__ATopClassdef__visit_all(val* self, val* p0) {
3570 val* var_v /* var v: Visitor */;
3571 val* var /* : ANodes[APropdef] */;
3572 val* var1 /* : Iterator[nullable Object] */;
3573 short int var2 /* : Bool */;
3574 val* var3 /* : nullable Object */;
3575 val* var_n /* var n: APropdef */;
3576 var_v = p0;
3577 var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3578 if (var == NULL) {
3579 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 831);
3581 exit(1);
3582 }
3583 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[APropdef]>*/;
3584 for(;;) {
3585 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
3586 if(!var2) break;
3587 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
3588 var_n = var3;
3589 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3590 CONTINUE_label: (void)0;
3591 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
3592 }
3593 BREAK_label: (void)0;
3594 RET_LABEL:;
3595 }
3596 /* method parser_prod#ATopClassdef#visit_all for (self: Object, Visitor) */
3597 void VIRTUAL_parser_prod__ATopClassdef__visit_all(val* self, val* p0) {
3598 parser_prod__ATopClassdef__visit_all(self, p0);
3599 RET_LABEL:;
3600 }
3601 /* method parser_prod#AMainClassdef#empty_init for (self: AMainClassdef) */
3602 void parser_prod__AMainClassdef__empty_init(val* self) {
3603 RET_LABEL:;
3604 }
3605 /* method parser_prod#AMainClassdef#empty_init for (self: Object) */
3606 void VIRTUAL_parser_prod__AMainClassdef__empty_init(val* self) {
3607 parser_prod__AMainClassdef__empty_init(self);
3608 RET_LABEL:;
3609 }
3610 /* method parser_prod#AMainClassdef#init_amainclassdef for (self: AMainClassdef, Collection[Object]) */
3611 void parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) {
3612 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
3613 val* var /* : Iterator[nullable Object] */;
3614 short int var1 /* : Bool */;
3615 val* var2 /* : nullable Object */;
3616 val* var_n /* var n: Object */;
3617 short int var3 /* : Bool */;
3618 int cltype;
3619 int idtype;
3620 val* var4 /* : ANodes[APropdef] */;
3621 var_n_propdefs = p0;
3622 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMainClassdef__empty_init]))(self) /* empty_init on <self:AMainClassdef>*/;
3623 var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
3624 for(;;) {
3625 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
3626 if(!var1) break;
3627 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
3628 var_n = var2;
3629 /* <var_n:Object> isa APropdef */
3630 cltype = type_parser_nodes__APropdef.color;
3631 idtype = type_parser_nodes__APropdef.id;
3632 if(cltype >= var_n->type->table_size) {
3633 var3 = 0;
3634 } else {
3635 var3 = var_n->type->type_table[cltype] == idtype;
3636 }
3637 if (!var3) {
3638 fprintf(stderr, "Runtime error: %s", "Assert failed");
3639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 845);
3640 exit(1);
3641 }
3642 var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3643 if (var4 == NULL) {
3644 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3645 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 846);
3646 exit(1);
3647 }
3648 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[APropdef]>*/;
3649 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(APropdef)>*/;
3650 CONTINUE_label: (void)0;
3651 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
3652 }
3653 BREAK_label: (void)0;
3654 RET_LABEL:;
3655 }
3656 /* method parser_prod#AMainClassdef#init_amainclassdef for (self: Object, Collection[Object]) */
3657 void VIRTUAL_parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) {
3658 parser_prod__AMainClassdef__init_amainclassdef(self, p0);
3659 RET_LABEL:;
3660 }
3661 /* method parser_prod#AMainClassdef#replace_child for (self: AMainClassdef, ANode, nullable ANode) */
3662 void parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) {
3663 val* var_old_child /* var old_child: ANode */;
3664 val* var_new_child /* var new_child: nullable ANode */;
3665 val* var /* : Range[Int] */;
3666 long var1 /* : Int */;
3667 val* var2 /* : ANodes[APropdef] */;
3668 long var3 /* : Int */;
3669 val* var4 /* : Discrete */;
3670 val* var5 /* : Discrete */;
3671 val* var6 /* : Iterator[nullable Object] */;
3672 short int var7 /* : Bool */;
3673 val* var8 /* : nullable Object */;
3674 long var_i /* var i: Int */;
3675 long var9 /* : Int */;
3676 val* var10 /* : ANodes[APropdef] */;
3677 val* var11 /* : nullable Object */;
3678 short int var12 /* : Bool */;
3679 val* var13 /* : null */;
3680 short int var14 /* : Bool */;
3681 short int var15 /* : Bool */;
3682 int cltype;
3683 int idtype;
3684 val* var16 /* : ANodes[APropdef] */;
3685 val* var17 /* : ANodes[APropdef] */;
3686 var_old_child = p0;
3687 var_new_child = p1;
3688 var = NEW_range__Range(&type_range__Rangekernel__Int);
3689 var1 = 0;
3690 var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3691 if (var2 == NULL) {
3692 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 853);
3694 exit(1);
3695 }
3696 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[APropdef]>*/;
3697 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
3698 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
3699 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
3700 CHECK_NEW_range__Range(var);
3701 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
3702 for(;;) {
3703 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
3704 if(!var7) break;
3705 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
3706 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
3707 var_i = var9;
3708 var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3709 if (var10 == NULL) {
3710 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3711 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 854);
3712 exit(1);
3713 }
3714 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[APropdef]>*/;
3715 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(APropdef)>*/;
3716 if (var12){
3717 var13 = NULL;
3718 if (var_new_child == NULL) {
3719 var14 = 0; /* is null */
3720 } else {
3721 var14 = 1; /* arg is null and recv is not */
3722 }
3723 if (var14){
3724 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
3725 cltype = type_parser_nodes__APropdef.color;
3726 idtype = type_parser_nodes__APropdef.id;
3727 if(cltype >= var_new_child->type->table_size) {
3728 var15 = 0;
3729 } else {
3730 var15 = var_new_child->type->type_table[cltype] == idtype;
3731 }
3732 if (!var15) {
3733 fprintf(stderr, "Runtime error: %s", "Assert failed");
3734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 856);
3735 exit(1);
3736 }
3737 var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3738 if (var16 == NULL) {
3739 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 857);
3741 exit(1);
3742 }
3743 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[APropdef]>*/;
3744 ((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)>*/;
3745 } else {
3746 var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3747 if (var17 == NULL) {
3748 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 860);
3750 exit(1);
3751 }
3752 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[APropdef]>*/;
3753 }
3754 goto RET_LABEL;
3755 } else {
3756 }
3757 CONTINUE_label: (void)0;
3758 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
3759 }
3760 BREAK_label: (void)0;
3761 RET_LABEL:;
3762 }
3763 /* method parser_prod#AMainClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3764 void VIRTUAL_parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) {
3765 parser_prod__AMainClassdef__replace_child(self, p0, p1);
3766 RET_LABEL:;
3767 }
3768 /* method parser_prod#AMainClassdef#visit_all for (self: AMainClassdef, Visitor) */
3769 void parser_prod__AMainClassdef__visit_all(val* self, val* p0) {
3770 val* var_v /* var v: Visitor */;
3771 val* var /* : ANodes[APropdef] */;
3772 val* var1 /* : Iterator[nullable Object] */;
3773 short int var2 /* : Bool */;
3774 val* var3 /* : nullable Object */;
3775 val* var_n /* var n: APropdef */;
3776 var_v = p0;
3777 var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3778 if (var == NULL) {
3779 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_propdefs");
3780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 871);
3781 exit(1);
3782 }
3783 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[APropdef]>*/;
3784 for(;;) {
3785 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
3786 if(!var2) break;
3787 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
3788 var_n = var3;
3789 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3790 CONTINUE_label: (void)0;
3791 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
3792 }
3793 BREAK_label: (void)0;
3794 RET_LABEL:;
3795 }
3796 /* method parser_prod#AMainClassdef#visit_all for (self: Object, Visitor) */
3797 void VIRTUAL_parser_prod__AMainClassdef__visit_all(val* self, val* p0) {
3798 parser_prod__AMainClassdef__visit_all(self, p0);
3799 RET_LABEL:;
3800 }
3801 /* method parser_prod#AConcreteClasskind#empty_init for (self: AConcreteClasskind) */
3802 void parser_prod__AConcreteClasskind__empty_init(val* self) {
3803 RET_LABEL:;
3804 }
3805 /* method parser_prod#AConcreteClasskind#empty_init for (self: Object) */
3806 void VIRTUAL_parser_prod__AConcreteClasskind__empty_init(val* self) {
3807 parser_prod__AConcreteClasskind__empty_init(self);
3808 RET_LABEL:;
3809 }
3810 /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: AConcreteClasskind, nullable TKwclass) */
3811 void parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) {
3812 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
3813 var_n_kwclass = p0;
3814 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteClasskind__empty_init]))(self) /* empty_init on <self:AConcreteClasskind>*/;
3815 if (var_n_kwclass == NULL) {
3816 fprintf(stderr, "Runtime error: %s", "Cast failed");
3817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 884);
3818 exit(1);
3819 }
3820 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AConcreteClasskind> */
3821 if (var_n_kwclass == NULL) {
3822 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 885);
3824 exit(1);
3825 } else {
3826 ((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>*/;
3827 }
3828 RET_LABEL:;
3829 }
3830 /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: Object, nullable TKwclass) */
3831 void VIRTUAL_parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) {
3832 parser_prod__AConcreteClasskind__init_aconcreteclasskind(self, p0);
3833 RET_LABEL:;
3834 }
3835 /* method parser_prod#AConcreteClasskind#replace_child for (self: AConcreteClasskind, ANode, nullable ANode) */
3836 void parser_prod__AConcreteClasskind__replace_child(val* self, val* p0, val* p1) {
3837 val* var_old_child /* var old_child: ANode */;
3838 val* var_new_child /* var new_child: nullable ANode */;
3839 val* var /* : TKwclass */;
3840 short int var1 /* : Bool */;
3841 val* var2 /* : null */;
3842 short int var3 /* : Bool */;
3843 short int var4 /* : Bool */;
3844 int cltype;
3845 int idtype;
3846 var_old_child = p0;
3847 var_new_child = p1;
3848 var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on <self:AConcreteClasskind> */
3849 if (var == NULL) {
3850 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
3851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 890);
3852 exit(1);
3853 }
3854 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwclass>*/;
3855 if (var1){
3856 var2 = NULL;
3857 if (var_new_child == NULL) {
3858 var3 = 0; /* is null */
3859 } else {
3860 var3 = 1; /* arg is null and recv is not */
3861 }
3862 if (var3){
3863 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3864 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
3865 cltype = type_parser_nodes__TKwclass.color;
3866 idtype = type_parser_nodes__TKwclass.id;
3867 if(cltype >= var_new_child->type->table_size) {
3868 var4 = 0;
3869 } else {
3870 var4 = var_new_child->type->type_table[cltype] == idtype;
3871 }
3872 if (!var4) {
3873 fprintf(stderr, "Runtime error: %s", "Assert failed");
3874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 893);
3875 exit(1);
3876 }
3877 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AConcreteClasskind> */
3878 } else {
3879 fprintf(stderr, "Runtime error: %s", "Aborted");
3880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 896);
3881 exit(1);
3882 }
3883 goto RET_LABEL;
3884 } else {
3885 }
3886 RET_LABEL:;
3887 }
3888 /* method parser_prod#AConcreteClasskind#replace_child for (self: Object, ANode, nullable ANode) */
3889 void VIRTUAL_parser_prod__AConcreteClasskind__replace_child(val* self, val* p0, val* p1) {
3890 parser_prod__AConcreteClasskind__replace_child(self, p0, p1);
3891 RET_LABEL:;
3892 }
3893 /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: AConcreteClasskind, TKwclass) */
3894 void parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) {
3895 val* var_node /* var node: TKwclass */;
3896 var_node = p0;
3897 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AConcreteClasskind> */
3898 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwclass>*/;
3899 RET_LABEL:;
3900 }
3901 /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: Object, TKwclass) */
3902 void VIRTUAL_parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) {
3903 parser_prod__AConcreteClasskind__n_kwclass_61d(self, p0);
3904 RET_LABEL:;
3905 }
3906 /* method parser_prod#AConcreteClasskind#visit_all for (self: AConcreteClasskind, Visitor) */
3907 void parser_prod__AConcreteClasskind__visit_all(val* self, val* p0) {
3908 val* var_v /* var v: Visitor */;
3909 val* var /* : TKwclass */;
3910 var_v = p0;
3911 var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on <self:AConcreteClasskind> */
3912 if (var == NULL) {
3913 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
3914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 911);
3915 exit(1);
3916 }
3917 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3918 RET_LABEL:;
3919 }
3920 /* method parser_prod#AConcreteClasskind#visit_all for (self: Object, Visitor) */
3921 void VIRTUAL_parser_prod__AConcreteClasskind__visit_all(val* self, val* p0) {
3922 parser_prod__AConcreteClasskind__visit_all(self, p0);
3923 RET_LABEL:;
3924 }
3925 /* method parser_prod#AAbstractClasskind#empty_init for (self: AAbstractClasskind) */
3926 void parser_prod__AAbstractClasskind__empty_init(val* self) {
3927 RET_LABEL:;
3928 }
3929 /* method parser_prod#AAbstractClasskind#empty_init for (self: Object) */
3930 void VIRTUAL_parser_prod__AAbstractClasskind__empty_init(val* self) {
3931 parser_prod__AAbstractClasskind__empty_init(self);
3932 RET_LABEL:;
3933 }
3934 /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: AAbstractClasskind, nullable TKwabstract, nullable TKwclass) */
3935 void parser_prod__AAbstractClasskind__init_aabstractclasskind(val* self, val* p0, val* p1) {
3936 val* var_n_kwabstract /* var n_kwabstract: nullable TKwabstract */;
3937 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
3938 var_n_kwabstract = p0;
3939 var_n_kwclass = p1;
3940 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAbstractClasskind__empty_init]))(self) /* empty_init on <self:AAbstractClasskind>*/;
3941 if (var_n_kwabstract == NULL) {
3942 fprintf(stderr, "Runtime error: %s", "Cast failed");
3943 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 923);
3944 exit(1);
3945 }
3946 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_n_kwabstract; /* _n_kwabstract on <self:AAbstractClasskind> */
3947 if (var_n_kwabstract == NULL) {
3948 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 924);
3950 exit(1);
3951 } else {
3952 ((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>*/;
3953 }
3954 if (var_n_kwclass == NULL) {
3955 fprintf(stderr, "Runtime error: %s", "Cast failed");
3956 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 925);
3957 exit(1);
3958 }
3959 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AAbstractClasskind> */
3960 if (var_n_kwclass == NULL) {
3961 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 926);
3963 exit(1);
3964 } else {
3965 ((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>*/;
3966 }
3967 RET_LABEL:;
3968 }
3969 /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: Object, nullable TKwabstract, nullable TKwclass) */
3970 void VIRTUAL_parser_prod__AAbstractClasskind__init_aabstractclasskind(val* self, val* p0, val* p1) {
3971 parser_prod__AAbstractClasskind__init_aabstractclasskind(self, p0, p1);
3972 RET_LABEL:;
3973 }
3974 /* method parser_prod#AAbstractClasskind#replace_child for (self: AAbstractClasskind, ANode, nullable ANode) */
3975 void parser_prod__AAbstractClasskind__replace_child(val* self, val* p0, val* p1) {
3976 val* var_old_child /* var old_child: ANode */;
3977 val* var_new_child /* var new_child: nullable ANode */;
3978 val* var /* : TKwabstract */;
3979 short int var1 /* : Bool */;
3980 val* var2 /* : null */;
3981 short int var3 /* : Bool */;
3982 short int var4 /* : Bool */;
3983 int cltype;
3984 int idtype;
3985 val* var5 /* : TKwclass */;
3986 short int var6 /* : Bool */;
3987 val* var7 /* : null */;
3988 short int var8 /* : Bool */;
3989 short int var9 /* : Bool */;
3990 int cltype10;
3991 int idtype11;
3992 var_old_child = p0;
3993 var_new_child = p1;
3994 var = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on <self:AAbstractClasskind> */
3995 if (var == NULL) {
3996 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwabstract");
3997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 931);
3998 exit(1);
3999 }
4000 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwabstract>*/;
4001 if (var1){
4002 var2 = NULL;
4003 if (var_new_child == NULL) {
4004 var3 = 0; /* is null */
4005 } else {
4006 var3 = 1; /* arg is null and recv is not */
4007 }
4008 if (var3){
4009 ((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)>*/;
4010 /* <var_new_child:nullable ANode(ANode)> isa TKwabstract */
4011 cltype = type_parser_nodes__TKwabstract.color;
4012 idtype = type_parser_nodes__TKwabstract.id;
4013 if(cltype >= var_new_child->type->table_size) {
4014 var4 = 0;
4015 } else {
4016 var4 = var_new_child->type->type_table[cltype] == idtype;
4017 }
4018 if (!var4) {
4019 fprintf(stderr, "Runtime error: %s", "Assert failed");
4020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 934);
4021 exit(1);
4022 }
4023 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_new_child; /* _n_kwabstract on <self:AAbstractClasskind> */
4024 } else {
4025 fprintf(stderr, "Runtime error: %s", "Aborted");
4026 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 937);
4027 exit(1);
4028 }
4029 goto RET_LABEL;
4030 } else {
4031 }
4032 var5 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on <self:AAbstractClasskind> */
4033 if (var5 == NULL) {
4034 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
4035 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 941);
4036 exit(1);
4037 }
4038 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwclass>*/;
4039 if (var6){
4040 var7 = NULL;
4041 if (var_new_child == NULL) {
4042 var8 = 0; /* is null */
4043 } else {
4044 var8 = 1; /* arg is null and recv is not */
4045 }
4046 if (var8){
4047 ((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)>*/;
4048 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
4049 cltype10 = type_parser_nodes__TKwclass.color;
4050 idtype11 = type_parser_nodes__TKwclass.id;
4051 if(cltype10 >= var_new_child->type->table_size) {
4052 var9 = 0;
4053 } else {
4054 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4055 }
4056 if (!var9) {
4057 fprintf(stderr, "Runtime error: %s", "Assert failed");
4058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 944);
4059 exit(1);
4060 }
4061 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AAbstractClasskind> */
4062 } else {
4063 fprintf(stderr, "Runtime error: %s", "Aborted");
4064 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 947);
4065 exit(1);
4066 }
4067 goto RET_LABEL;
4068 } else {
4069 }
4070 RET_LABEL:;
4071 }
4072 /* method parser_prod#AAbstractClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4073 void VIRTUAL_parser_prod__AAbstractClasskind__replace_child(val* self, val* p0, val* p1) {
4074 parser_prod__AAbstractClasskind__replace_child(self, p0, p1);
4075 RET_LABEL:;
4076 }
4077 /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: AAbstractClasskind, TKwabstract) */
4078 void parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) {
4079 val* var_node /* var node: TKwabstract */;
4080 var_node = p0;
4081 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_node; /* _n_kwabstract on <self:AAbstractClasskind> */
4082 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwabstract>*/;
4083 RET_LABEL:;
4084 }
4085 /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: Object, TKwabstract) */
4086 void VIRTUAL_parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) {
4087 parser_prod__AAbstractClasskind__n_kwabstract_61d(self, p0);
4088 RET_LABEL:;
4089 }
4090 /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: AAbstractClasskind, TKwclass) */
4091 void parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) {
4092 val* var_node /* var node: TKwclass */;
4093 var_node = p0;
4094 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AAbstractClasskind> */
4095 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwclass>*/;
4096 RET_LABEL:;
4097 }
4098 /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: Object, TKwclass) */
4099 void VIRTUAL_parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) {
4100 parser_prod__AAbstractClasskind__n_kwclass_61d(self, p0);
4101 RET_LABEL:;
4102 }
4103 /* method parser_prod#AAbstractClasskind#visit_all for (self: AAbstractClasskind, Visitor) */
4104 void parser_prod__AAbstractClasskind__visit_all(val* self, val* p0) {
4105 val* var_v /* var v: Visitor */;
4106 val* var /* : TKwabstract */;
4107 val* var1 /* : TKwclass */;
4108 var_v = p0;
4109 var = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on <self:AAbstractClasskind> */
4110 if (var == NULL) {
4111 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwabstract");
4112 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 967);
4113 exit(1);
4114 }
4115 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4116 var1 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on <self:AAbstractClasskind> */
4117 if (var1 == NULL) {
4118 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwclass");
4119 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 968);
4120 exit(1);
4121 }
4122 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4123 RET_LABEL:;
4124 }
4125 /* method parser_prod#AAbstractClasskind#visit_all for (self: Object, Visitor) */
4126 void VIRTUAL_parser_prod__AAbstractClasskind__visit_all(val* self, val* p0) {
4127 parser_prod__AAbstractClasskind__visit_all(self, p0);
4128 RET_LABEL:;
4129 }
4130 /* method parser_prod#AInterfaceClasskind#empty_init for (self: AInterfaceClasskind) */
4131 void parser_prod__AInterfaceClasskind__empty_init(val* self) {
4132 RET_LABEL:;
4133 }
4134 /* method parser_prod#AInterfaceClasskind#empty_init for (self: Object) */
4135 void VIRTUAL_parser_prod__AInterfaceClasskind__empty_init(val* self) {
4136 parser_prod__AInterfaceClasskind__empty_init(self);
4137 RET_LABEL:;
4138 }
4139 /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: AInterfaceClasskind, nullable TKwinterface) */
4140 void parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) {
4141 val* var_n_kwinterface /* var n_kwinterface: nullable TKwinterface */;
4142 var_n_kwinterface = p0;
4143 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInterfaceClasskind__empty_init]))(self) /* empty_init on <self:AInterfaceClasskind>*/;
4144 if (var_n_kwinterface == NULL) {
4145 fprintf(stderr, "Runtime error: %s", "Cast failed");
4146 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 979);
4147 exit(1);
4148 }
4149 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_n_kwinterface; /* _n_kwinterface on <self:AInterfaceClasskind> */
4150 if (var_n_kwinterface == NULL) {
4151 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4152 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 980);
4153 exit(1);
4154 } else {
4155 ((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>*/;
4156 }
4157 RET_LABEL:;
4158 }
4159 /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: Object, nullable TKwinterface) */
4160 void VIRTUAL_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) {
4161 parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(self, p0);
4162 RET_LABEL:;
4163 }
4164 /* method parser_prod#AInterfaceClasskind#replace_child for (self: AInterfaceClasskind, ANode, nullable ANode) */
4165 void parser_prod__AInterfaceClasskind__replace_child(val* self, val* p0, val* p1) {
4166 val* var_old_child /* var old_child: ANode */;
4167 val* var_new_child /* var new_child: nullable ANode */;
4168 val* var /* : TKwinterface */;
4169 short int var1 /* : Bool */;
4170 val* var2 /* : null */;
4171 short int var3 /* : Bool */;
4172 short int var4 /* : Bool */;
4173 int cltype;
4174 int idtype;
4175 var_old_child = p0;
4176 var_new_child = p1;
4177 var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on <self:AInterfaceClasskind> */
4178 if (var == NULL) {
4179 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinterface");
4180 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 985);
4181 exit(1);
4182 }
4183 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwinterface>*/;
4184 if (var1){
4185 var2 = NULL;
4186 if (var_new_child == NULL) {
4187 var3 = 0; /* is null */
4188 } else {
4189 var3 = 1; /* arg is null and recv is not */
4190 }
4191 if (var3){
4192 ((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)>*/;
4193 /* <var_new_child:nullable ANode(ANode)> isa TKwinterface */
4194 cltype = type_parser_nodes__TKwinterface.color;
4195 idtype = type_parser_nodes__TKwinterface.id;
4196 if(cltype >= var_new_child->type->table_size) {
4197 var4 = 0;
4198 } else {
4199 var4 = var_new_child->type->type_table[cltype] == idtype;
4200 }
4201 if (!var4) {
4202 fprintf(stderr, "Runtime error: %s", "Assert failed");
4203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 988);
4204 exit(1);
4205 }
4206 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_new_child; /* _n_kwinterface on <self:AInterfaceClasskind> */
4207 } else {
4208 fprintf(stderr, "Runtime error: %s", "Aborted");
4209 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 991);
4210 exit(1);
4211 }
4212 goto RET_LABEL;
4213 } else {
4214 }
4215 RET_LABEL:;
4216 }
4217 /* method parser_prod#AInterfaceClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4218 void VIRTUAL_parser_prod__AInterfaceClasskind__replace_child(val* self, val* p0, val* p1) {
4219 parser_prod__AInterfaceClasskind__replace_child(self, p0, p1);
4220 RET_LABEL:;
4221 }
4222 /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: AInterfaceClasskind, TKwinterface) */
4223 void parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) {
4224 val* var_node /* var node: TKwinterface */;
4225 var_node = p0;
4226 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_node; /* _n_kwinterface on <self:AInterfaceClasskind> */
4227 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwinterface>*/;
4228 RET_LABEL:;
4229 }
4230 /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: Object, TKwinterface) */
4231 void VIRTUAL_parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) {
4232 parser_prod__AInterfaceClasskind__n_kwinterface_61d(self, p0);
4233 RET_LABEL:;
4234 }
4235 /* method parser_prod#AInterfaceClasskind#visit_all for (self: AInterfaceClasskind, Visitor) */
4236 void parser_prod__AInterfaceClasskind__visit_all(val* self, val* p0) {
4237 val* var_v /* var v: Visitor */;
4238 val* var /* : TKwinterface */;
4239 var_v = p0;
4240 var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on <self:AInterfaceClasskind> */
4241 if (var == NULL) {
4242 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwinterface");
4243 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1006);
4244 exit(1);
4245 }
4246 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4247 RET_LABEL:;
4248 }
4249 /* method parser_prod#AInterfaceClasskind#visit_all for (self: Object, Visitor) */
4250 void VIRTUAL_parser_prod__AInterfaceClasskind__visit_all(val* self, val* p0) {
4251 parser_prod__AInterfaceClasskind__visit_all(self, p0);
4252 RET_LABEL:;
4253 }
4254 /* method parser_prod#AEnumClasskind#empty_init for (self: AEnumClasskind) */
4255 void parser_prod__AEnumClasskind__empty_init(val* self) {
4256 RET_LABEL:;
4257 }
4258 /* method parser_prod#AEnumClasskind#empty_init for (self: Object) */
4259 void VIRTUAL_parser_prod__AEnumClasskind__empty_init(val* self) {
4260 parser_prod__AEnumClasskind__empty_init(self);
4261 RET_LABEL:;
4262 }
4263 /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: AEnumClasskind, nullable TKwenum) */
4264 void parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) {
4265 val* var_n_kwenum /* var n_kwenum: nullable TKwenum */;
4266 var_n_kwenum = p0;
4267 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEnumClasskind__empty_init]))(self) /* empty_init on <self:AEnumClasskind>*/;
4268 if (var_n_kwenum == NULL) {
4269 fprintf(stderr, "Runtime error: %s", "Cast failed");
4270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1017);
4271 exit(1);
4272 }
4273 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_n_kwenum; /* _n_kwenum on <self:AEnumClasskind> */
4274 if (var_n_kwenum == NULL) {
4275 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1018);
4277 exit(1);
4278 } else {
4279 ((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>*/;
4280 }
4281 RET_LABEL:;
4282 }
4283 /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: Object, nullable TKwenum) */
4284 void VIRTUAL_parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) {
4285 parser_prod__AEnumClasskind__init_aenumclasskind(self, p0);
4286 RET_LABEL:;
4287 }
4288 /* method parser_prod#AEnumClasskind#replace_child for (self: AEnumClasskind, ANode, nullable ANode) */
4289 void parser_prod__AEnumClasskind__replace_child(val* self, val* p0, val* p1) {
4290 val* var_old_child /* var old_child: ANode */;
4291 val* var_new_child /* var new_child: nullable ANode */;
4292 val* var /* : TKwenum */;
4293 short int var1 /* : Bool */;
4294 val* var2 /* : null */;
4295 short int var3 /* : Bool */;
4296 short int var4 /* : Bool */;
4297 int cltype;
4298 int idtype;
4299 var_old_child = p0;
4300 var_new_child = p1;
4301 var = self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val; /* _n_kwenum on <self:AEnumClasskind> */
4302 if (var == NULL) {
4303 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwenum");
4304 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1023);
4305 exit(1);
4306 }
4307 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwenum>*/;
4308 if (var1){
4309 var2 = NULL;
4310 if (var_new_child == NULL) {
4311 var3 = 0; /* is null */
4312 } else {
4313 var3 = 1; /* arg is null and recv is not */
4314 }
4315 if (var3){
4316 ((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)>*/;
4317 /* <var_new_child:nullable ANode(ANode)> isa TKwenum */
4318 cltype = type_parser_nodes__TKwenum.color;
4319 idtype = type_parser_nodes__TKwenum.id;
4320 if(cltype >= var_new_child->type->table_size) {
4321 var4 = 0;
4322 } else {
4323 var4 = var_new_child->type->type_table[cltype] == idtype;
4324 }
4325 if (!var4) {
4326 fprintf(stderr, "Runtime error: %s", "Assert failed");
4327 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1026);
4328 exit(1);
4329 }
4330 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_new_child; /* _n_kwenum on <self:AEnumClasskind> */
4331 } else {
4332 fprintf(stderr, "Runtime error: %s", "Aborted");
4333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1029);
4334 exit(1);
4335 }
4336 goto RET_LABEL;
4337 } else {
4338 }
4339 RET_LABEL:;
4340 }
4341 /* method parser_prod#AEnumClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4342 void VIRTUAL_parser_prod__AEnumClasskind__replace_child(val* self, val* p0, val* p1) {
4343 parser_prod__AEnumClasskind__replace_child(self, p0, p1);
4344 RET_LABEL:;
4345 }
4346 /* method parser_prod#AEnumClasskind#n_kwenum= for (self: AEnumClasskind, TKwenum) */
4347 void parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) {
4348 val* var_node /* var node: TKwenum */;
4349 var_node = p0;
4350 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_node; /* _n_kwenum on <self:AEnumClasskind> */
4351 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwenum>*/;
4352 RET_LABEL:;
4353 }
4354 /* method parser_prod#AEnumClasskind#n_kwenum= for (self: Object, TKwenum) */
4355 void VIRTUAL_parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) {
4356 parser_prod__AEnumClasskind__n_kwenum_61d(self, p0);
4357 RET_LABEL:;
4358 }
4359 /* method parser_prod#AEnumClasskind#visit_all for (self: AEnumClasskind, Visitor) */
4360 void parser_prod__AEnumClasskind__visit_all(val* self, val* p0) {
4361 val* var_v /* var v: Visitor */;
4362 val* var /* : TKwenum */;
4363 var_v = p0;
4364 var = self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val; /* _n_kwenum on <self:AEnumClasskind> */
4365 if (var == NULL) {
4366 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwenum");
4367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1044);
4368 exit(1);
4369 }
4370 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4371 RET_LABEL:;
4372 }
4373 /* method parser_prod#AEnumClasskind#visit_all for (self: Object, Visitor) */
4374 void VIRTUAL_parser_prod__AEnumClasskind__visit_all(val* self, val* p0) {
4375 parser_prod__AEnumClasskind__visit_all(self, p0);
4376 RET_LABEL:;
4377 }
4378 /* method parser_prod#AExternClasskind#empty_init for (self: AExternClasskind) */
4379 void parser_prod__AExternClasskind__empty_init(val* self) {
4380 RET_LABEL:;
4381 }
4382 /* method parser_prod#AExternClasskind#empty_init for (self: Object) */
4383 void VIRTUAL_parser_prod__AExternClasskind__empty_init(val* self) {
4384 parser_prod__AExternClasskind__empty_init(self);
4385 RET_LABEL:;
4386 }
4387 /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: AExternClasskind, nullable TKwextern, nullable TKwclass) */
4388 void parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, val* p1) {
4389 val* var_n_kwextern /* var n_kwextern: nullable TKwextern */;
4390 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
4391 val* var /* : null */;
4392 short int var1 /* : Bool */;
4393 var_n_kwextern = p0;
4394 var_n_kwclass = p1;
4395 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternClasskind__empty_init]))(self) /* empty_init on <self:AExternClasskind>*/;
4396 if (var_n_kwextern == NULL) {
4397 fprintf(stderr, "Runtime error: %s", "Cast failed");
4398 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1056);
4399 exit(1);
4400 }
4401 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_n_kwextern; /* _n_kwextern on <self:AExternClasskind> */
4402 if (var_n_kwextern == NULL) {
4403 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1057);
4405 exit(1);
4406 } else {
4407 ((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>*/;
4408 }
4409 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AExternClasskind> */
4410 var = NULL;
4411 if (var_n_kwclass == NULL) {
4412 var1 = 0; /* is null */
4413 } else {
4414 var1 = 1; /* arg is null and recv is not */
4415 }
4416 if (var1){
4417 ((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)>*/;
4418 } else {
4419 }
4420 RET_LABEL:;
4421 }
4422 /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: Object, nullable TKwextern, nullable TKwclass) */
4423 void VIRTUAL_parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, val* p1) {
4424 parser_prod__AExternClasskind__init_aexternclasskind(self, p0, p1);
4425 RET_LABEL:;
4426 }
4427 /* method parser_prod#AExternClasskind#replace_child for (self: AExternClasskind, ANode, nullable ANode) */
4428 void parser_prod__AExternClasskind__replace_child(val* self, val* p0, val* p1) {
4429 val* var_old_child /* var old_child: ANode */;
4430 val* var_new_child /* var new_child: nullable ANode */;
4431 val* var /* : TKwextern */;
4432 short int var1 /* : Bool */;
4433 val* var2 /* : null */;
4434 short int var3 /* : Bool */;
4435 short int var4 /* : Bool */;
4436 int cltype;
4437 int idtype;
4438 val* var5 /* : nullable TKwclass */;
4439 short int var6 /* : Bool */;
4440 val* var7 /* : null */;
4441 short int var8 /* : Bool */;
4442 short int var9 /* : Bool */;
4443 int cltype10;
4444 int idtype11;
4445 val* var12 /* : null */;
4446 var_old_child = p0;
4447 var_new_child = p1;
4448 var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on <self:AExternClasskind> */
4449 if (var == NULL) {
4450 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwextern");
4451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1066);
4452 exit(1);
4453 }
4454 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwextern>*/;
4455 if (var1){
4456 var2 = NULL;
4457 if (var_new_child == NULL) {
4458 var3 = 0; /* is null */
4459 } else {
4460 var3 = 1; /* arg is null and recv is not */
4461 }
4462 if (var3){
4463 ((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)>*/;
4464 /* <var_new_child:nullable ANode(ANode)> isa TKwextern */
4465 cltype = type_parser_nodes__TKwextern.color;
4466 idtype = type_parser_nodes__TKwextern.id;
4467 if(cltype >= var_new_child->type->table_size) {
4468 var4 = 0;
4469 } else {
4470 var4 = var_new_child->type->type_table[cltype] == idtype;
4471 }
4472 if (!var4) {
4473 fprintf(stderr, "Runtime error: %s", "Assert failed");
4474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1069);
4475 exit(1);
4476 }
4477 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_new_child; /* _n_kwextern on <self:AExternClasskind> */
4478 } else {
4479 fprintf(stderr, "Runtime error: %s", "Aborted");
4480 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1072);
4481 exit(1);
4482 }
4483 goto RET_LABEL;
4484 } else {
4485 }
4486 var5 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4487 if (var5 == NULL) {
4488 var6 = 0; /* <var_old_child:ANode> cannot be null */
4489 } else {
4490 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TKwclass>*/;
4491 }
4492 if (var6){
4493 var7 = NULL;
4494 if (var_new_child == NULL) {
4495 var8 = 0; /* is null */
4496 } else {
4497 var8 = 1; /* arg is null and recv is not */
4498 }
4499 if (var8){
4500 ((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)>*/;
4501 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
4502 cltype10 = type_parser_nodes__TKwclass.color;
4503 idtype11 = type_parser_nodes__TKwclass.id;
4504 if(cltype10 >= var_new_child->type->table_size) {
4505 var9 = 0;
4506 } else {
4507 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4508 }
4509 if (!var9) {
4510 fprintf(stderr, "Runtime error: %s", "Assert failed");
4511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1079);
4512 exit(1);
4513 }
4514 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AExternClasskind> */
4515 } else {
4516 var12 = NULL;
4517 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var12; /* _n_kwclass on <self:AExternClasskind> */
4518 }
4519 goto RET_LABEL;
4520 } else {
4521 }
4522 RET_LABEL:;
4523 }
4524 /* method parser_prod#AExternClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4525 void VIRTUAL_parser_prod__AExternClasskind__replace_child(val* self, val* p0, val* p1) {
4526 parser_prod__AExternClasskind__replace_child(self, p0, p1);
4527 RET_LABEL:;
4528 }
4529 /* method parser_prod#AExternClasskind#n_kwextern= for (self: AExternClasskind, TKwextern) */
4530 void parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) {
4531 val* var_node /* var node: TKwextern */;
4532 var_node = p0;
4533 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_node; /* _n_kwextern on <self:AExternClasskind> */
4534 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwextern>*/;
4535 RET_LABEL:;
4536 }
4537 /* method parser_prod#AExternClasskind#n_kwextern= for (self: Object, TKwextern) */
4538 void VIRTUAL_parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) {
4539 parser_prod__AExternClasskind__n_kwextern_61d(self, p0);
4540 RET_LABEL:;
4541 }
4542 /* method parser_prod#AExternClasskind#n_kwclass= for (self: AExternClasskind, nullable TKwclass) */
4543 void parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) {
4544 val* var_node /* var node: nullable TKwclass */;
4545 val* var /* : null */;
4546 short int var1 /* : Bool */;
4547 var_node = p0;
4548 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AExternClasskind> */
4549 var = NULL;
4550 if (var_node == NULL) {
4551 var1 = 0; /* is null */
4552 } else {
4553 var1 = 1; /* arg is null and recv is not */
4554 }
4555 if (var1){
4556 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwclass(TKwclass)>*/;
4557 } else {
4558 }
4559 RET_LABEL:;
4560 }
4561 /* method parser_prod#AExternClasskind#n_kwclass= for (self: Object, nullable TKwclass) */
4562 void VIRTUAL_parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) {
4563 parser_prod__AExternClasskind__n_kwclass_61d(self, p0);
4564 RET_LABEL:;
4565 }
4566 /* method parser_prod#AExternClasskind#visit_all for (self: AExternClasskind, Visitor) */
4567 void parser_prod__AExternClasskind__visit_all(val* self, val* p0) {
4568 val* var_v /* var v: Visitor */;
4569 val* var /* : TKwextern */;
4570 val* var1 /* : nullable TKwclass */;
4571 val* var2 /* : null */;
4572 short int var3 /* : Bool */;
4573 val* var4 /* : nullable TKwclass */;
4574 var_v = p0;
4575 var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on <self:AExternClasskind> */
4576 if (var == NULL) {
4577 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwextern");
4578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1104);
4579 exit(1);
4580 }
4581 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4582 var1 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4583 var2 = NULL;
4584 if (var1 == NULL) {
4585 var3 = 0; /* is null */
4586 } else {
4587 var3 = 1; /* arg is null and recv is not */
4588 }
4589 if (var3){
4590 var4 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4591 if (var4 == NULL) {
4592 fprintf(stderr, "Runtime error: %s", "Cast failed");
4593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1106);
4594 exit(1);
4595 }
4596 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4597 } else {
4598 }
4599 RET_LABEL:;
4600 }
4601 /* method parser_prod#AExternClasskind#visit_all for (self: Object, Visitor) */
4602 void VIRTUAL_parser_prod__AExternClasskind__visit_all(val* self, val* p0) {
4603 parser_prod__AExternClasskind__visit_all(self, p0);
4604 RET_LABEL:;
4605 }
4606 /* method parser_prod#AFormaldef#empty_init for (self: AFormaldef) */
4607 void parser_prod__AFormaldef__empty_init(val* self) {
4608 RET_LABEL:;
4609 }
4610 /* method parser_prod#AFormaldef#empty_init for (self: Object) */
4611 void VIRTUAL_parser_prod__AFormaldef__empty_init(val* self) {
4612 parser_prod__AFormaldef__empty_init(self);
4613 RET_LABEL:;
4614 }
4615 /* method parser_prod#AFormaldef#init_aformaldef for (self: AFormaldef, nullable TClassid, nullable AType, nullable AAnnotations) */
4616 void parser_prod__AFormaldef__init_aformaldef(val* self, val* p0, val* p1, val* p2) {
4617 val* var_n_id /* var n_id: nullable TClassid */;
4618 val* var_n_type /* var n_type: nullable AType */;
4619 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4620 val* var /* : null */;
4621 short int var1 /* : Bool */;
4622 val* var2 /* : null */;
4623 short int var3 /* : Bool */;
4624 var_n_id = p0;
4625 var_n_type = p1;
4626 var_n_annotations = p2;
4627 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFormaldef__empty_init]))(self) /* empty_init on <self:AFormaldef>*/;
4628 if (var_n_id == NULL) {
4629 fprintf(stderr, "Runtime error: %s", "Cast failed");
4630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1120);
4631 exit(1);
4632 }
4633 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_n_id; /* _n_id on <self:AFormaldef> */
4634 if (var_n_id == NULL) {
4635 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1121);
4637 exit(1);
4638 } else {
4639 ((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>*/;
4640 }
4641 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_n_type; /* _n_type on <self:AFormaldef> */
4642 var = NULL;
4643 if (var_n_type == NULL) {
4644 var1 = 0; /* is null */
4645 } else {
4646 var1 = 1; /* arg is null and recv is not */
4647 }
4648 if (var1){
4649 ((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)>*/;
4650 } else {
4651 }
4652 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFormaldef> */
4653 var2 = NULL;
4654 if (var_n_annotations == NULL) {
4655 var3 = 0; /* is null */
4656 } else {
4657 var3 = 1; /* arg is null and recv is not */
4658 }
4659 if (var3){
4660 ((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)>*/;
4661 } else {
4662 }
4663 RET_LABEL:;
4664 }
4665 /* method parser_prod#AFormaldef#init_aformaldef for (self: Object, nullable TClassid, nullable AType, nullable AAnnotations) */
4666 void VIRTUAL_parser_prod__AFormaldef__init_aformaldef(val* self, val* p0, val* p1, val* p2) {
4667 parser_prod__AFormaldef__init_aformaldef(self, p0, p1, p2);
4668 RET_LABEL:;
4669 }
4670 /* method parser_prod#AFormaldef#replace_child for (self: AFormaldef, ANode, nullable ANode) */
4671 void parser_prod__AFormaldef__replace_child(val* self, val* p0, val* p1) {
4672 val* var_old_child /* var old_child: ANode */;
4673 val* var_new_child /* var new_child: nullable ANode */;
4674 val* var /* : TClassid */;
4675 short int var1 /* : Bool */;
4676 val* var2 /* : null */;
4677 short int var3 /* : Bool */;
4678 short int var4 /* : Bool */;
4679 int cltype;
4680 int idtype;
4681 val* var5 /* : nullable AType */;
4682 short int var6 /* : Bool */;
4683 val* var7 /* : null */;
4684 short int var8 /* : Bool */;
4685 short int var9 /* : Bool */;
4686 int cltype10;
4687 int idtype11;
4688 val* var12 /* : null */;
4689 val* var13 /* : nullable AAnnotations */;
4690 short int var14 /* : Bool */;
4691 val* var15 /* : null */;
4692 short int var16 /* : Bool */;
4693 short int var17 /* : Bool */;
4694 int cltype18;
4695 int idtype19;
4696 val* var20 /* : null */;
4697 var_old_child = p0;
4698 var_new_child = p1;
4699 var = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on <self:AFormaldef> */
4700 if (var == NULL) {
4701 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1134);
4703 exit(1);
4704 }
4705 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TClassid>*/;
4706 if (var1){
4707 var2 = NULL;
4708 if (var_new_child == NULL) {
4709 var3 = 0; /* is null */
4710 } else {
4711 var3 = 1; /* arg is null and recv is not */
4712 }
4713 if (var3){
4714 ((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)>*/;
4715 /* <var_new_child:nullable ANode(ANode)> isa TClassid */
4716 cltype = type_parser_nodes__TClassid.color;
4717 idtype = type_parser_nodes__TClassid.id;
4718 if(cltype >= var_new_child->type->table_size) {
4719 var4 = 0;
4720 } else {
4721 var4 = var_new_child->type->type_table[cltype] == idtype;
4722 }
4723 if (!var4) {
4724 fprintf(stderr, "Runtime error: %s", "Assert failed");
4725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1137);
4726 exit(1);
4727 }
4728 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_new_child; /* _n_id on <self:AFormaldef> */
4729 } else {
4730 fprintf(stderr, "Runtime error: %s", "Aborted");
4731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1140);
4732 exit(1);
4733 }
4734 goto RET_LABEL;
4735 } else {
4736 }
4737 var5 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4738 if (var5 == NULL) {
4739 var6 = 0; /* <var_old_child:ANode> cannot be null */
4740 } else {
4741 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AType>*/;
4742 }
4743 if (var6){
4744 var7 = NULL;
4745 if (var_new_child == NULL) {
4746 var8 = 0; /* is null */
4747 } else {
4748 var8 = 1; /* arg is null and recv is not */
4749 }
4750 if (var8){
4751 ((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)>*/;
4752 /* <var_new_child:nullable ANode(ANode)> isa AType */
4753 cltype10 = type_parser_nodes__AType.color;
4754 idtype11 = type_parser_nodes__AType.id;
4755 if(cltype10 >= var_new_child->type->table_size) {
4756 var9 = 0;
4757 } else {
4758 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4759 }
4760 if (!var9) {
4761 fprintf(stderr, "Runtime error: %s", "Assert failed");
4762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1147);
4763 exit(1);
4764 }
4765 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_new_child; /* _n_type on <self:AFormaldef> */
4766 } else {
4767 var12 = NULL;
4768 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var12; /* _n_type on <self:AFormaldef> */
4769 }
4770 goto RET_LABEL;
4771 } else {
4772 }
4773 var13 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4774 if (var13 == NULL) {
4775 var14 = 0; /* <var_old_child:ANode> cannot be null */
4776 } else {
4777 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:nullable AAnnotations>*/;
4778 }
4779 if (var14){
4780 var15 = NULL;
4781 if (var_new_child == NULL) {
4782 var16 = 0; /* is null */
4783 } else {
4784 var16 = 1; /* arg is null and recv is not */
4785 }
4786 if (var16){
4787 ((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)>*/;
4788 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4789 cltype18 = type_parser_nodes__AAnnotations.color;
4790 idtype19 = type_parser_nodes__AAnnotations.id;
4791 if(cltype18 >= var_new_child->type->table_size) {
4792 var17 = 0;
4793 } else {
4794 var17 = var_new_child->type->type_table[cltype18] == idtype19;
4795 }
4796 if (!var17) {
4797 fprintf(stderr, "Runtime error: %s", "Assert failed");
4798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1157);
4799 exit(1);
4800 }
4801 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFormaldef> */
4802 } else {
4803 var20 = NULL;
4804 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var20; /* _n_annotations on <self:AFormaldef> */
4805 }
4806 goto RET_LABEL;
4807 } else {
4808 }
4809 RET_LABEL:;
4810 }
4811 /* method parser_prod#AFormaldef#replace_child for (self: Object, ANode, nullable ANode) */
4812 void VIRTUAL_parser_prod__AFormaldef__replace_child(val* self, val* p0, val* p1) {
4813 parser_prod__AFormaldef__replace_child(self, p0, p1);
4814 RET_LABEL:;
4815 }
4816 /* method parser_prod#AFormaldef#n_id= for (self: AFormaldef, TClassid) */
4817 void parser_prod__AFormaldef__n_id_61d(val* self, val* p0) {
4818 val* var_node /* var node: TClassid */;
4819 var_node = p0;
4820 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_node; /* _n_id on <self:AFormaldef> */
4821 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TClassid>*/;
4822 RET_LABEL:;
4823 }
4824 /* method parser_prod#AFormaldef#n_id= for (self: Object, TClassid) */
4825 void VIRTUAL_parser_prod__AFormaldef__n_id_61d(val* self, val* p0) {
4826 parser_prod__AFormaldef__n_id_61d(self, p0);
4827 RET_LABEL:;
4828 }
4829 /* method parser_prod#AFormaldef#n_type= for (self: AFormaldef, nullable AType) */
4830 void parser_prod__AFormaldef__n_type_61d(val* self, val* p0) {
4831 val* var_node /* var node: nullable AType */;
4832 val* var /* : null */;
4833 short int var1 /* : Bool */;
4834 var_node = p0;
4835 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_node; /* _n_type on <self:AFormaldef> */
4836 var = NULL;
4837 if (var_node == NULL) {
4838 var1 = 0; /* is null */
4839 } else {
4840 var1 = 1; /* arg is null and recv is not */
4841 }
4842 if (var1){
4843 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AType(AType)>*/;
4844 } else {
4845 }
4846 RET_LABEL:;
4847 }
4848 /* method parser_prod#AFormaldef#n_type= for (self: Object, nullable AType) */
4849 void VIRTUAL_parser_prod__AFormaldef__n_type_61d(val* self, val* p0) {
4850 parser_prod__AFormaldef__n_type_61d(self, p0);
4851 RET_LABEL:;
4852 }
4853 /* method parser_prod#AFormaldef#n_annotations= for (self: AFormaldef, nullable AAnnotations) */
4854 void parser_prod__AFormaldef__n_annotations_61d(val* self, val* p0) {
4855 val* var_node /* var node: nullable AAnnotations */;
4856 val* var /* : null */;
4857 short int var1 /* : Bool */;
4858 var_node = p0;
4859 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFormaldef> */
4860 var = NULL;
4861 if (var_node == NULL) {
4862 var1 = 0; /* is null */
4863 } else {
4864 var1 = 1; /* arg is null and recv is not */
4865 }
4866 if (var1){
4867 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4868 } else {
4869 }
4870 RET_LABEL:;
4871 }
4872 /* method parser_prod#AFormaldef#n_annotations= for (self: Object, nullable AAnnotations) */
4873 void VIRTUAL_parser_prod__AFormaldef__n_annotations_61d(val* self, val* p0) {
4874 parser_prod__AFormaldef__n_annotations_61d(self, p0);
4875 RET_LABEL:;
4876 }
4877 /* method parser_prod#AFormaldef#visit_all for (self: AFormaldef, Visitor) */
4878 void parser_prod__AFormaldef__visit_all(val* self, val* p0) {
4879 val* var_v /* var v: Visitor */;
4880 val* var /* : TClassid */;
4881 val* var1 /* : nullable AType */;
4882 val* var2 /* : null */;
4883 short int var3 /* : Bool */;
4884 val* var4 /* : nullable AType */;
4885 val* var5 /* : nullable AAnnotations */;
4886 val* var6 /* : null */;
4887 short int var7 /* : Bool */;
4888 val* var8 /* : nullable AAnnotations */;
4889 var_v = p0;
4890 var = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on <self:AFormaldef> */
4891 if (var == NULL) {
4892 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
4893 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1189);
4894 exit(1);
4895 }
4896 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4897 var1 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4898 var2 = NULL;
4899 if (var1 == NULL) {
4900 var3 = 0; /* is null */
4901 } else {
4902 var3 = 1; /* arg is null and recv is not */
4903 }
4904 if (var3){
4905 var4 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4906 if (var4 == NULL) {
4907 fprintf(stderr, "Runtime error: %s", "Cast failed");
4908 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1191);
4909 exit(1);
4910 }
4911 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4912 } else {
4913 }
4914 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4915 var6 = NULL;
4916 if (var5 == NULL) {
4917 var7 = 0; /* is null */
4918 } else {
4919 var7 = 1; /* arg is null and recv is not */
4920 }
4921 if (var7){
4922 var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4923 if (var8 == NULL) {
4924 fprintf(stderr, "Runtime error: %s", "Cast failed");
4925 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1194);
4926 exit(1);
4927 }
4928 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
4929 } else {
4930 }
4931 RET_LABEL:;
4932 }
4933 /* method parser_prod#AFormaldef#visit_all for (self: Object, Visitor) */
4934 void VIRTUAL_parser_prod__AFormaldef__visit_all(val* self, val* p0) {
4935 parser_prod__AFormaldef__visit_all(self, p0);
4936 RET_LABEL:;
4937 }
4938 /* method parser_prod#ASuperclass#empty_init for (self: ASuperclass) */
4939 void parser_prod__ASuperclass__empty_init(val* self) {
4940 RET_LABEL:;
4941 }
4942 /* method parser_prod#ASuperclass#empty_init for (self: Object) */
4943 void VIRTUAL_parser_prod__ASuperclass__empty_init(val* self) {
4944 parser_prod__ASuperclass__empty_init(self);
4945 RET_LABEL:;
4946 }
4947 /* method parser_prod#ASuperclass#init_asuperclass for (self: ASuperclass, nullable TKwsuper, nullable AType, nullable AAnnotations) */
4948 void parser_prod__ASuperclass__init_asuperclass(val* self, val* p0, val* p1, val* p2) {
4949 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
4950 val* var_n_type /* var n_type: nullable AType */;
4951 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4952 val* var /* : null */;
4953 short int var1 /* : Bool */;
4954 var_n_kwsuper = p0;
4955 var_n_type = p1;
4956 var_n_annotations = p2;
4957 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperclass__empty_init]))(self) /* empty_init on <self:ASuperclass>*/;
4958 if (var_n_kwsuper == NULL) {
4959 fprintf(stderr, "Runtime error: %s", "Cast failed");
4960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1208);
4961 exit(1);
4962 }
4963 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperclass> */
4964 if (var_n_kwsuper == NULL) {
4965 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1209);
4967 exit(1);
4968 } else {
4969 ((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>*/;
4970 }
4971 if (var_n_type == NULL) {
4972 fprintf(stderr, "Runtime error: %s", "Cast failed");
4973 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1210);
4974 exit(1);
4975 }
4976 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_n_type; /* _n_type on <self:ASuperclass> */
4977 if (var_n_type == NULL) {
4978 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1211);
4980 exit(1);
4981 } else {
4982 ((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>*/;
4983 }
4984 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASuperclass> */
4985 var = NULL;
4986 if (var_n_annotations == NULL) {
4987 var1 = 0; /* is null */
4988 } else {
4989 var1 = 1; /* arg is null and recv is not */
4990 }
4991 if (var1){
4992 ((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)>*/;
4993 } else {
4994 }
4995 RET_LABEL:;
4996 }
4997 /* method parser_prod#ASuperclass#init_asuperclass for (self: Object, nullable TKwsuper, nullable AType, nullable AAnnotations) */
4998 void VIRTUAL_parser_prod__ASuperclass__init_asuperclass(val* self, val* p0, val* p1, val* p2) {
4999 parser_prod__ASuperclass__init_asuperclass(self, p0, p1, p2);
5000 RET_LABEL:;
5001 }
5002 /* method parser_prod#ASuperclass#replace_child for (self: ASuperclass, ANode, nullable ANode) */
5003 void parser_prod__ASuperclass__replace_child(val* self, val* p0, val* p1) {
5004 val* var_old_child /* var old_child: ANode */;
5005 val* var_new_child /* var new_child: nullable ANode */;
5006 val* var /* : TKwsuper */;
5007 short int var1 /* : Bool */;
5008 val* var2 /* : null */;
5009 short int var3 /* : Bool */;
5010 short int var4 /* : Bool */;
5011 int cltype;
5012 int idtype;
5013 val* var5 /* : AType */;
5014 short int var6 /* : Bool */;
5015 val* var7 /* : null */;
5016 short int var8 /* : Bool */;
5017 short int var9 /* : Bool */;
5018 int cltype10;
5019 int idtype11;
5020 val* var12 /* : nullable AAnnotations */;
5021 short int var13 /* : Bool */;
5022 val* var14 /* : null */;
5023 short int var15 /* : Bool */;
5024 short int var16 /* : Bool */;
5025 int cltype17;
5026 int idtype18;
5027 val* var19 /* : null */;
5028 var_old_child = p0;
5029 var_new_child = p1;
5030 var = self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val; /* _n_kwsuper on <self:ASuperclass> */
5031 if (var == NULL) {
5032 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
5033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1220);
5034 exit(1);
5035 }
5036 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwsuper>*/;
5037 if (var1){
5038 var2 = NULL;
5039 if (var_new_child == NULL) {
5040 var3 = 0; /* is null */
5041 } else {
5042 var3 = 1; /* arg is null and recv is not */
5043 }
5044 if (var3){
5045 ((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)>*/;
5046 /* <var_new_child:nullable ANode(ANode)> isa TKwsuper */
5047 cltype = type_parser_nodes__TKwsuper.color;
5048 idtype = type_parser_nodes__TKwsuper.id;
5049 if(cltype >= var_new_child->type->table_size) {
5050 var4 = 0;
5051 } else {
5052 var4 = var_new_child->type->type_table[cltype] == idtype;
5053 }
5054 if (!var4) {
5055 fprintf(stderr, "Runtime error: %s", "Assert failed");
5056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1223);
5057 exit(1);
5058 }
5059 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_new_child; /* _n_kwsuper on <self:ASuperclass> */
5060 } else {
5061 fprintf(stderr, "Runtime error: %s", "Aborted");
5062 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1226);
5063 exit(1);
5064 }
5065 goto RET_LABEL;
5066 } else {
5067 }
5068 var5 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on <self:ASuperclass> */
5069 if (var5 == NULL) {
5070 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5071 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1230);
5072 exit(1);
5073 }
5074 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
5075 if (var6){
5076 var7 = NULL;
5077 if (var_new_child == NULL) {
5078 var8 = 0; /* is null */
5079 } else {
5080 var8 = 1; /* arg is null and recv is not */
5081 }
5082 if (var8){
5083 ((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)>*/;
5084 /* <var_new_child:nullable ANode(ANode)> isa AType */
5085 cltype10 = type_parser_nodes__AType.color;
5086 idtype11 = type_parser_nodes__AType.id;
5087 if(cltype10 >= var_new_child->type->table_size) {
5088 var9 = 0;
5089 } else {
5090 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5091 }
5092 if (!var9) {
5093 fprintf(stderr, "Runtime error: %s", "Assert failed");
5094 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1233);
5095 exit(1);
5096 }
5097 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_new_child; /* _n_type on <self:ASuperclass> */
5098 } else {
5099 fprintf(stderr, "Runtime error: %s", "Aborted");
5100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1236);
5101 exit(1);
5102 }
5103 goto RET_LABEL;
5104 } else {
5105 }
5106 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
5107 if (var12 == NULL) {
5108 var13 = 0; /* <var_old_child:ANode> cannot be null */
5109 } else {
5110 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable AAnnotations>*/;
5111 }
5112 if (var13){
5113 var14 = NULL;
5114 if (var_new_child == NULL) {
5115 var15 = 0; /* is null */
5116 } else {
5117 var15 = 1; /* arg is null and recv is not */
5118 }
5119 if (var15){
5120 ((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)>*/;
5121 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5122 cltype17 = type_parser_nodes__AAnnotations.color;
5123 idtype18 = type_parser_nodes__AAnnotations.id;
5124 if(cltype17 >= var_new_child->type->table_size) {
5125 var16 = 0;
5126 } else {
5127 var16 = var_new_child->type->type_table[cltype17] == idtype18;
5128 }
5129 if (!var16) {
5130 fprintf(stderr, "Runtime error: %s", "Assert failed");
5131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1243);
5132 exit(1);
5133 }
5134 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASuperclass> */
5135 } else {
5136 var19 = NULL;
5137 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on <self:ASuperclass> */
5138 }
5139 goto RET_LABEL;
5140 } else {
5141 }
5142 RET_LABEL:;
5143 }
5144 /* method parser_prod#ASuperclass#replace_child for (self: Object, ANode, nullable ANode) */
5145 void VIRTUAL_parser_prod__ASuperclass__replace_child(val* self, val* p0, val* p1) {
5146 parser_prod__ASuperclass__replace_child(self, p0, p1);
5147 RET_LABEL:;
5148 }
5149 /* method parser_prod#ASuperclass#n_kwsuper= for (self: ASuperclass, TKwsuper) */
5150 void parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) {
5151 val* var_node /* var node: TKwsuper */;
5152 var_node = p0;
5153 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperclass> */
5154 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwsuper>*/;
5155 RET_LABEL:;
5156 }
5157 /* method parser_prod#ASuperclass#n_kwsuper= for (self: Object, TKwsuper) */
5158 void VIRTUAL_parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) {
5159 parser_prod__ASuperclass__n_kwsuper_61d(self, p0);
5160 RET_LABEL:;
5161 }
5162 /* method parser_prod#ASuperclass#n_type= for (self: ASuperclass, AType) */
5163 void parser_prod__ASuperclass__n_type_61d(val* self, val* p0) {
5164 val* var_node /* var node: AType */;
5165 var_node = p0;
5166 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_node; /* _n_type on <self:ASuperclass> */
5167 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
5168 RET_LABEL:;
5169 }
5170 /* method parser_prod#ASuperclass#n_type= for (self: Object, AType) */
5171 void VIRTUAL_parser_prod__ASuperclass__n_type_61d(val* self, val* p0) {
5172 parser_prod__ASuperclass__n_type_61d(self, p0);
5173 RET_LABEL:;
5174 }
5175 /* method parser_prod#ASuperclass#n_annotations= for (self: ASuperclass, nullable AAnnotations) */
5176 void parser_prod__ASuperclass__n_annotations_61d(val* self, val* p0) {
5177 val* var_node /* var node: nullable AAnnotations */;
5178 val* var /* : null */;
5179 short int var1 /* : Bool */;
5180 var_node = p0;
5181 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASuperclass> */
5182 var = NULL;
5183 if (var_node == NULL) {
5184 var1 = 0; /* is null */
5185 } else {
5186 var1 = 1; /* arg is null and recv is not */
5187 }
5188 if (var1){
5189 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5190 } else {
5191 }
5192 RET_LABEL:;
5193 }
5194 /* method parser_prod#ASuperclass#n_annotations= for (self: Object, nullable AAnnotations) */
5195 void VIRTUAL_parser_prod__ASuperclass__n_annotations_61d(val* self, val* p0) {
5196 parser_prod__ASuperclass__n_annotations_61d(self, p0);
5197 RET_LABEL:;
5198 }
5199 /* method parser_prod#ASuperclass#visit_all for (self: ASuperclass, Visitor) */
5200 void parser_prod__ASuperclass__visit_all(val* self, val* p0) {
5201 val* var_v /* var v: Visitor */;
5202 val* var /* : TKwsuper */;
5203 val* var1 /* : AType */;
5204 val* var2 /* : nullable AAnnotations */;
5205 val* var3 /* : null */;
5206 short int var4 /* : Bool */;
5207 val* var5 /* : nullable AAnnotations */;
5208 var_v = p0;
5209 var = self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val; /* _n_kwsuper on <self:ASuperclass> */
5210 if (var == NULL) {
5211 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
5212 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1273);
5213 exit(1);
5214 }
5215 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5216 var1 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on <self:ASuperclass> */
5217 if (var1 == NULL) {
5218 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1274);
5220 exit(1);
5221 }
5222 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5223 var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
5224 var3 = NULL;
5225 if (var2 == NULL) {
5226 var4 = 0; /* is null */
5227 } else {
5228 var4 = 1; /* arg is null and recv is not */
5229 }
5230 if (var4){
5231 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
5232 if (var5 == NULL) {
5233 fprintf(stderr, "Runtime error: %s", "Cast failed");
5234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1276);
5235 exit(1);
5236 }
5237 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
5238 } else {
5239 }
5240 RET_LABEL:;
5241 }
5242 /* method parser_prod#ASuperclass#visit_all for (self: Object, Visitor) */
5243 void VIRTUAL_parser_prod__ASuperclass__visit_all(val* self, val* p0) {
5244 parser_prod__ASuperclass__visit_all(self, p0);
5245 RET_LABEL:;
5246 }
5247 /* method parser_prod#AAttrPropdef#empty_init for (self: AAttrPropdef) */
5248 void parser_prod__AAttrPropdef__empty_init(val* self) {
5249 RET_LABEL:;
5250 }
5251 /* method parser_prod#AAttrPropdef#empty_init for (self: Object) */
5252 void VIRTUAL_parser_prod__AAttrPropdef__empty_init(val* self) {
5253 parser_prod__AAttrPropdef__empty_init(self);
5254 RET_LABEL:;
5255 }
5256 /* 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) */
5257 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) {
5258 val* var_n_doc /* var n_doc: nullable ADoc */;
5259 val* var_n_readable /* var n_readable: nullable AAble */;
5260 val* var_n_writable /* var n_writable: nullable AAble */;
5261 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
5262 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
5263 val* var_n_kwvar /* var n_kwvar: nullable TKwvar */;
5264 val* var_n_id /* var n_id: nullable TAttrid */;
5265 val* var_n_id2 /* var n_id2: nullable TId */;
5266 val* var_n_type /* var n_type: nullable AType */;
5267 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5268 val* var_n_expr /* var n_expr: nullable AExpr */;
5269 val* var /* : null */;
5270 short int var1 /* : Bool */;
5271 val* var2 /* : null */;
5272 short int var3 /* : Bool */;
5273 val* var4 /* : null */;
5274 short int var5 /* : Bool */;
5275 val* var6 /* : null */;
5276 short int var7 /* : Bool */;
5277 val* var8 /* : null */;
5278 short int var9 /* : Bool */;
5279 val* var10 /* : null */;
5280 short int var11 /* : Bool */;
5281 val* var12 /* : null */;
5282 short int var13 /* : Bool */;
5283 val* var14 /* : null */;
5284 short int var15 /* : Bool */;
5285 val* var16 /* : null */;
5286 short int var17 /* : Bool */;
5287 var_n_doc = p0;
5288 var_n_readable = p1;
5289 var_n_writable = p2;
5290 var_n_kwredef = p3;
5291 var_n_visibility = p4;
5292 var_n_kwvar = p5;
5293 var_n_id = p6;
5294 var_n_id2 = p7;
5295 var_n_type = p8;
5296 var_n_annotations = p9;
5297 var_n_expr = p10;
5298 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrPropdef__empty_init]))(self) /* empty_init on <self:AAttrPropdef>*/;
5299 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AAttrPropdef> */
5300 var = NULL;
5301 if (var_n_doc == NULL) {
5302 var1 = 0; /* is null */
5303 } else {
5304 var1 = 1; /* arg is null and recv is not */
5305 }
5306 if (var1){
5307 ((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)>*/;
5308 } else {
5309 }
5310 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_n_readable; /* _n_readable on <self:AAttrPropdef> */
5311 var2 = NULL;
5312 if (var_n_readable == NULL) {
5313 var3 = 0; /* is null */
5314 } else {
5315 var3 = 1; /* arg is null and recv is not */
5316 }
5317 if (var3){
5318 ((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)>*/;
5319 } else {
5320 }
5321 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_n_writable; /* _n_writable on <self:AAttrPropdef> */
5322 var4 = NULL;
5323 if (var_n_writable == NULL) {
5324 var5 = 0; /* is null */
5325 } else {
5326 var5 = 1; /* arg is null and recv is not */
5327 }
5328 if (var5){
5329 ((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)>*/;
5330 } else {
5331 }
5332 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AAttrPropdef> */
5333 var6 = NULL;
5334 if (var_n_kwredef == NULL) {
5335 var7 = 0; /* is null */
5336 } else {
5337 var7 = 1; /* arg is null and recv is not */
5338 }
5339 if (var7){
5340 ((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)>*/;
5341 } else {
5342 }
5343 if (var_n_visibility == NULL) {
5344 fprintf(stderr, "Runtime error: %s", "Cast failed");
5345 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1314);
5346 exit(1);
5347 }
5348 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AAttrPropdef> */
5349 if (var_n_visibility == NULL) {
5350 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1315);
5352 exit(1);
5353 } else {
5354 ((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>*/;
5355 }
5356 if (var_n_kwvar == NULL) {
5357 fprintf(stderr, "Runtime error: %s", "Cast failed");
5358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1316);
5359 exit(1);
5360 }
5361 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_n_kwvar; /* _n_kwvar on <self:AAttrPropdef> */
5362 if (var_n_kwvar == NULL) {
5363 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1317);
5365 exit(1);
5366 } else {
5367 ((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>*/;
5368 }
5369 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_n_id; /* _n_id on <self:AAttrPropdef> */
5370 var8 = NULL;
5371 if (var_n_id == NULL) {
5372 var9 = 0; /* is null */
5373 } else {
5374 var9 = 1; /* arg is null and recv is not */
5375 }
5376 if (var9){
5377 ((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)>*/;
5378 } else {
5379 }
5380 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_n_id2; /* _n_id2 on <self:AAttrPropdef> */
5381 var10 = NULL;
5382 if (var_n_id2 == NULL) {
5383 var11 = 0; /* is null */
5384 } else {
5385 var11 = 1; /* arg is null and recv is not */
5386 }
5387 if (var11){
5388 ((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)>*/;
5389 } else {
5390 }
5391 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_n_type; /* _n_type on <self:AAttrPropdef> */
5392 var12 = NULL;
5393 if (var_n_type == NULL) {
5394 var13 = 0; /* is null */
5395 } else {
5396 var13 = 1; /* arg is null and recv is not */
5397 }
5398 if (var13){
5399 ((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)>*/;
5400 } else {
5401 }
5402 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AAttrPropdef> */
5403 var14 = NULL;
5404 if (var_n_annotations == NULL) {
5405 var15 = 0; /* is null */
5406 } else {
5407 var15 = 1; /* arg is null and recv is not */
5408 }
5409 if (var15){
5410 ((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)>*/;
5411 } else {
5412 }
5413 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrPropdef> */
5414 var16 = NULL;
5415 if (var_n_expr == NULL) {
5416 var17 = 0; /* is null */
5417 } else {
5418 var17 = 1; /* arg is null and recv is not */
5419 }
5420 if (var17){
5421 ((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)>*/;
5422 } else {
5423 }
5424 RET_LABEL:;
5425 }
5426 /* 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) */
5427 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) {
5428 parser_prod__AAttrPropdef__init_aattrpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
5429 RET_LABEL:;
5430 }
5431 /* method parser_prod#AAttrPropdef#replace_child for (self: AAttrPropdef, ANode, nullable ANode) */
5432 void parser_prod__AAttrPropdef__replace_child(val* self, val* p0, val* p1) {
5433 val* var_old_child /* var old_child: ANode */;
5434 val* var_new_child /* var new_child: nullable ANode */;
5435 val* var /* : nullable ADoc */;
5436 short int var1 /* : Bool */;
5437 val* var2 /* : null */;
5438 short int var3 /* : Bool */;
5439 short int var4 /* : Bool */;
5440 int cltype;
5441 int idtype;
5442 val* var5 /* : null */;
5443 val* var6 /* : nullable AAble */;
5444 short int var7 /* : Bool */;
5445 val* var8 /* : null */;
5446 short int var9 /* : Bool */;
5447 short int var10 /* : Bool */;
5448 int cltype11;
5449 int idtype12;
5450 val* var13 /* : null */;
5451 val* var14 /* : nullable AAble */;
5452 short int var15 /* : Bool */;
5453 val* var16 /* : null */;
5454 short int var17 /* : Bool */;
5455 short int var18 /* : Bool */;
5456 int cltype19;
5457 int idtype20;
5458 val* var21 /* : null */;
5459 val* var22 /* : nullable TKwredef */;
5460 short int var23 /* : Bool */;
5461 val* var24 /* : null */;
5462 short int var25 /* : Bool */;
5463 short int var26 /* : Bool */;
5464 int cltype27;
5465 int idtype28;
5466 val* var29 /* : null */;
5467 val* var30 /* : AVisibility */;
5468 short int var31 /* : Bool */;
5469 val* var32 /* : null */;
5470 short int var33 /* : Bool */;
5471 short int var34 /* : Bool */;
5472 int cltype35;
5473 int idtype36;
5474 val* var37 /* : TKwvar */;
5475 short int var38 /* : Bool */;
5476 val* var39 /* : null */;
5477 short int var40 /* : Bool */;
5478 short int var41 /* : Bool */;
5479 int cltype42;
5480 int idtype43;
5481 val* var44 /* : nullable TAttrid */;
5482 short int var45 /* : Bool */;
5483 val* var46 /* : null */;
5484 short int var47 /* : Bool */;
5485 short int var48 /* : Bool */;
5486 int cltype49;
5487 int idtype50;
5488 val* var51 /* : null */;
5489 val* var52 /* : nullable TId */;
5490 short int var53 /* : Bool */;
5491 val* var54 /* : null */;
5492 short int var55 /* : Bool */;
5493 short int var56 /* : Bool */;
5494 int cltype57;
5495 int idtype58;
5496 val* var59 /* : null */;
5497 val* var60 /* : nullable AType */;
5498 short int var61 /* : Bool */;
5499 val* var62 /* : null */;
5500 short int var63 /* : Bool */;
5501 short int var64 /* : Bool */;
5502 int cltype65;
5503 int idtype66;
5504 val* var67 /* : null */;
5505 val* var68 /* : nullable AAnnotations */;
5506 short int var69 /* : Bool */;
5507 val* var70 /* : null */;
5508 short int var71 /* : Bool */;
5509 short int var72 /* : Bool */;
5510 int cltype73;
5511 int idtype74;
5512 val* var75 /* : null */;
5513 val* var76 /* : nullable AExpr */;
5514 short int var77 /* : Bool */;
5515 val* var78 /* : null */;
5516 short int var79 /* : Bool */;
5517 short int var80 /* : Bool */;
5518 int cltype81;
5519 int idtype82;
5520 val* var83 /* : null */;
5521 var_old_child = p0;
5522 var_new_child = p1;
5523 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
5524 if (var == NULL) {
5525 var1 = 0; /* <var_old_child:ANode> cannot be null */
5526 } else {
5527 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
5528 }
5529 if (var1){
5530 var2 = NULL;
5531 if (var_new_child == NULL) {
5532 var3 = 0; /* is null */
5533 } else {
5534 var3 = 1; /* arg is null and recv is not */
5535 }
5536 if (var3){
5537 ((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)>*/;
5538 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
5539 cltype = type_parser_nodes__ADoc.color;
5540 idtype = type_parser_nodes__ADoc.id;
5541 if(cltype >= var_new_child->type->table_size) {
5542 var4 = 0;
5543 } else {
5544 var4 = var_new_child->type->type_table[cltype] == idtype;
5545 }
5546 if (!var4) {
5547 fprintf(stderr, "Runtime error: %s", "Assert failed");
5548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1345);
5549 exit(1);
5550 }
5551 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AAttrPropdef> */
5552 } else {
5553 var5 = NULL;
5554 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AAttrPropdef> */
5555 }
5556 goto RET_LABEL;
5557 } else {
5558 }
5559 var6 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
5560 if (var6 == NULL) {
5561 var7 = 0; /* <var_old_child:ANode> cannot be null */
5562 } else {
5563 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable AAble>*/;
5564 }
5565 if (var7){
5566 var8 = NULL;
5567 if (var_new_child == NULL) {
5568 var9 = 0; /* is null */
5569 } else {
5570 var9 = 1; /* arg is null and recv is not */
5571 }
5572 if (var9){
5573 ((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)>*/;
5574 /* <var_new_child:nullable ANode(ANode)> isa AAble */
5575 cltype11 = type_parser_nodes__AAble.color;
5576 idtype12 = type_parser_nodes__AAble.id;
5577 if(cltype11 >= var_new_child->type->table_size) {
5578 var10 = 0;
5579 } else {
5580 var10 = var_new_child->type->type_table[cltype11] == idtype12;
5581 }
5582 if (!var10) {
5583 fprintf(stderr, "Runtime error: %s", "Assert failed");
5584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1355);
5585 exit(1);
5586 }
5587 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_new_child; /* _n_readable on <self:AAttrPropdef> */
5588 } else {
5589 var13 = NULL;
5590 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var13; /* _n_readable on <self:AAttrPropdef> */
5591 }
5592 goto RET_LABEL;
5593 } else {
5594 }
5595 var14 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
5596 if (var14 == NULL) {
5597 var15 = 0; /* <var_old_child:ANode> cannot be null */
5598 } else {
5599 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AAble>*/;
5600 }
5601 if (var15){
5602 var16 = NULL;
5603 if (var_new_child == NULL) {
5604 var17 = 0; /* is null */
5605 } else {
5606 var17 = 1; /* arg is null and recv is not */
5607 }
5608 if (var17){
5609 ((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)>*/;
5610 /* <var_new_child:nullable ANode(ANode)> isa AAble */
5611 cltype19 = type_parser_nodes__AAble.color;
5612 idtype20 = type_parser_nodes__AAble.id;
5613 if(cltype19 >= var_new_child->type->table_size) {
5614 var18 = 0;
5615 } else {
5616 var18 = var_new_child->type->type_table[cltype19] == idtype20;
5617 }
5618 if (!var18) {
5619 fprintf(stderr, "Runtime error: %s", "Assert failed");
5620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1365);
5621 exit(1);
5622 }
5623 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_new_child; /* _n_writable on <self:AAttrPropdef> */
5624 } else {
5625 var21 = NULL;
5626 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var21; /* _n_writable on <self:AAttrPropdef> */
5627 }
5628 goto RET_LABEL;
5629 } else {
5630 }
5631 var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
5632 if (var22 == NULL) {
5633 var23 = 0; /* <var_old_child:ANode> cannot be null */
5634 } else {
5635 var23 = ((short int (*)(val*, val*))(var22->class->vft[COLOR_kernel__Object___61d_61d]))(var22, var_old_child) /* == on <var22:nullable TKwredef>*/;
5636 }
5637 if (var23){
5638 var24 = NULL;
5639 if (var_new_child == NULL) {
5640 var25 = 0; /* is null */
5641 } else {
5642 var25 = 1; /* arg is null and recv is not */
5643 }
5644 if (var25){
5645 ((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)>*/;
5646 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
5647 cltype27 = type_parser_nodes__TKwredef.color;
5648 idtype28 = type_parser_nodes__TKwredef.id;
5649 if(cltype27 >= var_new_child->type->table_size) {
5650 var26 = 0;
5651 } else {
5652 var26 = var_new_child->type->type_table[cltype27] == idtype28;
5653 }
5654 if (!var26) {
5655 fprintf(stderr, "Runtime error: %s", "Assert failed");
5656 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1375);
5657 exit(1);
5658 }
5659 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AAttrPropdef> */
5660 } else {
5661 var29 = NULL;
5662 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var29; /* _n_kwredef on <self:AAttrPropdef> */
5663 }
5664 goto RET_LABEL;
5665 } else {
5666 }
5667 var30 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
5668 if (var30 == NULL) {
5669 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
5670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1382);
5671 exit(1);
5672 }
5673 var31 = ((short int (*)(val*, val*))(var30->class->vft[COLOR_kernel__Object___61d_61d]))(var30, var_old_child) /* == on <var30:AVisibility>*/;
5674 if (var31){
5675 var32 = NULL;
5676 if (var_new_child == NULL) {
5677 var33 = 0; /* is null */
5678 } else {
5679 var33 = 1; /* arg is null and recv is not */
5680 }
5681 if (var33){
5682 ((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)>*/;
5683 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
5684 cltype35 = type_parser_nodes__AVisibility.color;
5685 idtype36 = type_parser_nodes__AVisibility.id;
5686 if(cltype35 >= var_new_child->type->table_size) {
5687 var34 = 0;
5688 } else {
5689 var34 = var_new_child->type->type_table[cltype35] == idtype36;
5690 }
5691 if (!var34) {
5692 fprintf(stderr, "Runtime error: %s", "Assert failed");
5693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1385);
5694 exit(1);
5695 }
5696 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AAttrPropdef> */
5697 } else {
5698 fprintf(stderr, "Runtime error: %s", "Aborted");
5699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1388);
5700 exit(1);
5701 }
5702 goto RET_LABEL;
5703 } else {
5704 }
5705 var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on <self:AAttrPropdef> */
5706 if (var37 == NULL) {
5707 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwvar");
5708 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1392);
5709 exit(1);
5710 }
5711 var38 = ((short int (*)(val*, val*))(var37->class->vft[COLOR_kernel__Object___61d_61d]))(var37, var_old_child) /* == on <var37:TKwvar>*/;
5712 if (var38){
5713 var39 = NULL;
5714 if (var_new_child == NULL) {
5715 var40 = 0; /* is null */
5716 } else {
5717 var40 = 1; /* arg is null and recv is not */
5718 }
5719 if (var40){
5720 ((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)>*/;
5721 /* <var_new_child:nullable ANode(ANode)> isa TKwvar */
5722 cltype42 = type_parser_nodes__TKwvar.color;
5723 idtype43 = type_parser_nodes__TKwvar.id;
5724 if(cltype42 >= var_new_child->type->table_size) {
5725 var41 = 0;
5726 } else {
5727 var41 = var_new_child->type->type_table[cltype42] == idtype43;
5728 }
5729 if (!var41) {
5730 fprintf(stderr, "Runtime error: %s", "Assert failed");
5731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1395);
5732 exit(1);
5733 }
5734 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_new_child; /* _n_kwvar on <self:AAttrPropdef> */
5735 } else {
5736 fprintf(stderr, "Runtime error: %s", "Aborted");
5737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1398);
5738 exit(1);
5739 }
5740 goto RET_LABEL;
5741 } else {
5742 }
5743 var44 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
5744 if (var44 == NULL) {
5745 var45 = 0; /* <var_old_child:ANode> cannot be null */
5746 } else {
5747 var45 = ((short int (*)(val*, val*))(var44->class->vft[COLOR_kernel__Object___61d_61d]))(var44, var_old_child) /* == on <var44:nullable TAttrid>*/;
5748 }
5749 if (var45){
5750 var46 = NULL;
5751 if (var_new_child == NULL) {
5752 var47 = 0; /* is null */
5753 } else {
5754 var47 = 1; /* arg is null and recv is not */
5755 }
5756 if (var47){
5757 ((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)>*/;
5758 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
5759 cltype49 = type_parser_nodes__TAttrid.color;
5760 idtype50 = type_parser_nodes__TAttrid.id;
5761 if(cltype49 >= var_new_child->type->table_size) {
5762 var48 = 0;
5763 } else {
5764 var48 = var_new_child->type->type_table[cltype49] == idtype50;
5765 }
5766 if (!var48) {
5767 fprintf(stderr, "Runtime error: %s", "Assert failed");
5768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1405);
5769 exit(1);
5770 }
5771 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_new_child; /* _n_id on <self:AAttrPropdef> */
5772 } else {
5773 var51 = NULL;
5774 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var51; /* _n_id on <self:AAttrPropdef> */
5775 }
5776 goto RET_LABEL;
5777 } else {
5778 }
5779 var52 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
5780 if (var52 == NULL) {
5781 var53 = 0; /* <var_old_child:ANode> cannot be null */
5782 } else {
5783 var53 = ((short int (*)(val*, val*))(var52->class->vft[COLOR_kernel__Object___61d_61d]))(var52, var_old_child) /* == on <var52:nullable TId>*/;
5784 }
5785 if (var53){
5786 var54 = NULL;
5787 if (var_new_child == NULL) {
5788 var55 = 0; /* is null */
5789 } else {
5790 var55 = 1; /* arg is null and recv is not */
5791 }
5792 if (var55){
5793 ((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)>*/;
5794 /* <var_new_child:nullable ANode(ANode)> isa TId */
5795 cltype57 = type_parser_nodes__TId.color;
5796 idtype58 = type_parser_nodes__TId.id;
5797 if(cltype57 >= var_new_child->type->table_size) {
5798 var56 = 0;
5799 } else {
5800 var56 = var_new_child->type->type_table[cltype57] == idtype58;
5801 }
5802 if (!var56) {
5803 fprintf(stderr, "Runtime error: %s", "Assert failed");
5804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1415);
5805 exit(1);
5806 }
5807 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_new_child; /* _n_id2 on <self:AAttrPropdef> */
5808 } else {
5809 var59 = NULL;
5810 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var59; /* _n_id2 on <self:AAttrPropdef> */
5811 }
5812 goto RET_LABEL;
5813 } else {
5814 }
5815 var60 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
5816 if (var60 == NULL) {
5817 var61 = 0; /* <var_old_child:ANode> cannot be null */
5818 } else {
5819 var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on <var60:nullable AType>*/;
5820 }
5821 if (var61){
5822 var62 = NULL;
5823 if (var_new_child == NULL) {
5824 var63 = 0; /* is null */
5825 } else {
5826 var63 = 1; /* arg is null and recv is not */
5827 }
5828 if (var63){
5829 ((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)>*/;
5830 /* <var_new_child:nullable ANode(ANode)> isa AType */
5831 cltype65 = type_parser_nodes__AType.color;
5832 idtype66 = type_parser_nodes__AType.id;
5833 if(cltype65 >= var_new_child->type->table_size) {
5834 var64 = 0;
5835 } else {
5836 var64 = var_new_child->type->type_table[cltype65] == idtype66;
5837 }
5838 if (!var64) {
5839 fprintf(stderr, "Runtime error: %s", "Assert failed");
5840 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1425);
5841 exit(1);
5842 }
5843 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_new_child; /* _n_type on <self:AAttrPropdef> */
5844 } else {
5845 var67 = NULL;
5846 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var67; /* _n_type on <self:AAttrPropdef> */
5847 }
5848 goto RET_LABEL;
5849 } else {
5850 }
5851 var68 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
5852 if (var68 == NULL) {
5853 var69 = 0; /* <var_old_child:ANode> cannot be null */
5854 } else {
5855 var69 = ((short int (*)(val*, val*))(var68->class->vft[COLOR_kernel__Object___61d_61d]))(var68, var_old_child) /* == on <var68:nullable AAnnotations>*/;
5856 }
5857 if (var69){
5858 var70 = NULL;
5859 if (var_new_child == NULL) {
5860 var71 = 0; /* is null */
5861 } else {
5862 var71 = 1; /* arg is null and recv is not */
5863 }
5864 if (var71){
5865 ((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)>*/;
5866 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5867 cltype73 = type_parser_nodes__AAnnotations.color;
5868 idtype74 = type_parser_nodes__AAnnotations.id;
5869 if(cltype73 >= var_new_child->type->table_size) {
5870 var72 = 0;
5871 } else {
5872 var72 = var_new_child->type->type_table[cltype73] == idtype74;
5873 }
5874 if (!var72) {
5875 fprintf(stderr, "Runtime error: %s", "Assert failed");
5876 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1435);
5877 exit(1);
5878 }
5879 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AAttrPropdef> */
5880 } else {
5881 var75 = NULL;
5882 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var75; /* _n_annotations on <self:AAttrPropdef> */
5883 }
5884 goto RET_LABEL;
5885 } else {
5886 }
5887 var76 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
5888 if (var76 == NULL) {
5889 var77 = 0; /* <var_old_child:ANode> cannot be null */
5890 } else {
5891 var77 = ((short int (*)(val*, val*))(var76->class->vft[COLOR_kernel__Object___61d_61d]))(var76, var_old_child) /* == on <var76:nullable AExpr>*/;
5892 }
5893 if (var77){
5894 var78 = NULL;
5895 if (var_new_child == NULL) {
5896 var79 = 0; /* is null */
5897 } else {
5898 var79 = 1; /* arg is null and recv is not */
5899 }
5900 if (var79){
5901 ((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)>*/;
5902 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5903 cltype81 = type_parser_nodes__AExpr.color;
5904 idtype82 = type_parser_nodes__AExpr.id;
5905 if(cltype81 >= var_new_child->type->table_size) {
5906 var80 = 0;
5907 } else {
5908 var80 = var_new_child->type->type_table[cltype81] == idtype82;
5909 }
5910 if (!var80) {
5911 fprintf(stderr, "Runtime error: %s", "Assert failed");
5912 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1445);
5913 exit(1);
5914 }
5915 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_new_child; /* _n_expr on <self:AAttrPropdef> */
5916 } else {
5917 var83 = NULL;
5918 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var83; /* _n_expr on <self:AAttrPropdef> */
5919 }
5920 goto RET_LABEL;
5921 } else {
5922 }
5923 RET_LABEL:;
5924 }
5925 /* method parser_prod#AAttrPropdef#replace_child for (self: Object, ANode, nullable ANode) */
5926 void VIRTUAL_parser_prod__AAttrPropdef__replace_child(val* self, val* p0, val* p1) {
5927 parser_prod__AAttrPropdef__replace_child(self, p0, p1);
5928 RET_LABEL:;
5929 }
5930 /* method parser_prod#AAttrPropdef#n_doc= for (self: AAttrPropdef, nullable ADoc) */
5931 void parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) {
5932 val* var_node /* var node: nullable ADoc */;
5933 val* var /* : null */;
5934 short int var1 /* : Bool */;
5935 var_node = p0;
5936 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AAttrPropdef> */
5937 var = NULL;
5938 if (var_node == NULL) {
5939 var1 = 0; /* is null */
5940 } else {
5941 var1 = 1; /* arg is null and recv is not */
5942 }
5943 if (var1){
5944 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
5945 } else {
5946 }
5947 RET_LABEL:;
5948 }
5949 /* method parser_prod#AAttrPropdef#n_doc= for (self: Object, nullable ADoc) */
5950 void VIRTUAL_parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) {
5951 parser_prod__AAttrPropdef__n_doc_61d(self, p0);
5952 RET_LABEL:;
5953 }
5954 /* method parser_prod#AAttrPropdef#n_readable= for (self: AAttrPropdef, nullable AAble) */
5955 void parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) {
5956 val* var_node /* var node: nullable AAble */;
5957 val* var /* : null */;
5958 short int var1 /* : Bool */;
5959 var_node = p0;
5960 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_node; /* _n_readable on <self:AAttrPropdef> */
5961 var = NULL;
5962 if (var_node == NULL) {
5963 var1 = 0; /* is null */
5964 } else {
5965 var1 = 1; /* arg is null and recv is not */
5966 }
5967 if (var1){
5968 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAble(AAble)>*/;
5969 } else {
5970 }
5971 RET_LABEL:;
5972 }
5973 /* method parser_prod#AAttrPropdef#n_readable= for (self: Object, nullable AAble) */
5974 void VIRTUAL_parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) {
5975 parser_prod__AAttrPropdef__n_readable_61d(self, p0);
5976 RET_LABEL:;
5977 }
5978 /* method parser_prod#AAttrPropdef#n_writable= for (self: AAttrPropdef, nullable AAble) */
5979 void parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) {
5980 val* var_node /* var node: nullable AAble */;
5981 val* var /* : null */;
5982 short int var1 /* : Bool */;
5983 var_node = p0;
5984 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_node; /* _n_writable on <self:AAttrPropdef> */
5985 var = NULL;
5986 if (var_node == NULL) {
5987 var1 = 0; /* is null */
5988 } else {
5989 var1 = 1; /* arg is null and recv is not */
5990 }
5991 if (var1){
5992 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAble(AAble)>*/;
5993 } else {
5994 }
5995 RET_LABEL:;
5996 }
5997 /* method parser_prod#AAttrPropdef#n_writable= for (self: Object, nullable AAble) */
5998 void VIRTUAL_parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) {
5999 parser_prod__AAttrPropdef__n_writable_61d(self, p0);
6000 RET_LABEL:;
6001 }
6002 /* method parser_prod#AAttrPropdef#n_kwredef= for (self: AAttrPropdef, nullable TKwredef) */
6003 void parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) {
6004 val* var_node /* var node: nullable TKwredef */;
6005 val* var /* : null */;
6006 short int var1 /* : Bool */;
6007 var_node = p0;
6008 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AAttrPropdef> */
6009 var = NULL;
6010 if (var_node == NULL) {
6011 var1 = 0; /* is null */
6012 } else {
6013 var1 = 1; /* arg is null and recv is not */
6014 }
6015 if (var1){
6016 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
6017 } else {
6018 }
6019 RET_LABEL:;
6020 }
6021 /* method parser_prod#AAttrPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
6022 void VIRTUAL_parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) {
6023 parser_prod__AAttrPropdef__n_kwredef_61d(self, p0);
6024 RET_LABEL:;
6025 }
6026 /* method parser_prod#AAttrPropdef#n_visibility= for (self: AAttrPropdef, AVisibility) */
6027 void parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) {
6028 val* var_node /* var node: AVisibility */;
6029 var_node = p0;
6030 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AAttrPropdef> */
6031 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
6032 RET_LABEL:;
6033 }
6034 /* method parser_prod#AAttrPropdef#n_visibility= for (self: Object, AVisibility) */
6035 void VIRTUAL_parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) {
6036 parser_prod__AAttrPropdef__n_visibility_61d(self, p0);
6037 RET_LABEL:;
6038 }
6039 /* method parser_prod#AAttrPropdef#n_kwvar= for (self: AAttrPropdef, TKwvar) */
6040 void parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) {
6041 val* var_node /* var node: TKwvar */;
6042 var_node = p0;
6043 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_node; /* _n_kwvar on <self:AAttrPropdef> */
6044 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwvar>*/;
6045 RET_LABEL:;
6046 }
6047 /* method parser_prod#AAttrPropdef#n_kwvar= for (self: Object, TKwvar) */
6048 void VIRTUAL_parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) {
6049 parser_prod__AAttrPropdef__n_kwvar_61d(self, p0);
6050 RET_LABEL:;
6051 }
6052 /* method parser_prod#AAttrPropdef#n_id= for (self: AAttrPropdef, nullable TAttrid) */
6053 void parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) {
6054 val* var_node /* var node: nullable TAttrid */;
6055 val* var /* : null */;
6056 short int var1 /* : Bool */;
6057 var_node = p0;
6058 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_node; /* _n_id on <self:AAttrPropdef> */
6059 var = NULL;
6060 if (var_node == NULL) {
6061 var1 = 0; /* is null */
6062 } else {
6063 var1 = 1; /* arg is null and recv is not */
6064 }
6065 if (var1){
6066 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TAttrid(TAttrid)>*/;
6067 } else {
6068 }
6069 RET_LABEL:;
6070 }
6071 /* method parser_prod#AAttrPropdef#n_id= for (self: Object, nullable TAttrid) */
6072 void VIRTUAL_parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) {
6073 parser_prod__AAttrPropdef__n_id_61d(self, p0);
6074 RET_LABEL:;
6075 }
6076 /* method parser_prod#AAttrPropdef#n_id2= for (self: AAttrPropdef, nullable TId) */
6077 void parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) {
6078 val* var_node /* var node: nullable TId */;
6079 val* var /* : null */;
6080 short int var1 /* : Bool */;
6081 var_node = p0;
6082 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_node; /* _n_id2 on <self:AAttrPropdef> */
6083 var = NULL;
6084 if (var_node == NULL) {
6085 var1 = 0; /* is null */
6086 } else {
6087 var1 = 1; /* arg is null and recv is not */
6088 }
6089 if (var1){
6090 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
6091 } else {
6092 }
6093 RET_LABEL:;
6094 }
6095 /* method parser_prod#AAttrPropdef#n_id2= for (self: Object, nullable TId) */
6096 void VIRTUAL_parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) {
6097 parser_prod__AAttrPropdef__n_id2_61d(self, p0);
6098 RET_LABEL:;
6099 }
6100 /* method parser_prod#AAttrPropdef#n_type= for (self: AAttrPropdef, nullable AType) */
6101 void parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) {
6102 val* var_node /* var node: nullable AType */;
6103 val* var /* : null */;
6104 short int var1 /* : Bool */;
6105 var_node = p0;
6106 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_node; /* _n_type on <self:AAttrPropdef> */
6107 var = NULL;
6108 if (var_node == NULL) {
6109 var1 = 0; /* is null */
6110 } else {
6111 var1 = 1; /* arg is null and recv is not */
6112 }
6113 if (var1){
6114 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AType(AType)>*/;
6115 } else {
6116 }
6117 RET_LABEL:;
6118 }
6119 /* method parser_prod#AAttrPropdef#n_type= for (self: Object, nullable AType) */
6120 void VIRTUAL_parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) {
6121 parser_prod__AAttrPropdef__n_type_61d(self, p0);
6122 RET_LABEL:;
6123 }
6124 /* method parser_prod#AAttrPropdef#n_annotations= for (self: AAttrPropdef, nullable AAnnotations) */
6125 void parser_prod__AAttrPropdef__n_annotations_61d(val* self, val* p0) {
6126 val* var_node /* var node: nullable AAnnotations */;
6127 val* var /* : null */;
6128 short int var1 /* : Bool */;
6129 var_node = p0;
6130 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AAttrPropdef> */
6131 var = NULL;
6132 if (var_node == NULL) {
6133 var1 = 0; /* is null */
6134 } else {
6135 var1 = 1; /* arg is null and recv is not */
6136 }
6137 if (var1){
6138 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
6139 } else {
6140 }
6141 RET_LABEL:;
6142 }
6143 /* method parser_prod#AAttrPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
6144 void VIRTUAL_parser_prod__AAttrPropdef__n_annotations_61d(val* self, val* p0) {
6145 parser_prod__AAttrPropdef__n_annotations_61d(self, p0);
6146 RET_LABEL:;
6147 }
6148 /* method parser_prod#AAttrPropdef#n_expr= for (self: AAttrPropdef, nullable AExpr) */
6149 void parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) {
6150 val* var_node /* var node: nullable AExpr */;
6151 val* var /* : null */;
6152 short int var1 /* : Bool */;
6153 var_node = p0;
6154 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_node; /* _n_expr on <self:AAttrPropdef> */
6155 var = NULL;
6156 if (var_node == NULL) {
6157 var1 = 0; /* is null */
6158 } else {
6159 var1 = 1; /* arg is null and recv is not */
6160 }
6161 if (var1){
6162 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
6163 } else {
6164 }
6165 RET_LABEL:;
6166 }
6167 /* method parser_prod#AAttrPropdef#n_expr= for (self: Object, nullable AExpr) */
6168 void VIRTUAL_parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) {
6169 parser_prod__AAttrPropdef__n_expr_61d(self, p0);
6170 RET_LABEL:;
6171 }
6172 /* method parser_prod#AAttrPropdef#visit_all for (self: AAttrPropdef, Visitor) */
6173 void parser_prod__AAttrPropdef__visit_all(val* self, val* p0) {
6174 val* var_v /* var v: Visitor */;
6175 val* var /* : nullable ADoc */;
6176 val* var1 /* : null */;
6177 short int var2 /* : Bool */;
6178 val* var3 /* : nullable ADoc */;
6179 val* var4 /* : nullable AAble */;
6180 val* var5 /* : null */;
6181 short int var6 /* : Bool */;
6182 val* var7 /* : nullable AAble */;
6183 val* var8 /* : nullable AAble */;
6184 val* var9 /* : null */;
6185 short int var10 /* : Bool */;
6186 val* var11 /* : nullable AAble */;
6187 val* var12 /* : nullable TKwredef */;
6188 val* var13 /* : null */;
6189 short int var14 /* : Bool */;
6190 val* var15 /* : nullable TKwredef */;
6191 val* var16 /* : AVisibility */;
6192 val* var17 /* : TKwvar */;
6193 val* var18 /* : nullable TAttrid */;
6194 val* var19 /* : null */;
6195 short int var20 /* : Bool */;
6196 val* var21 /* : nullable TAttrid */;
6197 val* var22 /* : nullable TId */;
6198 val* var23 /* : null */;
6199 short int var24 /* : Bool */;
6200 val* var25 /* : nullable TId */;
6201 val* var26 /* : nullable AType */;
6202 val* var27 /* : null */;
6203 short int var28 /* : Bool */;
6204 val* var29 /* : nullable AType */;
6205 val* var30 /* : nullable AAnnotations */;
6206 val* var31 /* : null */;
6207 short int var32 /* : Bool */;
6208 val* var33 /* : nullable AAnnotations */;
6209 val* var34 /* : nullable AExpr */;
6210 val* var35 /* : null */;
6211 short int var36 /* : Bool */;
6212 val* var37 /* : nullable AExpr */;
6213 var_v = p0;
6214 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
6215 var1 = NULL;
6216 if (var == NULL) {
6217 var2 = 0; /* is null */
6218 } else {
6219 var2 = 1; /* arg is null and recv is not */
6220 }
6221 if (var2){
6222 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
6223 if (var3 == NULL) {
6224 fprintf(stderr, "Runtime error: %s", "Cast failed");
6225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1532);
6226 exit(1);
6227 }
6228 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6229 } else {
6230 }
6231 var4 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
6232 var5 = NULL;
6233 if (var4 == NULL) {
6234 var6 = 0; /* is null */
6235 } else {
6236 var6 = 1; /* arg is null and recv is not */
6237 }
6238 if (var6){
6239 var7 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
6240 if (var7 == NULL) {
6241 fprintf(stderr, "Runtime error: %s", "Cast failed");
6242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1535);
6243 exit(1);
6244 }
6245 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
6246 } else {
6247 }
6248 var8 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
6249 var9 = NULL;
6250 if (var8 == NULL) {
6251 var10 = 0; /* is null */
6252 } else {
6253 var10 = 1; /* arg is null and recv is not */
6254 }
6255 if (var10){
6256 var11 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
6257 if (var11 == NULL) {
6258 fprintf(stderr, "Runtime error: %s", "Cast failed");
6259 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1538);
6260 exit(1);
6261 }
6262 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
6263 } else {
6264 }
6265 var12 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
6266 var13 = NULL;
6267 if (var12 == NULL) {
6268 var14 = 0; /* is null */
6269 } else {
6270 var14 = 1; /* arg is null and recv is not */
6271 }
6272 if (var14){
6273 var15 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
6274 if (var15 == NULL) {
6275 fprintf(stderr, "Runtime error: %s", "Cast failed");
6276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1541);
6277 exit(1);
6278 }
6279 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
6280 } else {
6281 }
6282 var16 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
6283 if (var16 == NULL) {
6284 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_visibility");
6285 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1543);
6286 exit(1);
6287 }
6288 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var16) /* enter_visit on <var_v:Visitor>*/;
6289 var17 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on <self:AAttrPropdef> */
6290 if (var17 == NULL) {
6291 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwvar");
6292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1544);
6293 exit(1);
6294 }
6295 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var17) /* enter_visit on <var_v:Visitor>*/;
6296 var18 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
6297 var19 = NULL;
6298 if (var18 == NULL) {
6299 var20 = 0; /* is null */
6300 } else {
6301 var20 = 1; /* arg is null and recv is not */
6302 }
6303 if (var20){
6304 var21 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
6305 if (var21 == NULL) {
6306 fprintf(stderr, "Runtime error: %s", "Cast failed");
6307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1546);
6308 exit(1);
6309 }
6310 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on <var_v:Visitor>*/;
6311 } else {
6312 }
6313 var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
6314 var23 = NULL;
6315 if (var22 == NULL) {
6316 var24 = 0; /* is null */
6317 } else {
6318 var24 = 1; /* arg is null and recv is not */
6319 }
6320 if (var24){
6321 var25 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
6322 if (var25 == NULL) {
6323 fprintf(stderr, "Runtime error: %s", "Cast failed");
6324 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1549);
6325 exit(1);
6326 }
6327 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on <var_v:Visitor>*/;
6328 } else {
6329 }
6330 var26 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
6331 var27 = NULL;
6332 if (var26 == NULL) {
6333 var28 = 0; /* is null */
6334 } else {
6335 var28 = 1; /* arg is null and recv is not */
6336 }
6337 if (var28){
6338 var29 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
6339 if (var29 == NULL) {
6340 fprintf(stderr, "Runtime error: %s", "Cast failed");
6341 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1552);
6342 exit(1);
6343 }
6344 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var29) /* enter_visit on <var_v:Visitor>*/;
6345 } else {
6346 }
6347 var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
6348 var31 = NULL;
6349 if (var30 == NULL) {
6350 var32 = 0; /* is null */
6351 } else {
6352 var32 = 1; /* arg is null and recv is not */
6353 }
6354 if (var32){
6355 var33 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
6356 if (var33 == NULL) {
6357 fprintf(stderr, "Runtime error: %s", "Cast failed");
6358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1555);
6359 exit(1);
6360 }
6361 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var33) /* enter_visit on <var_v:Visitor>*/;
6362 } else {
6363 }
6364 var34 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
6365 var35 = NULL;
6366 if (var34 == NULL) {
6367 var36 = 0; /* is null */
6368 } else {
6369 var36 = 1; /* arg is null and recv is not */
6370 }
6371 if (var36){
6372 var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
6373 if (var37 == NULL) {
6374 fprintf(stderr, "Runtime error: %s", "Cast failed");
6375 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1558);
6376 exit(1);
6377 }
6378 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var37) /* enter_visit on <var_v:Visitor>*/;
6379 } else {
6380 }
6381 RET_LABEL:;
6382 }
6383 /* method parser_prod#AAttrPropdef#visit_all for (self: Object, Visitor) */
6384 void VIRTUAL_parser_prod__AAttrPropdef__visit_all(val* self, val* p0) {
6385 parser_prod__AAttrPropdef__visit_all(self, p0);
6386 RET_LABEL:;
6387 }
6388 /* method parser_prod#AMethPropdef#empty_init for (self: AMethPropdef) */
6389 void parser_prod__AMethPropdef__empty_init(val* self) {
6390 RET_LABEL:;
6391 }
6392 /* method parser_prod#AMethPropdef#empty_init for (self: Object) */
6393 void VIRTUAL_parser_prod__AMethPropdef__empty_init(val* self) {
6394 parser_prod__AMethPropdef__empty_init(self);
6395 RET_LABEL:;
6396 }
6397 /* method parser_prod#AMethPropdef#init_amethpropdef for (self: AMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */
6398 void parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6399 val* var_n_doc /* var n_doc: nullable ADoc */;
6400 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
6401 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
6402 val* var_n_methid /* var n_methid: nullable AMethid */;
6403 val* var_n_signature /* var n_signature: nullable ASignature */;
6404 val* var /* : null */;
6405 short int var1 /* : Bool */;
6406 val* var2 /* : null */;
6407 short int var3 /* : Bool */;
6408 var_n_doc = p0;
6409 var_n_kwredef = p1;
6410 var_n_visibility = p2;
6411 var_n_methid = p3;
6412 var_n_signature = p4;
6413 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMethPropdef__empty_init]))(self) /* empty_init on <self:AMethPropdef>*/;
6414 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AMethPropdef> */
6415 var = NULL;
6416 if (var_n_doc == NULL) {
6417 var1 = 0; /* is null */
6418 } else {
6419 var1 = 1; /* arg is null and recv is not */
6420 }
6421 if (var1){
6422 ((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)>*/;
6423 } else {
6424 }
6425 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AMethPropdef> */
6426 var2 = NULL;
6427 if (var_n_kwredef == NULL) {
6428 var3 = 0; /* is null */
6429 } else {
6430 var3 = 1; /* arg is null and recv is not */
6431 }
6432 if (var3){
6433 ((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)>*/;
6434 } else {
6435 }
6436 if (var_n_visibility == NULL) {
6437 fprintf(stderr, "Runtime error: %s", "Cast failed");
6438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1582);
6439 exit(1);
6440 }
6441 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AMethPropdef> */
6442 if (var_n_visibility == NULL) {
6443 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1583);
6445 exit(1);
6446 } else {
6447 ((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>*/;
6448 }
6449 if (var_n_methid == NULL) {
6450 fprintf(stderr, "Runtime error: %s", "Cast failed");
6451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1584);
6452 exit(1);
6453 }
6454 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AMethPropdef> */
6455 if (var_n_methid == NULL) {
6456 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1585);
6458 exit(1);
6459 } else {
6460 ((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>*/;
6461 }
6462 if (var_n_signature == NULL) {
6463 fprintf(stderr, "Runtime error: %s", "Cast failed");
6464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1586);
6465 exit(1);
6466 }
6467 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AMethPropdef> */
6468 if (var_n_signature == NULL) {
6469 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1587);
6471 exit(1);
6472 } else {
6473 ((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>*/;
6474 }
6475 RET_LABEL:;
6476 }
6477 /* method parser_prod#AMethPropdef#init_amethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */
6478 void VIRTUAL_parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6479 parser_prod__AMethPropdef__init_amethpropdef(self, p0, p1, p2, p3, p4);
6480 RET_LABEL:;
6481 }
6482 /* method parser_prod#AMethPropdef#replace_child for (self: AMethPropdef, ANode, nullable ANode) */
6483 void parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) {
6484 val* var_old_child /* var old_child: ANode */;
6485 val* var_new_child /* var new_child: nullable ANode */;
6486 val* var /* : nullable ADoc */;
6487 short int var1 /* : Bool */;
6488 val* var2 /* : null */;
6489 short int var3 /* : Bool */;
6490 short int var4 /* : Bool */;
6491 int cltype;
6492 int idtype;
6493 val* var5 /* : null */;
6494 val* var6 /* : nullable TKwredef */;
6495 short int var7 /* : Bool */;
6496 val* var8 /* : null */;
6497 short int var9 /* : Bool */;
6498 short int var10 /* : Bool */;
6499 int cltype11;
6500 int idtype12;
6501 val* var13 /* : null */;
6502 val* var14 /* : nullable AVisibility */;
6503 short int var15 /* : Bool */;
6504 val* var16 /* : null */;
6505 short int var17 /* : Bool */;
6506 short int var18 /* : Bool */;
6507 int cltype19;
6508 int idtype20;
6509 val* var21 /* : nullable AMethid */;
6510 short int var22 /* : Bool */;
6511 val* var23 /* : null */;
6512 short int var24 /* : Bool */;
6513 short int var25 /* : Bool */;
6514 int cltype26;
6515 int idtype27;
6516 val* var28 /* : nullable ASignature */;
6517 short int var29 /* : Bool */;
6518 val* var30 /* : null */;
6519 short int var31 /* : Bool */;
6520 short int var32 /* : Bool */;
6521 int cltype33;
6522 int idtype34;
6523 var_old_child = p0;
6524 var_new_child = p1;
6525 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6526 if (var == NULL) {
6527 var1 = 0; /* <var_old_child:ANode> cannot be null */
6528 } else {
6529 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
6530 }
6531 if (var1){
6532 var2 = NULL;
6533 if (var_new_child == NULL) {
6534 var3 = 0; /* is null */
6535 } else {
6536 var3 = 1; /* arg is null and recv is not */
6537 }
6538 if (var3){
6539 ((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)>*/;
6540 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
6541 cltype = type_parser_nodes__ADoc.color;
6542 idtype = type_parser_nodes__ADoc.id;
6543 if(cltype >= var_new_child->type->table_size) {
6544 var4 = 0;
6545 } else {
6546 var4 = var_new_child->type->type_table[cltype] == idtype;
6547 }
6548 if (!var4) {
6549 fprintf(stderr, "Runtime error: %s", "Assert failed");
6550 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1595);
6551 exit(1);
6552 }
6553 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AMethPropdef> */
6554 } else {
6555 var5 = NULL;
6556 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AMethPropdef> */
6557 }
6558 goto RET_LABEL;
6559 } else {
6560 }
6561 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6562 if (var6 == NULL) {
6563 var7 = 0; /* <var_old_child:ANode> cannot be null */
6564 } else {
6565 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
6566 }
6567 if (var7){
6568 var8 = NULL;
6569 if (var_new_child == NULL) {
6570 var9 = 0; /* is null */
6571 } else {
6572 var9 = 1; /* arg is null and recv is not */
6573 }
6574 if (var9){
6575 ((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)>*/;
6576 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
6577 cltype11 = type_parser_nodes__TKwredef.color;
6578 idtype12 = type_parser_nodes__TKwredef.id;
6579 if(cltype11 >= var_new_child->type->table_size) {
6580 var10 = 0;
6581 } else {
6582 var10 = var_new_child->type->type_table[cltype11] == idtype12;
6583 }
6584 if (!var10) {
6585 fprintf(stderr, "Runtime error: %s", "Assert failed");
6586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1605);
6587 exit(1);
6588 }
6589 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AMethPropdef> */
6590 } else {
6591 var13 = NULL;
6592 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AMethPropdef> */
6593 }
6594 goto RET_LABEL;
6595 } else {
6596 }
6597 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AMethPropdef> */
6598 if (var14 == NULL) {
6599 var15 = 0; /* <var_old_child:ANode> cannot be null */
6600 } else {
6601 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
6602 }
6603 if (var15){
6604 var16 = NULL;
6605 if (var_new_child == NULL) {
6606 var17 = 0; /* is null */
6607 } else {
6608 var17 = 1; /* arg is null and recv is not */
6609 }
6610 if (var17){
6611 ((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)>*/;
6612 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
6613 cltype19 = type_parser_nodes__AVisibility.color;
6614 idtype20 = type_parser_nodes__AVisibility.id;
6615 if(cltype19 >= var_new_child->type->table_size) {
6616 var18 = 0;
6617 } else {
6618 var18 = var_new_child->type->type_table[cltype19] == idtype20;
6619 }
6620 if (!var18) {
6621 fprintf(stderr, "Runtime error: %s", "Assert failed");
6622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1615);
6623 exit(1);
6624 }
6625 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AMethPropdef> */
6626 } else {
6627 fprintf(stderr, "Runtime error: %s", "Aborted");
6628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1618);
6629 exit(1);
6630 }
6631 goto RET_LABEL;
6632 } else {
6633 }
6634 var21 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AMethPropdef> */
6635 if (var21 == NULL) {
6636 var22 = 0; /* <var_old_child:ANode> cannot be null */
6637 } else {
6638 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:nullable AMethid>*/;
6639 }
6640 if (var22){
6641 var23 = NULL;
6642 if (var_new_child == NULL) {
6643 var24 = 0; /* is null */
6644 } else {
6645 var24 = 1; /* arg is null and recv is not */
6646 }
6647 if (var24){
6648 ((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)>*/;
6649 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
6650 cltype26 = type_parser_nodes__AMethid.color;
6651 idtype27 = type_parser_nodes__AMethid.id;
6652 if(cltype26 >= var_new_child->type->table_size) {
6653 var25 = 0;
6654 } else {
6655 var25 = var_new_child->type->type_table[cltype26] == idtype27;
6656 }
6657 if (!var25) {
6658 fprintf(stderr, "Runtime error: %s", "Assert failed");
6659 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1625);
6660 exit(1);
6661 }
6662 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AMethPropdef> */
6663 } else {
6664 fprintf(stderr, "Runtime error: %s", "Aborted");
6665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1628);
6666 exit(1);
6667 }
6668 goto RET_LABEL;
6669 } else {
6670 }
6671 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AMethPropdef> */
6672 if (var28 == NULL) {
6673 var29 = 0; /* <var_old_child:ANode> cannot be null */
6674 } else {
6675 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable ASignature>*/;
6676 }
6677 if (var29){
6678 var30 = NULL;
6679 if (var_new_child == NULL) {
6680 var31 = 0; /* is null */
6681 } else {
6682 var31 = 1; /* arg is null and recv is not */
6683 }
6684 if (var31){
6685 ((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)>*/;
6686 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
6687 cltype33 = type_parser_nodes__ASignature.color;
6688 idtype34 = type_parser_nodes__ASignature.id;
6689 if(cltype33 >= var_new_child->type->table_size) {
6690 var32 = 0;
6691 } else {
6692 var32 = var_new_child->type->type_table[cltype33] == idtype34;
6693 }
6694 if (!var32) {
6695 fprintf(stderr, "Runtime error: %s", "Assert failed");
6696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1635);
6697 exit(1);
6698 }
6699 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AMethPropdef> */
6700 } else {
6701 fprintf(stderr, "Runtime error: %s", "Aborted");
6702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1638);
6703 exit(1);
6704 }
6705 goto RET_LABEL;
6706 } else {
6707 }
6708 RET_LABEL:;
6709 }
6710 /* method parser_prod#AMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
6711 void VIRTUAL_parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) {
6712 parser_prod__AMethPropdef__replace_child(self, p0, p1);
6713 RET_LABEL:;
6714 }
6715 /* method parser_prod#AMethPropdef#n_doc= for (self: AMethPropdef, nullable ADoc) */
6716 void parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) {
6717 val* var_node /* var node: nullable ADoc */;
6718 val* var /* : null */;
6719 short int var1 /* : Bool */;
6720 var_node = p0;
6721 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AMethPropdef> */
6722 var = NULL;
6723 if (var_node == NULL) {
6724 var1 = 0; /* is null */
6725 } else {
6726 var1 = 1; /* arg is null and recv is not */
6727 }
6728 if (var1){
6729 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
6730 } else {
6731 }
6732 RET_LABEL:;
6733 }
6734 /* method parser_prod#AMethPropdef#n_doc= for (self: Object, nullable ADoc) */
6735 void VIRTUAL_parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) {
6736 parser_prod__AMethPropdef__n_doc_61d(self, p0);
6737 RET_LABEL:;
6738 }
6739 /* method parser_prod#AMethPropdef#n_kwredef= for (self: AMethPropdef, nullable TKwredef) */
6740 void parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) {
6741 val* var_node /* var node: nullable TKwredef */;
6742 val* var /* : null */;
6743 short int var1 /* : Bool */;
6744 var_node = p0;
6745 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AMethPropdef> */
6746 var = NULL;
6747 if (var_node == NULL) {
6748 var1 = 0; /* is null */
6749 } else {
6750 var1 = 1; /* arg is null and recv is not */
6751 }
6752 if (var1){
6753 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
6754 } else {
6755 }
6756 RET_LABEL:;
6757 }
6758 /* method parser_prod#AMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
6759 void VIRTUAL_parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) {
6760 parser_prod__AMethPropdef__n_kwredef_61d(self, p0);
6761 RET_LABEL:;
6762 }
6763 /* method parser_prod#AMethPropdef#n_visibility= for (self: AMethPropdef, nullable AVisibility) */
6764 void parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) {
6765 val* var_node /* var node: nullable AVisibility */;
6766 var_node = p0;
6767 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AMethPropdef> */
6768 if (var_node == NULL) {
6769 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6770 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1661);
6771 exit(1);
6772 } else {
6773 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
6774 }
6775 RET_LABEL:;
6776 }
6777 /* method parser_prod#AMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
6778 void VIRTUAL_parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) {
6779 parser_prod__AMethPropdef__n_visibility_61d(self, p0);
6780 RET_LABEL:;
6781 }
6782 /* method parser_prod#AMethPropdef#n_methid= for (self: AMethPropdef, nullable AMethid) */
6783 void parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) {
6784 val* var_node /* var node: nullable AMethid */;
6785 var_node = p0;
6786 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AMethPropdef> */
6787 if (var_node == NULL) {
6788 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1666);
6790 exit(1);
6791 } else {
6792 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
6793 }
6794 RET_LABEL:;
6795 }
6796 /* method parser_prod#AMethPropdef#n_methid= for (self: Object, nullable AMethid) */
6797 void VIRTUAL_parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) {
6798 parser_prod__AMethPropdef__n_methid_61d(self, p0);
6799 RET_LABEL:;
6800 }
6801 /* method parser_prod#AMethPropdef#n_signature= for (self: AMethPropdef, nullable ASignature) */
6802 void parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) {
6803 val* var_node /* var node: nullable ASignature */;
6804 var_node = p0;
6805 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AMethPropdef> */
6806 if (var_node == NULL) {
6807 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1671);
6809 exit(1);
6810 } else {
6811 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
6812 }
6813 RET_LABEL:;
6814 }
6815 /* method parser_prod#AMethPropdef#n_signature= for (self: Object, nullable ASignature) */
6816 void VIRTUAL_parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) {
6817 parser_prod__AMethPropdef__n_signature_61d(self, p0);
6818 RET_LABEL:;
6819 }
6820 /* method parser_prod#AMethPropdef#visit_all for (self: AMethPropdef, Visitor) */
6821 void parser_prod__AMethPropdef__visit_all(val* self, val* p0) {
6822 val* var_v /* var v: Visitor */;
6823 val* var /* : nullable ADoc */;
6824 val* var1 /* : null */;
6825 short int var2 /* : Bool */;
6826 val* var3 /* : nullable ADoc */;
6827 val* var4 /* : nullable TKwredef */;
6828 val* var5 /* : null */;
6829 short int var6 /* : Bool */;
6830 val* var7 /* : nullable TKwredef */;
6831 val* var8 /* : nullable AVisibility */;
6832 val* var9 /* : nullable AMethid */;
6833 val* var10 /* : nullable ASignature */;
6834 var_v = p0;
6835 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6836 var1 = NULL;
6837 if (var == NULL) {
6838 var2 = 0; /* is null */
6839 } else {
6840 var2 = 1; /* arg is null and recv is not */
6841 }
6842 if (var2){
6843 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6844 if (var3 == NULL) {
6845 fprintf(stderr, "Runtime error: %s", "Cast failed");
6846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1678);
6847 exit(1);
6848 }
6849 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6850 } else {
6851 }
6852 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6853 var5 = NULL;
6854 if (var4 == NULL) {
6855 var6 = 0; /* is null */
6856 } else {
6857 var6 = 1; /* arg is null and recv is not */
6858 }
6859 if (var6){
6860 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6861 if (var7 == NULL) {
6862 fprintf(stderr, "Runtime error: %s", "Cast failed");
6863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1681);
6864 exit(1);
6865 }
6866 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
6867 } else {
6868 }
6869 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AMethPropdef> */
6870 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
6871 var9 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AMethPropdef> */
6872 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
6873 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AMethPropdef> */
6874 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
6875 RET_LABEL:;
6876 }
6877 /* method parser_prod#AMethPropdef#visit_all for (self: Object, Visitor) */
6878 void VIRTUAL_parser_prod__AMethPropdef__visit_all(val* self, val* p0) {
6879 parser_prod__AMethPropdef__visit_all(self, p0);
6880 RET_LABEL:;
6881 }
6882 /* method parser_prod#ADeferredMethPropdef#empty_init for (self: ADeferredMethPropdef) */
6883 void parser_prod__ADeferredMethPropdef__empty_init(val* self) {
6884 RET_LABEL:;
6885 }
6886 /* method parser_prod#ADeferredMethPropdef#empty_init for (self: Object) */
6887 void VIRTUAL_parser_prod__ADeferredMethPropdef__empty_init(val* self) {
6888 parser_prod__ADeferredMethPropdef__empty_init(self);
6889 RET_LABEL:;
6890 }
6891 /* method parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef for (self: ADeferredMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */
6892 void parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
6893 val* var_n_doc /* var n_doc: nullable ADoc */;
6894 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
6895 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
6896 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
6897 val* var_n_methid /* var n_methid: nullable AMethid */;
6898 val* var_n_signature /* var n_signature: nullable ASignature */;
6899 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
6900 val* var /* : null */;
6901 short int var1 /* : Bool */;
6902 val* var2 /* : null */;
6903 short int var3 /* : Bool */;
6904 val* var4 /* : null */;
6905 short int var5 /* : Bool */;
6906 var_n_doc = p0;
6907 var_n_kwredef = p1;
6908 var_n_visibility = p2;
6909 var_n_kwmeth = p3;
6910 var_n_methid = p4;
6911 var_n_signature = p5;
6912 var_n_annotations = p6;
6913 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADeferredMethPropdef__empty_init]))(self) /* empty_init on <self:ADeferredMethPropdef>*/;
6914 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:ADeferredMethPropdef> */
6915 var = NULL;
6916 if (var_n_doc == NULL) {
6917 var1 = 0; /* is null */
6918 } else {
6919 var1 = 1; /* arg is null and recv is not */
6920 }
6921 if (var1){
6922 ((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)>*/;
6923 } else {
6924 }
6925 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:ADeferredMethPropdef> */
6926 var2 = NULL;
6927 if (var_n_kwredef == NULL) {
6928 var3 = 0; /* is null */
6929 } else {
6930 var3 = 1; /* arg is null and recv is not */
6931 }
6932 if (var3){
6933 ((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)>*/;
6934 } else {
6935 }
6936 if (var_n_visibility == NULL) {
6937 fprintf(stderr, "Runtime error: %s", "Cast failed");
6938 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1710);
6939 exit(1);
6940 }
6941 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:ADeferredMethPropdef> */
6942 if (var_n_visibility == NULL) {
6943 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1711);
6945 exit(1);
6946 } else {
6947 ((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>*/;
6948 }
6949 if (var_n_kwmeth == NULL) {
6950 fprintf(stderr, "Runtime error: %s", "Cast failed");
6951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1712);
6952 exit(1);
6953 }
6954 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:ADeferredMethPropdef> */
6955 if (var_n_kwmeth == NULL) {
6956 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1713);
6958 exit(1);
6959 } else {
6960 ((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>*/;
6961 }
6962 if (var_n_methid == NULL) {
6963 fprintf(stderr, "Runtime error: %s", "Cast failed");
6964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1714);
6965 exit(1);
6966 }
6967 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:ADeferredMethPropdef> */
6968 if (var_n_methid == NULL) {
6969 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1715);
6971 exit(1);
6972 } else {
6973 ((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>*/;
6974 }
6975 if (var_n_signature == NULL) {
6976 fprintf(stderr, "Runtime error: %s", "Cast failed");
6977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1716);
6978 exit(1);
6979 }
6980 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:ADeferredMethPropdef> */
6981 if (var_n_signature == NULL) {
6982 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1717);
6984 exit(1);
6985 } else {
6986 ((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>*/;
6987 }
6988 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ADeferredMethPropdef> */
6989 var4 = NULL;
6990 if (var_n_annotations == NULL) {
6991 var5 = 0; /* is null */
6992 } else {
6993 var5 = 1; /* arg is null and recv is not */
6994 }
6995 if (var5){
6996 ((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)>*/;
6997 } else {
6998 }
6999 RET_LABEL:;
7000 }
7001 /* method parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */
7002 void VIRTUAL_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
7003 parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(self, p0, p1, p2, p3, p4, p5, p6);
7004 RET_LABEL:;
7005 }
7006 /* method parser_prod#ADeferredMethPropdef#replace_child for (self: ADeferredMethPropdef, ANode, nullable ANode) */
7007 void parser_prod__ADeferredMethPropdef__replace_child(val* self, val* p0, val* p1) {
7008 val* var_old_child /* var old_child: ANode */;
7009 val* var_new_child /* var new_child: nullable ANode */;
7010 val* var /* : nullable ADoc */;
7011 short int var1 /* : Bool */;
7012 val* var2 /* : null */;
7013 short int var3 /* : Bool */;
7014 short int var4 /* : Bool */;
7015 int cltype;
7016 int idtype;
7017 val* var5 /* : null */;
7018 val* var6 /* : nullable TKwredef */;
7019 short int var7 /* : Bool */;
7020 val* var8 /* : null */;
7021 short int var9 /* : Bool */;
7022 short int var10 /* : Bool */;
7023 int cltype11;
7024 int idtype12;
7025 val* var13 /* : null */;
7026 val* var14 /* : nullable AVisibility */;
7027 short int var15 /* : Bool */;
7028 val* var16 /* : null */;
7029 short int var17 /* : Bool */;
7030 short int var18 /* : Bool */;
7031 int cltype19;
7032 int idtype20;
7033 val* var21 /* : TKwmeth */;
7034 short int var22 /* : Bool */;
7035 val* var23 /* : null */;
7036 short int var24 /* : Bool */;
7037 short int var25 /* : Bool */;
7038 int cltype26;
7039 int idtype27;
7040 val* var28 /* : nullable AMethid */;
7041 short int var29 /* : Bool */;
7042 val* var30 /* : null */;
7043 short int var31 /* : Bool */;
7044 short int var32 /* : Bool */;
7045 int cltype33;
7046 int idtype34;
7047 val* var35 /* : nullable ASignature */;
7048 short int var36 /* : Bool */;
7049 val* var37 /* : null */;
7050 short int var38 /* : Bool */;
7051 short int var39 /* : Bool */;
7052 int cltype40;
7053 int idtype41;
7054 val* var42 /* : nullable AAnnotations */;
7055 short int var43 /* : Bool */;
7056 val* var44 /* : null */;
7057 short int var45 /* : Bool */;
7058 short int var46 /* : Bool */;
7059 int cltype47;
7060 int idtype48;
7061 val* var49 /* : null */;
7062 var_old_child = p0;
7063 var_new_child = p1;
7064 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7065 if (var == NULL) {
7066 var1 = 0; /* <var_old_child:ANode> cannot be null */
7067 } else {
7068 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
7069 }
7070 if (var1){
7071 var2 = NULL;
7072 if (var_new_child == NULL) {
7073 var3 = 0; /* is null */
7074 } else {
7075 var3 = 1; /* arg is null and recv is not */
7076 }
7077 if (var3){
7078 ((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)>*/;
7079 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
7080 cltype = type_parser_nodes__ADoc.color;
7081 idtype = type_parser_nodes__ADoc.id;
7082 if(cltype >= var_new_child->type->table_size) {
7083 var4 = 0;
7084 } else {
7085 var4 = var_new_child->type->type_table[cltype] == idtype;
7086 }
7087 if (!var4) {
7088 fprintf(stderr, "Runtime error: %s", "Assert failed");
7089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1729);
7090 exit(1);
7091 }
7092 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:ADeferredMethPropdef> */
7093 } else {
7094 var5 = NULL;
7095 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:ADeferredMethPropdef> */
7096 }
7097 goto RET_LABEL;
7098 } else {
7099 }
7100 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7101 if (var6 == NULL) {
7102 var7 = 0; /* <var_old_child:ANode> cannot be null */
7103 } else {
7104 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
7105 }
7106 if (var7){
7107 var8 = NULL;
7108 if (var_new_child == NULL) {
7109 var9 = 0; /* is null */
7110 } else {
7111 var9 = 1; /* arg is null and recv is not */
7112 }
7113 if (var9){
7114 ((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)>*/;
7115 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
7116 cltype11 = type_parser_nodes__TKwredef.color;
7117 idtype12 = type_parser_nodes__TKwredef.id;
7118 if(cltype11 >= var_new_child->type->table_size) {
7119 var10 = 0;
7120 } else {
7121 var10 = var_new_child->type->type_table[cltype11] == idtype12;
7122 }
7123 if (!var10) {
7124 fprintf(stderr, "Runtime error: %s", "Assert failed");
7125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1739);
7126 exit(1);
7127 }
7128 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:ADeferredMethPropdef> */
7129 } else {
7130 var13 = NULL;
7131 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:ADeferredMethPropdef> */
7132 }
7133 goto RET_LABEL;
7134 } else {
7135 }
7136 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:ADeferredMethPropdef> */
7137 if (var14 == NULL) {
7138 var15 = 0; /* <var_old_child:ANode> cannot be null */
7139 } else {
7140 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
7141 }
7142 if (var15){
7143 var16 = NULL;
7144 if (var_new_child == NULL) {
7145 var17 = 0; /* is null */
7146 } else {
7147 var17 = 1; /* arg is null and recv is not */
7148 }
7149 if (var17){
7150 ((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)>*/;
7151 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
7152 cltype19 = type_parser_nodes__AVisibility.color;
7153 idtype20 = type_parser_nodes__AVisibility.id;
7154 if(cltype19 >= var_new_child->type->table_size) {
7155 var18 = 0;
7156 } else {
7157 var18 = var_new_child->type->type_table[cltype19] == idtype20;
7158 }
7159 if (!var18) {
7160 fprintf(stderr, "Runtime error: %s", "Assert failed");
7161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1749);
7162 exit(1);
7163 }
7164 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:ADeferredMethPropdef> */
7165 } else {
7166 fprintf(stderr, "Runtime error: %s", "Aborted");
7167 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1752);
7168 exit(1);
7169 }
7170 goto RET_LABEL;
7171 } else {
7172 }
7173 var21 = self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7174 if (var21 == NULL) {
7175 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
7176 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1756);
7177 exit(1);
7178 }
7179 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
7180 if (var22){
7181 var23 = NULL;
7182 if (var_new_child == NULL) {
7183 var24 = 0; /* is null */
7184 } else {
7185 var24 = 1; /* arg is null and recv is not */
7186 }
7187 if (var24){
7188 ((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)>*/;
7189 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
7190 cltype26 = type_parser_nodes__TKwmeth.color;
7191 idtype27 = type_parser_nodes__TKwmeth.id;
7192 if(cltype26 >= var_new_child->type->table_size) {
7193 var25 = 0;
7194 } else {
7195 var25 = var_new_child->type->type_table[cltype26] == idtype27;
7196 }
7197 if (!var25) {
7198 fprintf(stderr, "Runtime error: %s", "Assert failed");
7199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1759);
7200 exit(1);
7201 }
7202 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7203 } else {
7204 fprintf(stderr, "Runtime error: %s", "Aborted");
7205 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1762);
7206 exit(1);
7207 }
7208 goto RET_LABEL;
7209 } else {
7210 }
7211 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:ADeferredMethPropdef> */
7212 if (var28 == NULL) {
7213 var29 = 0; /* <var_old_child:ANode> cannot be null */
7214 } else {
7215 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
7216 }
7217 if (var29){
7218 var30 = NULL;
7219 if (var_new_child == NULL) {
7220 var31 = 0; /* is null */
7221 } else {
7222 var31 = 1; /* arg is null and recv is not */
7223 }
7224 if (var31){
7225 ((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)>*/;
7226 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
7227 cltype33 = type_parser_nodes__AMethid.color;
7228 idtype34 = type_parser_nodes__AMethid.id;
7229 if(cltype33 >= var_new_child->type->table_size) {
7230 var32 = 0;
7231 } else {
7232 var32 = var_new_child->type->type_table[cltype33] == idtype34;
7233 }
7234 if (!var32) {
7235 fprintf(stderr, "Runtime error: %s", "Assert failed");
7236 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1769);
7237 exit(1);
7238 }
7239 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:ADeferredMethPropdef> */
7240 } else {
7241 fprintf(stderr, "Runtime error: %s", "Aborted");
7242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1772);
7243 exit(1);
7244 }
7245 goto RET_LABEL;
7246 } else {
7247 }
7248 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:ADeferredMethPropdef> */
7249 if (var35 == NULL) {
7250 var36 = 0; /* <var_old_child:ANode> cannot be null */
7251 } else {
7252 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
7253 }
7254 if (var36){
7255 var37 = NULL;
7256 if (var_new_child == NULL) {
7257 var38 = 0; /* is null */
7258 } else {
7259 var38 = 1; /* arg is null and recv is not */
7260 }
7261 if (var38){
7262 ((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)>*/;
7263 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
7264 cltype40 = type_parser_nodes__ASignature.color;
7265 idtype41 = type_parser_nodes__ASignature.id;
7266 if(cltype40 >= var_new_child->type->table_size) {
7267 var39 = 0;
7268 } else {
7269 var39 = var_new_child->type->type_table[cltype40] == idtype41;
7270 }
7271 if (!var39) {
7272 fprintf(stderr, "Runtime error: %s", "Assert failed");
7273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1779);
7274 exit(1);
7275 }
7276 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:ADeferredMethPropdef> */
7277 } else {
7278 fprintf(stderr, "Runtime error: %s", "Aborted");
7279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1782);
7280 exit(1);
7281 }
7282 goto RET_LABEL;
7283 } else {
7284 }
7285 var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7286 if (var42 == NULL) {
7287 var43 = 0; /* <var_old_child:ANode> cannot be null */
7288 } else {
7289 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable AAnnotations>*/;
7290 }
7291 if (var43){
7292 var44 = NULL;
7293 if (var_new_child == NULL) {
7294 var45 = 0; /* is null */
7295 } else {
7296 var45 = 1; /* arg is null and recv is not */
7297 }
7298 if (var45){
7299 ((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)>*/;
7300 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
7301 cltype47 = type_parser_nodes__AAnnotations.color;
7302 idtype48 = type_parser_nodes__AAnnotations.id;
7303 if(cltype47 >= var_new_child->type->table_size) {
7304 var46 = 0;
7305 } else {
7306 var46 = var_new_child->type->type_table[cltype47] == idtype48;
7307 }
7308 if (!var46) {
7309 fprintf(stderr, "Runtime error: %s", "Assert failed");
7310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1789);
7311 exit(1);
7312 }
7313 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ADeferredMethPropdef> */
7314 } else {
7315 var49 = NULL;
7316 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _n_annotations on <self:ADeferredMethPropdef> */
7317 }
7318 goto RET_LABEL;
7319 } else {
7320 }
7321 RET_LABEL:;
7322 }
7323 /* method parser_prod#ADeferredMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
7324 void VIRTUAL_parser_prod__ADeferredMethPropdef__replace_child(val* self, val* p0, val* p1) {
7325 parser_prod__ADeferredMethPropdef__replace_child(self, p0, p1);
7326 RET_LABEL:;
7327 }
7328 /* method parser_prod#ADeferredMethPropdef#n_doc= for (self: ADeferredMethPropdef, nullable ADoc) */
7329 void parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) {
7330 val* var_node /* var node: nullable ADoc */;
7331 val* var /* : null */;
7332 short int var1 /* : Bool */;
7333 var_node = p0;
7334 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:ADeferredMethPropdef> */
7335 var = NULL;
7336 if (var_node == NULL) {
7337 var1 = 0; /* is null */
7338 } else {
7339 var1 = 1; /* arg is null and recv is not */
7340 }
7341 if (var1){
7342 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
7343 } else {
7344 }
7345 RET_LABEL:;
7346 }
7347 /* method parser_prod#ADeferredMethPropdef#n_doc= for (self: Object, nullable ADoc) */
7348 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) {
7349 parser_prod__ADeferredMethPropdef__n_doc_61d(self, p0);
7350 RET_LABEL:;
7351 }
7352 /* method parser_prod#ADeferredMethPropdef#n_kwredef= for (self: ADeferredMethPropdef, nullable TKwredef) */
7353 void parser_prod__ADeferredMethPropdef__n_kwredef_61d(val* self, val* p0) {
7354 val* var_node /* var node: nullable TKwredef */;
7355 val* var /* : null */;
7356 short int var1 /* : Bool */;
7357 var_node = p0;
7358 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:ADeferredMethPropdef> */
7359 var = NULL;
7360 if (var_node == NULL) {
7361 var1 = 0; /* is null */
7362 } else {
7363 var1 = 1; /* arg is null and recv is not */
7364 }
7365 if (var1){
7366 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
7367 } else {
7368 }
7369 RET_LABEL:;
7370 }
7371 /* method parser_prod#ADeferredMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
7372 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwredef_61d(val* self, val* p0) {
7373 parser_prod__ADeferredMethPropdef__n_kwredef_61d(self, p0);
7374 RET_LABEL:;
7375 }
7376 /* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: ADeferredMethPropdef, nullable AVisibility) */
7377 void parser_prod__ADeferredMethPropdef__n_visibility_61d(val* self, val* p0) {
7378 val* var_node /* var node: nullable AVisibility */;
7379 var_node = p0;
7380 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:ADeferredMethPropdef> */
7381 if (var_node == NULL) {
7382 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7383 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1815);
7384 exit(1);
7385 } else {
7386 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
7387 }
7388 RET_LABEL:;
7389 }
7390 /* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
7391 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_visibility_61d(val* self, val* p0) {
7392 parser_prod__ADeferredMethPropdef__n_visibility_61d(self, p0);
7393 RET_LABEL:;
7394 }
7395 /* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: ADeferredMethPropdef, TKwmeth) */
7396 void parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7397 val* var_node /* var node: TKwmeth */;
7398 var_node = p0;
7399 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7400 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
7401 RET_LABEL:;
7402 }
7403 /* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
7404 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7405 parser_prod__ADeferredMethPropdef__n_kwmeth_61d(self, p0);
7406 RET_LABEL:;
7407 }
7408 /* method parser_prod#ADeferredMethPropdef#n_methid= for (self: ADeferredMethPropdef, nullable AMethid) */
7409 void parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) {
7410 val* var_node /* var node: nullable AMethid */;
7411 var_node = p0;
7412 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:ADeferredMethPropdef> */
7413 if (var_node == NULL) {
7414 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1825);
7416 exit(1);
7417 } else {
7418 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
7419 }
7420 RET_LABEL:;
7421 }
7422 /* method parser_prod#ADeferredMethPropdef#n_methid= for (self: Object, nullable AMethid) */
7423 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) {
7424 parser_prod__ADeferredMethPropdef__n_methid_61d(self, p0);
7425 RET_LABEL:;
7426 }
7427 /* method parser_prod#ADeferredMethPropdef#n_signature= for (self: ADeferredMethPropdef, nullable ASignature) */
7428 void parser_prod__ADeferredMethPropdef__n_signature_61d(val* self, val* p0) {
7429 val* var_node /* var node: nullable ASignature */;
7430 var_node = p0;
7431 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:ADeferredMethPropdef> */
7432 if (var_node == NULL) {
7433 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1830);
7435 exit(1);
7436 } else {
7437 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
7438 }
7439 RET_LABEL:;
7440 }
7441 /* method parser_prod#ADeferredMethPropdef#n_signature= for (self: Object, nullable ASignature) */
7442 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_signature_61d(val* self, val* p0) {
7443 parser_prod__ADeferredMethPropdef__n_signature_61d(self, p0);
7444 RET_LABEL:;
7445 }
7446 /* method parser_prod#ADeferredMethPropdef#n_annotations= for (self: ADeferredMethPropdef, nullable AAnnotations) */
7447 void parser_prod__ADeferredMethPropdef__n_annotations_61d(val* self, val* p0) {
7448 val* var_node /* var node: nullable AAnnotations */;
7449 val* var /* : null */;
7450 short int var1 /* : Bool */;
7451 var_node = p0;
7452 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ADeferredMethPropdef> */
7453 var = NULL;
7454 if (var_node == NULL) {
7455 var1 = 0; /* is null */
7456 } else {
7457 var1 = 1; /* arg is null and recv is not */
7458 }
7459 if (var1){
7460 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
7461 } else {
7462 }
7463 RET_LABEL:;
7464 }
7465 /* method parser_prod#ADeferredMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
7466 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_annotations_61d(val* self, val* p0) {
7467 parser_prod__ADeferredMethPropdef__n_annotations_61d(self, p0);
7468 RET_LABEL:;
7469 }
7470 /* method parser_prod#ADeferredMethPropdef#visit_all for (self: ADeferredMethPropdef, Visitor) */
7471 void parser_prod__ADeferredMethPropdef__visit_all(val* self, val* p0) {
7472 val* var_v /* var v: Visitor */;
7473 val* var /* : nullable ADoc */;
7474 val* var1 /* : null */;
7475 short int var2 /* : Bool */;
7476 val* var3 /* : nullable ADoc */;
7477 val* var4 /* : nullable TKwredef */;
7478 val* var5 /* : null */;
7479 short int var6 /* : Bool */;
7480 val* var7 /* : nullable TKwredef */;
7481 val* var8 /* : nullable AVisibility */;
7482 val* var9 /* : TKwmeth */;
7483 val* var10 /* : nullable AMethid */;
7484 val* var11 /* : nullable ASignature */;
7485 val* var12 /* : nullable AAnnotations */;
7486 val* var13 /* : null */;
7487 short int var14 /* : Bool */;
7488 val* var15 /* : nullable AAnnotations */;
7489 var_v = p0;
7490 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7491 var1 = NULL;
7492 if (var == NULL) {
7493 var2 = 0; /* is null */
7494 } else {
7495 var2 = 1; /* arg is null and recv is not */
7496 }
7497 if (var2){
7498 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7499 if (var3 == NULL) {
7500 fprintf(stderr, "Runtime error: %s", "Cast failed");
7501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1844);
7502 exit(1);
7503 }
7504 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7505 } else {
7506 }
7507 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7508 var5 = NULL;
7509 if (var4 == NULL) {
7510 var6 = 0; /* is null */
7511 } else {
7512 var6 = 1; /* arg is null and recv is not */
7513 }
7514 if (var6){
7515 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7516 if (var7 == NULL) {
7517 fprintf(stderr, "Runtime error: %s", "Cast failed");
7518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1847);
7519 exit(1);
7520 }
7521 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
7522 } else {
7523 }
7524 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:ADeferredMethPropdef> */
7525 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
7526 var9 = self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7527 if (var9 == NULL) {
7528 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
7529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1850);
7530 exit(1);
7531 }
7532 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
7533 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:ADeferredMethPropdef> */
7534 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
7535 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:ADeferredMethPropdef> */
7536 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
7537 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7538 var13 = NULL;
7539 if (var12 == NULL) {
7540 var14 = 0; /* is null */
7541 } else {
7542 var14 = 1; /* arg is null and recv is not */
7543 }
7544 if (var14){
7545 var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7546 if (var15 == NULL) {
7547 fprintf(stderr, "Runtime error: %s", "Cast failed");
7548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1854);
7549 exit(1);
7550 }
7551 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
7552 } else {
7553 }
7554 RET_LABEL:;
7555 }
7556 /* method parser_prod#ADeferredMethPropdef#visit_all for (self: Object, Visitor) */
7557 void VIRTUAL_parser_prod__ADeferredMethPropdef__visit_all(val* self, val* p0) {
7558 parser_prod__ADeferredMethPropdef__visit_all(self, p0);
7559 RET_LABEL:;
7560 }
7561 /* method parser_prod#AInternMethPropdef#empty_init for (self: AInternMethPropdef) */
7562 void parser_prod__AInternMethPropdef__empty_init(val* self) {
7563 RET_LABEL:;
7564 }
7565 /* method parser_prod#AInternMethPropdef#empty_init for (self: Object) */
7566 void VIRTUAL_parser_prod__AInternMethPropdef__empty_init(val* self) {
7567 parser_prod__AInternMethPropdef__empty_init(self);
7568 RET_LABEL:;
7569 }
7570 /* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: AInternMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */
7571 void parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
7572 val* var_n_doc /* var n_doc: nullable ADoc */;
7573 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
7574 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
7575 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
7576 val* var_n_methid /* var n_methid: nullable AMethid */;
7577 val* var_n_signature /* var n_signature: nullable ASignature */;
7578 val* var /* : null */;
7579 short int var1 /* : Bool */;
7580 val* var2 /* : null */;
7581 short int var3 /* : Bool */;
7582 var_n_doc = p0;
7583 var_n_kwredef = p1;
7584 var_n_visibility = p2;
7585 var_n_kwmeth = p3;
7586 var_n_methid = p4;
7587 var_n_signature = p5;
7588 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInternMethPropdef__empty_init]))(self) /* empty_init on <self:AInternMethPropdef>*/;
7589 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AInternMethPropdef> */
7590 var = NULL;
7591 if (var_n_doc == NULL) {
7592 var1 = 0; /* is null */
7593 } else {
7594 var1 = 1; /* arg is null and recv is not */
7595 }
7596 if (var1){
7597 ((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)>*/;
7598 } else {
7599 }
7600 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AInternMethPropdef> */
7601 var2 = NULL;
7602 if (var_n_kwredef == NULL) {
7603 var3 = 0; /* is null */
7604 } else {
7605 var3 = 1; /* arg is null and recv is not */
7606 }
7607 if (var3){
7608 ((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)>*/;
7609 } else {
7610 }
7611 if (var_n_visibility == NULL) {
7612 fprintf(stderr, "Runtime error: %s", "Cast failed");
7613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1879);
7614 exit(1);
7615 }
7616 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AInternMethPropdef> */
7617 if (var_n_visibility == NULL) {
7618 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7619 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1880);
7620 exit(1);
7621 } else {
7622 ((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>*/;
7623 }
7624 if (var_n_kwmeth == NULL) {
7625 fprintf(stderr, "Runtime error: %s", "Cast failed");
7626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1881);
7627 exit(1);
7628 }
7629 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AInternMethPropdef> */
7630 if (var_n_kwmeth == NULL) {
7631 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1882);
7633 exit(1);
7634 } else {
7635 ((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>*/;
7636 }
7637 if (var_n_methid == NULL) {
7638 fprintf(stderr, "Runtime error: %s", "Cast failed");
7639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1883);
7640 exit(1);
7641 }
7642 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AInternMethPropdef> */
7643 if (var_n_methid == NULL) {
7644 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7645 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1884);
7646 exit(1);
7647 } else {
7648 ((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>*/;
7649 }
7650 if (var_n_signature == NULL) {
7651 fprintf(stderr, "Runtime error: %s", "Cast failed");
7652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1885);
7653 exit(1);
7654 }
7655 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AInternMethPropdef> */
7656 if (var_n_signature == NULL) {
7657 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1886);
7659 exit(1);
7660 } else {
7661 ((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>*/;
7662 }
7663 RET_LABEL:;
7664 }
7665 /* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */
7666 void VIRTUAL_parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
7667 parser_prod__AInternMethPropdef__init_ainternmethpropdef(self, p0, p1, p2, p3, p4, p5);
7668 RET_LABEL:;
7669 }
7670 /* method parser_prod#AInternMethPropdef#replace_child for (self: AInternMethPropdef, ANode, nullable ANode) */
7671 void parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) {
7672 val* var_old_child /* var old_child: ANode */;
7673 val* var_new_child /* var new_child: nullable ANode */;
7674 val* var /* : nullable ADoc */;
7675 short int var1 /* : Bool */;
7676 val* var2 /* : null */;
7677 short int var3 /* : Bool */;
7678 short int var4 /* : Bool */;
7679 int cltype;
7680 int idtype;
7681 val* var5 /* : null */;
7682 val* var6 /* : nullable TKwredef */;
7683 short int var7 /* : Bool */;
7684 val* var8 /* : null */;
7685 short int var9 /* : Bool */;
7686 short int var10 /* : Bool */;
7687 int cltype11;
7688 int idtype12;
7689 val* var13 /* : null */;
7690 val* var14 /* : nullable AVisibility */;
7691 short int var15 /* : Bool */;
7692 val* var16 /* : null */;
7693 short int var17 /* : Bool */;
7694 short int var18 /* : Bool */;
7695 int cltype19;
7696 int idtype20;
7697 val* var21 /* : TKwmeth */;
7698 short int var22 /* : Bool */;
7699 val* var23 /* : null */;
7700 short int var24 /* : Bool */;
7701 short int var25 /* : Bool */;
7702 int cltype26;
7703 int idtype27;
7704 val* var28 /* : nullable AMethid */;
7705 short int var29 /* : Bool */;
7706 val* var30 /* : null */;
7707 short int var31 /* : Bool */;
7708 short int var32 /* : Bool */;
7709 int cltype33;
7710 int idtype34;
7711 val* var35 /* : nullable ASignature */;
7712 short int var36 /* : Bool */;
7713 val* var37 /* : null */;
7714 short int var38 /* : Bool */;
7715 short int var39 /* : Bool */;
7716 int cltype40;
7717 int idtype41;
7718 var_old_child = p0;
7719 var_new_child = p1;
7720 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
7721 if (var == NULL) {
7722 var1 = 0; /* <var_old_child:ANode> cannot be null */
7723 } else {
7724 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
7725 }
7726 if (var1){
7727 var2 = NULL;
7728 if (var_new_child == NULL) {
7729 var3 = 0; /* is null */
7730 } else {
7731 var3 = 1; /* arg is null and recv is not */
7732 }
7733 if (var3){
7734 ((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)>*/;
7735 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
7736 cltype = type_parser_nodes__ADoc.color;
7737 idtype = type_parser_nodes__ADoc.id;
7738 if(cltype >= var_new_child->type->table_size) {
7739 var4 = 0;
7740 } else {
7741 var4 = var_new_child->type->type_table[cltype] == idtype;
7742 }
7743 if (!var4) {
7744 fprintf(stderr, "Runtime error: %s", "Assert failed");
7745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1894);
7746 exit(1);
7747 }
7748 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AInternMethPropdef> */
7749 } else {
7750 var5 = NULL;
7751 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AInternMethPropdef> */
7752 }
7753 goto RET_LABEL;
7754 } else {
7755 }
7756 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
7757 if (var6 == NULL) {
7758 var7 = 0; /* <var_old_child:ANode> cannot be null */
7759 } else {
7760 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
7761 }
7762 if (var7){
7763 var8 = NULL;
7764 if (var_new_child == NULL) {
7765 var9 = 0; /* is null */
7766 } else {
7767 var9 = 1; /* arg is null and recv is not */
7768 }
7769 if (var9){
7770 ((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)>*/;
7771 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
7772 cltype11 = type_parser_nodes__TKwredef.color;
7773 idtype12 = type_parser_nodes__TKwredef.id;
7774 if(cltype11 >= var_new_child->type->table_size) {
7775 var10 = 0;
7776 } else {
7777 var10 = var_new_child->type->type_table[cltype11] == idtype12;
7778 }
7779 if (!var10) {
7780 fprintf(stderr, "Runtime error: %s", "Assert failed");
7781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1904);
7782 exit(1);
7783 }
7784 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AInternMethPropdef> */
7785 } else {
7786 var13 = NULL;
7787 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AInternMethPropdef> */
7788 }
7789 goto RET_LABEL;
7790 } else {
7791 }
7792 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AInternMethPropdef> */
7793 if (var14 == NULL) {
7794 var15 = 0; /* <var_old_child:ANode> cannot be null */
7795 } else {
7796 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
7797 }
7798 if (var15){
7799 var16 = NULL;
7800 if (var_new_child == NULL) {
7801 var17 = 0; /* is null */
7802 } else {
7803 var17 = 1; /* arg is null and recv is not */
7804 }
7805 if (var17){
7806 ((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)>*/;
7807 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
7808 cltype19 = type_parser_nodes__AVisibility.color;
7809 idtype20 = type_parser_nodes__AVisibility.id;
7810 if(cltype19 >= var_new_child->type->table_size) {
7811 var18 = 0;
7812 } else {
7813 var18 = var_new_child->type->type_table[cltype19] == idtype20;
7814 }
7815 if (!var18) {
7816 fprintf(stderr, "Runtime error: %s", "Assert failed");
7817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1914);
7818 exit(1);
7819 }
7820 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AInternMethPropdef> */
7821 } else {
7822 fprintf(stderr, "Runtime error: %s", "Aborted");
7823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1917);
7824 exit(1);
7825 }
7826 goto RET_LABEL;
7827 } else {
7828 }
7829 var21 = self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AInternMethPropdef> */
7830 if (var21 == NULL) {
7831 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
7832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1921);
7833 exit(1);
7834 }
7835 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
7836 if (var22){
7837 var23 = NULL;
7838 if (var_new_child == NULL) {
7839 var24 = 0; /* is null */
7840 } else {
7841 var24 = 1; /* arg is null and recv is not */
7842 }
7843 if (var24){
7844 ((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)>*/;
7845 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
7846 cltype26 = type_parser_nodes__TKwmeth.color;
7847 idtype27 = type_parser_nodes__TKwmeth.id;
7848 if(cltype26 >= var_new_child->type->table_size) {
7849 var25 = 0;
7850 } else {
7851 var25 = var_new_child->type->type_table[cltype26] == idtype27;
7852 }
7853 if (!var25) {
7854 fprintf(stderr, "Runtime error: %s", "Assert failed");
7855 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1924);
7856 exit(1);
7857 }
7858 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AInternMethPropdef> */
7859 } else {
7860 fprintf(stderr, "Runtime error: %s", "Aborted");
7861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1927);
7862 exit(1);
7863 }
7864 goto RET_LABEL;
7865 } else {
7866 }
7867 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AInternMethPropdef> */
7868 if (var28 == NULL) {
7869 var29 = 0; /* <var_old_child:ANode> cannot be null */
7870 } else {
7871 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
7872 }
7873 if (var29){
7874 var30 = NULL;
7875 if (var_new_child == NULL) {
7876 var31 = 0; /* is null */
7877 } else {
7878 var31 = 1; /* arg is null and recv is not */
7879 }
7880 if (var31){
7881 ((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)>*/;
7882 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
7883 cltype33 = type_parser_nodes__AMethid.color;
7884 idtype34 = type_parser_nodes__AMethid.id;
7885 if(cltype33 >= var_new_child->type->table_size) {
7886 var32 = 0;
7887 } else {
7888 var32 = var_new_child->type->type_table[cltype33] == idtype34;
7889 }
7890 if (!var32) {
7891 fprintf(stderr, "Runtime error: %s", "Assert failed");
7892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1934);
7893 exit(1);
7894 }
7895 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AInternMethPropdef> */
7896 } else {
7897 fprintf(stderr, "Runtime error: %s", "Aborted");
7898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1937);
7899 exit(1);
7900 }
7901 goto RET_LABEL;
7902 } else {
7903 }
7904 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AInternMethPropdef> */
7905 if (var35 == NULL) {
7906 var36 = 0; /* <var_old_child:ANode> cannot be null */
7907 } else {
7908 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
7909 }
7910 if (var36){
7911 var37 = NULL;
7912 if (var_new_child == NULL) {
7913 var38 = 0; /* is null */
7914 } else {
7915 var38 = 1; /* arg is null and recv is not */
7916 }
7917 if (var38){
7918 ((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)>*/;
7919 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
7920 cltype40 = type_parser_nodes__ASignature.color;
7921 idtype41 = type_parser_nodes__ASignature.id;
7922 if(cltype40 >= var_new_child->type->table_size) {
7923 var39 = 0;
7924 } else {
7925 var39 = var_new_child->type->type_table[cltype40] == idtype41;
7926 }
7927 if (!var39) {
7928 fprintf(stderr, "Runtime error: %s", "Assert failed");
7929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1944);
7930 exit(1);
7931 }
7932 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AInternMethPropdef> */
7933 } else {
7934 fprintf(stderr, "Runtime error: %s", "Aborted");
7935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1947);
7936 exit(1);
7937 }
7938 goto RET_LABEL;
7939 } else {
7940 }
7941 RET_LABEL:;
7942 }
7943 /* method parser_prod#AInternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
7944 void VIRTUAL_parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) {
7945 parser_prod__AInternMethPropdef__replace_child(self, p0, p1);
7946 RET_LABEL:;
7947 }
7948 /* method parser_prod#AInternMethPropdef#n_doc= for (self: AInternMethPropdef, nullable ADoc) */
7949 void parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) {
7950 val* var_node /* var node: nullable ADoc */;
7951 val* var /* : null */;
7952 short int var1 /* : Bool */;
7953 var_node = p0;
7954 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AInternMethPropdef> */
7955 var = NULL;
7956 if (var_node == NULL) {
7957 var1 = 0; /* is null */
7958 } else {
7959 var1 = 1; /* arg is null and recv is not */
7960 }
7961 if (var1){
7962 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
7963 } else {
7964 }
7965 RET_LABEL:;
7966 }
7967 /* method parser_prod#AInternMethPropdef#n_doc= for (self: Object, nullable ADoc) */
7968 void VIRTUAL_parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) {
7969 parser_prod__AInternMethPropdef__n_doc_61d(self, p0);
7970 RET_LABEL:;
7971 }
7972 /* method parser_prod#AInternMethPropdef#n_kwredef= for (self: AInternMethPropdef, nullable TKwredef) */
7973 void parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) {
7974 val* var_node /* var node: nullable TKwredef */;
7975 val* var /* : null */;
7976 short int var1 /* : Bool */;
7977 var_node = p0;
7978 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AInternMethPropdef> */
7979 var = NULL;
7980 if (var_node == NULL) {
7981 var1 = 0; /* is null */
7982 } else {
7983 var1 = 1; /* arg is null and recv is not */
7984 }
7985 if (var1){
7986 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
7987 } else {
7988 }
7989 RET_LABEL:;
7990 }
7991 /* method parser_prod#AInternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
7992 void VIRTUAL_parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) {
7993 parser_prod__AInternMethPropdef__n_kwredef_61d(self, p0);
7994 RET_LABEL:;
7995 }
7996 /* method parser_prod#AInternMethPropdef#n_visibility= for (self: AInternMethPropdef, nullable AVisibility) */
7997 void parser_prod__AInternMethPropdef__n_visibility_61d(val* self, val* p0) {
7998 val* var_node /* var node: nullable AVisibility */;
7999 var_node = p0;
8000 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AInternMethPropdef> */
8001 if (var_node == NULL) {
8002 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1970);
8004 exit(1);
8005 } else {
8006 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
8007 }
8008 RET_LABEL:;
8009 }
8010 /* method parser_prod#AInternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
8011 void VIRTUAL_parser_prod__AInternMethPropdef__n_visibility_61d(val* self, val* p0) {
8012 parser_prod__AInternMethPropdef__n_visibility_61d(self, p0);
8013 RET_LABEL:;
8014 }
8015 /* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: AInternMethPropdef, TKwmeth) */
8016 void parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8017 val* var_node /* var node: TKwmeth */;
8018 var_node = p0;
8019 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AInternMethPropdef> */
8020 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
8021 RET_LABEL:;
8022 }
8023 /* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
8024 void VIRTUAL_parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8025 parser_prod__AInternMethPropdef__n_kwmeth_61d(self, p0);
8026 RET_LABEL:;
8027 }
8028 /* method parser_prod#AInternMethPropdef#n_methid= for (self: AInternMethPropdef, nullable AMethid) */
8029 void parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) {
8030 val* var_node /* var node: nullable AMethid */;
8031 var_node = p0;
8032 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AInternMethPropdef> */
8033 if (var_node == NULL) {
8034 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8035 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1980);
8036 exit(1);
8037 } else {
8038 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
8039 }
8040 RET_LABEL:;
8041 }
8042 /* method parser_prod#AInternMethPropdef#n_methid= for (self: Object, nullable AMethid) */
8043 void VIRTUAL_parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) {
8044 parser_prod__AInternMethPropdef__n_methid_61d(self, p0);
8045 RET_LABEL:;
8046 }
8047 /* method parser_prod#AInternMethPropdef#n_signature= for (self: AInternMethPropdef, nullable ASignature) */
8048 void parser_prod__AInternMethPropdef__n_signature_61d(val* self, val* p0) {
8049 val* var_node /* var node: nullable ASignature */;
8050 var_node = p0;
8051 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AInternMethPropdef> */
8052 if (var_node == NULL) {
8053 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1985);
8055 exit(1);
8056 } else {
8057 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
8058 }
8059 RET_LABEL:;
8060 }
8061 /* method parser_prod#AInternMethPropdef#n_signature= for (self: Object, nullable ASignature) */
8062 void VIRTUAL_parser_prod__AInternMethPropdef__n_signature_61d(val* self, val* p0) {
8063 parser_prod__AInternMethPropdef__n_signature_61d(self, p0);
8064 RET_LABEL:;
8065 }
8066 /* method parser_prod#AInternMethPropdef#visit_all for (self: AInternMethPropdef, Visitor) */
8067 void parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) {
8068 val* var_v /* var v: Visitor */;
8069 val* var /* : nullable ADoc */;
8070 val* var1 /* : null */;
8071 short int var2 /* : Bool */;
8072 val* var3 /* : nullable ADoc */;
8073 val* var4 /* : nullable TKwredef */;
8074 val* var5 /* : null */;
8075 short int var6 /* : Bool */;
8076 val* var7 /* : nullable TKwredef */;
8077 val* var8 /* : nullable AVisibility */;
8078 val* var9 /* : TKwmeth */;
8079 val* var10 /* : nullable AMethid */;
8080 val* var11 /* : nullable ASignature */;
8081 var_v = p0;
8082 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
8083 var1 = NULL;
8084 if (var == NULL) {
8085 var2 = 0; /* is null */
8086 } else {
8087 var2 = 1; /* arg is null and recv is not */
8088 }
8089 if (var2){
8090 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
8091 if (var3 == NULL) {
8092 fprintf(stderr, "Runtime error: %s", "Cast failed");
8093 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1992);
8094 exit(1);
8095 }
8096 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8097 } else {
8098 }
8099 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
8100 var5 = NULL;
8101 if (var4 == NULL) {
8102 var6 = 0; /* is null */
8103 } else {
8104 var6 = 1; /* arg is null and recv is not */
8105 }
8106 if (var6){
8107 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
8108 if (var7 == NULL) {
8109 fprintf(stderr, "Runtime error: %s", "Cast failed");
8110 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1995);
8111 exit(1);
8112 }
8113 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
8114 } else {
8115 }
8116 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AInternMethPropdef> */
8117 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
8118 var9 = self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AInternMethPropdef> */
8119 if (var9 == NULL) {
8120 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
8121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 1998);
8122 exit(1);
8123 }
8124 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
8125 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AInternMethPropdef> */
8126 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
8127 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AInternMethPropdef> */
8128 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
8129 RET_LABEL:;
8130 }
8131 /* method parser_prod#AInternMethPropdef#visit_all for (self: Object, Visitor) */
8132 void VIRTUAL_parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) {
8133 parser_prod__AInternMethPropdef__visit_all(self, p0);
8134 RET_LABEL:;
8135 }
8136 /* method parser_prod#AExternMethPropdef#empty_init for (self: AExternMethPropdef) */
8137 void parser_prod__AExternMethPropdef__empty_init(val* self) {
8138 RET_LABEL:;
8139 }
8140 /* method parser_prod#AExternMethPropdef#empty_init for (self: Object) */
8141 void VIRTUAL_parser_prod__AExternMethPropdef__empty_init(val* self) {
8142 parser_prod__AExternMethPropdef__empty_init(self);
8143 RET_LABEL:;
8144 }
8145 /* 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) */
8146 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) {
8147 val* var_n_doc /* var n_doc: nullable ADoc */;
8148 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
8149 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
8150 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
8151 val* var_n_methid /* var n_methid: nullable AMethid */;
8152 val* var_n_signature /* var n_signature: nullable ASignature */;
8153 val* var_n_extern /* var n_extern: nullable TString */;
8154 val* var_n_extern_calls /* var n_extern_calls: nullable AExternCalls */;
8155 val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */;
8156 val* var /* : null */;
8157 short int var1 /* : Bool */;
8158 val* var2 /* : null */;
8159 short int var3 /* : Bool */;
8160 val* var4 /* : null */;
8161 short int var5 /* : Bool */;
8162 val* var6 /* : null */;
8163 short int var7 /* : Bool */;
8164 val* var8 /* : null */;
8165 short int var9 /* : Bool */;
8166 var_n_doc = p0;
8167 var_n_kwredef = p1;
8168 var_n_visibility = p2;
8169 var_n_kwmeth = p3;
8170 var_n_methid = p4;
8171 var_n_signature = p5;
8172 var_n_extern = p6;
8173 var_n_extern_calls = p7;
8174 var_n_extern_code_block = p8;
8175 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternMethPropdef__empty_init]))(self) /* empty_init on <self:AExternMethPropdef>*/;
8176 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AExternMethPropdef> */
8177 var = NULL;
8178 if (var_n_doc == NULL) {
8179 var1 = 0; /* is null */
8180 } else {
8181 var1 = 1; /* arg is null and recv is not */
8182 }
8183 if (var1){
8184 ((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)>*/;
8185 } else {
8186 }
8187 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AExternMethPropdef> */
8188 var2 = NULL;
8189 if (var_n_kwredef == NULL) {
8190 var3 = 0; /* is null */
8191 } else {
8192 var3 = 1; /* arg is null and recv is not */
8193 }
8194 if (var3){
8195 ((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)>*/;
8196 } else {
8197 }
8198 if (var_n_visibility == NULL) {
8199 fprintf(stderr, "Runtime error: %s", "Cast failed");
8200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2027);
8201 exit(1);
8202 }
8203 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AExternMethPropdef> */
8204 if (var_n_visibility == NULL) {
8205 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2028);
8207 exit(1);
8208 } else {
8209 ((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>*/;
8210 }
8211 if (var_n_kwmeth == NULL) {
8212 fprintf(stderr, "Runtime error: %s", "Cast failed");
8213 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2029);
8214 exit(1);
8215 }
8216 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AExternMethPropdef> */
8217 if (var_n_kwmeth == NULL) {
8218 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2030);
8220 exit(1);
8221 } else {
8222 ((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>*/;
8223 }
8224 if (var_n_methid == NULL) {
8225 fprintf(stderr, "Runtime error: %s", "Cast failed");
8226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2031);
8227 exit(1);
8228 }
8229 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AExternMethPropdef> */
8230 if (var_n_methid == NULL) {
8231 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8232 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2032);
8233 exit(1);
8234 } else {
8235 ((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>*/;
8236 }
8237 if (var_n_signature == NULL) {
8238 fprintf(stderr, "Runtime error: %s", "Cast failed");
8239 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2033);
8240 exit(1);
8241 }
8242 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AExternMethPropdef> */
8243 if (var_n_signature == NULL) {
8244 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2034);
8246 exit(1);
8247 } else {
8248 ((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>*/;
8249 }
8250 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_n_extern; /* _n_extern on <self:AExternMethPropdef> */
8251 var4 = NULL;
8252 if (var_n_extern == NULL) {
8253 var5 = 0; /* is null */
8254 } else {
8255 var5 = 1; /* arg is null and recv is not */
8256 }
8257 if (var5){
8258 ((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)>*/;
8259 } else {
8260 }
8261 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_n_extern_calls; /* _n_extern_calls on <self:AExternMethPropdef> */
8262 var6 = NULL;
8263 if (var_n_extern_calls == NULL) {
8264 var7 = 0; /* is null */
8265 } else {
8266 var7 = 1; /* arg is null and recv is not */
8267 }
8268 if (var7){
8269 ((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)>*/;
8270 } else {
8271 }
8272 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on <self:AExternMethPropdef> */
8273 var8 = NULL;
8274 if (var_n_extern_code_block == NULL) {
8275 var9 = 0; /* is null */
8276 } else {
8277 var9 = 1; /* arg is null and recv is not */
8278 }
8279 if (var9){
8280 ((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)>*/;
8281 } else {
8282 }
8283 RET_LABEL:;
8284 }
8285 /* 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) */
8286 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) {
8287 parser_prod__AExternMethPropdef__init_aexternmethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8);
8288 RET_LABEL:;
8289 }
8290 /* method parser_prod#AExternMethPropdef#replace_child for (self: AExternMethPropdef, ANode, nullable ANode) */
8291 void parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) {
8292 val* var_old_child /* var old_child: ANode */;
8293 val* var_new_child /* var new_child: nullable ANode */;
8294 val* var /* : nullable ADoc */;
8295 short int var1 /* : Bool */;
8296 val* var2 /* : null */;
8297 short int var3 /* : Bool */;
8298 short int var4 /* : Bool */;
8299 int cltype;
8300 int idtype;
8301 val* var5 /* : null */;
8302 val* var6 /* : nullable TKwredef */;
8303 short int var7 /* : Bool */;
8304 val* var8 /* : null */;
8305 short int var9 /* : Bool */;
8306 short int var10 /* : Bool */;
8307 int cltype11;
8308 int idtype12;
8309 val* var13 /* : null */;
8310 val* var14 /* : nullable AVisibility */;
8311 short int var15 /* : Bool */;
8312 val* var16 /* : null */;
8313 short int var17 /* : Bool */;
8314 short int var18 /* : Bool */;
8315 int cltype19;
8316 int idtype20;
8317 val* var21 /* : TKwmeth */;
8318 short int var22 /* : Bool */;
8319 val* var23 /* : null */;
8320 short int var24 /* : Bool */;
8321 short int var25 /* : Bool */;
8322 int cltype26;
8323 int idtype27;
8324 val* var28 /* : nullable AMethid */;
8325 short int var29 /* : Bool */;
8326 val* var30 /* : null */;
8327 short int var31 /* : Bool */;
8328 short int var32 /* : Bool */;
8329 int cltype33;
8330 int idtype34;
8331 val* var35 /* : nullable ASignature */;
8332 short int var36 /* : Bool */;
8333 val* var37 /* : null */;
8334 short int var38 /* : Bool */;
8335 short int var39 /* : Bool */;
8336 int cltype40;
8337 int idtype41;
8338 val* var42 /* : nullable TString */;
8339 short int var43 /* : Bool */;
8340 val* var44 /* : null */;
8341 short int var45 /* : Bool */;
8342 short int var46 /* : Bool */;
8343 int cltype47;
8344 int idtype48;
8345 val* var49 /* : null */;
8346 val* var50 /* : nullable AExternCalls */;
8347 short int var51 /* : Bool */;
8348 val* var52 /* : null */;
8349 short int var53 /* : Bool */;
8350 short int var54 /* : Bool */;
8351 int cltype55;
8352 int idtype56;
8353 val* var57 /* : null */;
8354 val* var58 /* : nullable AExternCodeBlock */;
8355 short int var59 /* : Bool */;
8356 val* var60 /* : null */;
8357 short int var61 /* : Bool */;
8358 short int var62 /* : Bool */;
8359 int cltype63;
8360 int idtype64;
8361 val* var65 /* : null */;
8362 var_old_child = p0;
8363 var_new_child = p1;
8364 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8365 if (var == NULL) {
8366 var1 = 0; /* <var_old_child:ANode> cannot be null */
8367 } else {
8368 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
8369 }
8370 if (var1){
8371 var2 = NULL;
8372 if (var_new_child == NULL) {
8373 var3 = 0; /* is null */
8374 } else {
8375 var3 = 1; /* arg is null and recv is not */
8376 }
8377 if (var3){
8378 ((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)>*/;
8379 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
8380 cltype = type_parser_nodes__ADoc.color;
8381 idtype = type_parser_nodes__ADoc.id;
8382 if(cltype >= var_new_child->type->table_size) {
8383 var4 = 0;
8384 } else {
8385 var4 = var_new_child->type->type_table[cltype] == idtype;
8386 }
8387 if (!var4) {
8388 fprintf(stderr, "Runtime error: %s", "Assert failed");
8389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2054);
8390 exit(1);
8391 }
8392 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AExternMethPropdef> */
8393 } else {
8394 var5 = NULL;
8395 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AExternMethPropdef> */
8396 }
8397 goto RET_LABEL;
8398 } else {
8399 }
8400 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8401 if (var6 == NULL) {
8402 var7 = 0; /* <var_old_child:ANode> cannot be null */
8403 } else {
8404 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
8405 }
8406 if (var7){
8407 var8 = NULL;
8408 if (var_new_child == NULL) {
8409 var9 = 0; /* is null */
8410 } else {
8411 var9 = 1; /* arg is null and recv is not */
8412 }
8413 if (var9){
8414 ((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)>*/;
8415 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
8416 cltype11 = type_parser_nodes__TKwredef.color;
8417 idtype12 = type_parser_nodes__TKwredef.id;
8418 if(cltype11 >= var_new_child->type->table_size) {
8419 var10 = 0;
8420 } else {
8421 var10 = var_new_child->type->type_table[cltype11] == idtype12;
8422 }
8423 if (!var10) {
8424 fprintf(stderr, "Runtime error: %s", "Assert failed");
8425 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2064);
8426 exit(1);
8427 }
8428 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AExternMethPropdef> */
8429 } else {
8430 var13 = NULL;
8431 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AExternMethPropdef> */
8432 }
8433 goto RET_LABEL;
8434 } else {
8435 }
8436 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AExternMethPropdef> */
8437 if (var14 == NULL) {
8438 var15 = 0; /* <var_old_child:ANode> cannot be null */
8439 } else {
8440 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
8441 }
8442 if (var15){
8443 var16 = NULL;
8444 if (var_new_child == NULL) {
8445 var17 = 0; /* is null */
8446 } else {
8447 var17 = 1; /* arg is null and recv is not */
8448 }
8449 if (var17){
8450 ((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)>*/;
8451 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
8452 cltype19 = type_parser_nodes__AVisibility.color;
8453 idtype20 = type_parser_nodes__AVisibility.id;
8454 if(cltype19 >= var_new_child->type->table_size) {
8455 var18 = 0;
8456 } else {
8457 var18 = var_new_child->type->type_table[cltype19] == idtype20;
8458 }
8459 if (!var18) {
8460 fprintf(stderr, "Runtime error: %s", "Assert failed");
8461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2074);
8462 exit(1);
8463 }
8464 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AExternMethPropdef> */
8465 } else {
8466 fprintf(stderr, "Runtime error: %s", "Aborted");
8467 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2077);
8468 exit(1);
8469 }
8470 goto RET_LABEL;
8471 } else {
8472 }
8473 var21 = self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AExternMethPropdef> */
8474 if (var21 == NULL) {
8475 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
8476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2081);
8477 exit(1);
8478 }
8479 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
8480 if (var22){
8481 var23 = NULL;
8482 if (var_new_child == NULL) {
8483 var24 = 0; /* is null */
8484 } else {
8485 var24 = 1; /* arg is null and recv is not */
8486 }
8487 if (var24){
8488 ((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)>*/;
8489 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
8490 cltype26 = type_parser_nodes__TKwmeth.color;
8491 idtype27 = type_parser_nodes__TKwmeth.id;
8492 if(cltype26 >= var_new_child->type->table_size) {
8493 var25 = 0;
8494 } else {
8495 var25 = var_new_child->type->type_table[cltype26] == idtype27;
8496 }
8497 if (!var25) {
8498 fprintf(stderr, "Runtime error: %s", "Assert failed");
8499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2084);
8500 exit(1);
8501 }
8502 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AExternMethPropdef> */
8503 } else {
8504 fprintf(stderr, "Runtime error: %s", "Aborted");
8505 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2087);
8506 exit(1);
8507 }
8508 goto RET_LABEL;
8509 } else {
8510 }
8511 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AExternMethPropdef> */
8512 if (var28 == NULL) {
8513 var29 = 0; /* <var_old_child:ANode> cannot be null */
8514 } else {
8515 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
8516 }
8517 if (var29){
8518 var30 = NULL;
8519 if (var_new_child == NULL) {
8520 var31 = 0; /* is null */
8521 } else {
8522 var31 = 1; /* arg is null and recv is not */
8523 }
8524 if (var31){
8525 ((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)>*/;
8526 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
8527 cltype33 = type_parser_nodes__AMethid.color;
8528 idtype34 = type_parser_nodes__AMethid.id;
8529 if(cltype33 >= var_new_child->type->table_size) {
8530 var32 = 0;
8531 } else {
8532 var32 = var_new_child->type->type_table[cltype33] == idtype34;
8533 }
8534 if (!var32) {
8535 fprintf(stderr, "Runtime error: %s", "Assert failed");
8536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2094);
8537 exit(1);
8538 }
8539 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AExternMethPropdef> */
8540 } else {
8541 fprintf(stderr, "Runtime error: %s", "Aborted");
8542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2097);
8543 exit(1);
8544 }
8545 goto RET_LABEL;
8546 } else {
8547 }
8548 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AExternMethPropdef> */
8549 if (var35 == NULL) {
8550 var36 = 0; /* <var_old_child:ANode> cannot be null */
8551 } else {
8552 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
8553 }
8554 if (var36){
8555 var37 = NULL;
8556 if (var_new_child == NULL) {
8557 var38 = 0; /* is null */
8558 } else {
8559 var38 = 1; /* arg is null and recv is not */
8560 }
8561 if (var38){
8562 ((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)>*/;
8563 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
8564 cltype40 = type_parser_nodes__ASignature.color;
8565 idtype41 = type_parser_nodes__ASignature.id;
8566 if(cltype40 >= var_new_child->type->table_size) {
8567 var39 = 0;
8568 } else {
8569 var39 = var_new_child->type->type_table[cltype40] == idtype41;
8570 }
8571 if (!var39) {
8572 fprintf(stderr, "Runtime error: %s", "Assert failed");
8573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2104);
8574 exit(1);
8575 }
8576 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AExternMethPropdef> */
8577 } else {
8578 fprintf(stderr, "Runtime error: %s", "Aborted");
8579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2107);
8580 exit(1);
8581 }
8582 goto RET_LABEL;
8583 } else {
8584 }
8585 var42 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8586 if (var42 == NULL) {
8587 var43 = 0; /* <var_old_child:ANode> cannot be null */
8588 } else {
8589 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable TString>*/;
8590 }
8591 if (var43){
8592 var44 = NULL;
8593 if (var_new_child == NULL) {
8594 var45 = 0; /* is null */
8595 } else {
8596 var45 = 1; /* arg is null and recv is not */
8597 }
8598 if (var45){
8599 ((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)>*/;
8600 /* <var_new_child:nullable ANode(ANode)> isa TString */
8601 cltype47 = type_parser_nodes__TString.color;
8602 idtype48 = type_parser_nodes__TString.id;
8603 if(cltype47 >= var_new_child->type->table_size) {
8604 var46 = 0;
8605 } else {
8606 var46 = var_new_child->type->type_table[cltype47] == idtype48;
8607 }
8608 if (!var46) {
8609 fprintf(stderr, "Runtime error: %s", "Assert failed");
8610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2114);
8611 exit(1);
8612 }
8613 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_new_child; /* _n_extern on <self:AExternMethPropdef> */
8614 } else {
8615 var49 = NULL;
8616 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var49; /* _n_extern on <self:AExternMethPropdef> */
8617 }
8618 goto RET_LABEL;
8619 } else {
8620 }
8621 var50 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8622 if (var50 == NULL) {
8623 var51 = 0; /* <var_old_child:ANode> cannot be null */
8624 } else {
8625 var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on <var50:nullable AExternCalls>*/;
8626 }
8627 if (var51){
8628 var52 = NULL;
8629 if (var_new_child == NULL) {
8630 var53 = 0; /* is null */
8631 } else {
8632 var53 = 1; /* arg is null and recv is not */
8633 }
8634 if (var53){
8635 ((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)>*/;
8636 /* <var_new_child:nullable ANode(ANode)> isa AExternCalls */
8637 cltype55 = type_parser_nodes__AExternCalls.color;
8638 idtype56 = type_parser_nodes__AExternCalls.id;
8639 if(cltype55 >= var_new_child->type->table_size) {
8640 var54 = 0;
8641 } else {
8642 var54 = var_new_child->type->type_table[cltype55] == idtype56;
8643 }
8644 if (!var54) {
8645 fprintf(stderr, "Runtime error: %s", "Assert failed");
8646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2124);
8647 exit(1);
8648 }
8649 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_new_child; /* _n_extern_calls on <self:AExternMethPropdef> */
8650 } else {
8651 var57 = NULL;
8652 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var57; /* _n_extern_calls on <self:AExternMethPropdef> */
8653 }
8654 goto RET_LABEL;
8655 } else {
8656 }
8657 var58 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
8658 if (var58 == NULL) {
8659 var59 = 0; /* <var_old_child:ANode> cannot be null */
8660 } else {
8661 var59 = ((short int (*)(val*, val*))(var58->class->vft[COLOR_kernel__Object___61d_61d]))(var58, var_old_child) /* == on <var58:nullable AExternCodeBlock>*/;
8662 }
8663 if (var59){
8664 var60 = NULL;
8665 if (var_new_child == NULL) {
8666 var61 = 0; /* is null */
8667 } else {
8668 var61 = 1; /* arg is null and recv is not */
8669 }
8670 if (var61){
8671 ((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)>*/;
8672 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
8673 cltype63 = type_parser_nodes__AExternCodeBlock.color;
8674 idtype64 = type_parser_nodes__AExternCodeBlock.id;
8675 if(cltype63 >= var_new_child->type->table_size) {
8676 var62 = 0;
8677 } else {
8678 var62 = var_new_child->type->type_table[cltype63] == idtype64;
8679 }
8680 if (!var62) {
8681 fprintf(stderr, "Runtime error: %s", "Assert failed");
8682 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2134);
8683 exit(1);
8684 }
8685 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on <self:AExternMethPropdef> */
8686 } else {
8687 var65 = NULL;
8688 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var65; /* _n_extern_code_block on <self:AExternMethPropdef> */
8689 }
8690 goto RET_LABEL;
8691 } else {
8692 }
8693 RET_LABEL:;
8694 }
8695 /* method parser_prod#AExternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
8696 void VIRTUAL_parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) {
8697 parser_prod__AExternMethPropdef__replace_child(self, p0, p1);
8698 RET_LABEL:;
8699 }
8700 /* method parser_prod#AExternMethPropdef#n_doc= for (self: AExternMethPropdef, nullable ADoc) */
8701 void parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) {
8702 val* var_node /* var node: nullable ADoc */;
8703 val* var /* : null */;
8704 short int var1 /* : Bool */;
8705 var_node = p0;
8706 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AExternMethPropdef> */
8707 var = NULL;
8708 if (var_node == NULL) {
8709 var1 = 0; /* is null */
8710 } else {
8711 var1 = 1; /* arg is null and recv is not */
8712 }
8713 if (var1){
8714 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
8715 } else {
8716 }
8717 RET_LABEL:;
8718 }
8719 /* method parser_prod#AExternMethPropdef#n_doc= for (self: Object, nullable ADoc) */
8720 void VIRTUAL_parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) {
8721 parser_prod__AExternMethPropdef__n_doc_61d(self, p0);
8722 RET_LABEL:;
8723 }
8724 /* method parser_prod#AExternMethPropdef#n_kwredef= for (self: AExternMethPropdef, nullable TKwredef) */
8725 void parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) {
8726 val* var_node /* var node: nullable TKwredef */;
8727 val* var /* : null */;
8728 short int var1 /* : Bool */;
8729 var_node = p0;
8730 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AExternMethPropdef> */
8731 var = NULL;
8732 if (var_node == NULL) {
8733 var1 = 0; /* is null */
8734 } else {
8735 var1 = 1; /* arg is null and recv is not */
8736 }
8737 if (var1){
8738 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
8739 } else {
8740 }
8741 RET_LABEL:;
8742 }
8743 /* method parser_prod#AExternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
8744 void VIRTUAL_parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) {
8745 parser_prod__AExternMethPropdef__n_kwredef_61d(self, p0);
8746 RET_LABEL:;
8747 }
8748 /* method parser_prod#AExternMethPropdef#n_visibility= for (self: AExternMethPropdef, nullable AVisibility) */
8749 void parser_prod__AExternMethPropdef__n_visibility_61d(val* self, val* p0) {
8750 val* var_node /* var node: nullable AVisibility */;
8751 var_node = p0;
8752 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AExternMethPropdef> */
8753 if (var_node == NULL) {
8754 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2160);
8756 exit(1);
8757 } else {
8758 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
8759 }
8760 RET_LABEL:;
8761 }
8762 /* method parser_prod#AExternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
8763 void VIRTUAL_parser_prod__AExternMethPropdef__n_visibility_61d(val* self, val* p0) {
8764 parser_prod__AExternMethPropdef__n_visibility_61d(self, p0);
8765 RET_LABEL:;
8766 }
8767 /* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: AExternMethPropdef, TKwmeth) */
8768 void parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8769 val* var_node /* var node: TKwmeth */;
8770 var_node = p0;
8771 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AExternMethPropdef> */
8772 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
8773 RET_LABEL:;
8774 }
8775 /* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
8776 void VIRTUAL_parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8777 parser_prod__AExternMethPropdef__n_kwmeth_61d(self, p0);
8778 RET_LABEL:;
8779 }
8780 /* method parser_prod#AExternMethPropdef#n_methid= for (self: AExternMethPropdef, nullable AMethid) */
8781 void parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) {
8782 val* var_node /* var node: nullable AMethid */;
8783 var_node = p0;
8784 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AExternMethPropdef> */
8785 if (var_node == NULL) {
8786 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2170);
8788 exit(1);
8789 } else {
8790 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
8791 }
8792 RET_LABEL:;
8793 }
8794 /* method parser_prod#AExternMethPropdef#n_methid= for (self: Object, nullable AMethid) */
8795 void VIRTUAL_parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) {
8796 parser_prod__AExternMethPropdef__n_methid_61d(self, p0);
8797 RET_LABEL:;
8798 }
8799 /* method parser_prod#AExternMethPropdef#n_signature= for (self: AExternMethPropdef, nullable ASignature) */
8800 void parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) {
8801 val* var_node /* var node: nullable ASignature */;
8802 var_node = p0;
8803 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AExternMethPropdef> */
8804 if (var_node == NULL) {
8805 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2175);
8807 exit(1);
8808 } else {
8809 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
8810 }
8811 RET_LABEL:;
8812 }
8813 /* method parser_prod#AExternMethPropdef#n_signature= for (self: Object, nullable ASignature) */
8814 void VIRTUAL_parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) {
8815 parser_prod__AExternMethPropdef__n_signature_61d(self, p0);
8816 RET_LABEL:;
8817 }
8818 /* method parser_prod#AExternMethPropdef#n_extern= for (self: AExternMethPropdef, nullable TString) */
8819 void parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) {
8820 val* var_node /* var node: nullable TString */;
8821 val* var /* : null */;
8822 short int var1 /* : Bool */;
8823 var_node = p0;
8824 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_node; /* _n_extern on <self:AExternMethPropdef> */
8825 var = NULL;
8826 if (var_node == NULL) {
8827 var1 = 0; /* is null */
8828 } else {
8829 var1 = 1; /* arg is null and recv is not */
8830 }
8831 if (var1){
8832 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TString(TString)>*/;
8833 } else {
8834 }
8835 RET_LABEL:;
8836 }
8837 /* method parser_prod#AExternMethPropdef#n_extern= for (self: Object, nullable TString) */
8838 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) {
8839 parser_prod__AExternMethPropdef__n_extern_61d(self, p0);
8840 RET_LABEL:;
8841 }
8842 /* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: AExternMethPropdef, nullable AExternCalls) */
8843 void parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) {
8844 val* var_node /* var node: nullable AExternCalls */;
8845 val* var /* : null */;
8846 short int var1 /* : Bool */;
8847 var_node = p0;
8848 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_node; /* _n_extern_calls on <self:AExternMethPropdef> */
8849 var = NULL;
8850 if (var_node == NULL) {
8851 var1 = 0; /* is null */
8852 } else {
8853 var1 = 1; /* arg is null and recv is not */
8854 }
8855 if (var1){
8856 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCalls(AExternCalls)>*/;
8857 } else {
8858 }
8859 RET_LABEL:;
8860 }
8861 /* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: Object, nullable AExternCalls) */
8862 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) {
8863 parser_prod__AExternMethPropdef__n_extern_calls_61d(self, p0);
8864 RET_LABEL:;
8865 }
8866 /* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: AExternMethPropdef, nullable AExternCodeBlock) */
8867 void parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
8868 val* var_node /* var node: nullable AExternCodeBlock */;
8869 val* var /* : null */;
8870 short int var1 /* : Bool */;
8871 var_node = p0;
8872 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on <self:AExternMethPropdef> */
8873 var = NULL;
8874 if (var_node == NULL) {
8875 var1 = 0; /* is null */
8876 } else {
8877 var1 = 1; /* arg is null and recv is not */
8878 }
8879 if (var1){
8880 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCodeBlock(AExternCodeBlock)>*/;
8881 } else {
8882 }
8883 RET_LABEL:;
8884 }
8885 /* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */
8886 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
8887 parser_prod__AExternMethPropdef__n_extern_code_block_61d(self, p0);
8888 RET_LABEL:;
8889 }
8890 /* method parser_prod#AExternMethPropdef#visit_all for (self: AExternMethPropdef, Visitor) */
8891 void parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) {
8892 val* var_v /* var v: Visitor */;
8893 val* var /* : nullable ADoc */;
8894 val* var1 /* : null */;
8895 short int var2 /* : Bool */;
8896 val* var3 /* : nullable ADoc */;
8897 val* var4 /* : nullable TKwredef */;
8898 val* var5 /* : null */;
8899 short int var6 /* : Bool */;
8900 val* var7 /* : nullable TKwredef */;
8901 val* var8 /* : nullable AVisibility */;
8902 val* var9 /* : TKwmeth */;
8903 val* var10 /* : nullable AMethid */;
8904 val* var11 /* : nullable ASignature */;
8905 val* var12 /* : nullable TString */;
8906 val* var13 /* : null */;
8907 short int var14 /* : Bool */;
8908 val* var15 /* : nullable TString */;
8909 val* var16 /* : nullable AExternCalls */;
8910 val* var17 /* : null */;
8911 short int var18 /* : Bool */;
8912 val* var19 /* : nullable AExternCalls */;
8913 val* var20 /* : nullable AExternCodeBlock */;
8914 val* var21 /* : null */;
8915 short int var22 /* : Bool */;
8916 val* var23 /* : nullable AExternCodeBlock */;
8917 var_v = p0;
8918 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8919 var1 = NULL;
8920 if (var == NULL) {
8921 var2 = 0; /* is null */
8922 } else {
8923 var2 = 1; /* arg is null and recv is not */
8924 }
8925 if (var2){
8926 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8927 if (var3 == NULL) {
8928 fprintf(stderr, "Runtime error: %s", "Cast failed");
8929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2203);
8930 exit(1);
8931 }
8932 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8933 } else {
8934 }
8935 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8936 var5 = NULL;
8937 if (var4 == NULL) {
8938 var6 = 0; /* is null */
8939 } else {
8940 var6 = 1; /* arg is null and recv is not */
8941 }
8942 if (var6){
8943 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8944 if (var7 == NULL) {
8945 fprintf(stderr, "Runtime error: %s", "Cast failed");
8946 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2206);
8947 exit(1);
8948 }
8949 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
8950 } else {
8951 }
8952 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AExternMethPropdef> */
8953 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
8954 var9 = self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AExternMethPropdef> */
8955 if (var9 == NULL) {
8956 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwmeth");
8957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2209);
8958 exit(1);
8959 }
8960 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
8961 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AExternMethPropdef> */
8962 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
8963 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AExternMethPropdef> */
8964 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
8965 var12 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8966 var13 = NULL;
8967 if (var12 == NULL) {
8968 var14 = 0; /* is null */
8969 } else {
8970 var14 = 1; /* arg is null and recv is not */
8971 }
8972 if (var14){
8973 var15 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8974 if (var15 == NULL) {
8975 fprintf(stderr, "Runtime error: %s", "Cast failed");
8976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2213);
8977 exit(1);
8978 }
8979 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
8980 } else {
8981 }
8982 var16 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8983 var17 = NULL;
8984 if (var16 == NULL) {
8985 var18 = 0; /* is null */
8986 } else {
8987 var18 = 1; /* arg is null and recv is not */
8988 }
8989 if (var18){
8990 var19 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8991 if (var19 == NULL) {
8992 fprintf(stderr, "Runtime error: %s", "Cast failed");
8993 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2216);
8994 exit(1);
8995 }
8996 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on <var_v:Visitor>*/;
8997 } else {
8998 }
8999 var20 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
9000 var21 = NULL;
9001 if (var20 == NULL) {
9002 var22 = 0; /* is null */
9003 } else {
9004 var22 = 1; /* arg is null and recv is not */
9005 }
9006 if (var22){
9007 var23 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
9008 if (var23 == NULL) {
9009 fprintf(stderr, "Runtime error: %s", "Cast failed");
9010 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2219);
9011 exit(1);
9012 }
9013 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var23) /* enter_visit on <var_v:Visitor>*/;
9014 } else {
9015 }
9016 RET_LABEL:;
9017 }
9018 /* method parser_prod#AExternMethPropdef#visit_all for (self: Object, Visitor) */
9019 void VIRTUAL_parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) {
9020 parser_prod__AExternMethPropdef__visit_all(self, p0);
9021 RET_LABEL:;
9022 }
9023 /* method parser_prod#AConcreteMethPropdef#empty_init for (self: AConcreteMethPropdef) */
9024 void parser_prod__AConcreteMethPropdef__empty_init(val* self) {
9025 RET_LABEL:;
9026 }
9027 /* method parser_prod#AConcreteMethPropdef#empty_init for (self: Object) */
9028 void VIRTUAL_parser_prod__AConcreteMethPropdef__empty_init(val* self) {
9029 parser_prod__AConcreteMethPropdef__empty_init(self);
9030 RET_LABEL:;
9031 }
9032 /* 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) */
9033 void parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
9034 val* var_n_doc /* var n_doc: nullable ADoc */;
9035 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
9036 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
9037 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
9038 val* var_n_methid /* var n_methid: nullable AMethid */;
9039 val* var_n_signature /* var n_signature: nullable ASignature */;
9040 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
9041 val* var_n_block /* var n_block: nullable AExpr */;
9042 val* var /* : null */;
9043 short int var1 /* : Bool */;
9044 val* var2 /* : null */;
9045 short int var3 /* : Bool */;
9046 val* var4 /* : null */;
9047 short int var5 /* : Bool */;
9048 val* var6 /* : null */;
9049 short int var7 /* : Bool */;
9050 var_n_doc = p0;
9051 var_n_kwredef = p1;
9052 var_n_visibility = p2;
9053 var_n_kwmeth = p3;
9054 var_n_methid = p4;
9055 var_n_signature = p5;
9056 var_n_annotations = p6;
9057 var_n_block = p7;
9058 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteMethPropdef__empty_init]))(self) /* empty_init on <self:AConcreteMethPropdef>*/;
9059 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AConcreteMethPropdef> */
9060 var = NULL;
9061 if (var_n_doc == NULL) {
9062 var1 = 0; /* is null */
9063 } else {
9064 var1 = 1; /* arg is null and recv is not */
9065 }
9066 if (var1){
9067 ((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)>*/;
9068 } else {
9069 }
9070 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AConcreteMethPropdef> */
9071 var2 = NULL;
9072 if (var_n_kwredef == NULL) {
9073 var3 = 0; /* is null */
9074 } else {
9075 var3 = 1; /* arg is null and recv is not */
9076 }
9077 if (var3){
9078 ((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)>*/;
9079 } else {
9080 }
9081 if (var_n_visibility == NULL) {
9082 fprintf(stderr, "Runtime error: %s", "Cast failed");
9083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2246);
9084 exit(1);
9085 }
9086 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AConcreteMethPropdef> */
9087 if (var_n_visibility == NULL) {
9088 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2247);
9090 exit(1);
9091 } else {
9092 ((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>*/;
9093 }
9094 if (var_n_kwmeth == NULL) {
9095 fprintf(stderr, "Runtime error: %s", "Cast failed");
9096 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2248);
9097 exit(1);
9098 }
9099 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9100 if (var_n_kwmeth == NULL) {
9101 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2249);
9103 exit(1);
9104 } else {
9105 ((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>*/;
9106 }
9107 if (var_n_methid == NULL) {
9108 fprintf(stderr, "Runtime error: %s", "Cast failed");
9109 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2250);
9110 exit(1);
9111 }
9112 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AConcreteMethPropdef> */
9113 if (var_n_methid == NULL) {
9114 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2251);
9116 exit(1);
9117 } else {
9118 ((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>*/;
9119 }
9120 if (var_n_signature == NULL) {
9121 fprintf(stderr, "Runtime error: %s", "Cast failed");
9122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2252);
9123 exit(1);
9124 }
9125 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AConcreteMethPropdef> */
9126 if (var_n_signature == NULL) {
9127 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9128 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2253);
9129 exit(1);
9130 } else {
9131 ((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>*/;
9132 }
9133 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AConcreteMethPropdef> */
9134 var4 = NULL;
9135 if (var_n_annotations == NULL) {
9136 var5 = 0; /* is null */
9137 } else {
9138 var5 = 1; /* arg is null and recv is not */
9139 }
9140 if (var5){
9141 ((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)>*/;
9142 } else {
9143 }
9144 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on <self:AConcreteMethPropdef> */
9145 var6 = NULL;
9146 if (var_n_block == NULL) {
9147 var7 = 0; /* is null */
9148 } else {
9149 var7 = 1; /* arg is null and recv is not */
9150 }
9151 if (var7){
9152 ((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)>*/;
9153 } else {
9154 }
9155 RET_LABEL:;
9156 }
9157 /* 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) */
9158 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) {
9159 parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7);
9160 RET_LABEL:;
9161 }
9162 /* method parser_prod#AConcreteMethPropdef#replace_child for (self: AConcreteMethPropdef, ANode, nullable ANode) */
9163 void parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) {
9164 val* var_old_child /* var old_child: ANode */;
9165 val* var_new_child /* var new_child: nullable ANode */;
9166 val* var /* : nullable ADoc */;
9167 short int var1 /* : Bool */;
9168 val* var2 /* : null */;
9169 short int var3 /* : Bool */;
9170 short int var4 /* : Bool */;
9171 int cltype;
9172 int idtype;
9173 val* var5 /* : null */;
9174 val* var6 /* : nullable TKwredef */;
9175 short int var7 /* : Bool */;
9176 val* var8 /* : null */;
9177 short int var9 /* : Bool */;
9178 short int var10 /* : Bool */;
9179 int cltype11;
9180 int idtype12;
9181 val* var13 /* : null */;
9182 val* var14 /* : nullable AVisibility */;
9183 short int var15 /* : Bool */;
9184 val* var16 /* : null */;
9185 short int var17 /* : Bool */;
9186 short int var18 /* : Bool */;
9187 int cltype19;
9188 int idtype20;
9189 val* var21 /* : nullable TKwmeth */;
9190 short int var22 /* : Bool */;
9191 val* var23 /* : null */;
9192 short int var24 /* : Bool */;
9193 short int var25 /* : Bool */;
9194 int cltype26;
9195 int idtype27;
9196 val* var28 /* : nullable AMethid */;
9197 short int var29 /* : Bool */;
9198 val* var30 /* : null */;
9199 short int var31 /* : Bool */;
9200 short int var32 /* : Bool */;
9201 int cltype33;
9202 int idtype34;
9203 val* var35 /* : nullable ASignature */;
9204 short int var36 /* : Bool */;
9205 val* var37 /* : null */;
9206 short int var38 /* : Bool */;
9207 short int var39 /* : Bool */;
9208 int cltype40;
9209 int idtype41;
9210 val* var42 /* : nullable AAnnotations */;
9211 short int var43 /* : Bool */;
9212 val* var44 /* : null */;
9213 short int var45 /* : Bool */;
9214 short int var46 /* : Bool */;
9215 int cltype47;
9216 int idtype48;
9217 val* var49 /* : null */;
9218 val* var50 /* : nullable AExpr */;
9219 short int var51 /* : Bool */;
9220 val* var52 /* : null */;
9221 short int var53 /* : Bool */;
9222 short int var54 /* : Bool */;
9223 int cltype55;
9224 int idtype56;
9225 val* var57 /* : null */;
9226 var_old_child = p0;
9227 var_new_child = p1;
9228 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9229 if (var == NULL) {
9230 var1 = 0; /* <var_old_child:ANode> cannot be null */
9231 } else {
9232 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
9233 }
9234 if (var1){
9235 var2 = NULL;
9236 if (var_new_child == NULL) {
9237 var3 = 0; /* is null */
9238 } else {
9239 var3 = 1; /* arg is null and recv is not */
9240 }
9241 if (var3){
9242 ((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)>*/;
9243 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
9244 cltype = type_parser_nodes__ADoc.color;
9245 idtype = type_parser_nodes__ADoc.id;
9246 if(cltype >= var_new_child->type->table_size) {
9247 var4 = 0;
9248 } else {
9249 var4 = var_new_child->type->type_table[cltype] == idtype;
9250 }
9251 if (!var4) {
9252 fprintf(stderr, "Runtime error: %s", "Assert failed");
9253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2269);
9254 exit(1);
9255 }
9256 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AConcreteMethPropdef> */
9257 } else {
9258 var5 = NULL;
9259 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AConcreteMethPropdef> */
9260 }
9261 goto RET_LABEL;
9262 } else {
9263 }
9264 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9265 if (var6 == NULL) {
9266 var7 = 0; /* <var_old_child:ANode> cannot be null */
9267 } else {
9268 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
9269 }
9270 if (var7){
9271 var8 = NULL;
9272 if (var_new_child == NULL) {
9273 var9 = 0; /* is null */
9274 } else {
9275 var9 = 1; /* arg is null and recv is not */
9276 }
9277 if (var9){
9278 ((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)>*/;
9279 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
9280 cltype11 = type_parser_nodes__TKwredef.color;
9281 idtype12 = type_parser_nodes__TKwredef.id;
9282 if(cltype11 >= var_new_child->type->table_size) {
9283 var10 = 0;
9284 } else {
9285 var10 = var_new_child->type->type_table[cltype11] == idtype12;
9286 }
9287 if (!var10) {
9288 fprintf(stderr, "Runtime error: %s", "Assert failed");
9289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2279);
9290 exit(1);
9291 }
9292 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AConcreteMethPropdef> */
9293 } else {
9294 var13 = NULL;
9295 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AConcreteMethPropdef> */
9296 }
9297 goto RET_LABEL;
9298 } else {
9299 }
9300 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AConcreteMethPropdef> */
9301 if (var14 == NULL) {
9302 var15 = 0; /* <var_old_child:ANode> cannot be null */
9303 } else {
9304 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
9305 }
9306 if (var15){
9307 var16 = NULL;
9308 if (var_new_child == NULL) {
9309 var17 = 0; /* is null */
9310 } else {
9311 var17 = 1; /* arg is null and recv is not */
9312 }
9313 if (var17){
9314 ((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)>*/;
9315 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
9316 cltype19 = type_parser_nodes__AVisibility.color;
9317 idtype20 = type_parser_nodes__AVisibility.id;
9318 if(cltype19 >= var_new_child->type->table_size) {
9319 var18 = 0;
9320 } else {
9321 var18 = var_new_child->type->type_table[cltype19] == idtype20;
9322 }
9323 if (!var18) {
9324 fprintf(stderr, "Runtime error: %s", "Assert failed");
9325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2289);
9326 exit(1);
9327 }
9328 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AConcreteMethPropdef> */
9329 } else {
9330 fprintf(stderr, "Runtime error: %s", "Aborted");
9331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2292);
9332 exit(1);
9333 }
9334 goto RET_LABEL;
9335 } else {
9336 }
9337 var21 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9338 if (var21 == NULL) {
9339 var22 = 0; /* <var_old_child:ANode> cannot be null */
9340 } else {
9341 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:nullable TKwmeth>*/;
9342 }
9343 if (var22){
9344 var23 = NULL;
9345 if (var_new_child == NULL) {
9346 var24 = 0; /* is null */
9347 } else {
9348 var24 = 1; /* arg is null and recv is not */
9349 }
9350 if (var24){
9351 ((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)>*/;
9352 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
9353 cltype26 = type_parser_nodes__TKwmeth.color;
9354 idtype27 = type_parser_nodes__TKwmeth.id;
9355 if(cltype26 >= var_new_child->type->table_size) {
9356 var25 = 0;
9357 } else {
9358 var25 = var_new_child->type->type_table[cltype26] == idtype27;
9359 }
9360 if (!var25) {
9361 fprintf(stderr, "Runtime error: %s", "Assert failed");
9362 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2299);
9363 exit(1);
9364 }
9365 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9366 } else {
9367 fprintf(stderr, "Runtime error: %s", "Aborted");
9368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2302);
9369 exit(1);
9370 }
9371 goto RET_LABEL;
9372 } else {
9373 }
9374 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AConcreteMethPropdef> */
9375 if (var28 == NULL) {
9376 var29 = 0; /* <var_old_child:ANode> cannot be null */
9377 } else {
9378 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
9379 }
9380 if (var29){
9381 var30 = NULL;
9382 if (var_new_child == NULL) {
9383 var31 = 0; /* is null */
9384 } else {
9385 var31 = 1; /* arg is null and recv is not */
9386 }
9387 if (var31){
9388 ((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)>*/;
9389 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
9390 cltype33 = type_parser_nodes__AMethid.color;
9391 idtype34 = type_parser_nodes__AMethid.id;
9392 if(cltype33 >= var_new_child->type->table_size) {
9393 var32 = 0;
9394 } else {
9395 var32 = var_new_child->type->type_table[cltype33] == idtype34;
9396 }
9397 if (!var32) {
9398 fprintf(stderr, "Runtime error: %s", "Assert failed");
9399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2309);
9400 exit(1);
9401 }
9402 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AConcreteMethPropdef> */
9403 } else {
9404 fprintf(stderr, "Runtime error: %s", "Aborted");
9405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2312);
9406 exit(1);
9407 }
9408 goto RET_LABEL;
9409 } else {
9410 }
9411 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AConcreteMethPropdef> */
9412 if (var35 == NULL) {
9413 var36 = 0; /* <var_old_child:ANode> cannot be null */
9414 } else {
9415 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
9416 }
9417 if (var36){
9418 var37 = NULL;
9419 if (var_new_child == NULL) {
9420 var38 = 0; /* is null */
9421 } else {
9422 var38 = 1; /* arg is null and recv is not */
9423 }
9424 if (var38){
9425 ((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)>*/;
9426 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
9427 cltype40 = type_parser_nodes__ASignature.color;
9428 idtype41 = type_parser_nodes__ASignature.id;
9429 if(cltype40 >= var_new_child->type->table_size) {
9430 var39 = 0;
9431 } else {
9432 var39 = var_new_child->type->type_table[cltype40] == idtype41;
9433 }
9434 if (!var39) {
9435 fprintf(stderr, "Runtime error: %s", "Assert failed");
9436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2319);
9437 exit(1);
9438 }
9439 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AConcreteMethPropdef> */
9440 } else {
9441 fprintf(stderr, "Runtime error: %s", "Aborted");
9442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2322);
9443 exit(1);
9444 }
9445 goto RET_LABEL;
9446 } else {
9447 }
9448 var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9449 if (var42 == NULL) {
9450 var43 = 0; /* <var_old_child:ANode> cannot be null */
9451 } else {
9452 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable AAnnotations>*/;
9453 }
9454 if (var43){
9455 var44 = NULL;
9456 if (var_new_child == NULL) {
9457 var45 = 0; /* is null */
9458 } else {
9459 var45 = 1; /* arg is null and recv is not */
9460 }
9461 if (var45){
9462 ((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)>*/;
9463 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
9464 cltype47 = type_parser_nodes__AAnnotations.color;
9465 idtype48 = type_parser_nodes__AAnnotations.id;
9466 if(cltype47 >= var_new_child->type->table_size) {
9467 var46 = 0;
9468 } else {
9469 var46 = var_new_child->type->type_table[cltype47] == idtype48;
9470 }
9471 if (!var46) {
9472 fprintf(stderr, "Runtime error: %s", "Assert failed");
9473 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2329);
9474 exit(1);
9475 }
9476 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AConcreteMethPropdef> */
9477 } else {
9478 var49 = NULL;
9479 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _n_annotations on <self:AConcreteMethPropdef> */
9480 }
9481 goto RET_LABEL;
9482 } else {
9483 }
9484 var50 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9485 if (var50 == NULL) {
9486 var51 = 0; /* <var_old_child:ANode> cannot be null */
9487 } else {
9488 var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on <var50:nullable AExpr>*/;
9489 }
9490 if (var51){
9491 var52 = NULL;
9492 if (var_new_child == NULL) {
9493 var53 = 0; /* is null */
9494 } else {
9495 var53 = 1; /* arg is null and recv is not */
9496 }
9497 if (var53){
9498 ((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)>*/;
9499 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9500 cltype55 = type_parser_nodes__AExpr.color;
9501 idtype56 = type_parser_nodes__AExpr.id;
9502 if(cltype55 >= var_new_child->type->table_size) {
9503 var54 = 0;
9504 } else {
9505 var54 = var_new_child->type->type_table[cltype55] == idtype56;
9506 }
9507 if (!var54) {
9508 fprintf(stderr, "Runtime error: %s", "Assert failed");
9509 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2339);
9510 exit(1);
9511 }
9512 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_new_child; /* _n_block on <self:AConcreteMethPropdef> */
9513 } else {
9514 var57 = NULL;
9515 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var57; /* _n_block on <self:AConcreteMethPropdef> */
9516 }
9517 goto RET_LABEL;
9518 } else {
9519 }
9520 RET_LABEL:;
9521 }
9522 /* method parser_prod#AConcreteMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
9523 void VIRTUAL_parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) {
9524 parser_prod__AConcreteMethPropdef__replace_child(self, p0, p1);
9525 RET_LABEL:;
9526 }
9527 /* method parser_prod#AConcreteMethPropdef#n_doc= for (self: AConcreteMethPropdef, nullable ADoc) */
9528 void parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) {
9529 val* var_node /* var node: nullable ADoc */;
9530 val* var /* : null */;
9531 short int var1 /* : Bool */;
9532 var_node = p0;
9533 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AConcreteMethPropdef> */
9534 var = NULL;
9535 if (var_node == NULL) {
9536 var1 = 0; /* is null */
9537 } else {
9538 var1 = 1; /* arg is null and recv is not */
9539 }
9540 if (var1){
9541 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
9542 } else {
9543 }
9544 RET_LABEL:;
9545 }
9546 /* method parser_prod#AConcreteMethPropdef#n_doc= for (self: Object, nullable ADoc) */
9547 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) {
9548 parser_prod__AConcreteMethPropdef__n_doc_61d(self, p0);
9549 RET_LABEL:;
9550 }
9551 /* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: AConcreteMethPropdef, nullable TKwredef) */
9552 void parser_prod__AConcreteMethPropdef__n_kwredef_61d(val* self, val* p0) {
9553 val* var_node /* var node: nullable TKwredef */;
9554 val* var /* : null */;
9555 short int var1 /* : Bool */;
9556 var_node = p0;
9557 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AConcreteMethPropdef> */
9558 var = NULL;
9559 if (var_node == NULL) {
9560 var1 = 0; /* is null */
9561 } else {
9562 var1 = 1; /* arg is null and recv is not */
9563 }
9564 if (var1){
9565 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
9566 } else {
9567 }
9568 RET_LABEL:;
9569 }
9570 /* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
9571 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwredef_61d(val* self, val* p0) {
9572 parser_prod__AConcreteMethPropdef__n_kwredef_61d(self, p0);
9573 RET_LABEL:;
9574 }
9575 /* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: AConcreteMethPropdef, nullable AVisibility) */
9576 void parser_prod__AConcreteMethPropdef__n_visibility_61d(val* self, val* p0) {
9577 val* var_node /* var node: nullable AVisibility */;
9578 var_node = p0;
9579 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AConcreteMethPropdef> */
9580 if (var_node == NULL) {
9581 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2365);
9583 exit(1);
9584 } else {
9585 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
9586 }
9587 RET_LABEL:;
9588 }
9589 /* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
9590 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_visibility_61d(val* self, val* p0) {
9591 parser_prod__AConcreteMethPropdef__n_visibility_61d(self, p0);
9592 RET_LABEL:;
9593 }
9594 /* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: AConcreteMethPropdef, nullable TKwmeth) */
9595 void parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) {
9596 val* var_node /* var node: nullable TKwmeth */;
9597 var_node = p0;
9598 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9599 if (var_node == NULL) {
9600 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9601 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2370);
9602 exit(1);
9603 } else {
9604 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwmeth>*/;
9605 }
9606 RET_LABEL:;
9607 }
9608 /* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: Object, nullable TKwmeth) */
9609 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) {
9610 parser_prod__AConcreteMethPropdef__n_kwmeth_61d(self, p0);
9611 RET_LABEL:;
9612 }
9613 /* method parser_prod#AConcreteMethPropdef#n_methid= for (self: AConcreteMethPropdef, nullable AMethid) */
9614 void parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) {
9615 val* var_node /* var node: nullable AMethid */;
9616 var_node = p0;
9617 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AConcreteMethPropdef> */
9618 if (var_node == NULL) {
9619 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2375);
9621 exit(1);
9622 } else {
9623 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
9624 }
9625 RET_LABEL:;
9626 }
9627 /* method parser_prod#AConcreteMethPropdef#n_methid= for (self: Object, nullable AMethid) */
9628 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) {
9629 parser_prod__AConcreteMethPropdef__n_methid_61d(self, p0);
9630 RET_LABEL:;
9631 }
9632 /* method parser_prod#AConcreteMethPropdef#n_signature= for (self: AConcreteMethPropdef, nullable ASignature) */
9633 void parser_prod__AConcreteMethPropdef__n_signature_61d(val* self, val* p0) {
9634 val* var_node /* var node: nullable ASignature */;
9635 var_node = p0;
9636 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AConcreteMethPropdef> */
9637 if (var_node == NULL) {
9638 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2380);
9640 exit(1);
9641 } else {
9642 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
9643 }
9644 RET_LABEL:;
9645 }
9646 /* method parser_prod#AConcreteMethPropdef#n_signature= for (self: Object, nullable ASignature) */
9647 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_signature_61d(val* self, val* p0) {
9648 parser_prod__AConcreteMethPropdef__n_signature_61d(self, p0);
9649 RET_LABEL:;
9650 }
9651 /* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: AConcreteMethPropdef, nullable AAnnotations) */
9652 void parser_prod__AConcreteMethPropdef__n_annotations_61d(val* self, val* p0) {
9653 val* var_node /* var node: nullable AAnnotations */;
9654 val* var /* : null */;
9655 short int var1 /* : Bool */;
9656 var_node = p0;
9657 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AConcreteMethPropdef> */
9658 var = NULL;
9659 if (var_node == NULL) {
9660 var1 = 0; /* is null */
9661 } else {
9662 var1 = 1; /* arg is null and recv is not */
9663 }
9664 if (var1){
9665 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
9666 } else {
9667 }
9668 RET_LABEL:;
9669 }
9670 /* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
9671 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_annotations_61d(val* self, val* p0) {
9672 parser_prod__AConcreteMethPropdef__n_annotations_61d(self, p0);
9673 RET_LABEL:;
9674 }
9675 /* method parser_prod#AConcreteMethPropdef#n_block= for (self: AConcreteMethPropdef, nullable AExpr) */
9676 void parser_prod__AConcreteMethPropdef__n_block_61d(val* self, val* p0) {
9677 val* var_node /* var node: nullable AExpr */;
9678 val* var /* : null */;
9679 short int var1 /* : Bool */;
9680 var_node = p0;
9681 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_node; /* _n_block on <self:AConcreteMethPropdef> */
9682 var = NULL;
9683 if (var_node == NULL) {
9684 var1 = 0; /* is null */
9685 } else {
9686 var1 = 1; /* arg is null and recv is not */
9687 }
9688 if (var1){
9689 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
9690 } else {
9691 }
9692 RET_LABEL:;
9693 }
9694 /* method parser_prod#AConcreteMethPropdef#n_block= for (self: Object, nullable AExpr) */
9695 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_block_61d(val* self, val* p0) {
9696 parser_prod__AConcreteMethPropdef__n_block_61d(self, p0);
9697 RET_LABEL:;
9698 }
9699 /* method parser_prod#AConcreteMethPropdef#visit_all for (self: AConcreteMethPropdef, Visitor) */
9700 void parser_prod__AConcreteMethPropdef__visit_all(val* self, val* p0) {
9701 val* var_v /* var v: Visitor */;
9702 val* var /* : nullable ADoc */;
9703 val* var1 /* : null */;
9704 short int var2 /* : Bool */;
9705 val* var3 /* : nullable ADoc */;
9706 val* var4 /* : nullable TKwredef */;
9707 val* var5 /* : null */;
9708 short int var6 /* : Bool */;
9709 val* var7 /* : nullable TKwredef */;
9710 val* var8 /* : nullable AVisibility */;
9711 val* var9 /* : nullable TKwmeth */;
9712 val* var10 /* : nullable AMethid */;
9713 val* var11 /* : nullable ASignature */;
9714 val* var12 /* : nullable AAnnotations */;
9715 val* var13 /* : null */;
9716 short int var14 /* : Bool */;
9717 val* var15 /* : nullable AAnnotations */;
9718 val* var16 /* : nullable AExpr */;
9719 val* var17 /* : null */;
9720 short int var18 /* : Bool */;
9721 val* var19 /* : nullable AExpr */;
9722 var_v = p0;
9723 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9724 var1 = NULL;
9725 if (var == NULL) {
9726 var2 = 0; /* is null */
9727 } else {
9728 var2 = 1; /* arg is null and recv is not */
9729 }
9730 if (var2){
9731 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9732 if (var3 == NULL) {
9733 fprintf(stderr, "Runtime error: %s", "Cast failed");
9734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2401);
9735 exit(1);
9736 }
9737 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9738 } else {
9739 }
9740 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9741 var5 = NULL;
9742 if (var4 == NULL) {
9743 var6 = 0; /* is null */
9744 } else {
9745 var6 = 1; /* arg is null and recv is not */
9746 }
9747 if (var6){
9748 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9749 if (var7 == NULL) {
9750 fprintf(stderr, "Runtime error: %s", "Cast failed");
9751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2404);
9752 exit(1);
9753 }
9754 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
9755 } else {
9756 }
9757 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AConcreteMethPropdef> */
9758 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
9759 var9 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9760 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
9761 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AConcreteMethPropdef> */
9762 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
9763 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AConcreteMethPropdef> */
9764 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
9765 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9766 var13 = NULL;
9767 if (var12 == NULL) {
9768 var14 = 0; /* is null */
9769 } else {
9770 var14 = 1; /* arg is null and recv is not */
9771 }
9772 if (var14){
9773 var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9774 if (var15 == NULL) {
9775 fprintf(stderr, "Runtime error: %s", "Cast failed");
9776 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2411);
9777 exit(1);
9778 }
9779 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
9780 } else {
9781 }
9782 var16 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9783 var17 = NULL;
9784 if (var16 == NULL) {
9785 var18 = 0; /* is null */
9786 } else {
9787 var18 = 1; /* arg is null and recv is not */
9788 }
9789 if (var18){
9790 var19 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9791 if (var19 == NULL) {
9792 fprintf(stderr, "Runtime error: %s", "Cast failed");
9793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2414);
9794 exit(1);
9795 }
9796 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on <var_v:Visitor>*/;
9797 } else {
9798 }
9799 RET_LABEL:;
9800 }
9801 /* method parser_prod#AConcreteMethPropdef#visit_all for (self: Object, Visitor) */
9802 void VIRTUAL_parser_prod__AConcreteMethPropdef__visit_all(val* self, val* p0) {
9803 parser_prod__AConcreteMethPropdef__visit_all(self, p0);
9804 RET_LABEL:;
9805 }
9806 /* method parser_prod#AConcreteInitPropdef#empty_init for (self: AConcreteInitPropdef) */
9807 void parser_prod__AConcreteInitPropdef__empty_init(val* self) {
9808 RET_LABEL:;
9809 }
9810 /* method parser_prod#AConcreteInitPropdef#empty_init for (self: Object) */
9811 void VIRTUAL_parser_prod__AConcreteInitPropdef__empty_init(val* self) {
9812 parser_prod__AConcreteInitPropdef__empty_init(self);
9813 RET_LABEL:;
9814 }
9815 /* 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) */
9816 void parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
9817 val* var_n_doc /* var n_doc: nullable ADoc */;
9818 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
9819 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
9820 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
9821 val* var_n_methid /* var n_methid: nullable AMethid */;
9822 val* var_n_signature /* var n_signature: nullable ASignature */;
9823 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
9824 val* var_n_block /* var n_block: nullable AExpr */;
9825 val* var /* : null */;
9826 short int var1 /* : Bool */;
9827 val* var2 /* : null */;
9828 short int var3 /* : Bool */;
9829 val* var4 /* : null */;
9830 short int var5 /* : Bool */;
9831 val* var6 /* : null */;
9832 short int var7 /* : Bool */;
9833 val* var8 /* : null */;
9834 short int var9 /* : Bool */;
9835 var_n_doc = p0;
9836 var_n_kwredef = p1;
9837 var_n_visibility = p2;
9838 var_n_kwinit = p3;
9839 var_n_methid = p4;
9840 var_n_signature = p5;
9841 var_n_annotations = p6;
9842 var_n_block = p7;
9843 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteInitPropdef__empty_init]))(self) /* empty_init on <self:AConcreteInitPropdef>*/;
9844 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AConcreteInitPropdef> */
9845 var = NULL;
9846 if (var_n_doc == NULL) {
9847 var1 = 0; /* is null */
9848 } else {
9849 var1 = 1; /* arg is null and recv is not */
9850 }
9851 if (var1){
9852 ((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)>*/;
9853 } else {
9854 }
9855 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AConcreteInitPropdef> */
9856 var2 = NULL;
9857 if (var_n_kwredef == NULL) {
9858 var3 = 0; /* is null */
9859 } else {
9860 var3 = 1; /* arg is null and recv is not */
9861 }
9862 if (var3){
9863 ((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)>*/;
9864 } else {
9865 }
9866 if (var_n_visibility == NULL) {
9867 fprintf(stderr, "Runtime error: %s", "Cast failed");
9868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2441);
9869 exit(1);
9870 }
9871 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AConcreteInitPropdef> */
9872 if (var_n_visibility == NULL) {
9873 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2442);
9875 exit(1);
9876 } else {
9877 ((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>*/;
9878 }
9879 if (var_n_kwinit == NULL) {
9880 fprintf(stderr, "Runtime error: %s", "Cast failed");
9881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2443);
9882 exit(1);
9883 }
9884 self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AConcreteInitPropdef> */
9885 if (var_n_kwinit == NULL) {
9886 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2444);
9888 exit(1);
9889 } else {
9890 ((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>*/;
9891 }
9892 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AConcreteInitPropdef> */
9893 var4 = NULL;
9894 if (var_n_methid == NULL) {
9895 var5 = 0; /* is null */
9896 } else {
9897 var5 = 1; /* arg is null and recv is not */
9898 }
9899 if (var5){
9900 ((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)>*/;
9901 } else {
9902 }
9903 if (var_n_signature == NULL) {
9904 fprintf(stderr, "Runtime error: %s", "Cast failed");
9905 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2449);
9906 exit(1);
9907 }
9908 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AConcreteInitPropdef> */
9909 if (var_n_signature == NULL) {
9910 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 2450);
9912 exit(1);
9913 } else {
9914 ((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>*/;
9915 }
9916 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AConcreteInitPropdef> */
9917 var6 = NULL;
9918 if (var_n_annotations == NULL) {
9919 var7 = 0; /* is null */
9920 } else {
9921 var7 = 1; /* arg is null and recv is not */
9922 }
9923 if (var7){
9924 ((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)>*/;
9925 } else {
9926 }
9927 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on <self:AConcreteInitPropdef> */
9928 var8 = NULL;
9929 if (var_n_block == NULL) {
9930 var9 = 0; /* is null */
9931 } else {
9932 var9 = 1; /* arg is null and recv is not */
9933 }
9934 if (var9){
9935 ((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)>*/;
9936 } else {
9937 }
9938 RET_LABEL:;
9939 }
9940 /* 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) */
9941 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) {
9942 parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7);
9943 RET_LABEL:;
9944 }