use nitg to bootstrap; drop bootstrap of nitc
[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 (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 25);
75 exit(1);
76 }
77 var6 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
78 if (var6 == NULL) {
79 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 26);
80 exit(1);
81 }
82 ((void (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var6, var_n) /* add on <var6:ANodes[AImport]>*/;
83 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AImport)>*/;
84 CONTINUE_label: (void)0;
85 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
86 }
87 BREAK_label: (void)0;
88 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]>*/;
89 for(;;) {
90 var8 = ((short int (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var7) /* is_ok on <var7:Iterator[nullable Object]>*/;
91 if(!var8) break;
92 var9 = ((val* (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__item]))(var7) /* item on <var7:Iterator[nullable Object]>*/;
93 var_n10 = var9;
94 /* <var_n10:Object> isa AExternCodeBlock */
95 cltype12 = type_parser_nodes__AExternCodeBlock.color;
96 idtype13 = type_parser_nodes__AExternCodeBlock.id;
97 if(cltype12 >= var_n10->type->table_size) {
98 var11 = 0;
99 } else {
100 var11 = var_n10->type->type_table[cltype12] == idtype13;
101 }
102 if (!var11) {
103 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 30);
104 exit(1);
105 }
106 var14 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
107 if (var14 == NULL) {
108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 31);
109 exit(1);
110 }
111 ((void (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var14, var_n10) /* add on <var14:ANodes[AExternCodeBlock]>*/;
112 ((void (*)(val*, val*))(var_n10->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n10, self) /* parent= on <var_n10:Object(AExternCodeBlock)>*/;
113 CONTINUE_label15: (void)0;
114 ((void (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__next]))(var7) /* next on <var7:Iterator[nullable Object]>*/;
115 }
116 BREAK_label15: (void)0;
117 var16 = ((val* (*)(val*))(var_n_classdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_classdefs) /* iterator on <var_n_classdefs:Collection[Object]>*/;
118 for(;;) {
119 var17 = ((short int (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var16) /* is_ok on <var16:Iterator[nullable Object]>*/;
120 if(!var17) break;
121 var18 = ((val* (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__item]))(var16) /* item on <var16:Iterator[nullable Object]>*/;
122 var_n19 = var18;
123 /* <var_n19:Object> isa AClassdef */
124 cltype21 = type_parser_nodes__AClassdef.color;
125 idtype22 = type_parser_nodes__AClassdef.id;
126 if(cltype21 >= var_n19->type->table_size) {
127 var20 = 0;
128 } else {
129 var20 = var_n19->type->type_table[cltype21] == idtype22;
130 }
131 if (!var20) {
132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 35);
133 exit(1);
134 }
135 var23 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
136 if (var23 == NULL) {
137 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 36);
138 exit(1);
139 }
140 ((void (*)(val*, val*))(var23->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var23, var_n19) /* add on <var23:ANodes[AClassdef]>*/;
141 ((void (*)(val*, val*))(var_n19->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n19, self) /* parent= on <var_n19:Object(AClassdef)>*/;
142 CONTINUE_label24: (void)0;
143 ((void (*)(val*))(var16->class->vft[COLOR_abstract_collection__Iterator__next]))(var16) /* next on <var16:Iterator[nullable Object]>*/;
144 }
145 BREAK_label24: (void)0;
146 RET_LABEL:;
147 }
148 /* method parser_prod#AModule#init_amodule for (self: Object, nullable AModuledecl, Collection[Object], Collection[Object], Collection[Object]) */
149 void VIRTUAL_parser_prod__AModule__init_amodule(val* self, val* p0, val* p1, val* p2, val* p3) {
150 parser_prod__AModule__init_amodule(self, p0, p1, p2, p3);
151 RET_LABEL:;
152 }
153 /* method parser_prod#AModule#replace_child for (self: AModule, ANode, nullable ANode) */
154 void parser_prod__AModule__replace_child(val* self, val* p0, val* p1) {
155 val* var_old_child /* var old_child: ANode */;
156 val* var_new_child /* var new_child: nullable ANode */;
157 val* var /* : nullable AModuledecl */;
158 short int var1 /* : Bool */;
159 val* var2 /* : null */;
160 short int var3 /* : Bool */;
161 short int var4 /* : Bool */;
162 int cltype;
163 int idtype;
164 val* var5 /* : null */;
165 val* var6 /* : Range[Int] */;
166 long var7 /* : Int */;
167 val* var8 /* : ANodes[AImport] */;
168 long var9 /* : Int */;
169 val* var10 /* : Discrete */;
170 val* var11 /* : Discrete */;
171 val* var12 /* : Iterator[nullable Object] */;
172 short int var13 /* : Bool */;
173 val* var14 /* : nullable Object */;
174 long var_i /* var i: Int */;
175 long var15 /* : Int */;
176 val* var16 /* : ANodes[AImport] */;
177 val* var17 /* : nullable Object */;
178 short int var18 /* : Bool */;
179 val* var19 /* : null */;
180 short int var20 /* : Bool */;
181 short int var21 /* : Bool */;
182 int cltype22;
183 int idtype23;
184 val* var24 /* : ANodes[AImport] */;
185 val* var25 /* : ANodes[AImport] */;
186 val* var26 /* : Range[Int] */;
187 long var27 /* : Int */;
188 val* var28 /* : ANodes[AExternCodeBlock] */;
189 long var29 /* : Int */;
190 val* var30 /* : Discrete */;
191 val* var31 /* : Discrete */;
192 val* var32 /* : Iterator[nullable Object] */;
193 short int var33 /* : Bool */;
194 val* var34 /* : nullable Object */;
195 long var_i35 /* var i: Int */;
196 long var36 /* : Int */;
197 val* var37 /* : ANodes[AExternCodeBlock] */;
198 val* var38 /* : nullable Object */;
199 short int var39 /* : Bool */;
200 val* var40 /* : null */;
201 short int var41 /* : Bool */;
202 short int var42 /* : Bool */;
203 int cltype43;
204 int idtype44;
205 val* var45 /* : ANodes[AExternCodeBlock] */;
206 val* var46 /* : ANodes[AExternCodeBlock] */;
207 val* var48 /* : Range[Int] */;
208 long var49 /* : Int */;
209 val* var50 /* : ANodes[AClassdef] */;
210 long var51 /* : Int */;
211 val* var52 /* : Discrete */;
212 val* var53 /* : Discrete */;
213 val* var54 /* : Iterator[nullable Object] */;
214 short int var55 /* : Bool */;
215 val* var56 /* : nullable Object */;
216 long var_i57 /* var i: Int */;
217 long var58 /* : Int */;
218 val* var59 /* : ANodes[AClassdef] */;
219 val* var60 /* : nullable Object */;
220 short int var61 /* : Bool */;
221 val* var62 /* : null */;
222 short int var63 /* : Bool */;
223 short int var64 /* : Bool */;
224 int cltype65;
225 int idtype66;
226 val* var67 /* : ANodes[AClassdef] */;
227 val* var68 /* : ANodes[AClassdef] */;
228 var_old_child = p0;
229 var_new_child = p1;
230 var = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
231 if (var == NULL) {
232 var1 = 0; /* <var_old_child:ANode> cannot be null */
233 } else {
234 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AModuledecl>*/;
235 }
236 if (var1){
237 var2 = NULL;
238 if (var_new_child == NULL) {
239 var3 = 0; /* is null */
240 } else {
241 var3 = 1; /* arg is null and recv is not */
242 }
243 if (var3){
244 ((void (*)(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)>*/;
245 /* <var_new_child:nullable ANode(ANode)> isa AModuledecl */
246 cltype = type_parser_nodes__AModuledecl.color;
247 idtype = type_parser_nodes__AModuledecl.id;
248 if(cltype >= var_new_child->type->table_size) {
249 var4 = 0;
250 } else {
251 var4 = var_new_child->type->type_table[cltype] == idtype;
252 }
253 if (!var4) {
254 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 46);
255 exit(1);
256 }
257 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_new_child; /* _n_moduledecl on <self:AModule> */
258 } else {
259 var5 = NULL;
260 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var5; /* _n_moduledecl on <self:AModule> */
261 }
262 goto RET_LABEL;
263 } else {
264 }
265 var6 = NEW_range__Range(&type_range__Rangekernel__Int);
266 var7 = 0;
267 var8 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
268 if (var8 == NULL) {
269 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 53);
270 exit(1);
271 }
272 var9 = ((long (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__length]))(var8) /* length on <var8:ANodes[AImport]>*/;
273 var10 = BOX_kernel__Int(var7); /* autobox from Int to Discrete */
274 var11 = BOX_kernel__Int(var9); /* autobox from Int to Discrete */
275 ((void (*)(val*, val*, val*))(var6->class->vft[COLOR_range__Range__without_last]))(var6, var10, var11) /* without_last on <var6:Range[Int]>*/;
276 CHECK_NEW_range__Range(var6);
277 var12 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Collection__iterator]))(var6) /* iterator on <var6:Range[Int]>*/;
278 for(;;) {
279 var13 = ((short int (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var12) /* is_ok on <var12:Iterator[nullable Object]>*/;
280 if(!var13) break;
281 var14 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__item]))(var12) /* item on <var12:Iterator[nullable Object]>*/;
282 var15 = ((struct instance_kernel__Int*)var14)->value; /* autounbox from nullable Object to Int */;
283 var_i = var15;
284 var16 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
285 if (var16 == NULL) {
286 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 54);
287 exit(1);
288 }
289 var17 = ((val* (*)(val*, long))(var16->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var16, var_i) /* [] on <var16:ANodes[AImport]>*/;
290 var18 = ((short int (*)(val*, val*))(var17->class->vft[COLOR_kernel__Object___61d_61d]))(var17, var_old_child) /* == on <var17:nullable Object(AImport)>*/;
291 if (var18){
292 var19 = NULL;
293 if (var_new_child == NULL) {
294 var20 = 0; /* is null */
295 } else {
296 var20 = 1; /* arg is null and recv is not */
297 }
298 if (var20){
299 /* <var_new_child:nullable ANode(ANode)> isa AImport */
300 cltype22 = type_parser_nodes__AImport.color;
301 idtype23 = type_parser_nodes__AImport.id;
302 if(cltype22 >= var_new_child->type->table_size) {
303 var21 = 0;
304 } else {
305 var21 = var_new_child->type->type_table[cltype22] == idtype23;
306 }
307 if (!var21) {
308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 56);
309 exit(1);
310 }
311 var24 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
312 if (var24 == NULL) {
313 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 57);
314 exit(1);
315 }
316 ((void (*)(val*, long, val*))(var24->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var24, var_i, var_new_child) /* []= on <var24:ANodes[AImport]>*/;
317 ((void (*)(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)>*/;
318 } else {
319 var25 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
320 if (var25 == NULL) {
321 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 60);
322 exit(1);
323 }
324 ((void (*)(val*, long))(var25->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var25, var_i) /* remove_at on <var25:ANodes[AImport]>*/;
325 }
326 goto RET_LABEL;
327 } else {
328 }
329 CONTINUE_label: (void)0;
330 ((void (*)(val*))(var12->class->vft[COLOR_abstract_collection__Iterator__next]))(var12) /* next on <var12:Iterator[nullable Object]>*/;
331 }
332 BREAK_label: (void)0;
333 var26 = NEW_range__Range(&type_range__Rangekernel__Int);
334 var27 = 0;
335 var28 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
336 if (var28 == NULL) {
337 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 65);
338 exit(1);
339 }
340 var29 = ((long (*)(val*))(var28->class->vft[COLOR_abstract_collection__Collection__length]))(var28) /* length on <var28:ANodes[AExternCodeBlock]>*/;
341 var30 = BOX_kernel__Int(var27); /* autobox from Int to Discrete */
342 var31 = BOX_kernel__Int(var29); /* autobox from Int to Discrete */
343 ((void (*)(val*, val*, val*))(var26->class->vft[COLOR_range__Range__without_last]))(var26, var30, var31) /* without_last on <var26:Range[Int]>*/;
344 CHECK_NEW_range__Range(var26);
345 var32 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on <var26:Range[Int]>*/;
346 for(;;) {
347 var33 = ((short int (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var32) /* is_ok on <var32:Iterator[nullable Object]>*/;
348 if(!var33) break;
349 var34 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__item]))(var32) /* item on <var32:Iterator[nullable Object]>*/;
350 var36 = ((struct instance_kernel__Int*)var34)->value; /* autounbox from nullable Object to Int */;
351 var_i35 = var36;
352 var37 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
353 if (var37 == NULL) {
354 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 66);
355 exit(1);
356 }
357 var38 = ((val* (*)(val*, long))(var37->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var37, var_i35) /* [] on <var37:ANodes[AExternCodeBlock]>*/;
358 var39 = ((short int (*)(val*, val*))(var38->class->vft[COLOR_kernel__Object___61d_61d]))(var38, var_old_child) /* == on <var38:nullable Object(AExternCodeBlock)>*/;
359 if (var39){
360 var40 = NULL;
361 if (var_new_child == NULL) {
362 var41 = 0; /* is null */
363 } else {
364 var41 = 1; /* arg is null and recv is not */
365 }
366 if (var41){
367 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
368 cltype43 = type_parser_nodes__AExternCodeBlock.color;
369 idtype44 = type_parser_nodes__AExternCodeBlock.id;
370 if(cltype43 >= var_new_child->type->table_size) {
371 var42 = 0;
372 } else {
373 var42 = var_new_child->type->type_table[cltype43] == idtype44;
374 }
375 if (!var42) {
376 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 68);
377 exit(1);
378 }
379 var45 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
380 if (var45 == NULL) {
381 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 69);
382 exit(1);
383 }
384 ((void (*)(val*, long, val*))(var45->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var45, var_i35, var_new_child) /* []= on <var45:ANodes[AExternCodeBlock]>*/;
385 ((void (*)(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)>*/;
386 } else {
387 var46 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
388 if (var46 == NULL) {
389 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 72);
390 exit(1);
391 }
392 ((void (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var46, var_i35) /* remove_at on <var46:ANodes[AExternCodeBlock]>*/;
393 }
394 goto RET_LABEL;
395 } else {
396 }
397 CONTINUE_label47: (void)0;
398 ((void (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__next]))(var32) /* next on <var32:Iterator[nullable Object]>*/;
399 }
400 BREAK_label47: (void)0;
401 var48 = NEW_range__Range(&type_range__Rangekernel__Int);
402 var49 = 0;
403 var50 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
404 if (var50 == NULL) {
405 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 77);
406 exit(1);
407 }
408 var51 = ((long (*)(val*))(var50->class->vft[COLOR_abstract_collection__Collection__length]))(var50) /* length on <var50:ANodes[AClassdef]>*/;
409 var52 = BOX_kernel__Int(var49); /* autobox from Int to Discrete */
410 var53 = BOX_kernel__Int(var51); /* autobox from Int to Discrete */
411 ((void (*)(val*, val*, val*))(var48->class->vft[COLOR_range__Range__without_last]))(var48, var52, var53) /* without_last on <var48:Range[Int]>*/;
412 CHECK_NEW_range__Range(var48);
413 var54 = ((val* (*)(val*))(var48->class->vft[COLOR_abstract_collection__Collection__iterator]))(var48) /* iterator on <var48:Range[Int]>*/;
414 for(;;) {
415 var55 = ((short int (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var54) /* is_ok on <var54:Iterator[nullable Object]>*/;
416 if(!var55) break;
417 var56 = ((val* (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__item]))(var54) /* item on <var54:Iterator[nullable Object]>*/;
418 var58 = ((struct instance_kernel__Int*)var56)->value; /* autounbox from nullable Object to Int */;
419 var_i57 = var58;
420 var59 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
421 if (var59 == NULL) {
422 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 78);
423 exit(1);
424 }
425 var60 = ((val* (*)(val*, long))(var59->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var59, var_i57) /* [] on <var59:ANodes[AClassdef]>*/;
426 var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on <var60:nullable Object(AClassdef)>*/;
427 if (var61){
428 var62 = NULL;
429 if (var_new_child == NULL) {
430 var63 = 0; /* is null */
431 } else {
432 var63 = 1; /* arg is null and recv is not */
433 }
434 if (var63){
435 /* <var_new_child:nullable ANode(ANode)> isa AClassdef */
436 cltype65 = type_parser_nodes__AClassdef.color;
437 idtype66 = type_parser_nodes__AClassdef.id;
438 if(cltype65 >= var_new_child->type->table_size) {
439 var64 = 0;
440 } else {
441 var64 = var_new_child->type->type_table[cltype65] == idtype66;
442 }
443 if (!var64) {
444 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 80);
445 exit(1);
446 }
447 var67 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
448 if (var67 == NULL) {
449 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 81);
450 exit(1);
451 }
452 ((void (*)(val*, long, val*))(var67->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var67, var_i57, var_new_child) /* []= on <var67:ANodes[AClassdef]>*/;
453 ((void (*)(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)>*/;
454 } else {
455 var68 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
456 if (var68 == NULL) {
457 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 84);
458 exit(1);
459 }
460 ((void (*)(val*, long))(var68->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var68, var_i57) /* remove_at on <var68:ANodes[AClassdef]>*/;
461 }
462 goto RET_LABEL;
463 } else {
464 }
465 CONTINUE_label69: (void)0;
466 ((void (*)(val*))(var54->class->vft[COLOR_abstract_collection__Iterator__next]))(var54) /* next on <var54:Iterator[nullable Object]>*/;
467 }
468 BREAK_label69: (void)0;
469 RET_LABEL:;
470 }
471 /* method parser_prod#AModule#replace_child for (self: Object, ANode, nullable ANode) */
472 void VIRTUAL_parser_prod__AModule__replace_child(val* self, val* p0, val* p1) {
473 parser_prod__AModule__replace_child(self, p0, p1);
474 RET_LABEL:;
475 }
476 /* method parser_prod#AModule#n_moduledecl= for (self: AModule, nullable AModuledecl) */
477 void parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) {
478 val* var_node /* var node: nullable AModuledecl */;
479 val* var /* : null */;
480 short int var1 /* : Bool */;
481 var_node = p0;
482 self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val = var_node; /* _n_moduledecl on <self:AModule> */
483 var = NULL;
484 if (var_node == NULL) {
485 var1 = 0; /* is null */
486 } else {
487 var1 = 1; /* arg is null and recv is not */
488 }
489 if (var1){
490 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AModuledecl(AModuledecl)>*/;
491 } else {
492 }
493 RET_LABEL:;
494 }
495 /* method parser_prod#AModule#n_moduledecl= for (self: Object, nullable AModuledecl) */
496 void VIRTUAL_parser_prod__AModule__n_moduledecl_61d(val* self, val* p0) {
497 parser_prod__AModule__n_moduledecl_61d(self, p0);
498 RET_LABEL:;
499 }
500 /* method parser_prod#AModule#visit_all for (self: AModule, Visitor) */
501 void parser_prod__AModule__visit_all(val* self, val* p0) {
502 val* var_v /* var v: Visitor */;
503 val* var /* : nullable AModuledecl */;
504 val* var1 /* : null */;
505 short int var2 /* : Bool */;
506 val* var3 /* : nullable AModuledecl */;
507 val* var4 /* : ANodes[AImport] */;
508 val* var5 /* : Iterator[nullable Object] */;
509 short int var6 /* : Bool */;
510 val* var7 /* : nullable Object */;
511 val* var_n /* var n: AImport */;
512 val* var8 /* : ANodes[AExternCodeBlock] */;
513 val* var9 /* : Iterator[nullable Object] */;
514 short int var10 /* : Bool */;
515 val* var11 /* : nullable Object */;
516 val* var_n12 /* var n: AExternCodeBlock */;
517 val* var14 /* : ANodes[AClassdef] */;
518 val* var15 /* : Iterator[nullable Object] */;
519 short int var16 /* : Bool */;
520 val* var17 /* : nullable Object */;
521 val* var_n18 /* var n: AClassdef */;
522 var_v = p0;
523 var = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
524 var1 = NULL;
525 if (var == NULL) {
526 var2 = 0; /* is null */
527 } else {
528 var2 = 1; /* arg is null and recv is not */
529 }
530 if (var2){
531 var3 = self->attrs[COLOR_parser_nodes__AModule___n_moduledecl].val; /* _n_moduledecl on <self:AModule> */
532 if (var3 == NULL) {
533 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 103);
534 exit(1);
535 }
536 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
537 } else {
538 }
539 var4 = self->attrs[COLOR_parser_nodes__AModule___n_imports].val; /* _n_imports on <self:AModule> */
540 if (var4 == NULL) {
541 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_imports", "src/parser/parser_prod.nit", 105);
542 exit(1);
543 }
544 var5 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Collection__iterator]))(var4) /* iterator on <var4:ANodes[AImport]>*/;
545 for(;;) {
546 var6 = ((short int (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var5) /* is_ok on <var5:Iterator[nullable Object]>*/;
547 if(!var6) break;
548 var7 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__item]))(var5) /* item on <var5:Iterator[nullable Object]>*/;
549 var_n = var7;
550 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
551 CONTINUE_label: (void)0;
552 ((void (*)(val*))(var5->class->vft[COLOR_abstract_collection__Iterator__next]))(var5) /* next on <var5:Iterator[nullable Object]>*/;
553 }
554 BREAK_label: (void)0;
555 var8 = self->attrs[COLOR_parser_nodes__AModule___n_extern_code_blocks].val; /* _n_extern_code_blocks on <self:AModule> */
556 if (var8 == NULL) {
557 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_extern_code_blocks", "src/parser/parser_prod.nit", 108);
558 exit(1);
559 }
560 var9 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Collection__iterator]))(var8) /* iterator on <var8:ANodes[AExternCodeBlock]>*/;
561 for(;;) {
562 var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on <var9:Iterator[nullable Object]>*/;
563 if(!var10) break;
564 var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on <var9:Iterator[nullable Object]>*/;
565 var_n12 = var11;
566 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n12) /* enter_visit on <var_v:Visitor>*/;
567 CONTINUE_label13: (void)0;
568 ((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on <var9:Iterator[nullable Object]>*/;
569 }
570 BREAK_label13: (void)0;
571 var14 = self->attrs[COLOR_parser_nodes__AModule___n_classdefs].val; /* _n_classdefs on <self:AModule> */
572 if (var14 == NULL) {
573 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classdefs", "src/parser/parser_prod.nit", 111);
574 exit(1);
575 }
576 var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on <var14:ANodes[AClassdef]>*/;
577 for(;;) {
578 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
579 if(!var16) break;
580 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
581 var_n18 = var17;
582 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n18) /* enter_visit on <var_v:Visitor>*/;
583 CONTINUE_label19: (void)0;
584 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
585 }
586 BREAK_label19: (void)0;
587 RET_LABEL:;
588 }
589 /* method parser_prod#AModule#visit_all for (self: Object, Visitor) */
590 void VIRTUAL_parser_prod__AModule__visit_all(val* self, val* p0) {
591 parser_prod__AModule__visit_all(self, p0);
592 RET_LABEL:;
593 }
594 /* method parser_prod#AModuledecl#empty_init for (self: AModuledecl) */
595 void parser_prod__AModuledecl__empty_init(val* self) {
596 RET_LABEL:;
597 }
598 /* method parser_prod#AModuledecl#empty_init for (self: Object) */
599 void VIRTUAL_parser_prod__AModuledecl__empty_init(val* self) {
600 parser_prod__AModuledecl__empty_init(self);
601 RET_LABEL:;
602 }
603 /* method parser_prod#AModuledecl#init_amoduledecl for (self: AModuledecl, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */
604 void parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) {
605 val* var_n_doc /* var n_doc: nullable ADoc */;
606 val* var_n_kwmodule /* var n_kwmodule: nullable TKwmodule */;
607 val* var_n_name /* var n_name: nullable AModuleName */;
608 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
609 val* var /* : null */;
610 short int var1 /* : Bool */;
611 val* var2 /* : null */;
612 short int var3 /* : Bool */;
613 var_n_doc = p0;
614 var_n_kwmodule = p1;
615 var_n_name = p2;
616 var_n_annotations = p3;
617 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AModuledecl__empty_init]))(self) /* empty_init on <self:AModuledecl>*/;
618 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_n_doc; /* _n_doc on <self:AModuledecl> */
619 var = NULL;
620 if (var_n_doc == NULL) {
621 var1 = 0; /* is null */
622 } else {
623 var1 = 1; /* arg is null and recv is not */
624 }
625 if (var1){
626 ((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)>*/;
627 } else {
628 }
629 if (var_n_kwmodule == NULL) {
630 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 131);
631 exit(1);
632 }
633 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_n_kwmodule; /* _n_kwmodule on <self:AModuledecl> */
634 if (var_n_kwmodule == NULL) {
635 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 132);
636 exit(1);
637 } else {
638 ((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>*/;
639 }
640 if (var_n_name == NULL) {
641 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 133);
642 exit(1);
643 }
644 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_n_name; /* _n_name on <self:AModuledecl> */
645 if (var_n_name == NULL) {
646 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 134);
647 exit(1);
648 } else {
649 ((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>*/;
650 }
651 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AModuledecl> */
652 var2 = NULL;
653 if (var_n_annotations == NULL) {
654 var3 = 0; /* is null */
655 } else {
656 var3 = 1; /* arg is null and recv is not */
657 }
658 if (var3){
659 ((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)>*/;
660 } else {
661 }
662 RET_LABEL:;
663 }
664 /* method parser_prod#AModuledecl#init_amoduledecl for (self: Object, nullable ADoc, nullable TKwmodule, nullable AModuleName, nullable AAnnotations) */
665 void VIRTUAL_parser_prod__AModuledecl__init_amoduledecl(val* self, val* p0, val* p1, val* p2, val* p3) {
666 parser_prod__AModuledecl__init_amoduledecl(self, p0, p1, p2, p3);
667 RET_LABEL:;
668 }
669 /* method parser_prod#AModuledecl#replace_child for (self: AModuledecl, ANode, nullable ANode) */
670 void parser_prod__AModuledecl__replace_child(val* self, val* p0, val* p1) {
671 val* var_old_child /* var old_child: ANode */;
672 val* var_new_child /* var new_child: nullable ANode */;
673 val* var /* : nullable ADoc */;
674 short int var1 /* : Bool */;
675 val* var2 /* : null */;
676 short int var3 /* : Bool */;
677 short int var4 /* : Bool */;
678 int cltype;
679 int idtype;
680 val* var5 /* : null */;
681 val* var6 /* : TKwmodule */;
682 short int var7 /* : Bool */;
683 val* var8 /* : null */;
684 short int var9 /* : Bool */;
685 short int var10 /* : Bool */;
686 int cltype11;
687 int idtype12;
688 val* var13 /* : AModuleName */;
689 short int var14 /* : Bool */;
690 val* var15 /* : null */;
691 short int var16 /* : Bool */;
692 short int var17 /* : Bool */;
693 int cltype18;
694 int idtype19;
695 val* var20 /* : nullable AAnnotations */;
696 short int var21 /* : Bool */;
697 val* var22 /* : null */;
698 short int var23 /* : Bool */;
699 short int var24 /* : Bool */;
700 int cltype25;
701 int idtype26;
702 val* var27 /* : null */;
703 var_old_child = p0;
704 var_new_child = p1;
705 var = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
706 if (var == NULL) {
707 var1 = 0; /* <var_old_child:ANode> cannot be null */
708 } else {
709 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
710 }
711 if (var1){
712 var2 = NULL;
713 if (var_new_child == NULL) {
714 var3 = 0; /* is null */
715 } else {
716 var3 = 1; /* arg is null and recv is not */
717 }
718 if (var3){
719 ((void (*)(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)>*/;
720 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
721 cltype = type_parser_nodes__ADoc.color;
722 idtype = type_parser_nodes__ADoc.id;
723 if(cltype >= var_new_child->type->table_size) {
724 var4 = 0;
725 } else {
726 var4 = var_new_child->type->type_table[cltype] == idtype;
727 }
728 if (!var4) {
729 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 146);
730 exit(1);
731 }
732 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_new_child; /* _n_doc on <self:AModuledecl> */
733 } else {
734 var5 = NULL;
735 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var5; /* _n_doc on <self:AModuledecl> */
736 }
737 goto RET_LABEL;
738 } else {
739 }
740 var6 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on <self:AModuledecl> */
741 if (var6 == NULL) {
742 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmodule", "src/parser/parser_prod.nit", 153);
743 exit(1);
744 }
745 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:TKwmodule>*/;
746 if (var7){
747 var8 = NULL;
748 if (var_new_child == NULL) {
749 var9 = 0; /* is null */
750 } else {
751 var9 = 1; /* arg is null and recv is not */
752 }
753 if (var9){
754 ((void (*)(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)>*/;
755 /* <var_new_child:nullable ANode(ANode)> isa TKwmodule */
756 cltype11 = type_parser_nodes__TKwmodule.color;
757 idtype12 = type_parser_nodes__TKwmodule.id;
758 if(cltype11 >= var_new_child->type->table_size) {
759 var10 = 0;
760 } else {
761 var10 = var_new_child->type->type_table[cltype11] == idtype12;
762 }
763 if (!var10) {
764 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 156);
765 exit(1);
766 }
767 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_new_child; /* _n_kwmodule on <self:AModuledecl> */
768 } else {
769 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 159);
770 exit(1);
771 }
772 goto RET_LABEL;
773 } else {
774 }
775 var13 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on <self:AModuledecl> */
776 if (var13 == NULL) {
777 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 163);
778 exit(1);
779 }
780 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AModuleName>*/;
781 if (var14){
782 var15 = NULL;
783 if (var_new_child == NULL) {
784 var16 = 0; /* is null */
785 } else {
786 var16 = 1; /* arg is null and recv is not */
787 }
788 if (var16){
789 ((void (*)(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)>*/;
790 /* <var_new_child:nullable ANode(ANode)> isa AModuleName */
791 cltype18 = type_parser_nodes__AModuleName.color;
792 idtype19 = type_parser_nodes__AModuleName.id;
793 if(cltype18 >= var_new_child->type->table_size) {
794 var17 = 0;
795 } else {
796 var17 = var_new_child->type->type_table[cltype18] == idtype19;
797 }
798 if (!var17) {
799 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 166);
800 exit(1);
801 }
802 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_new_child; /* _n_name on <self:AModuledecl> */
803 } else {
804 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 169);
805 exit(1);
806 }
807 goto RET_LABEL;
808 } else {
809 }
810 var20 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
811 if (var20 == NULL) {
812 var21 = 0; /* <var_old_child:ANode> cannot be null */
813 } else {
814 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:nullable AAnnotations>*/;
815 }
816 if (var21){
817 var22 = NULL;
818 if (var_new_child == NULL) {
819 var23 = 0; /* is null */
820 } else {
821 var23 = 1; /* arg is null and recv is not */
822 }
823 if (var23){
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 AAnnotations */
826 cltype25 = type_parser_nodes__AAnnotations.color;
827 idtype26 = type_parser_nodes__AAnnotations.id;
828 if(cltype25 >= var_new_child->type->table_size) {
829 var24 = 0;
830 } else {
831 var24 = var_new_child->type->type_table[cltype25] == idtype26;
832 }
833 if (!var24) {
834 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 176);
835 exit(1);
836 }
837 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AModuledecl> */
838 } else {
839 var27 = NULL;
840 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var27; /* _n_annotations on <self:AModuledecl> */
841 }
842 goto RET_LABEL;
843 } else {
844 }
845 RET_LABEL:;
846 }
847 /* method parser_prod#AModuledecl#replace_child for (self: Object, ANode, nullable ANode) */
848 void VIRTUAL_parser_prod__AModuledecl__replace_child(val* self, val* p0, val* p1) {
849 parser_prod__AModuledecl__replace_child(self, p0, p1);
850 RET_LABEL:;
851 }
852 /* method parser_prod#AModuledecl#n_doc= for (self: AModuledecl, nullable ADoc) */
853 void parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) {
854 val* var_node /* var node: nullable ADoc */;
855 val* var /* : null */;
856 short int var1 /* : Bool */;
857 var_node = p0;
858 self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val = var_node; /* _n_doc on <self:AModuledecl> */
859 var = NULL;
860 if (var_node == NULL) {
861 var1 = 0; /* is null */
862 } else {
863 var1 = 1; /* arg is null and recv is not */
864 }
865 if (var1){
866 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
867 } else {
868 }
869 RET_LABEL:;
870 }
871 /* method parser_prod#AModuledecl#n_doc= for (self: Object, nullable ADoc) */
872 void VIRTUAL_parser_prod__AModuledecl__n_doc_61d(val* self, val* p0) {
873 parser_prod__AModuledecl__n_doc_61d(self, p0);
874 RET_LABEL:;
875 }
876 /* method parser_prod#AModuledecl#n_kwmodule= for (self: AModuledecl, TKwmodule) */
877 void parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) {
878 val* var_node /* var node: TKwmodule */;
879 var_node = p0;
880 self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val = var_node; /* _n_kwmodule on <self:AModuledecl> */
881 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmodule>*/;
882 RET_LABEL:;
883 }
884 /* method parser_prod#AModuledecl#n_kwmodule= for (self: Object, TKwmodule) */
885 void VIRTUAL_parser_prod__AModuledecl__n_kwmodule_61d(val* self, val* p0) {
886 parser_prod__AModuledecl__n_kwmodule_61d(self, p0);
887 RET_LABEL:;
888 }
889 /* method parser_prod#AModuledecl#n_name= for (self: AModuledecl, AModuleName) */
890 void parser_prod__AModuledecl__n_name_61d(val* self, val* p0) {
891 val* var_node /* var node: AModuleName */;
892 var_node = p0;
893 self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val = var_node; /* _n_name on <self:AModuledecl> */
894 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AModuleName>*/;
895 RET_LABEL:;
896 }
897 /* method parser_prod#AModuledecl#n_name= for (self: Object, AModuleName) */
898 void VIRTUAL_parser_prod__AModuledecl__n_name_61d(val* self, val* p0) {
899 parser_prod__AModuledecl__n_name_61d(self, p0);
900 RET_LABEL:;
901 }
902 /* method parser_prod#AModuledecl#n_annotations= for (self: AModuledecl, nullable AAnnotations) */
903 void parser_prod__AModuledecl__n_annotations_61d(val* self, val* p0) {
904 val* var_node /* var node: nullable AAnnotations */;
905 val* var /* : null */;
906 short int var1 /* : Bool */;
907 var_node = p0;
908 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AModuledecl> */
909 var = NULL;
910 if (var_node == NULL) {
911 var1 = 0; /* is null */
912 } else {
913 var1 = 1; /* arg is null and recv is not */
914 }
915 if (var1){
916 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
917 } else {
918 }
919 RET_LABEL:;
920 }
921 /* method parser_prod#AModuledecl#n_annotations= for (self: Object, nullable AAnnotations) */
922 void VIRTUAL_parser_prod__AModuledecl__n_annotations_61d(val* self, val* p0) {
923 parser_prod__AModuledecl__n_annotations_61d(self, p0);
924 RET_LABEL:;
925 }
926 /* method parser_prod#AModuledecl#visit_all for (self: AModuledecl, Visitor) */
927 void parser_prod__AModuledecl__visit_all(val* self, val* p0) {
928 val* var_v /* var v: Visitor */;
929 val* var /* : nullable ADoc */;
930 val* var1 /* : null */;
931 short int var2 /* : Bool */;
932 val* var3 /* : nullable ADoc */;
933 val* var4 /* : TKwmodule */;
934 val* var5 /* : AModuleName */;
935 val* var6 /* : nullable AAnnotations */;
936 val* var7 /* : null */;
937 short int var8 /* : Bool */;
938 val* var9 /* : nullable AAnnotations */;
939 var_v = p0;
940 var = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
941 var1 = NULL;
942 if (var == NULL) {
943 var2 = 0; /* is null */
944 } else {
945 var2 = 1; /* arg is null and recv is not */
946 }
947 if (var2){
948 var3 = self->attrs[COLOR_parser_nodes__AModuledecl___n_doc].val; /* _n_doc on <self:AModuledecl> */
949 if (var3 == NULL) {
950 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 214);
951 exit(1);
952 }
953 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
954 } else {
955 }
956 var4 = self->attrs[COLOR_parser_nodes__AModuledecl___n_kwmodule].val; /* _n_kwmodule on <self:AModuledecl> */
957 if (var4 == NULL) {
958 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmodule", "src/parser/parser_prod.nit", 216);
959 exit(1);
960 }
961 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
962 var5 = self->attrs[COLOR_parser_nodes__AModuledecl___n_name].val; /* _n_name on <self:AModuledecl> */
963 if (var5 == NULL) {
964 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 217);
965 exit(1);
966 }
967 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
968 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
969 var7 = NULL;
970 if (var6 == NULL) {
971 var8 = 0; /* is null */
972 } else {
973 var8 = 1; /* arg is null and recv is not */
974 }
975 if (var8){
976 var9 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AModuledecl> */
977 if (var9 == NULL) {
978 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 219);
979 exit(1);
980 }
981 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
982 } else {
983 }
984 RET_LABEL:;
985 }
986 /* method parser_prod#AModuledecl#visit_all for (self: Object, Visitor) */
987 void VIRTUAL_parser_prod__AModuledecl__visit_all(val* self, val* p0) {
988 parser_prod__AModuledecl__visit_all(self, p0);
989 RET_LABEL:;
990 }
991 /* method parser_prod#AStdImport#empty_init for (self: AStdImport) */
992 void parser_prod__AStdImport__empty_init(val* self) {
993 RET_LABEL:;
994 }
995 /* method parser_prod#AStdImport#empty_init for (self: Object) */
996 void VIRTUAL_parser_prod__AStdImport__empty_init(val* self) {
997 parser_prod__AStdImport__empty_init(self);
998 RET_LABEL:;
999 }
1000 /* method parser_prod#AStdImport#init_astdimport for (self: AStdImport, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */
1001 void parser_prod__AStdImport__init_astdimport(val* self, val* p0, val* p1, val* p2, val* p3) {
1002 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
1003 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
1004 val* var_n_name /* var n_name: nullable AModuleName */;
1005 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
1006 val* var /* : null */;
1007 short int var1 /* : Bool */;
1008 var_n_visibility = p0;
1009 var_n_kwimport = p1;
1010 var_n_name = p2;
1011 var_n_annotations = p3;
1012 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdImport__empty_init]))(self) /* empty_init on <self:AStdImport>*/;
1013 if (var_n_visibility == NULL) {
1014 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 234);
1015 exit(1);
1016 }
1017 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AStdImport> */
1018 if (var_n_visibility == NULL) {
1019 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 235);
1020 exit(1);
1021 } else {
1022 ((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>*/;
1023 }
1024 if (var_n_kwimport == NULL) {
1025 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 236);
1026 exit(1);
1027 }
1028 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:AStdImport> */
1029 if (var_n_kwimport == NULL) {
1030 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 237);
1031 exit(1);
1032 } else {
1033 ((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>*/;
1034 }
1035 if (var_n_name == NULL) {
1036 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 238);
1037 exit(1);
1038 }
1039 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_n_name; /* _n_name on <self:AStdImport> */
1040 if (var_n_name == NULL) {
1041 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 239);
1042 exit(1);
1043 } else {
1044 ((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>*/;
1045 }
1046 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStdImport> */
1047 var = NULL;
1048 if (var_n_annotations == NULL) {
1049 var1 = 0; /* is null */
1050 } else {
1051 var1 = 1; /* arg is null and recv is not */
1052 }
1053 if (var1){
1054 ((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)>*/;
1055 } else {
1056 }
1057 RET_LABEL:;
1058 }
1059 /* method parser_prod#AStdImport#init_astdimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable AModuleName, nullable AAnnotations) */
1060 void VIRTUAL_parser_prod__AStdImport__init_astdimport(val* self, val* p0, val* p1, val* p2, val* p3) {
1061 parser_prod__AStdImport__init_astdimport(self, p0, p1, p2, p3);
1062 RET_LABEL:;
1063 }
1064 /* method parser_prod#AStdImport#replace_child for (self: AStdImport, ANode, nullable ANode) */
1065 void parser_prod__AStdImport__replace_child(val* self, val* p0, val* p1) {
1066 val* var_old_child /* var old_child: ANode */;
1067 val* var_new_child /* var new_child: nullable ANode */;
1068 val* var /* : AVisibility */;
1069 short int var1 /* : Bool */;
1070 val* var2 /* : null */;
1071 short int var3 /* : Bool */;
1072 short int var4 /* : Bool */;
1073 int cltype;
1074 int idtype;
1075 val* var5 /* : TKwimport */;
1076 short int var6 /* : Bool */;
1077 val* var7 /* : null */;
1078 short int var8 /* : Bool */;
1079 short int var9 /* : Bool */;
1080 int cltype10;
1081 int idtype11;
1082 val* var12 /* : AModuleName */;
1083 short int var13 /* : Bool */;
1084 val* var14 /* : null */;
1085 short int var15 /* : Bool */;
1086 short int var16 /* : Bool */;
1087 int cltype17;
1088 int idtype18;
1089 val* var19 /* : nullable AAnnotations */;
1090 short int var20 /* : Bool */;
1091 val* var21 /* : null */;
1092 short int var22 /* : Bool */;
1093 short int var23 /* : Bool */;
1094 int cltype24;
1095 int idtype25;
1096 val* var26 /* : null */;
1097 var_old_child = p0;
1098 var_new_child = p1;
1099 var = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on <self:AStdImport> */
1100 if (var == NULL) {
1101 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 248);
1102 exit(1);
1103 }
1104 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AVisibility>*/;
1105 if (var1){
1106 var2 = NULL;
1107 if (var_new_child == NULL) {
1108 var3 = 0; /* is null */
1109 } else {
1110 var3 = 1; /* arg is null and recv is not */
1111 }
1112 if (var3){
1113 ((void (*)(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)>*/;
1114 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
1115 cltype = type_parser_nodes__AVisibility.color;
1116 idtype = type_parser_nodes__AVisibility.id;
1117 if(cltype >= var_new_child->type->table_size) {
1118 var4 = 0;
1119 } else {
1120 var4 = var_new_child->type->type_table[cltype] == idtype;
1121 }
1122 if (!var4) {
1123 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 251);
1124 exit(1);
1125 }
1126 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_new_child; /* _n_visibility on <self:AStdImport> */
1127 } else {
1128 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 254);
1129 exit(1);
1130 }
1131 goto RET_LABEL;
1132 } else {
1133 }
1134 var5 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on <self:AStdImport> */
1135 if (var5 == NULL) {
1136 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 258);
1137 exit(1);
1138 }
1139 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwimport>*/;
1140 if (var6){
1141 var7 = NULL;
1142 if (var_new_child == NULL) {
1143 var8 = 0; /* is null */
1144 } else {
1145 var8 = 1; /* arg is null and recv is not */
1146 }
1147 if (var8){
1148 ((void (*)(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)>*/;
1149 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
1150 cltype10 = type_parser_nodes__TKwimport.color;
1151 idtype11 = type_parser_nodes__TKwimport.id;
1152 if(cltype10 >= var_new_child->type->table_size) {
1153 var9 = 0;
1154 } else {
1155 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1156 }
1157 if (!var9) {
1158 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 261);
1159 exit(1);
1160 }
1161 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_new_child; /* _n_kwimport on <self:AStdImport> */
1162 } else {
1163 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 264);
1164 exit(1);
1165 }
1166 goto RET_LABEL;
1167 } else {
1168 }
1169 var12 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on <self:AStdImport> */
1170 if (var12 == NULL) {
1171 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 268);
1172 exit(1);
1173 }
1174 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AModuleName>*/;
1175 if (var13){
1176 var14 = NULL;
1177 if (var_new_child == NULL) {
1178 var15 = 0; /* is null */
1179 } else {
1180 var15 = 1; /* arg is null and recv is not */
1181 }
1182 if (var15){
1183 ((void (*)(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)>*/;
1184 /* <var_new_child:nullable ANode(ANode)> isa AModuleName */
1185 cltype17 = type_parser_nodes__AModuleName.color;
1186 idtype18 = type_parser_nodes__AModuleName.id;
1187 if(cltype17 >= var_new_child->type->table_size) {
1188 var16 = 0;
1189 } else {
1190 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1191 }
1192 if (!var16) {
1193 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 271);
1194 exit(1);
1195 }
1196 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_new_child; /* _n_name on <self:AStdImport> */
1197 } else {
1198 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 274);
1199 exit(1);
1200 }
1201 goto RET_LABEL;
1202 } else {
1203 }
1204 var19 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1205 if (var19 == NULL) {
1206 var20 = 0; /* <var_old_child:ANode> cannot be null */
1207 } else {
1208 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AAnnotations>*/;
1209 }
1210 if (var20){
1211 var21 = NULL;
1212 if (var_new_child == NULL) {
1213 var22 = 0; /* is null */
1214 } else {
1215 var22 = 1; /* arg is null and recv is not */
1216 }
1217 if (var22){
1218 ((void (*)(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)>*/;
1219 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
1220 cltype24 = type_parser_nodes__AAnnotations.color;
1221 idtype25 = type_parser_nodes__AAnnotations.id;
1222 if(cltype24 >= var_new_child->type->table_size) {
1223 var23 = 0;
1224 } else {
1225 var23 = var_new_child->type->type_table[cltype24] == idtype25;
1226 }
1227 if (!var23) {
1228 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 281);
1229 exit(1);
1230 }
1231 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStdImport> */
1232 } else {
1233 var26 = NULL;
1234 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var26; /* _n_annotations on <self:AStdImport> */
1235 }
1236 goto RET_LABEL;
1237 } else {
1238 }
1239 RET_LABEL:;
1240 }
1241 /* method parser_prod#AStdImport#replace_child for (self: Object, ANode, nullable ANode) */
1242 void VIRTUAL_parser_prod__AStdImport__replace_child(val* self, val* p0, val* p1) {
1243 parser_prod__AStdImport__replace_child(self, p0, p1);
1244 RET_LABEL:;
1245 }
1246 /* method parser_prod#AStdImport#n_visibility= for (self: AStdImport, AVisibility) */
1247 void parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) {
1248 val* var_node /* var node: AVisibility */;
1249 var_node = p0;
1250 self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val = var_node; /* _n_visibility on <self:AStdImport> */
1251 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
1252 RET_LABEL:;
1253 }
1254 /* method parser_prod#AStdImport#n_visibility= for (self: Object, AVisibility) */
1255 void VIRTUAL_parser_prod__AStdImport__n_visibility_61d(val* self, val* p0) {
1256 parser_prod__AStdImport__n_visibility_61d(self, p0);
1257 RET_LABEL:;
1258 }
1259 /* method parser_prod#AStdImport#n_kwimport= for (self: AStdImport, TKwimport) */
1260 void parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) {
1261 val* var_node /* var node: TKwimport */;
1262 var_node = p0;
1263 self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val = var_node; /* _n_kwimport on <self:AStdImport> */
1264 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
1265 RET_LABEL:;
1266 }
1267 /* method parser_prod#AStdImport#n_kwimport= for (self: Object, TKwimport) */
1268 void VIRTUAL_parser_prod__AStdImport__n_kwimport_61d(val* self, val* p0) {
1269 parser_prod__AStdImport__n_kwimport_61d(self, p0);
1270 RET_LABEL:;
1271 }
1272 /* method parser_prod#AStdImport#n_name= for (self: AStdImport, AModuleName) */
1273 void parser_prod__AStdImport__n_name_61d(val* self, val* p0) {
1274 val* var_node /* var node: AModuleName */;
1275 var_node = p0;
1276 self->attrs[COLOR_parser_nodes__AStdImport___n_name].val = var_node; /* _n_name on <self:AStdImport> */
1277 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AModuleName>*/;
1278 RET_LABEL:;
1279 }
1280 /* method parser_prod#AStdImport#n_name= for (self: Object, AModuleName) */
1281 void VIRTUAL_parser_prod__AStdImport__n_name_61d(val* self, val* p0) {
1282 parser_prod__AStdImport__n_name_61d(self, p0);
1283 RET_LABEL:;
1284 }
1285 /* method parser_prod#AStdImport#n_annotations= for (self: AStdImport, nullable AAnnotations) */
1286 void parser_prod__AStdImport__n_annotations_61d(val* self, val* p0) {
1287 val* var_node /* var node: nullable AAnnotations */;
1288 val* var /* : null */;
1289 short int var1 /* : Bool */;
1290 var_node = p0;
1291 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStdImport> */
1292 var = NULL;
1293 if (var_node == NULL) {
1294 var1 = 0; /* is null */
1295 } else {
1296 var1 = 1; /* arg is null and recv is not */
1297 }
1298 if (var1){
1299 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
1300 } else {
1301 }
1302 RET_LABEL:;
1303 }
1304 /* method parser_prod#AStdImport#n_annotations= for (self: Object, nullable AAnnotations) */
1305 void VIRTUAL_parser_prod__AStdImport__n_annotations_61d(val* self, val* p0) {
1306 parser_prod__AStdImport__n_annotations_61d(self, p0);
1307 RET_LABEL:;
1308 }
1309 /* method parser_prod#AStdImport#visit_all for (self: AStdImport, Visitor) */
1310 void parser_prod__AStdImport__visit_all(val* self, val* p0) {
1311 val* var_v /* var v: Visitor */;
1312 val* var /* : AVisibility */;
1313 val* var1 /* : TKwimport */;
1314 val* var2 /* : AModuleName */;
1315 val* var3 /* : nullable AAnnotations */;
1316 val* var4 /* : null */;
1317 short int var5 /* : Bool */;
1318 val* var6 /* : nullable AAnnotations */;
1319 var_v = p0;
1320 var = self->attrs[COLOR_parser_nodes__AStdImport___n_visibility].val; /* _n_visibility on <self:AStdImport> */
1321 if (var == NULL) {
1322 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 316);
1323 exit(1);
1324 }
1325 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1326 var1 = self->attrs[COLOR_parser_nodes__AStdImport___n_kwimport].val; /* _n_kwimport on <self:AStdImport> */
1327 if (var1 == NULL) {
1328 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 317);
1329 exit(1);
1330 }
1331 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1332 var2 = self->attrs[COLOR_parser_nodes__AStdImport___n_name].val; /* _n_name on <self:AStdImport> */
1333 if (var2 == NULL) {
1334 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_name", "src/parser/parser_prod.nit", 318);
1335 exit(1);
1336 }
1337 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1338 var3 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1339 var4 = NULL;
1340 if (var3 == NULL) {
1341 var5 = 0; /* is null */
1342 } else {
1343 var5 = 1; /* arg is null and recv is not */
1344 }
1345 if (var5){
1346 var6 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdImport> */
1347 if (var6 == NULL) {
1348 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 320);
1349 exit(1);
1350 }
1351 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
1352 } else {
1353 }
1354 RET_LABEL:;
1355 }
1356 /* method parser_prod#AStdImport#visit_all for (self: Object, Visitor) */
1357 void VIRTUAL_parser_prod__AStdImport__visit_all(val* self, val* p0) {
1358 parser_prod__AStdImport__visit_all(self, p0);
1359 RET_LABEL:;
1360 }
1361 /* method parser_prod#ANoImport#empty_init for (self: ANoImport) */
1362 void parser_prod__ANoImport__empty_init(val* self) {
1363 RET_LABEL:;
1364 }
1365 /* method parser_prod#ANoImport#empty_init for (self: Object) */
1366 void VIRTUAL_parser_prod__ANoImport__empty_init(val* self) {
1367 parser_prod__ANoImport__empty_init(self);
1368 RET_LABEL:;
1369 }
1370 /* method parser_prod#ANoImport#init_anoimport for (self: ANoImport, nullable AVisibility, nullable TKwimport, nullable TKwend) */
1371 void parser_prod__ANoImport__init_anoimport(val* self, val* p0, val* p1, val* p2) {
1372 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
1373 val* var_n_kwimport /* var n_kwimport: nullable TKwimport */;
1374 val* var_n_kwend /* var n_kwend: nullable TKwend */;
1375 var_n_visibility = p0;
1376 var_n_kwimport = p1;
1377 var_n_kwend = p2;
1378 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANoImport__empty_init]))(self) /* empty_init on <self:ANoImport>*/;
1379 if (var_n_visibility == NULL) {
1380 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 334);
1381 exit(1);
1382 }
1383 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_n_visibility; /* _n_visibility on <self:ANoImport> */
1384 if (var_n_visibility == NULL) {
1385 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 335);
1386 exit(1);
1387 } else {
1388 ((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>*/;
1389 }
1390 if (var_n_kwimport == NULL) {
1391 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 336);
1392 exit(1);
1393 }
1394 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_n_kwimport; /* _n_kwimport on <self:ANoImport> */
1395 if (var_n_kwimport == NULL) {
1396 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 337);
1397 exit(1);
1398 } else {
1399 ((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>*/;
1400 }
1401 if (var_n_kwend == NULL) {
1402 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 338);
1403 exit(1);
1404 }
1405 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_n_kwend; /* _n_kwend on <self:ANoImport> */
1406 if (var_n_kwend == NULL) {
1407 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 339);
1408 exit(1);
1409 } else {
1410 ((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>*/;
1411 }
1412 RET_LABEL:;
1413 }
1414 /* method parser_prod#ANoImport#init_anoimport for (self: Object, nullable AVisibility, nullable TKwimport, nullable TKwend) */
1415 void VIRTUAL_parser_prod__ANoImport__init_anoimport(val* self, val* p0, val* p1, val* p2) {
1416 parser_prod__ANoImport__init_anoimport(self, p0, p1, p2);
1417 RET_LABEL:;
1418 }
1419 /* method parser_prod#ANoImport#replace_child for (self: ANoImport, ANode, nullable ANode) */
1420 void parser_prod__ANoImport__replace_child(val* self, val* p0, val* p1) {
1421 val* var_old_child /* var old_child: ANode */;
1422 val* var_new_child /* var new_child: nullable ANode */;
1423 val* var /* : AVisibility */;
1424 short int var1 /* : Bool */;
1425 val* var2 /* : null */;
1426 short int var3 /* : Bool */;
1427 short int var4 /* : Bool */;
1428 int cltype;
1429 int idtype;
1430 val* var5 /* : TKwimport */;
1431 short int var6 /* : Bool */;
1432 val* var7 /* : null */;
1433 short int var8 /* : Bool */;
1434 short int var9 /* : Bool */;
1435 int cltype10;
1436 int idtype11;
1437 val* var12 /* : TKwend */;
1438 short int var13 /* : Bool */;
1439 val* var14 /* : null */;
1440 short int var15 /* : Bool */;
1441 short int var16 /* : Bool */;
1442 int cltype17;
1443 int idtype18;
1444 var_old_child = p0;
1445 var_new_child = p1;
1446 var = self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val; /* _n_visibility on <self:ANoImport> */
1447 if (var == NULL) {
1448 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 344);
1449 exit(1);
1450 }
1451 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AVisibility>*/;
1452 if (var1){
1453 var2 = NULL;
1454 if (var_new_child == NULL) {
1455 var3 = 0; /* is null */
1456 } else {
1457 var3 = 1; /* arg is null and recv is not */
1458 }
1459 if (var3){
1460 ((void (*)(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)>*/;
1461 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
1462 cltype = type_parser_nodes__AVisibility.color;
1463 idtype = type_parser_nodes__AVisibility.id;
1464 if(cltype >= var_new_child->type->table_size) {
1465 var4 = 0;
1466 } else {
1467 var4 = var_new_child->type->type_table[cltype] == idtype;
1468 }
1469 if (!var4) {
1470 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 347);
1471 exit(1);
1472 }
1473 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_new_child; /* _n_visibility on <self:ANoImport> */
1474 } else {
1475 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 350);
1476 exit(1);
1477 }
1478 goto RET_LABEL;
1479 } else {
1480 }
1481 var5 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on <self:ANoImport> */
1482 if (var5 == NULL) {
1483 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 354);
1484 exit(1);
1485 }
1486 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwimport>*/;
1487 if (var6){
1488 var7 = NULL;
1489 if (var_new_child == NULL) {
1490 var8 = 0; /* is null */
1491 } else {
1492 var8 = 1; /* arg is null and recv is not */
1493 }
1494 if (var8){
1495 ((void (*)(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)>*/;
1496 /* <var_new_child:nullable ANode(ANode)> isa TKwimport */
1497 cltype10 = type_parser_nodes__TKwimport.color;
1498 idtype11 = type_parser_nodes__TKwimport.id;
1499 if(cltype10 >= var_new_child->type->table_size) {
1500 var9 = 0;
1501 } else {
1502 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1503 }
1504 if (!var9) {
1505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 357);
1506 exit(1);
1507 }
1508 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_new_child; /* _n_kwimport on <self:ANoImport> */
1509 } else {
1510 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 360);
1511 exit(1);
1512 }
1513 goto RET_LABEL;
1514 } else {
1515 }
1516 var12 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on <self:ANoImport> */
1517 if (var12 == NULL) {
1518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 364);
1519 exit(1);
1520 }
1521 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwend>*/;
1522 if (var13){
1523 var14 = NULL;
1524 if (var_new_child == NULL) {
1525 var15 = 0; /* is null */
1526 } else {
1527 var15 = 1; /* arg is null and recv is not */
1528 }
1529 if (var15){
1530 ((void (*)(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)>*/;
1531 /* <var_new_child:nullable ANode(ANode)> isa TKwend */
1532 cltype17 = type_parser_nodes__TKwend.color;
1533 idtype18 = type_parser_nodes__TKwend.id;
1534 if(cltype17 >= var_new_child->type->table_size) {
1535 var16 = 0;
1536 } else {
1537 var16 = var_new_child->type->type_table[cltype17] == idtype18;
1538 }
1539 if (!var16) {
1540 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 367);
1541 exit(1);
1542 }
1543 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_new_child; /* _n_kwend on <self:ANoImport> */
1544 } else {
1545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 370);
1546 exit(1);
1547 }
1548 goto RET_LABEL;
1549 } else {
1550 }
1551 RET_LABEL:;
1552 }
1553 /* method parser_prod#ANoImport#replace_child for (self: Object, ANode, nullable ANode) */
1554 void VIRTUAL_parser_prod__ANoImport__replace_child(val* self, val* p0, val* p1) {
1555 parser_prod__ANoImport__replace_child(self, p0, p1);
1556 RET_LABEL:;
1557 }
1558 /* method parser_prod#ANoImport#n_visibility= for (self: ANoImport, AVisibility) */
1559 void parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) {
1560 val* var_node /* var node: AVisibility */;
1561 var_node = p0;
1562 self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val = var_node; /* _n_visibility on <self:ANoImport> */
1563 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
1564 RET_LABEL:;
1565 }
1566 /* method parser_prod#ANoImport#n_visibility= for (self: Object, AVisibility) */
1567 void VIRTUAL_parser_prod__ANoImport__n_visibility_61d(val* self, val* p0) {
1568 parser_prod__ANoImport__n_visibility_61d(self, p0);
1569 RET_LABEL:;
1570 }
1571 /* method parser_prod#ANoImport#n_kwimport= for (self: ANoImport, TKwimport) */
1572 void parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) {
1573 val* var_node /* var node: TKwimport */;
1574 var_node = p0;
1575 self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val = var_node; /* _n_kwimport on <self:ANoImport> */
1576 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwimport>*/;
1577 RET_LABEL:;
1578 }
1579 /* method parser_prod#ANoImport#n_kwimport= for (self: Object, TKwimport) */
1580 void VIRTUAL_parser_prod__ANoImport__n_kwimport_61d(val* self, val* p0) {
1581 parser_prod__ANoImport__n_kwimport_61d(self, p0);
1582 RET_LABEL:;
1583 }
1584 /* method parser_prod#ANoImport#n_kwend= for (self: ANoImport, TKwend) */
1585 void parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) {
1586 val* var_node /* var node: TKwend */;
1587 var_node = p0;
1588 self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val = var_node; /* _n_kwend on <self:ANoImport> */
1589 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwend>*/;
1590 RET_LABEL:;
1591 }
1592 /* method parser_prod#ANoImport#n_kwend= for (self: Object, TKwend) */
1593 void VIRTUAL_parser_prod__ANoImport__n_kwend_61d(val* self, val* p0) {
1594 parser_prod__ANoImport__n_kwend_61d(self, p0);
1595 RET_LABEL:;
1596 }
1597 /* method parser_prod#ANoImport#visit_all for (self: ANoImport, Visitor) */
1598 void parser_prod__ANoImport__visit_all(val* self, val* p0) {
1599 val* var_v /* var v: Visitor */;
1600 val* var /* : AVisibility */;
1601 val* var1 /* : TKwimport */;
1602 val* var2 /* : TKwend */;
1603 var_v = p0;
1604 var = self->attrs[COLOR_parser_nodes__ANoImport___n_visibility].val; /* _n_visibility on <self:ANoImport> */
1605 if (var == NULL) {
1606 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 395);
1607 exit(1);
1608 }
1609 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1610 var1 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwimport].val; /* _n_kwimport on <self:ANoImport> */
1611 if (var1 == NULL) {
1612 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwimport", "src/parser/parser_prod.nit", 396);
1613 exit(1);
1614 }
1615 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
1616 var2 = self->attrs[COLOR_parser_nodes__ANoImport___n_kwend].val; /* _n_kwend on <self:ANoImport> */
1617 if (var2 == NULL) {
1618 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 397);
1619 exit(1);
1620 }
1621 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
1622 RET_LABEL:;
1623 }
1624 /* method parser_prod#ANoImport#visit_all for (self: Object, Visitor) */
1625 void VIRTUAL_parser_prod__ANoImport__visit_all(val* self, val* p0) {
1626 parser_prod__ANoImport__visit_all(self, p0);
1627 RET_LABEL:;
1628 }
1629 /* method parser_prod#APublicVisibility#empty_init for (self: APublicVisibility) */
1630 void parser_prod__APublicVisibility__empty_init(val* self) {
1631 RET_LABEL:;
1632 }
1633 /* method parser_prod#APublicVisibility#empty_init for (self: Object) */
1634 void VIRTUAL_parser_prod__APublicVisibility__empty_init(val* self) {
1635 parser_prod__APublicVisibility__empty_init(self);
1636 RET_LABEL:;
1637 }
1638 /* method parser_prod#APublicVisibility#init_apublicvisibility for (self: APublicVisibility) */
1639 void parser_prod__APublicVisibility__init_apublicvisibility(val* self) {
1640 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APublicVisibility__empty_init]))(self) /* empty_init on <self:APublicVisibility>*/;
1641 RET_LABEL:;
1642 }
1643 /* method parser_prod#APublicVisibility#init_apublicvisibility for (self: Object) */
1644 void VIRTUAL_parser_prod__APublicVisibility__init_apublicvisibility(val* self) {
1645 parser_prod__APublicVisibility__init_apublicvisibility(self);
1646 RET_LABEL:;
1647 }
1648 /* method parser_prod#APublicVisibility#replace_child for (self: APublicVisibility, ANode, nullable ANode) */
1649 void parser_prod__APublicVisibility__replace_child(val* self, val* p0, val* p1) {
1650 val* var_old_child /* var old_child: ANode */;
1651 val* var_new_child /* var new_child: nullable ANode */;
1652 var_old_child = p0;
1653 var_new_child = p1;
1654 RET_LABEL:;
1655 }
1656 /* method parser_prod#APublicVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1657 void VIRTUAL_parser_prod__APublicVisibility__replace_child(val* self, val* p0, val* p1) {
1658 parser_prod__APublicVisibility__replace_child(self, p0, p1);
1659 RET_LABEL:;
1660 }
1661 /* method parser_prod#APublicVisibility#visit_all for (self: APublicVisibility, Visitor) */
1662 void parser_prod__APublicVisibility__visit_all(val* self, val* p0) {
1663 val* var_v /* var v: Visitor */;
1664 var_v = p0;
1665 RET_LABEL:;
1666 }
1667 /* method parser_prod#APublicVisibility#visit_all for (self: Object, Visitor) */
1668 void VIRTUAL_parser_prod__APublicVisibility__visit_all(val* self, val* p0) {
1669 parser_prod__APublicVisibility__visit_all(self, p0);
1670 RET_LABEL:;
1671 }
1672 /* method parser_prod#APrivateVisibility#empty_init for (self: APrivateVisibility) */
1673 void parser_prod__APrivateVisibility__empty_init(val* self) {
1674 RET_LABEL:;
1675 }
1676 /* method parser_prod#APrivateVisibility#empty_init for (self: Object) */
1677 void VIRTUAL_parser_prod__APrivateVisibility__empty_init(val* self) {
1678 parser_prod__APrivateVisibility__empty_init(self);
1679 RET_LABEL:;
1680 }
1681 /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: APrivateVisibility, nullable TKwprivate) */
1682 void parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) {
1683 val* var_n_kwprivate /* var n_kwprivate: nullable TKwprivate */;
1684 var_n_kwprivate = p0;
1685 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APrivateVisibility__empty_init]))(self) /* empty_init on <self:APrivateVisibility>*/;
1686 if (var_n_kwprivate == NULL) {
1687 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 426);
1688 exit(1);
1689 }
1690 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_n_kwprivate; /* _n_kwprivate on <self:APrivateVisibility> */
1691 if (var_n_kwprivate == NULL) {
1692 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 427);
1693 exit(1);
1694 } else {
1695 ((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>*/;
1696 }
1697 RET_LABEL:;
1698 }
1699 /* method parser_prod#APrivateVisibility#init_aprivatevisibility for (self: Object, nullable TKwprivate) */
1700 void VIRTUAL_parser_prod__APrivateVisibility__init_aprivatevisibility(val* self, val* p0) {
1701 parser_prod__APrivateVisibility__init_aprivatevisibility(self, p0);
1702 RET_LABEL:;
1703 }
1704 /* method parser_prod#APrivateVisibility#replace_child for (self: APrivateVisibility, ANode, nullable ANode) */
1705 void parser_prod__APrivateVisibility__replace_child(val* self, val* p0, val* p1) {
1706 val* var_old_child /* var old_child: ANode */;
1707 val* var_new_child /* var new_child: nullable ANode */;
1708 val* var /* : TKwprivate */;
1709 short int var1 /* : Bool */;
1710 val* var2 /* : null */;
1711 short int var3 /* : Bool */;
1712 short int var4 /* : Bool */;
1713 int cltype;
1714 int idtype;
1715 var_old_child = p0;
1716 var_new_child = p1;
1717 var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on <self:APrivateVisibility> */
1718 if (var == NULL) {
1719 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprivate", "src/parser/parser_prod.nit", 432);
1720 exit(1);
1721 }
1722 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwprivate>*/;
1723 if (var1){
1724 var2 = NULL;
1725 if (var_new_child == NULL) {
1726 var3 = 0; /* is null */
1727 } else {
1728 var3 = 1; /* arg is null and recv is not */
1729 }
1730 if (var3){
1731 ((void (*)(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)>*/;
1732 /* <var_new_child:nullable ANode(ANode)> isa TKwprivate */
1733 cltype = type_parser_nodes__TKwprivate.color;
1734 idtype = type_parser_nodes__TKwprivate.id;
1735 if(cltype >= var_new_child->type->table_size) {
1736 var4 = 0;
1737 } else {
1738 var4 = var_new_child->type->type_table[cltype] == idtype;
1739 }
1740 if (!var4) {
1741 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 435);
1742 exit(1);
1743 }
1744 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_new_child; /* _n_kwprivate on <self:APrivateVisibility> */
1745 } else {
1746 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 438);
1747 exit(1);
1748 }
1749 goto RET_LABEL;
1750 } else {
1751 }
1752 RET_LABEL:;
1753 }
1754 /* method parser_prod#APrivateVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1755 void VIRTUAL_parser_prod__APrivateVisibility__replace_child(val* self, val* p0, val* p1) {
1756 parser_prod__APrivateVisibility__replace_child(self, p0, p1);
1757 RET_LABEL:;
1758 }
1759 /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: APrivateVisibility, TKwprivate) */
1760 void parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) {
1761 val* var_node /* var node: TKwprivate */;
1762 var_node = p0;
1763 self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val = var_node; /* _n_kwprivate on <self:APrivateVisibility> */
1764 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwprivate>*/;
1765 RET_LABEL:;
1766 }
1767 /* method parser_prod#APrivateVisibility#n_kwprivate= for (self: Object, TKwprivate) */
1768 void VIRTUAL_parser_prod__APrivateVisibility__n_kwprivate_61d(val* self, val* p0) {
1769 parser_prod__APrivateVisibility__n_kwprivate_61d(self, p0);
1770 RET_LABEL:;
1771 }
1772 /* method parser_prod#APrivateVisibility#visit_all for (self: APrivateVisibility, Visitor) */
1773 void parser_prod__APrivateVisibility__visit_all(val* self, val* p0) {
1774 val* var_v /* var v: Visitor */;
1775 val* var /* : TKwprivate */;
1776 var_v = p0;
1777 var = self->attrs[COLOR_parser_nodes__APrivateVisibility___n_kwprivate].val; /* _n_kwprivate on <self:APrivateVisibility> */
1778 if (var == NULL) {
1779 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprivate", "src/parser/parser_prod.nit", 453);
1780 exit(1);
1781 }
1782 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1783 RET_LABEL:;
1784 }
1785 /* method parser_prod#APrivateVisibility#visit_all for (self: Object, Visitor) */
1786 void VIRTUAL_parser_prod__APrivateVisibility__visit_all(val* self, val* p0) {
1787 parser_prod__APrivateVisibility__visit_all(self, p0);
1788 RET_LABEL:;
1789 }
1790 /* method parser_prod#AProtectedVisibility#empty_init for (self: AProtectedVisibility) */
1791 void parser_prod__AProtectedVisibility__empty_init(val* self) {
1792 RET_LABEL:;
1793 }
1794 /* method parser_prod#AProtectedVisibility#empty_init for (self: Object) */
1795 void VIRTUAL_parser_prod__AProtectedVisibility__empty_init(val* self) {
1796 parser_prod__AProtectedVisibility__empty_init(self);
1797 RET_LABEL:;
1798 }
1799 /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: AProtectedVisibility, nullable TKwprotected) */
1800 void parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) {
1801 val* var_n_kwprotected /* var n_kwprotected: nullable TKwprotected */;
1802 var_n_kwprotected = p0;
1803 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AProtectedVisibility__empty_init]))(self) /* empty_init on <self:AProtectedVisibility>*/;
1804 if (var_n_kwprotected == NULL) {
1805 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 464);
1806 exit(1);
1807 }
1808 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_n_kwprotected; /* _n_kwprotected on <self:AProtectedVisibility> */
1809 if (var_n_kwprotected == NULL) {
1810 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 465);
1811 exit(1);
1812 } else {
1813 ((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>*/;
1814 }
1815 RET_LABEL:;
1816 }
1817 /* method parser_prod#AProtectedVisibility#init_aprotectedvisibility for (self: Object, nullable TKwprotected) */
1818 void VIRTUAL_parser_prod__AProtectedVisibility__init_aprotectedvisibility(val* self, val* p0) {
1819 parser_prod__AProtectedVisibility__init_aprotectedvisibility(self, p0);
1820 RET_LABEL:;
1821 }
1822 /* method parser_prod#AProtectedVisibility#replace_child for (self: AProtectedVisibility, ANode, nullable ANode) */
1823 void parser_prod__AProtectedVisibility__replace_child(val* self, val* p0, val* p1) {
1824 val* var_old_child /* var old_child: ANode */;
1825 val* var_new_child /* var new_child: nullable ANode */;
1826 val* var /* : TKwprotected */;
1827 short int var1 /* : Bool */;
1828 val* var2 /* : null */;
1829 short int var3 /* : Bool */;
1830 short int var4 /* : Bool */;
1831 int cltype;
1832 int idtype;
1833 var_old_child = p0;
1834 var_new_child = p1;
1835 var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on <self:AProtectedVisibility> */
1836 if (var == NULL) {
1837 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprotected", "src/parser/parser_prod.nit", 470);
1838 exit(1);
1839 }
1840 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwprotected>*/;
1841 if (var1){
1842 var2 = NULL;
1843 if (var_new_child == NULL) {
1844 var3 = 0; /* is null */
1845 } else {
1846 var3 = 1; /* arg is null and recv is not */
1847 }
1848 if (var3){
1849 ((void (*)(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)>*/;
1850 /* <var_new_child:nullable ANode(ANode)> isa TKwprotected */
1851 cltype = type_parser_nodes__TKwprotected.color;
1852 idtype = type_parser_nodes__TKwprotected.id;
1853 if(cltype >= var_new_child->type->table_size) {
1854 var4 = 0;
1855 } else {
1856 var4 = var_new_child->type->type_table[cltype] == idtype;
1857 }
1858 if (!var4) {
1859 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 473);
1860 exit(1);
1861 }
1862 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_new_child; /* _n_kwprotected on <self:AProtectedVisibility> */
1863 } else {
1864 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 476);
1865 exit(1);
1866 }
1867 goto RET_LABEL;
1868 } else {
1869 }
1870 RET_LABEL:;
1871 }
1872 /* method parser_prod#AProtectedVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1873 void VIRTUAL_parser_prod__AProtectedVisibility__replace_child(val* self, val* p0, val* p1) {
1874 parser_prod__AProtectedVisibility__replace_child(self, p0, p1);
1875 RET_LABEL:;
1876 }
1877 /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: AProtectedVisibility, TKwprotected) */
1878 void parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) {
1879 val* var_node /* var node: TKwprotected */;
1880 var_node = p0;
1881 self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val = var_node; /* _n_kwprotected on <self:AProtectedVisibility> */
1882 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwprotected>*/;
1883 RET_LABEL:;
1884 }
1885 /* method parser_prod#AProtectedVisibility#n_kwprotected= for (self: Object, TKwprotected) */
1886 void VIRTUAL_parser_prod__AProtectedVisibility__n_kwprotected_61d(val* self, val* p0) {
1887 parser_prod__AProtectedVisibility__n_kwprotected_61d(self, p0);
1888 RET_LABEL:;
1889 }
1890 /* method parser_prod#AProtectedVisibility#visit_all for (self: AProtectedVisibility, Visitor) */
1891 void parser_prod__AProtectedVisibility__visit_all(val* self, val* p0) {
1892 val* var_v /* var v: Visitor */;
1893 val* var /* : TKwprotected */;
1894 var_v = p0;
1895 var = self->attrs[COLOR_parser_nodes__AProtectedVisibility___n_kwprotected].val; /* _n_kwprotected on <self:AProtectedVisibility> */
1896 if (var == NULL) {
1897 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwprotected", "src/parser/parser_prod.nit", 491);
1898 exit(1);
1899 }
1900 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1901 RET_LABEL:;
1902 }
1903 /* method parser_prod#AProtectedVisibility#visit_all for (self: Object, Visitor) */
1904 void VIRTUAL_parser_prod__AProtectedVisibility__visit_all(val* self, val* p0) {
1905 parser_prod__AProtectedVisibility__visit_all(self, p0);
1906 RET_LABEL:;
1907 }
1908 /* method parser_prod#AIntrudeVisibility#empty_init for (self: AIntrudeVisibility) */
1909 void parser_prod__AIntrudeVisibility__empty_init(val* self) {
1910 RET_LABEL:;
1911 }
1912 /* method parser_prod#AIntrudeVisibility#empty_init for (self: Object) */
1913 void VIRTUAL_parser_prod__AIntrudeVisibility__empty_init(val* self) {
1914 parser_prod__AIntrudeVisibility__empty_init(self);
1915 RET_LABEL:;
1916 }
1917 /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: AIntrudeVisibility, nullable TKwintrude) */
1918 void parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) {
1919 val* var_n_kwintrude /* var n_kwintrude: nullable TKwintrude */;
1920 var_n_kwintrude = p0;
1921 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIntrudeVisibility__empty_init]))(self) /* empty_init on <self:AIntrudeVisibility>*/;
1922 if (var_n_kwintrude == NULL) {
1923 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 502);
1924 exit(1);
1925 }
1926 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_n_kwintrude; /* _n_kwintrude on <self:AIntrudeVisibility> */
1927 if (var_n_kwintrude == NULL) {
1928 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 503);
1929 exit(1);
1930 } else {
1931 ((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>*/;
1932 }
1933 RET_LABEL:;
1934 }
1935 /* method parser_prod#AIntrudeVisibility#init_aintrudevisibility for (self: Object, nullable TKwintrude) */
1936 void VIRTUAL_parser_prod__AIntrudeVisibility__init_aintrudevisibility(val* self, val* p0) {
1937 parser_prod__AIntrudeVisibility__init_aintrudevisibility(self, p0);
1938 RET_LABEL:;
1939 }
1940 /* method parser_prod#AIntrudeVisibility#replace_child for (self: AIntrudeVisibility, ANode, nullable ANode) */
1941 void parser_prod__AIntrudeVisibility__replace_child(val* self, val* p0, val* p1) {
1942 val* var_old_child /* var old_child: ANode */;
1943 val* var_new_child /* var new_child: nullable ANode */;
1944 val* var /* : TKwintrude */;
1945 short int var1 /* : Bool */;
1946 val* var2 /* : null */;
1947 short int var3 /* : Bool */;
1948 short int var4 /* : Bool */;
1949 int cltype;
1950 int idtype;
1951 var_old_child = p0;
1952 var_new_child = p1;
1953 var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on <self:AIntrudeVisibility> */
1954 if (var == NULL) {
1955 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwintrude", "src/parser/parser_prod.nit", 508);
1956 exit(1);
1957 }
1958 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwintrude>*/;
1959 if (var1){
1960 var2 = NULL;
1961 if (var_new_child == NULL) {
1962 var3 = 0; /* is null */
1963 } else {
1964 var3 = 1; /* arg is null and recv is not */
1965 }
1966 if (var3){
1967 ((void (*)(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)>*/;
1968 /* <var_new_child:nullable ANode(ANode)> isa TKwintrude */
1969 cltype = type_parser_nodes__TKwintrude.color;
1970 idtype = type_parser_nodes__TKwintrude.id;
1971 if(cltype >= var_new_child->type->table_size) {
1972 var4 = 0;
1973 } else {
1974 var4 = var_new_child->type->type_table[cltype] == idtype;
1975 }
1976 if (!var4) {
1977 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 511);
1978 exit(1);
1979 }
1980 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_new_child; /* _n_kwintrude on <self:AIntrudeVisibility> */
1981 } else {
1982 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 514);
1983 exit(1);
1984 }
1985 goto RET_LABEL;
1986 } else {
1987 }
1988 RET_LABEL:;
1989 }
1990 /* method parser_prod#AIntrudeVisibility#replace_child for (self: Object, ANode, nullable ANode) */
1991 void VIRTUAL_parser_prod__AIntrudeVisibility__replace_child(val* self, val* p0, val* p1) {
1992 parser_prod__AIntrudeVisibility__replace_child(self, p0, p1);
1993 RET_LABEL:;
1994 }
1995 /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: AIntrudeVisibility, TKwintrude) */
1996 void parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) {
1997 val* var_node /* var node: TKwintrude */;
1998 var_node = p0;
1999 self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val = var_node; /* _n_kwintrude on <self:AIntrudeVisibility> */
2000 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwintrude>*/;
2001 RET_LABEL:;
2002 }
2003 /* method parser_prod#AIntrudeVisibility#n_kwintrude= for (self: Object, TKwintrude) */
2004 void VIRTUAL_parser_prod__AIntrudeVisibility__n_kwintrude_61d(val* self, val* p0) {
2005 parser_prod__AIntrudeVisibility__n_kwintrude_61d(self, p0);
2006 RET_LABEL:;
2007 }
2008 /* method parser_prod#AIntrudeVisibility#visit_all for (self: AIntrudeVisibility, Visitor) */
2009 void parser_prod__AIntrudeVisibility__visit_all(val* self, val* p0) {
2010 val* var_v /* var v: Visitor */;
2011 val* var /* : TKwintrude */;
2012 var_v = p0;
2013 var = self->attrs[COLOR_parser_nodes__AIntrudeVisibility___n_kwintrude].val; /* _n_kwintrude on <self:AIntrudeVisibility> */
2014 if (var == NULL) {
2015 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwintrude", "src/parser/parser_prod.nit", 529);
2016 exit(1);
2017 }
2018 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2019 RET_LABEL:;
2020 }
2021 /* method parser_prod#AIntrudeVisibility#visit_all for (self: Object, Visitor) */
2022 void VIRTUAL_parser_prod__AIntrudeVisibility__visit_all(val* self, val* p0) {
2023 parser_prod__AIntrudeVisibility__visit_all(self, p0);
2024 RET_LABEL:;
2025 }
2026 /* method parser_prod#AStdClassdef#empty_init for (self: AStdClassdef) */
2027 void parser_prod__AStdClassdef__empty_init(val* self) {
2028 RET_LABEL:;
2029 }
2030 /* method parser_prod#AStdClassdef#empty_init for (self: Object) */
2031 void VIRTUAL_parser_prod__AStdClassdef__empty_init(val* self) {
2032 parser_prod__AStdClassdef__empty_init(self);
2033 RET_LABEL:;
2034 }
2035 /* 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) */
2036 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) {
2037 val* var_n_doc /* var n_doc: nullable ADoc */;
2038 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
2039 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
2040 val* var_n_classkind /* var n_classkind: nullable AClasskind */;
2041 val* var_n_id /* var n_id: nullable TClassid */;
2042 val* var_n_formaldefs /* var n_formaldefs: Collection[Object] */;
2043 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
2044 val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */;
2045 val* var_n_superclasses /* var n_superclasses: Collection[Object] */;
2046 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
2047 val* var_n_kwend /* var n_kwend: nullable TKwend */;
2048 val* var /* : null */;
2049 short int var1 /* : Bool */;
2050 val* var2 /* : null */;
2051 short int var3 /* : Bool */;
2052 val* var4 /* : null */;
2053 short int var5 /* : Bool */;
2054 val* var6 /* : Iterator[nullable Object] */;
2055 short int var7 /* : Bool */;
2056 val* var8 /* : nullable Object */;
2057 val* var_n /* var n: Object */;
2058 short int var9 /* : Bool */;
2059 int cltype;
2060 int idtype;
2061 val* var10 /* : ANodes[AFormaldef] */;
2062 val* var11 /* : null */;
2063 short int var12 /* : Bool */;
2064 val* var13 /* : null */;
2065 short int var14 /* : Bool */;
2066 val* var15 /* : Iterator[nullable Object] */;
2067 short int var16 /* : Bool */;
2068 val* var17 /* : nullable Object */;
2069 val* var_n18 /* var n: Object */;
2070 short int var19 /* : Bool */;
2071 int cltype20;
2072 int idtype21;
2073 val* var22 /* : ANodes[ASuperclass] */;
2074 val* var24 /* : Iterator[nullable Object] */;
2075 short int var25 /* : Bool */;
2076 val* var26 /* : nullable Object */;
2077 val* var_n27 /* var n: Object */;
2078 short int var28 /* : Bool */;
2079 int cltype29;
2080 int idtype30;
2081 val* var31 /* : ANodes[APropdef] */;
2082 var_n_doc = p0;
2083 var_n_kwredef = p1;
2084 var_n_visibility = p2;
2085 var_n_classkind = p3;
2086 var_n_id = p4;
2087 var_n_formaldefs = p5;
2088 var_n_annotations = p6;
2089 var_n_extern_code_block = p7;
2090 var_n_superclasses = p8;
2091 var_n_propdefs = p9;
2092 var_n_kwend = p10;
2093 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStdClassdef__empty_init]))(self) /* empty_init on <self:AStdClassdef>*/;
2094 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_n_doc; /* _n_doc on <self:AStdClassdef> */
2095 var = NULL;
2096 if (var_n_doc == NULL) {
2097 var1 = 0; /* is null */
2098 } else {
2099 var1 = 1; /* arg is null and recv is not */
2100 }
2101 if (var1){
2102 ((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)>*/;
2103 } else {
2104 }
2105 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AStdClassdef> */
2106 var2 = NULL;
2107 if (var_n_kwredef == NULL) {
2108 var3 = 0; /* is null */
2109 } else {
2110 var3 = 1; /* arg is null and recv is not */
2111 }
2112 if (var3){
2113 ((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)>*/;
2114 } else {
2115 }
2116 if (var_n_visibility == NULL) {
2117 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 558);
2118 exit(1);
2119 }
2120 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AStdClassdef> */
2121 if (var_n_visibility == NULL) {
2122 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 559);
2123 exit(1);
2124 } else {
2125 ((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>*/;
2126 }
2127 if (var_n_classkind == NULL) {
2128 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 560);
2129 exit(1);
2130 }
2131 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_n_classkind; /* _n_classkind on <self:AStdClassdef> */
2132 if (var_n_classkind == NULL) {
2133 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 561);
2134 exit(1);
2135 } else {
2136 ((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>*/;
2137 }
2138 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_n_id; /* _n_id on <self:AStdClassdef> */
2139 var4 = NULL;
2140 if (var_n_id == NULL) {
2141 var5 = 0; /* is null */
2142 } else {
2143 var5 = 1; /* arg is null and recv is not */
2144 }
2145 if (var5){
2146 ((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)>*/;
2147 } else {
2148 }
2149 var6 = ((val* (*)(val*))(var_n_formaldefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_formaldefs) /* iterator on <var_n_formaldefs:Collection[Object]>*/;
2150 for(;;) {
2151 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
2152 if(!var7) break;
2153 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
2154 var_n = var8;
2155 /* <var_n:Object> isa AFormaldef */
2156 cltype = type_parser_nodes__AFormaldef.color;
2157 idtype = type_parser_nodes__AFormaldef.id;
2158 if(cltype >= var_n->type->table_size) {
2159 var9 = 0;
2160 } else {
2161 var9 = var_n->type->type_table[cltype] == idtype;
2162 }
2163 if (!var9) {
2164 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 567);
2165 exit(1);
2166 }
2167 var10 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2168 if (var10 == NULL) {
2169 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 568);
2170 exit(1);
2171 }
2172 ((void (*)(val*, val*))(var10->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var10, var_n) /* add on <var10:ANodes[AFormaldef]>*/;
2173 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(AFormaldef)>*/;
2174 CONTINUE_label: (void)0;
2175 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
2176 }
2177 BREAK_label: (void)0;
2178 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AStdClassdef> */
2179 var11 = NULL;
2180 if (var_n_annotations == NULL) {
2181 var12 = 0; /* is null */
2182 } else {
2183 var12 = 1; /* arg is null and recv is not */
2184 }
2185 if (var12){
2186 ((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)>*/;
2187 } else {
2188 }
2189 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on <self:AStdClassdef> */
2190 var13 = NULL;
2191 if (var_n_extern_code_block == NULL) {
2192 var14 = 0; /* is null */
2193 } else {
2194 var14 = 1; /* arg is null and recv is not */
2195 }
2196 if (var14){
2197 ((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)>*/;
2198 } else {
2199 }
2200 var15 = ((val* (*)(val*))(var_n_superclasses->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_superclasses) /* iterator on <var_n_superclasses:Collection[Object]>*/;
2201 for(;;) {
2202 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
2203 if(!var16) break;
2204 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
2205 var_n18 = var17;
2206 /* <var_n18:Object> isa ASuperclass */
2207 cltype20 = type_parser_nodes__ASuperclass.color;
2208 idtype21 = type_parser_nodes__ASuperclass.id;
2209 if(cltype20 >= var_n18->type->table_size) {
2210 var19 = 0;
2211 } else {
2212 var19 = var_n18->type->type_table[cltype20] == idtype21;
2213 }
2214 if (!var19) {
2215 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 580);
2216 exit(1);
2217 }
2218 var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2219 if (var22 == NULL) {
2220 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 581);
2221 exit(1);
2222 }
2223 ((void (*)(val*, val*))(var22->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var22, var_n18) /* add on <var22:ANodes[ASuperclass]>*/;
2224 ((void (*)(val*, val*))(var_n18->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n18, self) /* parent= on <var_n18:Object(ASuperclass)>*/;
2225 CONTINUE_label23: (void)0;
2226 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
2227 }
2228 BREAK_label23: (void)0;
2229 var24 = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
2230 for(;;) {
2231 var25 = ((short int (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var24) /* is_ok on <var24:Iterator[nullable Object]>*/;
2232 if(!var25) break;
2233 var26 = ((val* (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__item]))(var24) /* item on <var24:Iterator[nullable Object]>*/;
2234 var_n27 = var26;
2235 /* <var_n27:Object> isa APropdef */
2236 cltype29 = type_parser_nodes__APropdef.color;
2237 idtype30 = type_parser_nodes__APropdef.id;
2238 if(cltype29 >= var_n27->type->table_size) {
2239 var28 = 0;
2240 } else {
2241 var28 = var_n27->type->type_table[cltype29] == idtype30;
2242 }
2243 if (!var28) {
2244 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 585);
2245 exit(1);
2246 }
2247 var31 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2248 if (var31 == NULL) {
2249 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 586);
2250 exit(1);
2251 }
2252 ((void (*)(val*, val*))(var31->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var31, var_n27) /* add on <var31:ANodes[APropdef]>*/;
2253 ((void (*)(val*, val*))(var_n27->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n27, self) /* parent= on <var_n27:Object(APropdef)>*/;
2254 CONTINUE_label32: (void)0;
2255 ((void (*)(val*))(var24->class->vft[COLOR_abstract_collection__Iterator__next]))(var24) /* next on <var24:Iterator[nullable Object]>*/;
2256 }
2257 BREAK_label32: (void)0;
2258 if (var_n_kwend == NULL) {
2259 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 589);
2260 exit(1);
2261 }
2262 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_n_kwend; /* _n_kwend on <self:AStdClassdef> */
2263 if (var_n_kwend == NULL) {
2264 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 590);
2265 exit(1);
2266 } else {
2267 ((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>*/;
2268 }
2269 RET_LABEL:;
2270 }
2271 /* 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) */
2272 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) {
2273 parser_prod__AStdClassdef__init_astdclassdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
2274 RET_LABEL:;
2275 }
2276 /* method parser_prod#AStdClassdef#replace_child for (self: AStdClassdef, ANode, nullable ANode) */
2277 void parser_prod__AStdClassdef__replace_child(val* self, val* p0, val* p1) {
2278 val* var_old_child /* var old_child: ANode */;
2279 val* var_new_child /* var new_child: nullable ANode */;
2280 val* var /* : nullable ADoc */;
2281 short int var1 /* : Bool */;
2282 val* var2 /* : null */;
2283 short int var3 /* : Bool */;
2284 short int var4 /* : Bool */;
2285 int cltype;
2286 int idtype;
2287 val* var5 /* : null */;
2288 val* var6 /* : nullable TKwredef */;
2289 short int var7 /* : Bool */;
2290 val* var8 /* : null */;
2291 short int var9 /* : Bool */;
2292 short int var10 /* : Bool */;
2293 int cltype11;
2294 int idtype12;
2295 val* var13 /* : null */;
2296 val* var14 /* : AVisibility */;
2297 short int var15 /* : Bool */;
2298 val* var16 /* : null */;
2299 short int var17 /* : Bool */;
2300 short int var18 /* : Bool */;
2301 int cltype19;
2302 int idtype20;
2303 val* var21 /* : AClasskind */;
2304 short int var22 /* : Bool */;
2305 val* var23 /* : null */;
2306 short int var24 /* : Bool */;
2307 short int var25 /* : Bool */;
2308 int cltype26;
2309 int idtype27;
2310 val* var28 /* : nullable TClassid */;
2311 short int var29 /* : Bool */;
2312 val* var30 /* : null */;
2313 short int var31 /* : Bool */;
2314 short int var32 /* : Bool */;
2315 int cltype33;
2316 int idtype34;
2317 val* var35 /* : null */;
2318 val* var36 /* : Range[Int] */;
2319 long var37 /* : Int */;
2320 val* var38 /* : ANodes[AFormaldef] */;
2321 long var39 /* : Int */;
2322 val* var40 /* : Discrete */;
2323 val* var41 /* : Discrete */;
2324 val* var42 /* : Iterator[nullable Object] */;
2325 short int var43 /* : Bool */;
2326 val* var44 /* : nullable Object */;
2327 long var_i /* var i: Int */;
2328 long var45 /* : Int */;
2329 val* var46 /* : ANodes[AFormaldef] */;
2330 val* var47 /* : nullable Object */;
2331 short int var48 /* : Bool */;
2332 val* var49 /* : null */;
2333 short int var50 /* : Bool */;
2334 short int var51 /* : Bool */;
2335 int cltype52;
2336 int idtype53;
2337 val* var54 /* : ANodes[AFormaldef] */;
2338 val* var55 /* : ANodes[AFormaldef] */;
2339 val* var56 /* : nullable AAnnotations */;
2340 short int var57 /* : Bool */;
2341 val* var58 /* : null */;
2342 short int var59 /* : Bool */;
2343 short int var60 /* : Bool */;
2344 int cltype61;
2345 int idtype62;
2346 val* var63 /* : null */;
2347 val* var64 /* : nullable AExternCodeBlock */;
2348 short int var65 /* : Bool */;
2349 val* var66 /* : null */;
2350 short int var67 /* : Bool */;
2351 short int var68 /* : Bool */;
2352 int cltype69;
2353 int idtype70;
2354 val* var71 /* : null */;
2355 val* var72 /* : Range[Int] */;
2356 long var73 /* : Int */;
2357 val* var74 /* : ANodes[ASuperclass] */;
2358 long var75 /* : Int */;
2359 val* var76 /* : Discrete */;
2360 val* var77 /* : Discrete */;
2361 val* var78 /* : Iterator[nullable Object] */;
2362 short int var79 /* : Bool */;
2363 val* var80 /* : nullable Object */;
2364 long var_i81 /* var i: Int */;
2365 long var82 /* : Int */;
2366 val* var83 /* : ANodes[ASuperclass] */;
2367 val* var84 /* : nullable Object */;
2368 short int var85 /* : Bool */;
2369 val* var86 /* : null */;
2370 short int var87 /* : Bool */;
2371 short int var88 /* : Bool */;
2372 int cltype89;
2373 int idtype90;
2374 val* var91 /* : ANodes[ASuperclass] */;
2375 val* var92 /* : ANodes[ASuperclass] */;
2376 val* var94 /* : Range[Int] */;
2377 long var95 /* : Int */;
2378 val* var96 /* : ANodes[APropdef] */;
2379 long var97 /* : Int */;
2380 val* var98 /* : Discrete */;
2381 val* var99 /* : Discrete */;
2382 val* var100 /* : Iterator[nullable Object] */;
2383 short int var101 /* : Bool */;
2384 val* var102 /* : nullable Object */;
2385 long var_i103 /* var i: Int */;
2386 long var104 /* : Int */;
2387 val* var105 /* : ANodes[APropdef] */;
2388 val* var106 /* : nullable Object */;
2389 short int var107 /* : Bool */;
2390 val* var108 /* : null */;
2391 short int var109 /* : Bool */;
2392 short int var110 /* : Bool */;
2393 int cltype111;
2394 int idtype112;
2395 val* var113 /* : ANodes[APropdef] */;
2396 val* var114 /* : ANodes[APropdef] */;
2397 val* var116 /* : TKwend */;
2398 short int var117 /* : Bool */;
2399 val* var118 /* : null */;
2400 short int var119 /* : Bool */;
2401 short int var120 /* : Bool */;
2402 int cltype121;
2403 int idtype122;
2404 var_old_child = p0;
2405 var_new_child = p1;
2406 var = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
2407 if (var == NULL) {
2408 var1 = 0; /* <var_old_child:ANode> cannot be null */
2409 } else {
2410 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
2411 }
2412 if (var1){
2413 var2 = NULL;
2414 if (var_new_child == NULL) {
2415 var3 = 0; /* is null */
2416 } else {
2417 var3 = 1; /* arg is null and recv is not */
2418 }
2419 if (var3){
2420 ((void (*)(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)>*/;
2421 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
2422 cltype = type_parser_nodes__ADoc.color;
2423 idtype = type_parser_nodes__ADoc.id;
2424 if(cltype >= var_new_child->type->table_size) {
2425 var4 = 0;
2426 } else {
2427 var4 = var_new_child->type->type_table[cltype] == idtype;
2428 }
2429 if (!var4) {
2430 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 598);
2431 exit(1);
2432 }
2433 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_new_child; /* _n_doc on <self:AStdClassdef> */
2434 } else {
2435 var5 = NULL;
2436 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var5; /* _n_doc on <self:AStdClassdef> */
2437 }
2438 goto RET_LABEL;
2439 } else {
2440 }
2441 var6 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
2442 if (var6 == NULL) {
2443 var7 = 0; /* <var_old_child:ANode> cannot be null */
2444 } else {
2445 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
2446 }
2447 if (var7){
2448 var8 = NULL;
2449 if (var_new_child == NULL) {
2450 var9 = 0; /* is null */
2451 } else {
2452 var9 = 1; /* arg is null and recv is not */
2453 }
2454 if (var9){
2455 ((void (*)(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)>*/;
2456 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
2457 cltype11 = type_parser_nodes__TKwredef.color;
2458 idtype12 = type_parser_nodes__TKwredef.id;
2459 if(cltype11 >= var_new_child->type->table_size) {
2460 var10 = 0;
2461 } else {
2462 var10 = var_new_child->type->type_table[cltype11] == idtype12;
2463 }
2464 if (!var10) {
2465 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 608);
2466 exit(1);
2467 }
2468 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AStdClassdef> */
2469 } else {
2470 var13 = NULL;
2471 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var13; /* _n_kwredef on <self:AStdClassdef> */
2472 }
2473 goto RET_LABEL;
2474 } else {
2475 }
2476 var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on <self:AStdClassdef> */
2477 if (var14 == NULL) {
2478 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 615);
2479 exit(1);
2480 }
2481 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:AVisibility>*/;
2482 if (var15){
2483 var16 = NULL;
2484 if (var_new_child == NULL) {
2485 var17 = 0; /* is null */
2486 } else {
2487 var17 = 1; /* arg is null and recv is not */
2488 }
2489 if (var17){
2490 ((void (*)(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)>*/;
2491 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
2492 cltype19 = type_parser_nodes__AVisibility.color;
2493 idtype20 = type_parser_nodes__AVisibility.id;
2494 if(cltype19 >= var_new_child->type->table_size) {
2495 var18 = 0;
2496 } else {
2497 var18 = var_new_child->type->type_table[cltype19] == idtype20;
2498 }
2499 if (!var18) {
2500 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 618);
2501 exit(1);
2502 }
2503 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AStdClassdef> */
2504 } else {
2505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 621);
2506 exit(1);
2507 }
2508 goto RET_LABEL;
2509 } else {
2510 }
2511 var21 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on <self:AStdClassdef> */
2512 if (var21 == NULL) {
2513 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classkind", "src/parser/parser_prod.nit", 625);
2514 exit(1);
2515 }
2516 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:AClasskind>*/;
2517 if (var22){
2518 var23 = NULL;
2519 if (var_new_child == NULL) {
2520 var24 = 0; /* is null */
2521 } else {
2522 var24 = 1; /* arg is null and recv is not */
2523 }
2524 if (var24){
2525 ((void (*)(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)>*/;
2526 /* <var_new_child:nullable ANode(ANode)> isa AClasskind */
2527 cltype26 = type_parser_nodes__AClasskind.color;
2528 idtype27 = type_parser_nodes__AClasskind.id;
2529 if(cltype26 >= var_new_child->type->table_size) {
2530 var25 = 0;
2531 } else {
2532 var25 = var_new_child->type->type_table[cltype26] == idtype27;
2533 }
2534 if (!var25) {
2535 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 628);
2536 exit(1);
2537 }
2538 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_new_child; /* _n_classkind on <self:AStdClassdef> */
2539 } else {
2540 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 631);
2541 exit(1);
2542 }
2543 goto RET_LABEL;
2544 } else {
2545 }
2546 var28 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
2547 if (var28 == NULL) {
2548 var29 = 0; /* <var_old_child:ANode> cannot be null */
2549 } else {
2550 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable TClassid>*/;
2551 }
2552 if (var29){
2553 var30 = NULL;
2554 if (var_new_child == NULL) {
2555 var31 = 0; /* is null */
2556 } else {
2557 var31 = 1; /* arg is null and recv is not */
2558 }
2559 if (var31){
2560 ((void (*)(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)>*/;
2561 /* <var_new_child:nullable ANode(ANode)> isa TClassid */
2562 cltype33 = type_parser_nodes__TClassid.color;
2563 idtype34 = type_parser_nodes__TClassid.id;
2564 if(cltype33 >= var_new_child->type->table_size) {
2565 var32 = 0;
2566 } else {
2567 var32 = var_new_child->type->type_table[cltype33] == idtype34;
2568 }
2569 if (!var32) {
2570 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 638);
2571 exit(1);
2572 }
2573 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_new_child; /* _n_id on <self:AStdClassdef> */
2574 } else {
2575 var35 = NULL;
2576 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var35; /* _n_id on <self:AStdClassdef> */
2577 }
2578 goto RET_LABEL;
2579 } else {
2580 }
2581 var36 = NEW_range__Range(&type_range__Rangekernel__Int);
2582 var37 = 0;
2583 var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2584 if (var38 == NULL) {
2585 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 645);
2586 exit(1);
2587 }
2588 var39 = ((long (*)(val*))(var38->class->vft[COLOR_abstract_collection__Collection__length]))(var38) /* length on <var38:ANodes[AFormaldef]>*/;
2589 var40 = BOX_kernel__Int(var37); /* autobox from Int to Discrete */
2590 var41 = BOX_kernel__Int(var39); /* autobox from Int to Discrete */
2591 ((void (*)(val*, val*, val*))(var36->class->vft[COLOR_range__Range__without_last]))(var36, var40, var41) /* without_last on <var36:Range[Int]>*/;
2592 CHECK_NEW_range__Range(var36);
2593 var42 = ((val* (*)(val*))(var36->class->vft[COLOR_abstract_collection__Collection__iterator]))(var36) /* iterator on <var36:Range[Int]>*/;
2594 for(;;) {
2595 var43 = ((short int (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var42) /* is_ok on <var42:Iterator[nullable Object]>*/;
2596 if(!var43) break;
2597 var44 = ((val* (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__item]))(var42) /* item on <var42:Iterator[nullable Object]>*/;
2598 var45 = ((struct instance_kernel__Int*)var44)->value; /* autounbox from nullable Object to Int */;
2599 var_i = var45;
2600 var46 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2601 if (var46 == NULL) {
2602 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 646);
2603 exit(1);
2604 }
2605 var47 = ((val* (*)(val*, long))(var46->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var46, var_i) /* [] on <var46:ANodes[AFormaldef]>*/;
2606 var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on <var47:nullable Object(AFormaldef)>*/;
2607 if (var48){
2608 var49 = NULL;
2609 if (var_new_child == NULL) {
2610 var50 = 0; /* is null */
2611 } else {
2612 var50 = 1; /* arg is null and recv is not */
2613 }
2614 if (var50){
2615 /* <var_new_child:nullable ANode(ANode)> isa AFormaldef */
2616 cltype52 = type_parser_nodes__AFormaldef.color;
2617 idtype53 = type_parser_nodes__AFormaldef.id;
2618 if(cltype52 >= var_new_child->type->table_size) {
2619 var51 = 0;
2620 } else {
2621 var51 = var_new_child->type->type_table[cltype52] == idtype53;
2622 }
2623 if (!var51) {
2624 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 648);
2625 exit(1);
2626 }
2627 var54 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2628 if (var54 == NULL) {
2629 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 649);
2630 exit(1);
2631 }
2632 ((void (*)(val*, long, val*))(var54->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var54, var_i, var_new_child) /* []= on <var54:ANodes[AFormaldef]>*/;
2633 ((void (*)(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)>*/;
2634 } else {
2635 var55 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
2636 if (var55 == NULL) {
2637 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 652);
2638 exit(1);
2639 }
2640 ((void (*)(val*, long))(var55->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var55, var_i) /* remove_at on <var55:ANodes[AFormaldef]>*/;
2641 }
2642 goto RET_LABEL;
2643 } else {
2644 }
2645 CONTINUE_label: (void)0;
2646 ((void (*)(val*))(var42->class->vft[COLOR_abstract_collection__Iterator__next]))(var42) /* next on <var42:Iterator[nullable Object]>*/;
2647 }
2648 BREAK_label: (void)0;
2649 var56 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
2650 if (var56 == NULL) {
2651 var57 = 0; /* <var_old_child:ANode> cannot be null */
2652 } else {
2653 var57 = ((short int (*)(val*, val*))(var56->class->vft[COLOR_kernel__Object___61d_61d]))(var56, var_old_child) /* == on <var56:nullable AAnnotations>*/;
2654 }
2655 if (var57){
2656 var58 = NULL;
2657 if (var_new_child == NULL) {
2658 var59 = 0; /* is null */
2659 } else {
2660 var59 = 1; /* arg is null and recv is not */
2661 }
2662 if (var59){
2663 ((void (*)(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)>*/;
2664 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
2665 cltype61 = type_parser_nodes__AAnnotations.color;
2666 idtype62 = type_parser_nodes__AAnnotations.id;
2667 if(cltype61 >= var_new_child->type->table_size) {
2668 var60 = 0;
2669 } else {
2670 var60 = var_new_child->type->type_table[cltype61] == idtype62;
2671 }
2672 if (!var60) {
2673 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 660);
2674 exit(1);
2675 }
2676 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AStdClassdef> */
2677 } else {
2678 var63 = NULL;
2679 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var63; /* _n_annotations on <self:AStdClassdef> */
2680 }
2681 goto RET_LABEL;
2682 } else {
2683 }
2684 var64 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
2685 if (var64 == NULL) {
2686 var65 = 0; /* <var_old_child:ANode> cannot be null */
2687 } else {
2688 var65 = ((short int (*)(val*, val*))(var64->class->vft[COLOR_kernel__Object___61d_61d]))(var64, var_old_child) /* == on <var64:nullable AExternCodeBlock>*/;
2689 }
2690 if (var65){
2691 var66 = NULL;
2692 if (var_new_child == NULL) {
2693 var67 = 0; /* is null */
2694 } else {
2695 var67 = 1; /* arg is null and recv is not */
2696 }
2697 if (var67){
2698 ((void (*)(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)>*/;
2699 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
2700 cltype69 = type_parser_nodes__AExternCodeBlock.color;
2701 idtype70 = type_parser_nodes__AExternCodeBlock.id;
2702 if(cltype69 >= var_new_child->type->table_size) {
2703 var68 = 0;
2704 } else {
2705 var68 = var_new_child->type->type_table[cltype69] == idtype70;
2706 }
2707 if (!var68) {
2708 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 670);
2709 exit(1);
2710 }
2711 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on <self:AStdClassdef> */
2712 } else {
2713 var71 = NULL;
2714 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var71; /* _n_extern_code_block on <self:AStdClassdef> */
2715 }
2716 goto RET_LABEL;
2717 } else {
2718 }
2719 var72 = NEW_range__Range(&type_range__Rangekernel__Int);
2720 var73 = 0;
2721 var74 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2722 if (var74 == NULL) {
2723 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 677);
2724 exit(1);
2725 }
2726 var75 = ((long (*)(val*))(var74->class->vft[COLOR_abstract_collection__Collection__length]))(var74) /* length on <var74:ANodes[ASuperclass]>*/;
2727 var76 = BOX_kernel__Int(var73); /* autobox from Int to Discrete */
2728 var77 = BOX_kernel__Int(var75); /* autobox from Int to Discrete */
2729 ((void (*)(val*, val*, val*))(var72->class->vft[COLOR_range__Range__without_last]))(var72, var76, var77) /* without_last on <var72:Range[Int]>*/;
2730 CHECK_NEW_range__Range(var72);
2731 var78 = ((val* (*)(val*))(var72->class->vft[COLOR_abstract_collection__Collection__iterator]))(var72) /* iterator on <var72:Range[Int]>*/;
2732 for(;;) {
2733 var79 = ((short int (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var78) /* is_ok on <var78:Iterator[nullable Object]>*/;
2734 if(!var79) break;
2735 var80 = ((val* (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__item]))(var78) /* item on <var78:Iterator[nullable Object]>*/;
2736 var82 = ((struct instance_kernel__Int*)var80)->value; /* autounbox from nullable Object to Int */;
2737 var_i81 = var82;
2738 var83 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2739 if (var83 == NULL) {
2740 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 678);
2741 exit(1);
2742 }
2743 var84 = ((val* (*)(val*, long))(var83->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var83, var_i81) /* [] on <var83:ANodes[ASuperclass]>*/;
2744 var85 = ((short int (*)(val*, val*))(var84->class->vft[COLOR_kernel__Object___61d_61d]))(var84, var_old_child) /* == on <var84:nullable Object(ASuperclass)>*/;
2745 if (var85){
2746 var86 = NULL;
2747 if (var_new_child == NULL) {
2748 var87 = 0; /* is null */
2749 } else {
2750 var87 = 1; /* arg is null and recv is not */
2751 }
2752 if (var87){
2753 /* <var_new_child:nullable ANode(ANode)> isa ASuperclass */
2754 cltype89 = type_parser_nodes__ASuperclass.color;
2755 idtype90 = type_parser_nodes__ASuperclass.id;
2756 if(cltype89 >= var_new_child->type->table_size) {
2757 var88 = 0;
2758 } else {
2759 var88 = var_new_child->type->type_table[cltype89] == idtype90;
2760 }
2761 if (!var88) {
2762 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 680);
2763 exit(1);
2764 }
2765 var91 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2766 if (var91 == NULL) {
2767 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 681);
2768 exit(1);
2769 }
2770 ((void (*)(val*, long, val*))(var91->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var91, var_i81, var_new_child) /* []= on <var91:ANodes[ASuperclass]>*/;
2771 ((void (*)(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)>*/;
2772 } else {
2773 var92 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
2774 if (var92 == NULL) {
2775 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 684);
2776 exit(1);
2777 }
2778 ((void (*)(val*, long))(var92->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var92, var_i81) /* remove_at on <var92:ANodes[ASuperclass]>*/;
2779 }
2780 goto RET_LABEL;
2781 } else {
2782 }
2783 CONTINUE_label93: (void)0;
2784 ((void (*)(val*))(var78->class->vft[COLOR_abstract_collection__Iterator__next]))(var78) /* next on <var78:Iterator[nullable Object]>*/;
2785 }
2786 BREAK_label93: (void)0;
2787 var94 = NEW_range__Range(&type_range__Rangekernel__Int);
2788 var95 = 0;
2789 var96 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2790 if (var96 == NULL) {
2791 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 689);
2792 exit(1);
2793 }
2794 var97 = ((long (*)(val*))(var96->class->vft[COLOR_abstract_collection__Collection__length]))(var96) /* length on <var96:ANodes[APropdef]>*/;
2795 var98 = BOX_kernel__Int(var95); /* autobox from Int to Discrete */
2796 var99 = BOX_kernel__Int(var97); /* autobox from Int to Discrete */
2797 ((void (*)(val*, val*, val*))(var94->class->vft[COLOR_range__Range__without_last]))(var94, var98, var99) /* without_last on <var94:Range[Int]>*/;
2798 CHECK_NEW_range__Range(var94);
2799 var100 = ((val* (*)(val*))(var94->class->vft[COLOR_abstract_collection__Collection__iterator]))(var94) /* iterator on <var94:Range[Int]>*/;
2800 for(;;) {
2801 var101 = ((short int (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var100) /* is_ok on <var100:Iterator[nullable Object]>*/;
2802 if(!var101) break;
2803 var102 = ((val* (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__item]))(var100) /* item on <var100:Iterator[nullable Object]>*/;
2804 var104 = ((struct instance_kernel__Int*)var102)->value; /* autounbox from nullable Object to Int */;
2805 var_i103 = var104;
2806 var105 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2807 if (var105 == NULL) {
2808 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 690);
2809 exit(1);
2810 }
2811 var106 = ((val* (*)(val*, long))(var105->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var105, var_i103) /* [] on <var105:ANodes[APropdef]>*/;
2812 var107 = ((short int (*)(val*, val*))(var106->class->vft[COLOR_kernel__Object___61d_61d]))(var106, var_old_child) /* == on <var106:nullable Object(APropdef)>*/;
2813 if (var107){
2814 var108 = NULL;
2815 if (var_new_child == NULL) {
2816 var109 = 0; /* is null */
2817 } else {
2818 var109 = 1; /* arg is null and recv is not */
2819 }
2820 if (var109){
2821 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
2822 cltype111 = type_parser_nodes__APropdef.color;
2823 idtype112 = type_parser_nodes__APropdef.id;
2824 if(cltype111 >= var_new_child->type->table_size) {
2825 var110 = 0;
2826 } else {
2827 var110 = var_new_child->type->type_table[cltype111] == idtype112;
2828 }
2829 if (!var110) {
2830 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 692);
2831 exit(1);
2832 }
2833 var113 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2834 if (var113 == NULL) {
2835 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 693);
2836 exit(1);
2837 }
2838 ((void (*)(val*, long, val*))(var113->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var113, var_i103, var_new_child) /* []= on <var113:ANodes[APropdef]>*/;
2839 ((void (*)(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)>*/;
2840 } else {
2841 var114 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
2842 if (var114 == NULL) {
2843 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 696);
2844 exit(1);
2845 }
2846 ((void (*)(val*, long))(var114->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var114, var_i103) /* remove_at on <var114:ANodes[APropdef]>*/;
2847 }
2848 goto RET_LABEL;
2849 } else {
2850 }
2851 CONTINUE_label115: (void)0;
2852 ((void (*)(val*))(var100->class->vft[COLOR_abstract_collection__Iterator__next]))(var100) /* next on <var100:Iterator[nullable Object]>*/;
2853 }
2854 BREAK_label115: (void)0;
2855 var116 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on <self:AStdClassdef> */
2856 if (var116 == NULL) {
2857 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 701);
2858 exit(1);
2859 }
2860 var117 = ((short int (*)(val*, val*))(var116->class->vft[COLOR_kernel__Object___61d_61d]))(var116, var_old_child) /* == on <var116:TKwend>*/;
2861 if (var117){
2862 var118 = NULL;
2863 if (var_new_child == NULL) {
2864 var119 = 0; /* is null */
2865 } else {
2866 var119 = 1; /* arg is null and recv is not */
2867 }
2868 if (var119){
2869 ((void (*)(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)>*/;
2870 /* <var_new_child:nullable ANode(ANode)> isa TKwend */
2871 cltype121 = type_parser_nodes__TKwend.color;
2872 idtype122 = type_parser_nodes__TKwend.id;
2873 if(cltype121 >= var_new_child->type->table_size) {
2874 var120 = 0;
2875 } else {
2876 var120 = var_new_child->type->type_table[cltype121] == idtype122;
2877 }
2878 if (!var120) {
2879 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 704);
2880 exit(1);
2881 }
2882 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_new_child; /* _n_kwend on <self:AStdClassdef> */
2883 } else {
2884 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 707);
2885 exit(1);
2886 }
2887 goto RET_LABEL;
2888 } else {
2889 }
2890 RET_LABEL:;
2891 }
2892 /* method parser_prod#AStdClassdef#replace_child for (self: Object, ANode, nullable ANode) */
2893 void VIRTUAL_parser_prod__AStdClassdef__replace_child(val* self, val* p0, val* p1) {
2894 parser_prod__AStdClassdef__replace_child(self, p0, p1);
2895 RET_LABEL:;
2896 }
2897 /* method parser_prod#AStdClassdef#n_doc= for (self: AStdClassdef, nullable ADoc) */
2898 void parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) {
2899 val* var_node /* var node: nullable ADoc */;
2900 val* var /* : null */;
2901 short int var1 /* : Bool */;
2902 var_node = p0;
2903 self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val = var_node; /* _n_doc on <self:AStdClassdef> */
2904 var = NULL;
2905 if (var_node == NULL) {
2906 var1 = 0; /* is null */
2907 } else {
2908 var1 = 1; /* arg is null and recv is not */
2909 }
2910 if (var1){
2911 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
2912 } else {
2913 }
2914 RET_LABEL:;
2915 }
2916 /* method parser_prod#AStdClassdef#n_doc= for (self: Object, nullable ADoc) */
2917 void VIRTUAL_parser_prod__AStdClassdef__n_doc_61d(val* self, val* p0) {
2918 parser_prod__AStdClassdef__n_doc_61d(self, p0);
2919 RET_LABEL:;
2920 }
2921 /* method parser_prod#AStdClassdef#n_kwredef= for (self: AStdClassdef, nullable TKwredef) */
2922 void parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) {
2923 val* var_node /* var node: nullable TKwredef */;
2924 val* var /* : null */;
2925 short int var1 /* : Bool */;
2926 var_node = p0;
2927 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AStdClassdef> */
2928 var = NULL;
2929 if (var_node == NULL) {
2930 var1 = 0; /* is null */
2931 } else {
2932 var1 = 1; /* arg is null and recv is not */
2933 }
2934 if (var1){
2935 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
2936 } else {
2937 }
2938 RET_LABEL:;
2939 }
2940 /* method parser_prod#AStdClassdef#n_kwredef= for (self: Object, nullable TKwredef) */
2941 void VIRTUAL_parser_prod__AStdClassdef__n_kwredef_61d(val* self, val* p0) {
2942 parser_prod__AStdClassdef__n_kwredef_61d(self, p0);
2943 RET_LABEL:;
2944 }
2945 /* method parser_prod#AStdClassdef#n_visibility= for (self: AStdClassdef, AVisibility) */
2946 void parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) {
2947 val* var_node /* var node: AVisibility */;
2948 var_node = p0;
2949 self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val = var_node; /* _n_visibility on <self:AStdClassdef> */
2950 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
2951 RET_LABEL:;
2952 }
2953 /* method parser_prod#AStdClassdef#n_visibility= for (self: Object, AVisibility) */
2954 void VIRTUAL_parser_prod__AStdClassdef__n_visibility_61d(val* self, val* p0) {
2955 parser_prod__AStdClassdef__n_visibility_61d(self, p0);
2956 RET_LABEL:;
2957 }
2958 /* method parser_prod#AStdClassdef#n_classkind= for (self: AStdClassdef, AClasskind) */
2959 void parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) {
2960 val* var_node /* var node: AClasskind */;
2961 var_node = p0;
2962 self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val = var_node; /* _n_classkind on <self:AStdClassdef> */
2963 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AClasskind>*/;
2964 RET_LABEL:;
2965 }
2966 /* method parser_prod#AStdClassdef#n_classkind= for (self: Object, AClasskind) */
2967 void VIRTUAL_parser_prod__AStdClassdef__n_classkind_61d(val* self, val* p0) {
2968 parser_prod__AStdClassdef__n_classkind_61d(self, p0);
2969 RET_LABEL:;
2970 }
2971 /* method parser_prod#AStdClassdef#n_id= for (self: AStdClassdef, nullable TClassid) */
2972 void parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) {
2973 val* var_node /* var node: nullable TClassid */;
2974 val* var /* : null */;
2975 short int var1 /* : Bool */;
2976 var_node = p0;
2977 self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val = var_node; /* _n_id on <self:AStdClassdef> */
2978 var = NULL;
2979 if (var_node == NULL) {
2980 var1 = 0; /* is null */
2981 } else {
2982 var1 = 1; /* arg is null and recv is not */
2983 }
2984 if (var1){
2985 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TClassid(TClassid)>*/;
2986 } else {
2987 }
2988 RET_LABEL:;
2989 }
2990 /* method parser_prod#AStdClassdef#n_id= for (self: Object, nullable TClassid) */
2991 void VIRTUAL_parser_prod__AStdClassdef__n_id_61d(val* self, val* p0) {
2992 parser_prod__AStdClassdef__n_id_61d(self, p0);
2993 RET_LABEL:;
2994 }
2995 /* method parser_prod#AStdClassdef#n_annotations= for (self: AStdClassdef, nullable AAnnotations) */
2996 void parser_prod__AStdClassdef__n_annotations_61d(val* self, val* p0) {
2997 val* var_node /* var node: nullable AAnnotations */;
2998 val* var /* : null */;
2999 short int var1 /* : Bool */;
3000 var_node = p0;
3001 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AStdClassdef> */
3002 var = NULL;
3003 if (var_node == NULL) {
3004 var1 = 0; /* is null */
3005 } else {
3006 var1 = 1; /* arg is null and recv is not */
3007 }
3008 if (var1){
3009 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
3010 } else {
3011 }
3012 RET_LABEL:;
3013 }
3014 /* method parser_prod#AStdClassdef#n_annotations= for (self: Object, nullable AAnnotations) */
3015 void VIRTUAL_parser_prod__AStdClassdef__n_annotations_61d(val* self, val* p0) {
3016 parser_prod__AStdClassdef__n_annotations_61d(self, p0);
3017 RET_LABEL:;
3018 }
3019 /* method parser_prod#AStdClassdef#n_extern_code_block= for (self: AStdClassdef, nullable AExternCodeBlock) */
3020 void parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) {
3021 val* var_node /* var node: nullable AExternCodeBlock */;
3022 val* var /* : null */;
3023 short int var1 /* : Bool */;
3024 var_node = p0;
3025 self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on <self:AStdClassdef> */
3026 var = NULL;
3027 if (var_node == NULL) {
3028 var1 = 0; /* is null */
3029 } else {
3030 var1 = 1; /* arg is null and recv is not */
3031 }
3032 if (var1){
3033 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCodeBlock(AExternCodeBlock)>*/;
3034 } else {
3035 }
3036 RET_LABEL:;
3037 }
3038 /* method parser_prod#AStdClassdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */
3039 void VIRTUAL_parser_prod__AStdClassdef__n_extern_code_block_61d(val* self, val* p0) {
3040 parser_prod__AStdClassdef__n_extern_code_block_61d(self, p0);
3041 RET_LABEL:;
3042 }
3043 /* method parser_prod#AStdClassdef#n_kwend= for (self: AStdClassdef, TKwend) */
3044 void parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) {
3045 val* var_node /* var node: TKwend */;
3046 var_node = p0;
3047 self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val = var_node; /* _n_kwend on <self:AStdClassdef> */
3048 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwend>*/;
3049 RET_LABEL:;
3050 }
3051 /* method parser_prod#AStdClassdef#n_kwend= for (self: Object, TKwend) */
3052 void VIRTUAL_parser_prod__AStdClassdef__n_kwend_61d(val* self, val* p0) {
3053 parser_prod__AStdClassdef__n_kwend_61d(self, p0);
3054 RET_LABEL:;
3055 }
3056 /* method parser_prod#AStdClassdef#visit_all for (self: AStdClassdef, Visitor) */
3057 void parser_prod__AStdClassdef__visit_all(val* self, val* p0) {
3058 val* var_v /* var v: Visitor */;
3059 val* var /* : nullable ADoc */;
3060 val* var1 /* : null */;
3061 short int var2 /* : Bool */;
3062 val* var3 /* : nullable ADoc */;
3063 val* var4 /* : nullable TKwredef */;
3064 val* var5 /* : null */;
3065 short int var6 /* : Bool */;
3066 val* var7 /* : nullable TKwredef */;
3067 val* var8 /* : AVisibility */;
3068 val* var9 /* : AClasskind */;
3069 val* var10 /* : nullable TClassid */;
3070 val* var11 /* : null */;
3071 short int var12 /* : Bool */;
3072 val* var13 /* : nullable TClassid */;
3073 val* var14 /* : ANodes[AFormaldef] */;
3074 val* var15 /* : Iterator[nullable Object] */;
3075 short int var16 /* : Bool */;
3076 val* var17 /* : nullable Object */;
3077 val* var_n /* var n: AFormaldef */;
3078 val* var18 /* : nullable AAnnotations */;
3079 val* var19 /* : null */;
3080 short int var20 /* : Bool */;
3081 val* var21 /* : nullable AAnnotations */;
3082 val* var22 /* : nullable AExternCodeBlock */;
3083 val* var23 /* : null */;
3084 short int var24 /* : Bool */;
3085 val* var25 /* : nullable AExternCodeBlock */;
3086 val* var26 /* : ANodes[ASuperclass] */;
3087 val* var27 /* : Iterator[nullable Object] */;
3088 short int var28 /* : Bool */;
3089 val* var29 /* : nullable Object */;
3090 val* var_n30 /* var n: ASuperclass */;
3091 val* var32 /* : ANodes[APropdef] */;
3092 val* var33 /* : Iterator[nullable Object] */;
3093 short int var34 /* : Bool */;
3094 val* var35 /* : nullable Object */;
3095 val* var_n36 /* var n: APropdef */;
3096 val* var38 /* : TKwend */;
3097 var_v = p0;
3098 var = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
3099 var1 = NULL;
3100 if (var == NULL) {
3101 var2 = 0; /* is null */
3102 } else {
3103 var2 = 1; /* arg is null and recv is not */
3104 }
3105 if (var2){
3106 var3 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_doc].val; /* _n_doc on <self:AStdClassdef> */
3107 if (var3 == NULL) {
3108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 768);
3109 exit(1);
3110 }
3111 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
3112 } else {
3113 }
3114 var4 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
3115 var5 = NULL;
3116 if (var4 == NULL) {
3117 var6 = 0; /* is null */
3118 } else {
3119 var6 = 1; /* arg is null and recv is not */
3120 }
3121 if (var6){
3122 var7 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwredef].val; /* _n_kwredef on <self:AStdClassdef> */
3123 if (var7 == NULL) {
3124 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 771);
3125 exit(1);
3126 }
3127 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
3128 } else {
3129 }
3130 var8 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_visibility].val; /* _n_visibility on <self:AStdClassdef> */
3131 if (var8 == NULL) {
3132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 773);
3133 exit(1);
3134 }
3135 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
3136 var9 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_classkind].val; /* _n_classkind on <self:AStdClassdef> */
3137 if (var9 == NULL) {
3138 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_classkind", "src/parser/parser_prod.nit", 774);
3139 exit(1);
3140 }
3141 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
3142 var10 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
3143 var11 = NULL;
3144 if (var10 == NULL) {
3145 var12 = 0; /* is null */
3146 } else {
3147 var12 = 1; /* arg is null and recv is not */
3148 }
3149 if (var12){
3150 var13 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_id].val; /* _n_id on <self:AStdClassdef> */
3151 if (var13 == NULL) {
3152 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 776);
3153 exit(1);
3154 }
3155 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var13) /* enter_visit on <var_v:Visitor>*/;
3156 } else {
3157 }
3158 var14 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_formaldefs].val; /* _n_formaldefs on <self:AStdClassdef> */
3159 if (var14 == NULL) {
3160 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_formaldefs", "src/parser/parser_prod.nit", 778);
3161 exit(1);
3162 }
3163 var15 = ((val* (*)(val*))(var14->class->vft[COLOR_abstract_collection__Collection__iterator]))(var14) /* iterator on <var14:ANodes[AFormaldef]>*/;
3164 for(;;) {
3165 var16 = ((short int (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var15) /* is_ok on <var15:Iterator[nullable Object]>*/;
3166 if(!var16) break;
3167 var17 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__item]))(var15) /* item on <var15:Iterator[nullable Object]>*/;
3168 var_n = var17;
3169 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3170 CONTINUE_label: (void)0;
3171 ((void (*)(val*))(var15->class->vft[COLOR_abstract_collection__Iterator__next]))(var15) /* next on <var15:Iterator[nullable Object]>*/;
3172 }
3173 BREAK_label: (void)0;
3174 var18 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
3175 var19 = NULL;
3176 if (var18 == NULL) {
3177 var20 = 0; /* is null */
3178 } else {
3179 var20 = 1; /* arg is null and recv is not */
3180 }
3181 if (var20){
3182 var21 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AStdClassdef> */
3183 if (var21 == NULL) {
3184 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 782);
3185 exit(1);
3186 }
3187 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on <var_v:Visitor>*/;
3188 } else {
3189 }
3190 var22 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
3191 var23 = NULL;
3192 if (var22 == NULL) {
3193 var24 = 0; /* is null */
3194 } else {
3195 var24 = 1; /* arg is null and recv is not */
3196 }
3197 if (var24){
3198 var25 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AStdClassdef> */
3199 if (var25 == NULL) {
3200 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 785);
3201 exit(1);
3202 }
3203 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on <var_v:Visitor>*/;
3204 } else {
3205 }
3206 var26 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_superclasses].val; /* _n_superclasses on <self:AStdClassdef> */
3207 if (var26 == NULL) {
3208 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_superclasses", "src/parser/parser_prod.nit", 787);
3209 exit(1);
3210 }
3211 var27 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on <var26:ANodes[ASuperclass]>*/;
3212 for(;;) {
3213 var28 = ((short int (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var27) /* is_ok on <var27:Iterator[nullable Object]>*/;
3214 if(!var28) break;
3215 var29 = ((val* (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__item]))(var27) /* item on <var27:Iterator[nullable Object]>*/;
3216 var_n30 = var29;
3217 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n30) /* enter_visit on <var_v:Visitor>*/;
3218 CONTINUE_label31: (void)0;
3219 ((void (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__next]))(var27) /* next on <var27:Iterator[nullable Object]>*/;
3220 }
3221 BREAK_label31: (void)0;
3222 var32 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AStdClassdef> */
3223 if (var32 == NULL) {
3224 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 790);
3225 exit(1);
3226 }
3227 var33 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Collection__iterator]))(var32) /* iterator on <var32:ANodes[APropdef]>*/;
3228 for(;;) {
3229 var34 = ((short int (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var33) /* is_ok on <var33:Iterator[nullable Object]>*/;
3230 if(!var34) break;
3231 var35 = ((val* (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__item]))(var33) /* item on <var33:Iterator[nullable Object]>*/;
3232 var_n36 = var35;
3233 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n36) /* enter_visit on <var_v:Visitor>*/;
3234 CONTINUE_label37: (void)0;
3235 ((void (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__next]))(var33) /* next on <var33:Iterator[nullable Object]>*/;
3236 }
3237 BREAK_label37: (void)0;
3238 var38 = self->attrs[COLOR_parser_nodes__AStdClassdef___n_kwend].val; /* _n_kwend on <self:AStdClassdef> */
3239 if (var38 == NULL) {
3240 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwend", "src/parser/parser_prod.nit", 793);
3241 exit(1);
3242 }
3243 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var38) /* enter_visit on <var_v:Visitor>*/;
3244 RET_LABEL:;
3245 }
3246 /* method parser_prod#AStdClassdef#visit_all for (self: Object, Visitor) */
3247 void VIRTUAL_parser_prod__AStdClassdef__visit_all(val* self, val* p0) {
3248 parser_prod__AStdClassdef__visit_all(self, p0);
3249 RET_LABEL:;
3250 }
3251 /* method parser_prod#ATopClassdef#empty_init for (self: ATopClassdef) */
3252 void parser_prod__ATopClassdef__empty_init(val* self) {
3253 RET_LABEL:;
3254 }
3255 /* method parser_prod#ATopClassdef#empty_init for (self: Object) */
3256 void VIRTUAL_parser_prod__ATopClassdef__empty_init(val* self) {
3257 parser_prod__ATopClassdef__empty_init(self);
3258 RET_LABEL:;
3259 }
3260 /* method parser_prod#ATopClassdef#init_atopclassdef for (self: ATopClassdef, Collection[Object]) */
3261 void parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) {
3262 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
3263 val* var /* : Iterator[nullable Object] */;
3264 short int var1 /* : Bool */;
3265 val* var2 /* : nullable Object */;
3266 val* var_n /* var n: Object */;
3267 short int var3 /* : Bool */;
3268 int cltype;
3269 int idtype;
3270 val* var4 /* : ANodes[APropdef] */;
3271 var_n_propdefs = p0;
3272 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ATopClassdef__empty_init]))(self) /* empty_init on <self:ATopClassdef>*/;
3273 var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
3274 for(;;) {
3275 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
3276 if(!var1) break;
3277 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
3278 var_n = var2;
3279 /* <var_n:Object> isa APropdef */
3280 cltype = type_parser_nodes__APropdef.color;
3281 idtype = type_parser_nodes__APropdef.id;
3282 if(cltype >= var_n->type->table_size) {
3283 var3 = 0;
3284 } else {
3285 var3 = var_n->type->type_table[cltype] == idtype;
3286 }
3287 if (!var3) {
3288 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 805);
3289 exit(1);
3290 }
3291 var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3292 if (var4 == NULL) {
3293 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 806);
3294 exit(1);
3295 }
3296 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[APropdef]>*/;
3297 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(APropdef)>*/;
3298 CONTINUE_label: (void)0;
3299 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
3300 }
3301 BREAK_label: (void)0;
3302 RET_LABEL:;
3303 }
3304 /* method parser_prod#ATopClassdef#init_atopclassdef for (self: Object, Collection[Object]) */
3305 void VIRTUAL_parser_prod__ATopClassdef__init_atopclassdef(val* self, val* p0) {
3306 parser_prod__ATopClassdef__init_atopclassdef(self, p0);
3307 RET_LABEL:;
3308 }
3309 /* method parser_prod#ATopClassdef#replace_child for (self: ATopClassdef, ANode, nullable ANode) */
3310 void parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) {
3311 val* var_old_child /* var old_child: ANode */;
3312 val* var_new_child /* var new_child: nullable ANode */;
3313 val* var /* : Range[Int] */;
3314 long var1 /* : Int */;
3315 val* var2 /* : ANodes[APropdef] */;
3316 long var3 /* : Int */;
3317 val* var4 /* : Discrete */;
3318 val* var5 /* : Discrete */;
3319 val* var6 /* : Iterator[nullable Object] */;
3320 short int var7 /* : Bool */;
3321 val* var8 /* : nullable Object */;
3322 long var_i /* var i: Int */;
3323 long var9 /* : Int */;
3324 val* var10 /* : ANodes[APropdef] */;
3325 val* var11 /* : nullable Object */;
3326 short int var12 /* : Bool */;
3327 val* var13 /* : null */;
3328 short int var14 /* : Bool */;
3329 short int var15 /* : Bool */;
3330 int cltype;
3331 int idtype;
3332 val* var16 /* : ANodes[APropdef] */;
3333 val* var17 /* : ANodes[APropdef] */;
3334 var_old_child = p0;
3335 var_new_child = p1;
3336 var = NEW_range__Range(&type_range__Rangekernel__Int);
3337 var1 = 0;
3338 var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3339 if (var2 == NULL) {
3340 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 813);
3341 exit(1);
3342 }
3343 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[APropdef]>*/;
3344 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
3345 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
3346 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
3347 CHECK_NEW_range__Range(var);
3348 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
3349 for(;;) {
3350 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
3351 if(!var7) break;
3352 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
3353 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
3354 var_i = var9;
3355 var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3356 if (var10 == NULL) {
3357 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 814);
3358 exit(1);
3359 }
3360 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[APropdef]>*/;
3361 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(APropdef)>*/;
3362 if (var12){
3363 var13 = NULL;
3364 if (var_new_child == NULL) {
3365 var14 = 0; /* is null */
3366 } else {
3367 var14 = 1; /* arg is null and recv is not */
3368 }
3369 if (var14){
3370 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
3371 cltype = type_parser_nodes__APropdef.color;
3372 idtype = type_parser_nodes__APropdef.id;
3373 if(cltype >= var_new_child->type->table_size) {
3374 var15 = 0;
3375 } else {
3376 var15 = var_new_child->type->type_table[cltype] == idtype;
3377 }
3378 if (!var15) {
3379 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 816);
3380 exit(1);
3381 }
3382 var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3383 if (var16 == NULL) {
3384 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 817);
3385 exit(1);
3386 }
3387 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[APropdef]>*/;
3388 ((void (*)(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)>*/;
3389 } else {
3390 var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3391 if (var17 == NULL) {
3392 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 820);
3393 exit(1);
3394 }
3395 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[APropdef]>*/;
3396 }
3397 goto RET_LABEL;
3398 } else {
3399 }
3400 CONTINUE_label: (void)0;
3401 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
3402 }
3403 BREAK_label: (void)0;
3404 RET_LABEL:;
3405 }
3406 /* method parser_prod#ATopClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3407 void VIRTUAL_parser_prod__ATopClassdef__replace_child(val* self, val* p0, val* p1) {
3408 parser_prod__ATopClassdef__replace_child(self, p0, p1);
3409 RET_LABEL:;
3410 }
3411 /* method parser_prod#ATopClassdef#visit_all for (self: ATopClassdef, Visitor) */
3412 void parser_prod__ATopClassdef__visit_all(val* self, val* p0) {
3413 val* var_v /* var v: Visitor */;
3414 val* var /* : ANodes[APropdef] */;
3415 val* var1 /* : Iterator[nullable Object] */;
3416 short int var2 /* : Bool */;
3417 val* var3 /* : nullable Object */;
3418 val* var_n /* var n: APropdef */;
3419 var_v = p0;
3420 var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:ATopClassdef> */
3421 if (var == NULL) {
3422 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 831);
3423 exit(1);
3424 }
3425 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[APropdef]>*/;
3426 for(;;) {
3427 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
3428 if(!var2) break;
3429 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
3430 var_n = var3;
3431 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3432 CONTINUE_label: (void)0;
3433 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
3434 }
3435 BREAK_label: (void)0;
3436 RET_LABEL:;
3437 }
3438 /* method parser_prod#ATopClassdef#visit_all for (self: Object, Visitor) */
3439 void VIRTUAL_parser_prod__ATopClassdef__visit_all(val* self, val* p0) {
3440 parser_prod__ATopClassdef__visit_all(self, p0);
3441 RET_LABEL:;
3442 }
3443 /* method parser_prod#AMainClassdef#empty_init for (self: AMainClassdef) */
3444 void parser_prod__AMainClassdef__empty_init(val* self) {
3445 RET_LABEL:;
3446 }
3447 /* method parser_prod#AMainClassdef#empty_init for (self: Object) */
3448 void VIRTUAL_parser_prod__AMainClassdef__empty_init(val* self) {
3449 parser_prod__AMainClassdef__empty_init(self);
3450 RET_LABEL:;
3451 }
3452 /* method parser_prod#AMainClassdef#init_amainclassdef for (self: AMainClassdef, Collection[Object]) */
3453 void parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) {
3454 val* var_n_propdefs /* var n_propdefs: Collection[Object] */;
3455 val* var /* : Iterator[nullable Object] */;
3456 short int var1 /* : Bool */;
3457 val* var2 /* : nullable Object */;
3458 val* var_n /* var n: Object */;
3459 short int var3 /* : Bool */;
3460 int cltype;
3461 int idtype;
3462 val* var4 /* : ANodes[APropdef] */;
3463 var_n_propdefs = p0;
3464 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMainClassdef__empty_init]))(self) /* empty_init on <self:AMainClassdef>*/;
3465 var = ((val* (*)(val*))(var_n_propdefs->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_propdefs) /* iterator on <var_n_propdefs:Collection[Object]>*/;
3466 for(;;) {
3467 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
3468 if(!var1) break;
3469 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
3470 var_n = var2;
3471 /* <var_n:Object> isa APropdef */
3472 cltype = type_parser_nodes__APropdef.color;
3473 idtype = type_parser_nodes__APropdef.id;
3474 if(cltype >= var_n->type->table_size) {
3475 var3 = 0;
3476 } else {
3477 var3 = var_n->type->type_table[cltype] == idtype;
3478 }
3479 if (!var3) {
3480 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 845);
3481 exit(1);
3482 }
3483 var4 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3484 if (var4 == NULL) {
3485 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 846);
3486 exit(1);
3487 }
3488 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[APropdef]>*/;
3489 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(APropdef)>*/;
3490 CONTINUE_label: (void)0;
3491 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
3492 }
3493 BREAK_label: (void)0;
3494 RET_LABEL:;
3495 }
3496 /* method parser_prod#AMainClassdef#init_amainclassdef for (self: Object, Collection[Object]) */
3497 void VIRTUAL_parser_prod__AMainClassdef__init_amainclassdef(val* self, val* p0) {
3498 parser_prod__AMainClassdef__init_amainclassdef(self, p0);
3499 RET_LABEL:;
3500 }
3501 /* method parser_prod#AMainClassdef#replace_child for (self: AMainClassdef, ANode, nullable ANode) */
3502 void parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) {
3503 val* var_old_child /* var old_child: ANode */;
3504 val* var_new_child /* var new_child: nullable ANode */;
3505 val* var /* : Range[Int] */;
3506 long var1 /* : Int */;
3507 val* var2 /* : ANodes[APropdef] */;
3508 long var3 /* : Int */;
3509 val* var4 /* : Discrete */;
3510 val* var5 /* : Discrete */;
3511 val* var6 /* : Iterator[nullable Object] */;
3512 short int var7 /* : Bool */;
3513 val* var8 /* : nullable Object */;
3514 long var_i /* var i: Int */;
3515 long var9 /* : Int */;
3516 val* var10 /* : ANodes[APropdef] */;
3517 val* var11 /* : nullable Object */;
3518 short int var12 /* : Bool */;
3519 val* var13 /* : null */;
3520 short int var14 /* : Bool */;
3521 short int var15 /* : Bool */;
3522 int cltype;
3523 int idtype;
3524 val* var16 /* : ANodes[APropdef] */;
3525 val* var17 /* : ANodes[APropdef] */;
3526 var_old_child = p0;
3527 var_new_child = p1;
3528 var = NEW_range__Range(&type_range__Rangekernel__Int);
3529 var1 = 0;
3530 var2 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3531 if (var2 == NULL) {
3532 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 853);
3533 exit(1);
3534 }
3535 var3 = ((long (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__length]))(var2) /* length on <var2:ANodes[APropdef]>*/;
3536 var4 = BOX_kernel__Int(var1); /* autobox from Int to Discrete */
3537 var5 = BOX_kernel__Int(var3); /* autobox from Int to Discrete */
3538 ((void (*)(val*, val*, val*))(var->class->vft[COLOR_range__Range__without_last]))(var, var4, var5) /* without_last on <var:Range[Int]>*/;
3539 CHECK_NEW_range__Range(var);
3540 var6 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:Range[Int]>*/;
3541 for(;;) {
3542 var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on <var6:Iterator[nullable Object]>*/;
3543 if(!var7) break;
3544 var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on <var6:Iterator[nullable Object]>*/;
3545 var9 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */;
3546 var_i = var9;
3547 var10 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3548 if (var10 == NULL) {
3549 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 854);
3550 exit(1);
3551 }
3552 var11 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on <var10:ANodes[APropdef]>*/;
3553 var12 = ((short int (*)(val*, val*))(var11->class->vft[COLOR_kernel__Object___61d_61d]))(var11, var_old_child) /* == on <var11:nullable Object(APropdef)>*/;
3554 if (var12){
3555 var13 = NULL;
3556 if (var_new_child == NULL) {
3557 var14 = 0; /* is null */
3558 } else {
3559 var14 = 1; /* arg is null and recv is not */
3560 }
3561 if (var14){
3562 /* <var_new_child:nullable ANode(ANode)> isa APropdef */
3563 cltype = type_parser_nodes__APropdef.color;
3564 idtype = type_parser_nodes__APropdef.id;
3565 if(cltype >= var_new_child->type->table_size) {
3566 var15 = 0;
3567 } else {
3568 var15 = var_new_child->type->type_table[cltype] == idtype;
3569 }
3570 if (!var15) {
3571 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 856);
3572 exit(1);
3573 }
3574 var16 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3575 if (var16 == NULL) {
3576 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 857);
3577 exit(1);
3578 }
3579 ((void (*)(val*, long, val*))(var16->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var16, var_i, var_new_child) /* []= on <var16:ANodes[APropdef]>*/;
3580 ((void (*)(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)>*/;
3581 } else {
3582 var17 = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3583 if (var17 == NULL) {
3584 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 860);
3585 exit(1);
3586 }
3587 ((void (*)(val*, long))(var17->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var17, var_i) /* remove_at on <var17:ANodes[APropdef]>*/;
3588 }
3589 goto RET_LABEL;
3590 } else {
3591 }
3592 CONTINUE_label: (void)0;
3593 ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on <var6:Iterator[nullable Object]>*/;
3594 }
3595 BREAK_label: (void)0;
3596 RET_LABEL:;
3597 }
3598 /* method parser_prod#AMainClassdef#replace_child for (self: Object, ANode, nullable ANode) */
3599 void VIRTUAL_parser_prod__AMainClassdef__replace_child(val* self, val* p0, val* p1) {
3600 parser_prod__AMainClassdef__replace_child(self, p0, p1);
3601 RET_LABEL:;
3602 }
3603 /* method parser_prod#AMainClassdef#visit_all for (self: AMainClassdef, Visitor) */
3604 void parser_prod__AMainClassdef__visit_all(val* self, val* p0) {
3605 val* var_v /* var v: Visitor */;
3606 val* var /* : ANodes[APropdef] */;
3607 val* var1 /* : Iterator[nullable Object] */;
3608 short int var2 /* : Bool */;
3609 val* var3 /* : nullable Object */;
3610 val* var_n /* var n: APropdef */;
3611 var_v = p0;
3612 var = self->attrs[COLOR_parser_nodes__AClassdef___n_propdefs].val; /* _n_propdefs on <self:AMainClassdef> */
3613 if (var == NULL) {
3614 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_propdefs", "src/parser/parser_prod.nit", 871);
3615 exit(1);
3616 }
3617 var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on <var:ANodes[APropdef]>*/;
3618 for(;;) {
3619 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on <var1:Iterator[nullable Object]>*/;
3620 if(!var2) break;
3621 var3 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on <var1:Iterator[nullable Object]>*/;
3622 var_n = var3;
3623 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
3624 CONTINUE_label: (void)0;
3625 ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on <var1:Iterator[nullable Object]>*/;
3626 }
3627 BREAK_label: (void)0;
3628 RET_LABEL:;
3629 }
3630 /* method parser_prod#AMainClassdef#visit_all for (self: Object, Visitor) */
3631 void VIRTUAL_parser_prod__AMainClassdef__visit_all(val* self, val* p0) {
3632 parser_prod__AMainClassdef__visit_all(self, p0);
3633 RET_LABEL:;
3634 }
3635 /* method parser_prod#AConcreteClasskind#empty_init for (self: AConcreteClasskind) */
3636 void parser_prod__AConcreteClasskind__empty_init(val* self) {
3637 RET_LABEL:;
3638 }
3639 /* method parser_prod#AConcreteClasskind#empty_init for (self: Object) */
3640 void VIRTUAL_parser_prod__AConcreteClasskind__empty_init(val* self) {
3641 parser_prod__AConcreteClasskind__empty_init(self);
3642 RET_LABEL:;
3643 }
3644 /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: AConcreteClasskind, nullable TKwclass) */
3645 void parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) {
3646 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
3647 var_n_kwclass = p0;
3648 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteClasskind__empty_init]))(self) /* empty_init on <self:AConcreteClasskind>*/;
3649 if (var_n_kwclass == NULL) {
3650 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 884);
3651 exit(1);
3652 }
3653 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AConcreteClasskind> */
3654 if (var_n_kwclass == NULL) {
3655 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 885);
3656 exit(1);
3657 } else {
3658 ((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>*/;
3659 }
3660 RET_LABEL:;
3661 }
3662 /* method parser_prod#AConcreteClasskind#init_aconcreteclasskind for (self: Object, nullable TKwclass) */
3663 void VIRTUAL_parser_prod__AConcreteClasskind__init_aconcreteclasskind(val* self, val* p0) {
3664 parser_prod__AConcreteClasskind__init_aconcreteclasskind(self, p0);
3665 RET_LABEL:;
3666 }
3667 /* method parser_prod#AConcreteClasskind#replace_child for (self: AConcreteClasskind, ANode, nullable ANode) */
3668 void parser_prod__AConcreteClasskind__replace_child(val* self, val* p0, val* p1) {
3669 val* var_old_child /* var old_child: ANode */;
3670 val* var_new_child /* var new_child: nullable ANode */;
3671 val* var /* : TKwclass */;
3672 short int var1 /* : Bool */;
3673 val* var2 /* : null */;
3674 short int var3 /* : Bool */;
3675 short int var4 /* : Bool */;
3676 int cltype;
3677 int idtype;
3678 var_old_child = p0;
3679 var_new_child = p1;
3680 var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on <self:AConcreteClasskind> */
3681 if (var == NULL) {
3682 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 890);
3683 exit(1);
3684 }
3685 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwclass>*/;
3686 if (var1){
3687 var2 = NULL;
3688 if (var_new_child == NULL) {
3689 var3 = 0; /* is null */
3690 } else {
3691 var3 = 1; /* arg is null and recv is not */
3692 }
3693 if (var3){
3694 ((void (*)(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)>*/;
3695 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
3696 cltype = type_parser_nodes__TKwclass.color;
3697 idtype = type_parser_nodes__TKwclass.id;
3698 if(cltype >= var_new_child->type->table_size) {
3699 var4 = 0;
3700 } else {
3701 var4 = var_new_child->type->type_table[cltype] == idtype;
3702 }
3703 if (!var4) {
3704 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 893);
3705 exit(1);
3706 }
3707 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AConcreteClasskind> */
3708 } else {
3709 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 896);
3710 exit(1);
3711 }
3712 goto RET_LABEL;
3713 } else {
3714 }
3715 RET_LABEL:;
3716 }
3717 /* method parser_prod#AConcreteClasskind#replace_child for (self: Object, ANode, nullable ANode) */
3718 void VIRTUAL_parser_prod__AConcreteClasskind__replace_child(val* self, val* p0, val* p1) {
3719 parser_prod__AConcreteClasskind__replace_child(self, p0, p1);
3720 RET_LABEL:;
3721 }
3722 /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: AConcreteClasskind, TKwclass) */
3723 void parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) {
3724 val* var_node /* var node: TKwclass */;
3725 var_node = p0;
3726 self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AConcreteClasskind> */
3727 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwclass>*/;
3728 RET_LABEL:;
3729 }
3730 /* method parser_prod#AConcreteClasskind#n_kwclass= for (self: Object, TKwclass) */
3731 void VIRTUAL_parser_prod__AConcreteClasskind__n_kwclass_61d(val* self, val* p0) {
3732 parser_prod__AConcreteClasskind__n_kwclass_61d(self, p0);
3733 RET_LABEL:;
3734 }
3735 /* method parser_prod#AConcreteClasskind#visit_all for (self: AConcreteClasskind, Visitor) */
3736 void parser_prod__AConcreteClasskind__visit_all(val* self, val* p0) {
3737 val* var_v /* var v: Visitor */;
3738 val* var /* : TKwclass */;
3739 var_v = p0;
3740 var = self->attrs[COLOR_parser_nodes__AConcreteClasskind___n_kwclass].val; /* _n_kwclass on <self:AConcreteClasskind> */
3741 if (var == NULL) {
3742 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 911);
3743 exit(1);
3744 }
3745 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3746 RET_LABEL:;
3747 }
3748 /* method parser_prod#AConcreteClasskind#visit_all for (self: Object, Visitor) */
3749 void VIRTUAL_parser_prod__AConcreteClasskind__visit_all(val* self, val* p0) {
3750 parser_prod__AConcreteClasskind__visit_all(self, p0);
3751 RET_LABEL:;
3752 }
3753 /* method parser_prod#AAbstractClasskind#empty_init for (self: AAbstractClasskind) */
3754 void parser_prod__AAbstractClasskind__empty_init(val* self) {
3755 RET_LABEL:;
3756 }
3757 /* method parser_prod#AAbstractClasskind#empty_init for (self: Object) */
3758 void VIRTUAL_parser_prod__AAbstractClasskind__empty_init(val* self) {
3759 parser_prod__AAbstractClasskind__empty_init(self);
3760 RET_LABEL:;
3761 }
3762 /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: AAbstractClasskind, nullable TKwabstract, nullable TKwclass) */
3763 void parser_prod__AAbstractClasskind__init_aabstractclasskind(val* self, val* p0, val* p1) {
3764 val* var_n_kwabstract /* var n_kwabstract: nullable TKwabstract */;
3765 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
3766 var_n_kwabstract = p0;
3767 var_n_kwclass = p1;
3768 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAbstractClasskind__empty_init]))(self) /* empty_init on <self:AAbstractClasskind>*/;
3769 if (var_n_kwabstract == NULL) {
3770 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 923);
3771 exit(1);
3772 }
3773 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_n_kwabstract; /* _n_kwabstract on <self:AAbstractClasskind> */
3774 if (var_n_kwabstract == NULL) {
3775 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 924);
3776 exit(1);
3777 } else {
3778 ((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>*/;
3779 }
3780 if (var_n_kwclass == NULL) {
3781 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 925);
3782 exit(1);
3783 }
3784 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AAbstractClasskind> */
3785 if (var_n_kwclass == NULL) {
3786 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 926);
3787 exit(1);
3788 } else {
3789 ((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>*/;
3790 }
3791 RET_LABEL:;
3792 }
3793 /* method parser_prod#AAbstractClasskind#init_aabstractclasskind for (self: Object, nullable TKwabstract, nullable TKwclass) */
3794 void VIRTUAL_parser_prod__AAbstractClasskind__init_aabstractclasskind(val* self, val* p0, val* p1) {
3795 parser_prod__AAbstractClasskind__init_aabstractclasskind(self, p0, p1);
3796 RET_LABEL:;
3797 }
3798 /* method parser_prod#AAbstractClasskind#replace_child for (self: AAbstractClasskind, ANode, nullable ANode) */
3799 void parser_prod__AAbstractClasskind__replace_child(val* self, val* p0, val* p1) {
3800 val* var_old_child /* var old_child: ANode */;
3801 val* var_new_child /* var new_child: nullable ANode */;
3802 val* var /* : TKwabstract */;
3803 short int var1 /* : Bool */;
3804 val* var2 /* : null */;
3805 short int var3 /* : Bool */;
3806 short int var4 /* : Bool */;
3807 int cltype;
3808 int idtype;
3809 val* var5 /* : TKwclass */;
3810 short int var6 /* : Bool */;
3811 val* var7 /* : null */;
3812 short int var8 /* : Bool */;
3813 short int var9 /* : Bool */;
3814 int cltype10;
3815 int idtype11;
3816 var_old_child = p0;
3817 var_new_child = p1;
3818 var = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on <self:AAbstractClasskind> */
3819 if (var == NULL) {
3820 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwabstract", "src/parser/parser_prod.nit", 931);
3821 exit(1);
3822 }
3823 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwabstract>*/;
3824 if (var1){
3825 var2 = NULL;
3826 if (var_new_child == NULL) {
3827 var3 = 0; /* is null */
3828 } else {
3829 var3 = 1; /* arg is null and recv is not */
3830 }
3831 if (var3){
3832 ((void (*)(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)>*/;
3833 /* <var_new_child:nullable ANode(ANode)> isa TKwabstract */
3834 cltype = type_parser_nodes__TKwabstract.color;
3835 idtype = type_parser_nodes__TKwabstract.id;
3836 if(cltype >= var_new_child->type->table_size) {
3837 var4 = 0;
3838 } else {
3839 var4 = var_new_child->type->type_table[cltype] == idtype;
3840 }
3841 if (!var4) {
3842 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 934);
3843 exit(1);
3844 }
3845 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_new_child; /* _n_kwabstract on <self:AAbstractClasskind> */
3846 } else {
3847 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 937);
3848 exit(1);
3849 }
3850 goto RET_LABEL;
3851 } else {
3852 }
3853 var5 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on <self:AAbstractClasskind> */
3854 if (var5 == NULL) {
3855 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 941);
3856 exit(1);
3857 }
3858 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TKwclass>*/;
3859 if (var6){
3860 var7 = NULL;
3861 if (var_new_child == NULL) {
3862 var8 = 0; /* is null */
3863 } else {
3864 var8 = 1; /* arg is null and recv is not */
3865 }
3866 if (var8){
3867 ((void (*)(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)>*/;
3868 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
3869 cltype10 = type_parser_nodes__TKwclass.color;
3870 idtype11 = type_parser_nodes__TKwclass.id;
3871 if(cltype10 >= var_new_child->type->table_size) {
3872 var9 = 0;
3873 } else {
3874 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3875 }
3876 if (!var9) {
3877 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 944);
3878 exit(1);
3879 }
3880 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AAbstractClasskind> */
3881 } else {
3882 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 947);
3883 exit(1);
3884 }
3885 goto RET_LABEL;
3886 } else {
3887 }
3888 RET_LABEL:;
3889 }
3890 /* method parser_prod#AAbstractClasskind#replace_child for (self: Object, ANode, nullable ANode) */
3891 void VIRTUAL_parser_prod__AAbstractClasskind__replace_child(val* self, val* p0, val* p1) {
3892 parser_prod__AAbstractClasskind__replace_child(self, p0, p1);
3893 RET_LABEL:;
3894 }
3895 /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: AAbstractClasskind, TKwabstract) */
3896 void parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) {
3897 val* var_node /* var node: TKwabstract */;
3898 var_node = p0;
3899 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val = var_node; /* _n_kwabstract on <self:AAbstractClasskind> */
3900 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwabstract>*/;
3901 RET_LABEL:;
3902 }
3903 /* method parser_prod#AAbstractClasskind#n_kwabstract= for (self: Object, TKwabstract) */
3904 void VIRTUAL_parser_prod__AAbstractClasskind__n_kwabstract_61d(val* self, val* p0) {
3905 parser_prod__AAbstractClasskind__n_kwabstract_61d(self, p0);
3906 RET_LABEL:;
3907 }
3908 /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: AAbstractClasskind, TKwclass) */
3909 void parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) {
3910 val* var_node /* var node: TKwclass */;
3911 var_node = p0;
3912 self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AAbstractClasskind> */
3913 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwclass>*/;
3914 RET_LABEL:;
3915 }
3916 /* method parser_prod#AAbstractClasskind#n_kwclass= for (self: Object, TKwclass) */
3917 void VIRTUAL_parser_prod__AAbstractClasskind__n_kwclass_61d(val* self, val* p0) {
3918 parser_prod__AAbstractClasskind__n_kwclass_61d(self, p0);
3919 RET_LABEL:;
3920 }
3921 /* method parser_prod#AAbstractClasskind#visit_all for (self: AAbstractClasskind, Visitor) */
3922 void parser_prod__AAbstractClasskind__visit_all(val* self, val* p0) {
3923 val* var_v /* var v: Visitor */;
3924 val* var /* : TKwabstract */;
3925 val* var1 /* : TKwclass */;
3926 var_v = p0;
3927 var = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwabstract].val; /* _n_kwabstract on <self:AAbstractClasskind> */
3928 if (var == NULL) {
3929 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwabstract", "src/parser/parser_prod.nit", 967);
3930 exit(1);
3931 }
3932 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3933 var1 = self->attrs[COLOR_parser_nodes__AAbstractClasskind___n_kwclass].val; /* _n_kwclass on <self:AAbstractClasskind> */
3934 if (var1 == NULL) {
3935 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwclass", "src/parser/parser_prod.nit", 968);
3936 exit(1);
3937 }
3938 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3939 RET_LABEL:;
3940 }
3941 /* method parser_prod#AAbstractClasskind#visit_all for (self: Object, Visitor) */
3942 void VIRTUAL_parser_prod__AAbstractClasskind__visit_all(val* self, val* p0) {
3943 parser_prod__AAbstractClasskind__visit_all(self, p0);
3944 RET_LABEL:;
3945 }
3946 /* method parser_prod#AInterfaceClasskind#empty_init for (self: AInterfaceClasskind) */
3947 void parser_prod__AInterfaceClasskind__empty_init(val* self) {
3948 RET_LABEL:;
3949 }
3950 /* method parser_prod#AInterfaceClasskind#empty_init for (self: Object) */
3951 void VIRTUAL_parser_prod__AInterfaceClasskind__empty_init(val* self) {
3952 parser_prod__AInterfaceClasskind__empty_init(self);
3953 RET_LABEL:;
3954 }
3955 /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: AInterfaceClasskind, nullable TKwinterface) */
3956 void parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) {
3957 val* var_n_kwinterface /* var n_kwinterface: nullable TKwinterface */;
3958 var_n_kwinterface = p0;
3959 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInterfaceClasskind__empty_init]))(self) /* empty_init on <self:AInterfaceClasskind>*/;
3960 if (var_n_kwinterface == NULL) {
3961 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 979);
3962 exit(1);
3963 }
3964 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_n_kwinterface; /* _n_kwinterface on <self:AInterfaceClasskind> */
3965 if (var_n_kwinterface == NULL) {
3966 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 980);
3967 exit(1);
3968 } else {
3969 ((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>*/;
3970 }
3971 RET_LABEL:;
3972 }
3973 /* method parser_prod#AInterfaceClasskind#init_ainterfaceclasskind for (self: Object, nullable TKwinterface) */
3974 void VIRTUAL_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(val* self, val* p0) {
3975 parser_prod__AInterfaceClasskind__init_ainterfaceclasskind(self, p0);
3976 RET_LABEL:;
3977 }
3978 /* method parser_prod#AInterfaceClasskind#replace_child for (self: AInterfaceClasskind, ANode, nullable ANode) */
3979 void parser_prod__AInterfaceClasskind__replace_child(val* self, val* p0, val* p1) {
3980 val* var_old_child /* var old_child: ANode */;
3981 val* var_new_child /* var new_child: nullable ANode */;
3982 val* var /* : TKwinterface */;
3983 short int var1 /* : Bool */;
3984 val* var2 /* : null */;
3985 short int var3 /* : Bool */;
3986 short int var4 /* : Bool */;
3987 int cltype;
3988 int idtype;
3989 var_old_child = p0;
3990 var_new_child = p1;
3991 var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on <self:AInterfaceClasskind> */
3992 if (var == NULL) {
3993 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinterface", "src/parser/parser_prod.nit", 985);
3994 exit(1);
3995 }
3996 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwinterface>*/;
3997 if (var1){
3998 var2 = NULL;
3999 if (var_new_child == NULL) {
4000 var3 = 0; /* is null */
4001 } else {
4002 var3 = 1; /* arg is null and recv is not */
4003 }
4004 if (var3){
4005 ((void (*)(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)>*/;
4006 /* <var_new_child:nullable ANode(ANode)> isa TKwinterface */
4007 cltype = type_parser_nodes__TKwinterface.color;
4008 idtype = type_parser_nodes__TKwinterface.id;
4009 if(cltype >= var_new_child->type->table_size) {
4010 var4 = 0;
4011 } else {
4012 var4 = var_new_child->type->type_table[cltype] == idtype;
4013 }
4014 if (!var4) {
4015 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 988);
4016 exit(1);
4017 }
4018 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_new_child; /* _n_kwinterface on <self:AInterfaceClasskind> */
4019 } else {
4020 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 991);
4021 exit(1);
4022 }
4023 goto RET_LABEL;
4024 } else {
4025 }
4026 RET_LABEL:;
4027 }
4028 /* method parser_prod#AInterfaceClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4029 void VIRTUAL_parser_prod__AInterfaceClasskind__replace_child(val* self, val* p0, val* p1) {
4030 parser_prod__AInterfaceClasskind__replace_child(self, p0, p1);
4031 RET_LABEL:;
4032 }
4033 /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: AInterfaceClasskind, TKwinterface) */
4034 void parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) {
4035 val* var_node /* var node: TKwinterface */;
4036 var_node = p0;
4037 self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val = var_node; /* _n_kwinterface on <self:AInterfaceClasskind> */
4038 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwinterface>*/;
4039 RET_LABEL:;
4040 }
4041 /* method parser_prod#AInterfaceClasskind#n_kwinterface= for (self: Object, TKwinterface) */
4042 void VIRTUAL_parser_prod__AInterfaceClasskind__n_kwinterface_61d(val* self, val* p0) {
4043 parser_prod__AInterfaceClasskind__n_kwinterface_61d(self, p0);
4044 RET_LABEL:;
4045 }
4046 /* method parser_prod#AInterfaceClasskind#visit_all for (self: AInterfaceClasskind, Visitor) */
4047 void parser_prod__AInterfaceClasskind__visit_all(val* self, val* p0) {
4048 val* var_v /* var v: Visitor */;
4049 val* var /* : TKwinterface */;
4050 var_v = p0;
4051 var = self->attrs[COLOR_parser_nodes__AInterfaceClasskind___n_kwinterface].val; /* _n_kwinterface on <self:AInterfaceClasskind> */
4052 if (var == NULL) {
4053 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinterface", "src/parser/parser_prod.nit", 1006);
4054 exit(1);
4055 }
4056 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4057 RET_LABEL:;
4058 }
4059 /* method parser_prod#AInterfaceClasskind#visit_all for (self: Object, Visitor) */
4060 void VIRTUAL_parser_prod__AInterfaceClasskind__visit_all(val* self, val* p0) {
4061 parser_prod__AInterfaceClasskind__visit_all(self, p0);
4062 RET_LABEL:;
4063 }
4064 /* method parser_prod#AEnumClasskind#empty_init for (self: AEnumClasskind) */
4065 void parser_prod__AEnumClasskind__empty_init(val* self) {
4066 RET_LABEL:;
4067 }
4068 /* method parser_prod#AEnumClasskind#empty_init for (self: Object) */
4069 void VIRTUAL_parser_prod__AEnumClasskind__empty_init(val* self) {
4070 parser_prod__AEnumClasskind__empty_init(self);
4071 RET_LABEL:;
4072 }
4073 /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: AEnumClasskind, nullable TKwenum) */
4074 void parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) {
4075 val* var_n_kwenum /* var n_kwenum: nullable TKwenum */;
4076 var_n_kwenum = p0;
4077 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEnumClasskind__empty_init]))(self) /* empty_init on <self:AEnumClasskind>*/;
4078 if (var_n_kwenum == NULL) {
4079 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1017);
4080 exit(1);
4081 }
4082 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_n_kwenum; /* _n_kwenum on <self:AEnumClasskind> */
4083 if (var_n_kwenum == NULL) {
4084 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1018);
4085 exit(1);
4086 } else {
4087 ((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>*/;
4088 }
4089 RET_LABEL:;
4090 }
4091 /* method parser_prod#AEnumClasskind#init_aenumclasskind for (self: Object, nullable TKwenum) */
4092 void VIRTUAL_parser_prod__AEnumClasskind__init_aenumclasskind(val* self, val* p0) {
4093 parser_prod__AEnumClasskind__init_aenumclasskind(self, p0);
4094 RET_LABEL:;
4095 }
4096 /* method parser_prod#AEnumClasskind#replace_child for (self: AEnumClasskind, ANode, nullable ANode) */
4097 void parser_prod__AEnumClasskind__replace_child(val* self, val* p0, val* p1) {
4098 val* var_old_child /* var old_child: ANode */;
4099 val* var_new_child /* var new_child: nullable ANode */;
4100 val* var /* : TKwenum */;
4101 short int var1 /* : Bool */;
4102 val* var2 /* : null */;
4103 short int var3 /* : Bool */;
4104 short int var4 /* : Bool */;
4105 int cltype;
4106 int idtype;
4107 var_old_child = p0;
4108 var_new_child = p1;
4109 var = self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val; /* _n_kwenum on <self:AEnumClasskind> */
4110 if (var == NULL) {
4111 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwenum", "src/parser/parser_prod.nit", 1023);
4112 exit(1);
4113 }
4114 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwenum>*/;
4115 if (var1){
4116 var2 = NULL;
4117 if (var_new_child == NULL) {
4118 var3 = 0; /* is null */
4119 } else {
4120 var3 = 1; /* arg is null and recv is not */
4121 }
4122 if (var3){
4123 ((void (*)(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)>*/;
4124 /* <var_new_child:nullable ANode(ANode)> isa TKwenum */
4125 cltype = type_parser_nodes__TKwenum.color;
4126 idtype = type_parser_nodes__TKwenum.id;
4127 if(cltype >= var_new_child->type->table_size) {
4128 var4 = 0;
4129 } else {
4130 var4 = var_new_child->type->type_table[cltype] == idtype;
4131 }
4132 if (!var4) {
4133 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1026);
4134 exit(1);
4135 }
4136 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_new_child; /* _n_kwenum on <self:AEnumClasskind> */
4137 } else {
4138 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1029);
4139 exit(1);
4140 }
4141 goto RET_LABEL;
4142 } else {
4143 }
4144 RET_LABEL:;
4145 }
4146 /* method parser_prod#AEnumClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4147 void VIRTUAL_parser_prod__AEnumClasskind__replace_child(val* self, val* p0, val* p1) {
4148 parser_prod__AEnumClasskind__replace_child(self, p0, p1);
4149 RET_LABEL:;
4150 }
4151 /* method parser_prod#AEnumClasskind#n_kwenum= for (self: AEnumClasskind, TKwenum) */
4152 void parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) {
4153 val* var_node /* var node: TKwenum */;
4154 var_node = p0;
4155 self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val = var_node; /* _n_kwenum on <self:AEnumClasskind> */
4156 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwenum>*/;
4157 RET_LABEL:;
4158 }
4159 /* method parser_prod#AEnumClasskind#n_kwenum= for (self: Object, TKwenum) */
4160 void VIRTUAL_parser_prod__AEnumClasskind__n_kwenum_61d(val* self, val* p0) {
4161 parser_prod__AEnumClasskind__n_kwenum_61d(self, p0);
4162 RET_LABEL:;
4163 }
4164 /* method parser_prod#AEnumClasskind#visit_all for (self: AEnumClasskind, Visitor) */
4165 void parser_prod__AEnumClasskind__visit_all(val* self, val* p0) {
4166 val* var_v /* var v: Visitor */;
4167 val* var /* : TKwenum */;
4168 var_v = p0;
4169 var = self->attrs[COLOR_parser_nodes__AEnumClasskind___n_kwenum].val; /* _n_kwenum on <self:AEnumClasskind> */
4170 if (var == NULL) {
4171 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwenum", "src/parser/parser_prod.nit", 1044);
4172 exit(1);
4173 }
4174 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4175 RET_LABEL:;
4176 }
4177 /* method parser_prod#AEnumClasskind#visit_all for (self: Object, Visitor) */
4178 void VIRTUAL_parser_prod__AEnumClasskind__visit_all(val* self, val* p0) {
4179 parser_prod__AEnumClasskind__visit_all(self, p0);
4180 RET_LABEL:;
4181 }
4182 /* method parser_prod#AExternClasskind#empty_init for (self: AExternClasskind) */
4183 void parser_prod__AExternClasskind__empty_init(val* self) {
4184 RET_LABEL:;
4185 }
4186 /* method parser_prod#AExternClasskind#empty_init for (self: Object) */
4187 void VIRTUAL_parser_prod__AExternClasskind__empty_init(val* self) {
4188 parser_prod__AExternClasskind__empty_init(self);
4189 RET_LABEL:;
4190 }
4191 /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: AExternClasskind, nullable TKwextern, nullable TKwclass) */
4192 void parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, val* p1) {
4193 val* var_n_kwextern /* var n_kwextern: nullable TKwextern */;
4194 val* var_n_kwclass /* var n_kwclass: nullable TKwclass */;
4195 val* var /* : null */;
4196 short int var1 /* : Bool */;
4197 var_n_kwextern = p0;
4198 var_n_kwclass = p1;
4199 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternClasskind__empty_init]))(self) /* empty_init on <self:AExternClasskind>*/;
4200 if (var_n_kwextern == NULL) {
4201 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1056);
4202 exit(1);
4203 }
4204 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_n_kwextern; /* _n_kwextern on <self:AExternClasskind> */
4205 if (var_n_kwextern == NULL) {
4206 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1057);
4207 exit(1);
4208 } else {
4209 ((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>*/;
4210 }
4211 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_n_kwclass; /* _n_kwclass on <self:AExternClasskind> */
4212 var = NULL;
4213 if (var_n_kwclass == NULL) {
4214 var1 = 0; /* is null */
4215 } else {
4216 var1 = 1; /* arg is null and recv is not */
4217 }
4218 if (var1){
4219 ((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)>*/;
4220 } else {
4221 }
4222 RET_LABEL:;
4223 }
4224 /* method parser_prod#AExternClasskind#init_aexternclasskind for (self: Object, nullable TKwextern, nullable TKwclass) */
4225 void VIRTUAL_parser_prod__AExternClasskind__init_aexternclasskind(val* self, val* p0, val* p1) {
4226 parser_prod__AExternClasskind__init_aexternclasskind(self, p0, p1);
4227 RET_LABEL:;
4228 }
4229 /* method parser_prod#AExternClasskind#replace_child for (self: AExternClasskind, ANode, nullable ANode) */
4230 void parser_prod__AExternClasskind__replace_child(val* self, val* p0, val* p1) {
4231 val* var_old_child /* var old_child: ANode */;
4232 val* var_new_child /* var new_child: nullable ANode */;
4233 val* var /* : TKwextern */;
4234 short int var1 /* : Bool */;
4235 val* var2 /* : null */;
4236 short int var3 /* : Bool */;
4237 short int var4 /* : Bool */;
4238 int cltype;
4239 int idtype;
4240 val* var5 /* : nullable TKwclass */;
4241 short int var6 /* : Bool */;
4242 val* var7 /* : null */;
4243 short int var8 /* : Bool */;
4244 short int var9 /* : Bool */;
4245 int cltype10;
4246 int idtype11;
4247 val* var12 /* : null */;
4248 var_old_child = p0;
4249 var_new_child = p1;
4250 var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on <self:AExternClasskind> */
4251 if (var == NULL) {
4252 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwextern", "src/parser/parser_prod.nit", 1066);
4253 exit(1);
4254 }
4255 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwextern>*/;
4256 if (var1){
4257 var2 = NULL;
4258 if (var_new_child == NULL) {
4259 var3 = 0; /* is null */
4260 } else {
4261 var3 = 1; /* arg is null and recv is not */
4262 }
4263 if (var3){
4264 ((void (*)(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)>*/;
4265 /* <var_new_child:nullable ANode(ANode)> isa TKwextern */
4266 cltype = type_parser_nodes__TKwextern.color;
4267 idtype = type_parser_nodes__TKwextern.id;
4268 if(cltype >= var_new_child->type->table_size) {
4269 var4 = 0;
4270 } else {
4271 var4 = var_new_child->type->type_table[cltype] == idtype;
4272 }
4273 if (!var4) {
4274 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1069);
4275 exit(1);
4276 }
4277 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_new_child; /* _n_kwextern on <self:AExternClasskind> */
4278 } else {
4279 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1072);
4280 exit(1);
4281 }
4282 goto RET_LABEL;
4283 } else {
4284 }
4285 var5 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4286 if (var5 == NULL) {
4287 var6 = 0; /* <var_old_child:ANode> cannot be null */
4288 } else {
4289 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TKwclass>*/;
4290 }
4291 if (var6){
4292 var7 = NULL;
4293 if (var_new_child == NULL) {
4294 var8 = 0; /* is null */
4295 } else {
4296 var8 = 1; /* arg is null and recv is not */
4297 }
4298 if (var8){
4299 ((void (*)(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)>*/;
4300 /* <var_new_child:nullable ANode(ANode)> isa TKwclass */
4301 cltype10 = type_parser_nodes__TKwclass.color;
4302 idtype11 = type_parser_nodes__TKwclass.id;
4303 if(cltype10 >= var_new_child->type->table_size) {
4304 var9 = 0;
4305 } else {
4306 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4307 }
4308 if (!var9) {
4309 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1079);
4310 exit(1);
4311 }
4312 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_new_child; /* _n_kwclass on <self:AExternClasskind> */
4313 } else {
4314 var12 = NULL;
4315 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var12; /* _n_kwclass on <self:AExternClasskind> */
4316 }
4317 goto RET_LABEL;
4318 } else {
4319 }
4320 RET_LABEL:;
4321 }
4322 /* method parser_prod#AExternClasskind#replace_child for (self: Object, ANode, nullable ANode) */
4323 void VIRTUAL_parser_prod__AExternClasskind__replace_child(val* self, val* p0, val* p1) {
4324 parser_prod__AExternClasskind__replace_child(self, p0, p1);
4325 RET_LABEL:;
4326 }
4327 /* method parser_prod#AExternClasskind#n_kwextern= for (self: AExternClasskind, TKwextern) */
4328 void parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) {
4329 val* var_node /* var node: TKwextern */;
4330 var_node = p0;
4331 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val = var_node; /* _n_kwextern on <self:AExternClasskind> */
4332 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwextern>*/;
4333 RET_LABEL:;
4334 }
4335 /* method parser_prod#AExternClasskind#n_kwextern= for (self: Object, TKwextern) */
4336 void VIRTUAL_parser_prod__AExternClasskind__n_kwextern_61d(val* self, val* p0) {
4337 parser_prod__AExternClasskind__n_kwextern_61d(self, p0);
4338 RET_LABEL:;
4339 }
4340 /* method parser_prod#AExternClasskind#n_kwclass= for (self: AExternClasskind, nullable TKwclass) */
4341 void parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) {
4342 val* var_node /* var node: nullable TKwclass */;
4343 val* var /* : null */;
4344 short int var1 /* : Bool */;
4345 var_node = p0;
4346 self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val = var_node; /* _n_kwclass on <self:AExternClasskind> */
4347 var = NULL;
4348 if (var_node == NULL) {
4349 var1 = 0; /* is null */
4350 } else {
4351 var1 = 1; /* arg is null and recv is not */
4352 }
4353 if (var1){
4354 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwclass(TKwclass)>*/;
4355 } else {
4356 }
4357 RET_LABEL:;
4358 }
4359 /* method parser_prod#AExternClasskind#n_kwclass= for (self: Object, nullable TKwclass) */
4360 void VIRTUAL_parser_prod__AExternClasskind__n_kwclass_61d(val* self, val* p0) {
4361 parser_prod__AExternClasskind__n_kwclass_61d(self, p0);
4362 RET_LABEL:;
4363 }
4364 /* method parser_prod#AExternClasskind#visit_all for (self: AExternClasskind, Visitor) */
4365 void parser_prod__AExternClasskind__visit_all(val* self, val* p0) {
4366 val* var_v /* var v: Visitor */;
4367 val* var /* : TKwextern */;
4368 val* var1 /* : nullable TKwclass */;
4369 val* var2 /* : null */;
4370 short int var3 /* : Bool */;
4371 val* var4 /* : nullable TKwclass */;
4372 var_v = p0;
4373 var = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwextern].val; /* _n_kwextern on <self:AExternClasskind> */
4374 if (var == NULL) {
4375 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwextern", "src/parser/parser_prod.nit", 1104);
4376 exit(1);
4377 }
4378 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4379 var1 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4380 var2 = NULL;
4381 if (var1 == NULL) {
4382 var3 = 0; /* is null */
4383 } else {
4384 var3 = 1; /* arg is null and recv is not */
4385 }
4386 if (var3){
4387 var4 = self->attrs[COLOR_parser_nodes__AExternClasskind___n_kwclass].val; /* _n_kwclass on <self:AExternClasskind> */
4388 if (var4 == NULL) {
4389 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1106);
4390 exit(1);
4391 }
4392 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4393 } else {
4394 }
4395 RET_LABEL:;
4396 }
4397 /* method parser_prod#AExternClasskind#visit_all for (self: Object, Visitor) */
4398 void VIRTUAL_parser_prod__AExternClasskind__visit_all(val* self, val* p0) {
4399 parser_prod__AExternClasskind__visit_all(self, p0);
4400 RET_LABEL:;
4401 }
4402 /* method parser_prod#AFormaldef#empty_init for (self: AFormaldef) */
4403 void parser_prod__AFormaldef__empty_init(val* self) {
4404 RET_LABEL:;
4405 }
4406 /* method parser_prod#AFormaldef#empty_init for (self: Object) */
4407 void VIRTUAL_parser_prod__AFormaldef__empty_init(val* self) {
4408 parser_prod__AFormaldef__empty_init(self);
4409 RET_LABEL:;
4410 }
4411 /* method parser_prod#AFormaldef#init_aformaldef for (self: AFormaldef, nullable TClassid, nullable AType, nullable AAnnotations) */
4412 void parser_prod__AFormaldef__init_aformaldef(val* self, val* p0, val* p1, val* p2) {
4413 val* var_n_id /* var n_id: nullable TClassid */;
4414 val* var_n_type /* var n_type: nullable AType */;
4415 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4416 val* var /* : null */;
4417 short int var1 /* : Bool */;
4418 val* var2 /* : null */;
4419 short int var3 /* : Bool */;
4420 var_n_id = p0;
4421 var_n_type = p1;
4422 var_n_annotations = p2;
4423 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AFormaldef__empty_init]))(self) /* empty_init on <self:AFormaldef>*/;
4424 if (var_n_id == NULL) {
4425 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1120);
4426 exit(1);
4427 }
4428 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_n_id; /* _n_id on <self:AFormaldef> */
4429 if (var_n_id == NULL) {
4430 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1121);
4431 exit(1);
4432 } else {
4433 ((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>*/;
4434 }
4435 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_n_type; /* _n_type on <self:AFormaldef> */
4436 var = NULL;
4437 if (var_n_type == NULL) {
4438 var1 = 0; /* is null */
4439 } else {
4440 var1 = 1; /* arg is null and recv is not */
4441 }
4442 if (var1){
4443 ((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)>*/;
4444 } else {
4445 }
4446 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AFormaldef> */
4447 var2 = NULL;
4448 if (var_n_annotations == NULL) {
4449 var3 = 0; /* is null */
4450 } else {
4451 var3 = 1; /* arg is null and recv is not */
4452 }
4453 if (var3){
4454 ((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)>*/;
4455 } else {
4456 }
4457 RET_LABEL:;
4458 }
4459 /* method parser_prod#AFormaldef#init_aformaldef for (self: Object, nullable TClassid, nullable AType, nullable AAnnotations) */
4460 void VIRTUAL_parser_prod__AFormaldef__init_aformaldef(val* self, val* p0, val* p1, val* p2) {
4461 parser_prod__AFormaldef__init_aformaldef(self, p0, p1, p2);
4462 RET_LABEL:;
4463 }
4464 /* method parser_prod#AFormaldef#replace_child for (self: AFormaldef, ANode, nullable ANode) */
4465 void parser_prod__AFormaldef__replace_child(val* self, val* p0, val* p1) {
4466 val* var_old_child /* var old_child: ANode */;
4467 val* var_new_child /* var new_child: nullable ANode */;
4468 val* var /* : TClassid */;
4469 short int var1 /* : Bool */;
4470 val* var2 /* : null */;
4471 short int var3 /* : Bool */;
4472 short int var4 /* : Bool */;
4473 int cltype;
4474 int idtype;
4475 val* var5 /* : nullable AType */;
4476 short int var6 /* : Bool */;
4477 val* var7 /* : null */;
4478 short int var8 /* : Bool */;
4479 short int var9 /* : Bool */;
4480 int cltype10;
4481 int idtype11;
4482 val* var12 /* : null */;
4483 val* var13 /* : nullable AAnnotations */;
4484 short int var14 /* : Bool */;
4485 val* var15 /* : null */;
4486 short int var16 /* : Bool */;
4487 short int var17 /* : Bool */;
4488 int cltype18;
4489 int idtype19;
4490 val* var20 /* : null */;
4491 var_old_child = p0;
4492 var_new_child = p1;
4493 var = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on <self:AFormaldef> */
4494 if (var == NULL) {
4495 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 1134);
4496 exit(1);
4497 }
4498 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TClassid>*/;
4499 if (var1){
4500 var2 = NULL;
4501 if (var_new_child == NULL) {
4502 var3 = 0; /* is null */
4503 } else {
4504 var3 = 1; /* arg is null and recv is not */
4505 }
4506 if (var3){
4507 ((void (*)(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)>*/;
4508 /* <var_new_child:nullable ANode(ANode)> isa TClassid */
4509 cltype = type_parser_nodes__TClassid.color;
4510 idtype = type_parser_nodes__TClassid.id;
4511 if(cltype >= var_new_child->type->table_size) {
4512 var4 = 0;
4513 } else {
4514 var4 = var_new_child->type->type_table[cltype] == idtype;
4515 }
4516 if (!var4) {
4517 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1137);
4518 exit(1);
4519 }
4520 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_new_child; /* _n_id on <self:AFormaldef> */
4521 } else {
4522 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1140);
4523 exit(1);
4524 }
4525 goto RET_LABEL;
4526 } else {
4527 }
4528 var5 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4529 if (var5 == NULL) {
4530 var6 = 0; /* <var_old_child:ANode> cannot be null */
4531 } else {
4532 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AType>*/;
4533 }
4534 if (var6){
4535 var7 = NULL;
4536 if (var_new_child == NULL) {
4537 var8 = 0; /* is null */
4538 } else {
4539 var8 = 1; /* arg is null and recv is not */
4540 }
4541 if (var8){
4542 ((void (*)(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)>*/;
4543 /* <var_new_child:nullable ANode(ANode)> isa AType */
4544 cltype10 = type_parser_nodes__AType.color;
4545 idtype11 = type_parser_nodes__AType.id;
4546 if(cltype10 >= var_new_child->type->table_size) {
4547 var9 = 0;
4548 } else {
4549 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4550 }
4551 if (!var9) {
4552 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1147);
4553 exit(1);
4554 }
4555 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_new_child; /* _n_type on <self:AFormaldef> */
4556 } else {
4557 var12 = NULL;
4558 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var12; /* _n_type on <self:AFormaldef> */
4559 }
4560 goto RET_LABEL;
4561 } else {
4562 }
4563 var13 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4564 if (var13 == NULL) {
4565 var14 = 0; /* <var_old_child:ANode> cannot be null */
4566 } else {
4567 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:nullable AAnnotations>*/;
4568 }
4569 if (var14){
4570 var15 = NULL;
4571 if (var_new_child == NULL) {
4572 var16 = 0; /* is null */
4573 } else {
4574 var16 = 1; /* arg is null and recv is not */
4575 }
4576 if (var16){
4577 ((void (*)(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)>*/;
4578 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4579 cltype18 = type_parser_nodes__AAnnotations.color;
4580 idtype19 = type_parser_nodes__AAnnotations.id;
4581 if(cltype18 >= var_new_child->type->table_size) {
4582 var17 = 0;
4583 } else {
4584 var17 = var_new_child->type->type_table[cltype18] == idtype19;
4585 }
4586 if (!var17) {
4587 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1157);
4588 exit(1);
4589 }
4590 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AFormaldef> */
4591 } else {
4592 var20 = NULL;
4593 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var20; /* _n_annotations on <self:AFormaldef> */
4594 }
4595 goto RET_LABEL;
4596 } else {
4597 }
4598 RET_LABEL:;
4599 }
4600 /* method parser_prod#AFormaldef#replace_child for (self: Object, ANode, nullable ANode) */
4601 void VIRTUAL_parser_prod__AFormaldef__replace_child(val* self, val* p0, val* p1) {
4602 parser_prod__AFormaldef__replace_child(self, p0, p1);
4603 RET_LABEL:;
4604 }
4605 /* method parser_prod#AFormaldef#n_id= for (self: AFormaldef, TClassid) */
4606 void parser_prod__AFormaldef__n_id_61d(val* self, val* p0) {
4607 val* var_node /* var node: TClassid */;
4608 var_node = p0;
4609 self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val = var_node; /* _n_id on <self:AFormaldef> */
4610 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TClassid>*/;
4611 RET_LABEL:;
4612 }
4613 /* method parser_prod#AFormaldef#n_id= for (self: Object, TClassid) */
4614 void VIRTUAL_parser_prod__AFormaldef__n_id_61d(val* self, val* p0) {
4615 parser_prod__AFormaldef__n_id_61d(self, p0);
4616 RET_LABEL:;
4617 }
4618 /* method parser_prod#AFormaldef#n_type= for (self: AFormaldef, nullable AType) */
4619 void parser_prod__AFormaldef__n_type_61d(val* self, val* p0) {
4620 val* var_node /* var node: nullable AType */;
4621 val* var /* : null */;
4622 short int var1 /* : Bool */;
4623 var_node = p0;
4624 self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val = var_node; /* _n_type on <self:AFormaldef> */
4625 var = NULL;
4626 if (var_node == NULL) {
4627 var1 = 0; /* is null */
4628 } else {
4629 var1 = 1; /* arg is null and recv is not */
4630 }
4631 if (var1){
4632 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AType(AType)>*/;
4633 } else {
4634 }
4635 RET_LABEL:;
4636 }
4637 /* method parser_prod#AFormaldef#n_type= for (self: Object, nullable AType) */
4638 void VIRTUAL_parser_prod__AFormaldef__n_type_61d(val* self, val* p0) {
4639 parser_prod__AFormaldef__n_type_61d(self, p0);
4640 RET_LABEL:;
4641 }
4642 /* method parser_prod#AFormaldef#n_annotations= for (self: AFormaldef, nullable AAnnotations) */
4643 void parser_prod__AFormaldef__n_annotations_61d(val* self, val* p0) {
4644 val* var_node /* var node: nullable AAnnotations */;
4645 val* var /* : null */;
4646 short int var1 /* : Bool */;
4647 var_node = p0;
4648 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AFormaldef> */
4649 var = NULL;
4650 if (var_node == NULL) {
4651 var1 = 0; /* is null */
4652 } else {
4653 var1 = 1; /* arg is null and recv is not */
4654 }
4655 if (var1){
4656 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4657 } else {
4658 }
4659 RET_LABEL:;
4660 }
4661 /* method parser_prod#AFormaldef#n_annotations= for (self: Object, nullable AAnnotations) */
4662 void VIRTUAL_parser_prod__AFormaldef__n_annotations_61d(val* self, val* p0) {
4663 parser_prod__AFormaldef__n_annotations_61d(self, p0);
4664 RET_LABEL:;
4665 }
4666 /* method parser_prod#AFormaldef#visit_all for (self: AFormaldef, Visitor) */
4667 void parser_prod__AFormaldef__visit_all(val* self, val* p0) {
4668 val* var_v /* var v: Visitor */;
4669 val* var /* : TClassid */;
4670 val* var1 /* : nullable AType */;
4671 val* var2 /* : null */;
4672 short int var3 /* : Bool */;
4673 val* var4 /* : nullable AType */;
4674 val* var5 /* : nullable AAnnotations */;
4675 val* var6 /* : null */;
4676 short int var7 /* : Bool */;
4677 val* var8 /* : nullable AAnnotations */;
4678 var_v = p0;
4679 var = self->attrs[COLOR_parser_nodes__AFormaldef___n_id].val; /* _n_id on <self:AFormaldef> */
4680 if (var == NULL) {
4681 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_id", "src/parser/parser_prod.nit", 1189);
4682 exit(1);
4683 }
4684 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4685 var1 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4686 var2 = NULL;
4687 if (var1 == NULL) {
4688 var3 = 0; /* is null */
4689 } else {
4690 var3 = 1; /* arg is null and recv is not */
4691 }
4692 if (var3){
4693 var4 = self->attrs[COLOR_parser_nodes__AFormaldef___n_type].val; /* _n_type on <self:AFormaldef> */
4694 if (var4 == NULL) {
4695 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1191);
4696 exit(1);
4697 }
4698 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
4699 } else {
4700 }
4701 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4702 var6 = NULL;
4703 if (var5 == NULL) {
4704 var7 = 0; /* is null */
4705 } else {
4706 var7 = 1; /* arg is null and recv is not */
4707 }
4708 if (var7){
4709 var8 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AFormaldef> */
4710 if (var8 == NULL) {
4711 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1194);
4712 exit(1);
4713 }
4714 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
4715 } else {
4716 }
4717 RET_LABEL:;
4718 }
4719 /* method parser_prod#AFormaldef#visit_all for (self: Object, Visitor) */
4720 void VIRTUAL_parser_prod__AFormaldef__visit_all(val* self, val* p0) {
4721 parser_prod__AFormaldef__visit_all(self, p0);
4722 RET_LABEL:;
4723 }
4724 /* method parser_prod#ASuperclass#empty_init for (self: ASuperclass) */
4725 void parser_prod__ASuperclass__empty_init(val* self) {
4726 RET_LABEL:;
4727 }
4728 /* method parser_prod#ASuperclass#empty_init for (self: Object) */
4729 void VIRTUAL_parser_prod__ASuperclass__empty_init(val* self) {
4730 parser_prod__ASuperclass__empty_init(self);
4731 RET_LABEL:;
4732 }
4733 /* method parser_prod#ASuperclass#init_asuperclass for (self: ASuperclass, nullable TKwsuper, nullable AType, nullable AAnnotations) */
4734 void parser_prod__ASuperclass__init_asuperclass(val* self, val* p0, val* p1, val* p2) {
4735 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
4736 val* var_n_type /* var n_type: nullable AType */;
4737 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
4738 val* var /* : null */;
4739 short int var1 /* : Bool */;
4740 var_n_kwsuper = p0;
4741 var_n_type = p1;
4742 var_n_annotations = p2;
4743 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperclass__empty_init]))(self) /* empty_init on <self:ASuperclass>*/;
4744 if (var_n_kwsuper == NULL) {
4745 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1208);
4746 exit(1);
4747 }
4748 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperclass> */
4749 if (var_n_kwsuper == NULL) {
4750 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1209);
4751 exit(1);
4752 } else {
4753 ((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>*/;
4754 }
4755 if (var_n_type == NULL) {
4756 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1210);
4757 exit(1);
4758 }
4759 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_n_type; /* _n_type on <self:ASuperclass> */
4760 if (var_n_type == NULL) {
4761 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1211);
4762 exit(1);
4763 } else {
4764 ((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>*/;
4765 }
4766 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ASuperclass> */
4767 var = NULL;
4768 if (var_n_annotations == NULL) {
4769 var1 = 0; /* is null */
4770 } else {
4771 var1 = 1; /* arg is null and recv is not */
4772 }
4773 if (var1){
4774 ((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)>*/;
4775 } else {
4776 }
4777 RET_LABEL:;
4778 }
4779 /* method parser_prod#ASuperclass#init_asuperclass for (self: Object, nullable TKwsuper, nullable AType, nullable AAnnotations) */
4780 void VIRTUAL_parser_prod__ASuperclass__init_asuperclass(val* self, val* p0, val* p1, val* p2) {
4781 parser_prod__ASuperclass__init_asuperclass(self, p0, p1, p2);
4782 RET_LABEL:;
4783 }
4784 /* method parser_prod#ASuperclass#replace_child for (self: ASuperclass, ANode, nullable ANode) */
4785 void parser_prod__ASuperclass__replace_child(val* self, val* p0, val* p1) {
4786 val* var_old_child /* var old_child: ANode */;
4787 val* var_new_child /* var new_child: nullable ANode */;
4788 val* var /* : TKwsuper */;
4789 short int var1 /* : Bool */;
4790 val* var2 /* : null */;
4791 short int var3 /* : Bool */;
4792 short int var4 /* : Bool */;
4793 int cltype;
4794 int idtype;
4795 val* var5 /* : AType */;
4796 short int var6 /* : Bool */;
4797 val* var7 /* : null */;
4798 short int var8 /* : Bool */;
4799 short int var9 /* : Bool */;
4800 int cltype10;
4801 int idtype11;
4802 val* var12 /* : nullable AAnnotations */;
4803 short int var13 /* : Bool */;
4804 val* var14 /* : null */;
4805 short int var15 /* : Bool */;
4806 short int var16 /* : Bool */;
4807 int cltype17;
4808 int idtype18;
4809 val* var19 /* : null */;
4810 var_old_child = p0;
4811 var_new_child = p1;
4812 var = self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val; /* _n_kwsuper on <self:ASuperclass> */
4813 if (var == NULL) {
4814 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwsuper", "src/parser/parser_prod.nit", 1220);
4815 exit(1);
4816 }
4817 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwsuper>*/;
4818 if (var1){
4819 var2 = NULL;
4820 if (var_new_child == NULL) {
4821 var3 = 0; /* is null */
4822 } else {
4823 var3 = 1; /* arg is null and recv is not */
4824 }
4825 if (var3){
4826 ((void (*)(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)>*/;
4827 /* <var_new_child:nullable ANode(ANode)> isa TKwsuper */
4828 cltype = type_parser_nodes__TKwsuper.color;
4829 idtype = type_parser_nodes__TKwsuper.id;
4830 if(cltype >= var_new_child->type->table_size) {
4831 var4 = 0;
4832 } else {
4833 var4 = var_new_child->type->type_table[cltype] == idtype;
4834 }
4835 if (!var4) {
4836 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1223);
4837 exit(1);
4838 }
4839 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_new_child; /* _n_kwsuper on <self:ASuperclass> */
4840 } else {
4841 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1226);
4842 exit(1);
4843 }
4844 goto RET_LABEL;
4845 } else {
4846 }
4847 var5 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on <self:ASuperclass> */
4848 if (var5 == NULL) {
4849 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 1230);
4850 exit(1);
4851 }
4852 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
4853 if (var6){
4854 var7 = NULL;
4855 if (var_new_child == NULL) {
4856 var8 = 0; /* is null */
4857 } else {
4858 var8 = 1; /* arg is null and recv is not */
4859 }
4860 if (var8){
4861 ((void (*)(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)>*/;
4862 /* <var_new_child:nullable ANode(ANode)> isa AType */
4863 cltype10 = type_parser_nodes__AType.color;
4864 idtype11 = type_parser_nodes__AType.id;
4865 if(cltype10 >= var_new_child->type->table_size) {
4866 var9 = 0;
4867 } else {
4868 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4869 }
4870 if (!var9) {
4871 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1233);
4872 exit(1);
4873 }
4874 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_new_child; /* _n_type on <self:ASuperclass> */
4875 } else {
4876 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1236);
4877 exit(1);
4878 }
4879 goto RET_LABEL;
4880 } else {
4881 }
4882 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
4883 if (var12 == NULL) {
4884 var13 = 0; /* <var_old_child:ANode> cannot be null */
4885 } else {
4886 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable AAnnotations>*/;
4887 }
4888 if (var13){
4889 var14 = NULL;
4890 if (var_new_child == NULL) {
4891 var15 = 0; /* is null */
4892 } else {
4893 var15 = 1; /* arg is null and recv is not */
4894 }
4895 if (var15){
4896 ((void (*)(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)>*/;
4897 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
4898 cltype17 = type_parser_nodes__AAnnotations.color;
4899 idtype18 = type_parser_nodes__AAnnotations.id;
4900 if(cltype17 >= var_new_child->type->table_size) {
4901 var16 = 0;
4902 } else {
4903 var16 = var_new_child->type->type_table[cltype17] == idtype18;
4904 }
4905 if (!var16) {
4906 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1243);
4907 exit(1);
4908 }
4909 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ASuperclass> */
4910 } else {
4911 var19 = NULL;
4912 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var19; /* _n_annotations on <self:ASuperclass> */
4913 }
4914 goto RET_LABEL;
4915 } else {
4916 }
4917 RET_LABEL:;
4918 }
4919 /* method parser_prod#ASuperclass#replace_child for (self: Object, ANode, nullable ANode) */
4920 void VIRTUAL_parser_prod__ASuperclass__replace_child(val* self, val* p0, val* p1) {
4921 parser_prod__ASuperclass__replace_child(self, p0, p1);
4922 RET_LABEL:;
4923 }
4924 /* method parser_prod#ASuperclass#n_kwsuper= for (self: ASuperclass, TKwsuper) */
4925 void parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) {
4926 val* var_node /* var node: TKwsuper */;
4927 var_node = p0;
4928 self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val = var_node; /* _n_kwsuper on <self:ASuperclass> */
4929 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwsuper>*/;
4930 RET_LABEL:;
4931 }
4932 /* method parser_prod#ASuperclass#n_kwsuper= for (self: Object, TKwsuper) */
4933 void VIRTUAL_parser_prod__ASuperclass__n_kwsuper_61d(val* self, val* p0) {
4934 parser_prod__ASuperclass__n_kwsuper_61d(self, p0);
4935 RET_LABEL:;
4936 }
4937 /* method parser_prod#ASuperclass#n_type= for (self: ASuperclass, AType) */
4938 void parser_prod__ASuperclass__n_type_61d(val* self, val* p0) {
4939 val* var_node /* var node: AType */;
4940 var_node = p0;
4941 self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val = var_node; /* _n_type on <self:ASuperclass> */
4942 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
4943 RET_LABEL:;
4944 }
4945 /* method parser_prod#ASuperclass#n_type= for (self: Object, AType) */
4946 void VIRTUAL_parser_prod__ASuperclass__n_type_61d(val* self, val* p0) {
4947 parser_prod__ASuperclass__n_type_61d(self, p0);
4948 RET_LABEL:;
4949 }
4950 /* method parser_prod#ASuperclass#n_annotations= for (self: ASuperclass, nullable AAnnotations) */
4951 void parser_prod__ASuperclass__n_annotations_61d(val* self, val* p0) {
4952 val* var_node /* var node: nullable AAnnotations */;
4953 val* var /* : null */;
4954 short int var1 /* : Bool */;
4955 var_node = p0;
4956 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ASuperclass> */
4957 var = NULL;
4958 if (var_node == NULL) {
4959 var1 = 0; /* is null */
4960 } else {
4961 var1 = 1; /* arg is null and recv is not */
4962 }
4963 if (var1){
4964 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
4965 } else {
4966 }
4967 RET_LABEL:;
4968 }
4969 /* method parser_prod#ASuperclass#n_annotations= for (self: Object, nullable AAnnotations) */
4970 void VIRTUAL_parser_prod__ASuperclass__n_annotations_61d(val* self, val* p0) {
4971 parser_prod__ASuperclass__n_annotations_61d(self, p0);
4972 RET_LABEL:;
4973 }
4974 /* method parser_prod#ASuperclass#visit_all for (self: ASuperclass, Visitor) */
4975 void parser_prod__ASuperclass__visit_all(val* self, val* p0) {
4976 val* var_v /* var v: Visitor */;
4977 val* var /* : TKwsuper */;
4978 val* var1 /* : AType */;
4979 val* var2 /* : nullable AAnnotations */;
4980 val* var3 /* : null */;
4981 short int var4 /* : Bool */;
4982 val* var5 /* : nullable AAnnotations */;
4983 var_v = p0;
4984 var = self->attrs[COLOR_parser_nodes__ASuperclass___n_kwsuper].val; /* _n_kwsuper on <self:ASuperclass> */
4985 if (var == NULL) {
4986 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwsuper", "src/parser/parser_prod.nit", 1273);
4987 exit(1);
4988 }
4989 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4990 var1 = self->attrs[COLOR_parser_nodes__ASuperclass___n_type].val; /* _n_type on <self:ASuperclass> */
4991 if (var1 == NULL) {
4992 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_type", "src/parser/parser_prod.nit", 1274);
4993 exit(1);
4994 }
4995 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4996 var2 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
4997 var3 = NULL;
4998 if (var2 == NULL) {
4999 var4 = 0; /* is null */
5000 } else {
5001 var4 = 1; /* arg is null and recv is not */
5002 }
5003 if (var4){
5004 var5 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ASuperclass> */
5005 if (var5 == NULL) {
5006 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1276);
5007 exit(1);
5008 }
5009 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
5010 } else {
5011 }
5012 RET_LABEL:;
5013 }
5014 /* method parser_prod#ASuperclass#visit_all for (self: Object, Visitor) */
5015 void VIRTUAL_parser_prod__ASuperclass__visit_all(val* self, val* p0) {
5016 parser_prod__ASuperclass__visit_all(self, p0);
5017 RET_LABEL:;
5018 }
5019 /* method parser_prod#AAttrPropdef#empty_init for (self: AAttrPropdef) */
5020 void parser_prod__AAttrPropdef__empty_init(val* self) {
5021 RET_LABEL:;
5022 }
5023 /* method parser_prod#AAttrPropdef#empty_init for (self: Object) */
5024 void VIRTUAL_parser_prod__AAttrPropdef__empty_init(val* self) {
5025 parser_prod__AAttrPropdef__empty_init(self);
5026 RET_LABEL:;
5027 }
5028 /* 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) */
5029 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) {
5030 val* var_n_doc /* var n_doc: nullable ADoc */;
5031 val* var_n_readable /* var n_readable: nullable AAble */;
5032 val* var_n_writable /* var n_writable: nullable AAble */;
5033 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
5034 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
5035 val* var_n_kwvar /* var n_kwvar: nullable TKwvar */;
5036 val* var_n_id /* var n_id: nullable TAttrid */;
5037 val* var_n_id2 /* var n_id2: nullable TId */;
5038 val* var_n_type /* var n_type: nullable AType */;
5039 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
5040 val* var_n_expr /* var n_expr: nullable AExpr */;
5041 val* var /* : null */;
5042 short int var1 /* : Bool */;
5043 val* var2 /* : null */;
5044 short int var3 /* : Bool */;
5045 val* var4 /* : null */;
5046 short int var5 /* : Bool */;
5047 val* var6 /* : null */;
5048 short int var7 /* : Bool */;
5049 val* var8 /* : null */;
5050 short int var9 /* : Bool */;
5051 val* var10 /* : null */;
5052 short int var11 /* : Bool */;
5053 val* var12 /* : null */;
5054 short int var13 /* : Bool */;
5055 val* var14 /* : null */;
5056 short int var15 /* : Bool */;
5057 val* var16 /* : null */;
5058 short int var17 /* : Bool */;
5059 var_n_doc = p0;
5060 var_n_readable = p1;
5061 var_n_writable = p2;
5062 var_n_kwredef = p3;
5063 var_n_visibility = p4;
5064 var_n_kwvar = p5;
5065 var_n_id = p6;
5066 var_n_id2 = p7;
5067 var_n_type = p8;
5068 var_n_annotations = p9;
5069 var_n_expr = p10;
5070 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrPropdef__empty_init]))(self) /* empty_init on <self:AAttrPropdef>*/;
5071 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AAttrPropdef> */
5072 var = NULL;
5073 if (var_n_doc == NULL) {
5074 var1 = 0; /* is null */
5075 } else {
5076 var1 = 1; /* arg is null and recv is not */
5077 }
5078 if (var1){
5079 ((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)>*/;
5080 } else {
5081 }
5082 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_n_readable; /* _n_readable on <self:AAttrPropdef> */
5083 var2 = NULL;
5084 if (var_n_readable == NULL) {
5085 var3 = 0; /* is null */
5086 } else {
5087 var3 = 1; /* arg is null and recv is not */
5088 }
5089 if (var3){
5090 ((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)>*/;
5091 } else {
5092 }
5093 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_n_writable; /* _n_writable on <self:AAttrPropdef> */
5094 var4 = NULL;
5095 if (var_n_writable == NULL) {
5096 var5 = 0; /* is null */
5097 } else {
5098 var5 = 1; /* arg is null and recv is not */
5099 }
5100 if (var5){
5101 ((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)>*/;
5102 } else {
5103 }
5104 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AAttrPropdef> */
5105 var6 = NULL;
5106 if (var_n_kwredef == NULL) {
5107 var7 = 0; /* is null */
5108 } else {
5109 var7 = 1; /* arg is null and recv is not */
5110 }
5111 if (var7){
5112 ((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)>*/;
5113 } else {
5114 }
5115 if (var_n_visibility == NULL) {
5116 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1314);
5117 exit(1);
5118 }
5119 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AAttrPropdef> */
5120 if (var_n_visibility == NULL) {
5121 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1315);
5122 exit(1);
5123 } else {
5124 ((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>*/;
5125 }
5126 if (var_n_kwvar == NULL) {
5127 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1316);
5128 exit(1);
5129 }
5130 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_n_kwvar; /* _n_kwvar on <self:AAttrPropdef> */
5131 if (var_n_kwvar == NULL) {
5132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1317);
5133 exit(1);
5134 } else {
5135 ((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>*/;
5136 }
5137 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_n_id; /* _n_id on <self:AAttrPropdef> */
5138 var8 = NULL;
5139 if (var_n_id == NULL) {
5140 var9 = 0; /* is null */
5141 } else {
5142 var9 = 1; /* arg is null and recv is not */
5143 }
5144 if (var9){
5145 ((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)>*/;
5146 } else {
5147 }
5148 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_n_id2; /* _n_id2 on <self:AAttrPropdef> */
5149 var10 = NULL;
5150 if (var_n_id2 == NULL) {
5151 var11 = 0; /* is null */
5152 } else {
5153 var11 = 1; /* arg is null and recv is not */
5154 }
5155 if (var11){
5156 ((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)>*/;
5157 } else {
5158 }
5159 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_n_type; /* _n_type on <self:AAttrPropdef> */
5160 var12 = NULL;
5161 if (var_n_type == NULL) {
5162 var13 = 0; /* is null */
5163 } else {
5164 var13 = 1; /* arg is null and recv is not */
5165 }
5166 if (var13){
5167 ((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)>*/;
5168 } else {
5169 }
5170 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AAttrPropdef> */
5171 var14 = NULL;
5172 if (var_n_annotations == NULL) {
5173 var15 = 0; /* is null */
5174 } else {
5175 var15 = 1; /* arg is null and recv is not */
5176 }
5177 if (var15){
5178 ((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)>*/;
5179 } else {
5180 }
5181 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrPropdef> */
5182 var16 = NULL;
5183 if (var_n_expr == NULL) {
5184 var17 = 0; /* is null */
5185 } else {
5186 var17 = 1; /* arg is null and recv is not */
5187 }
5188 if (var17){
5189 ((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)>*/;
5190 } else {
5191 }
5192 RET_LABEL:;
5193 }
5194 /* 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) */
5195 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) {
5196 parser_prod__AAttrPropdef__init_aattrpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
5197 RET_LABEL:;
5198 }
5199 /* method parser_prod#AAttrPropdef#replace_child for (self: AAttrPropdef, ANode, nullable ANode) */
5200 void parser_prod__AAttrPropdef__replace_child(val* self, val* p0, val* p1) {
5201 val* var_old_child /* var old_child: ANode */;
5202 val* var_new_child /* var new_child: nullable ANode */;
5203 val* var /* : nullable ADoc */;
5204 short int var1 /* : Bool */;
5205 val* var2 /* : null */;
5206 short int var3 /* : Bool */;
5207 short int var4 /* : Bool */;
5208 int cltype;
5209 int idtype;
5210 val* var5 /* : null */;
5211 val* var6 /* : nullable AAble */;
5212 short int var7 /* : Bool */;
5213 val* var8 /* : null */;
5214 short int var9 /* : Bool */;
5215 short int var10 /* : Bool */;
5216 int cltype11;
5217 int idtype12;
5218 val* var13 /* : null */;
5219 val* var14 /* : nullable AAble */;
5220 short int var15 /* : Bool */;
5221 val* var16 /* : null */;
5222 short int var17 /* : Bool */;
5223 short int var18 /* : Bool */;
5224 int cltype19;
5225 int idtype20;
5226 val* var21 /* : null */;
5227 val* var22 /* : nullable TKwredef */;
5228 short int var23 /* : Bool */;
5229 val* var24 /* : null */;
5230 short int var25 /* : Bool */;
5231 short int var26 /* : Bool */;
5232 int cltype27;
5233 int idtype28;
5234 val* var29 /* : null */;
5235 val* var30 /* : AVisibility */;
5236 short int var31 /* : Bool */;
5237 val* var32 /* : null */;
5238 short int var33 /* : Bool */;
5239 short int var34 /* : Bool */;
5240 int cltype35;
5241 int idtype36;
5242 val* var37 /* : TKwvar */;
5243 short int var38 /* : Bool */;
5244 val* var39 /* : null */;
5245 short int var40 /* : Bool */;
5246 short int var41 /* : Bool */;
5247 int cltype42;
5248 int idtype43;
5249 val* var44 /* : nullable TAttrid */;
5250 short int var45 /* : Bool */;
5251 val* var46 /* : null */;
5252 short int var47 /* : Bool */;
5253 short int var48 /* : Bool */;
5254 int cltype49;
5255 int idtype50;
5256 val* var51 /* : null */;
5257 val* var52 /* : nullable TId */;
5258 short int var53 /* : Bool */;
5259 val* var54 /* : null */;
5260 short int var55 /* : Bool */;
5261 short int var56 /* : Bool */;
5262 int cltype57;
5263 int idtype58;
5264 val* var59 /* : null */;
5265 val* var60 /* : nullable AType */;
5266 short int var61 /* : Bool */;
5267 val* var62 /* : null */;
5268 short int var63 /* : Bool */;
5269 short int var64 /* : Bool */;
5270 int cltype65;
5271 int idtype66;
5272 val* var67 /* : null */;
5273 val* var68 /* : nullable AAnnotations */;
5274 short int var69 /* : Bool */;
5275 val* var70 /* : null */;
5276 short int var71 /* : Bool */;
5277 short int var72 /* : Bool */;
5278 int cltype73;
5279 int idtype74;
5280 val* var75 /* : null */;
5281 val* var76 /* : nullable AExpr */;
5282 short int var77 /* : Bool */;
5283 val* var78 /* : null */;
5284 short int var79 /* : Bool */;
5285 short int var80 /* : Bool */;
5286 int cltype81;
5287 int idtype82;
5288 val* var83 /* : null */;
5289 var_old_child = p0;
5290 var_new_child = p1;
5291 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
5292 if (var == NULL) {
5293 var1 = 0; /* <var_old_child:ANode> cannot be null */
5294 } else {
5295 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
5296 }
5297 if (var1){
5298 var2 = NULL;
5299 if (var_new_child == NULL) {
5300 var3 = 0; /* is null */
5301 } else {
5302 var3 = 1; /* arg is null and recv is not */
5303 }
5304 if (var3){
5305 ((void (*)(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)>*/;
5306 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
5307 cltype = type_parser_nodes__ADoc.color;
5308 idtype = type_parser_nodes__ADoc.id;
5309 if(cltype >= var_new_child->type->table_size) {
5310 var4 = 0;
5311 } else {
5312 var4 = var_new_child->type->type_table[cltype] == idtype;
5313 }
5314 if (!var4) {
5315 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1345);
5316 exit(1);
5317 }
5318 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AAttrPropdef> */
5319 } else {
5320 var5 = NULL;
5321 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AAttrPropdef> */
5322 }
5323 goto RET_LABEL;
5324 } else {
5325 }
5326 var6 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
5327 if (var6 == NULL) {
5328 var7 = 0; /* <var_old_child:ANode> cannot be null */
5329 } else {
5330 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable AAble>*/;
5331 }
5332 if (var7){
5333 var8 = NULL;
5334 if (var_new_child == NULL) {
5335 var9 = 0; /* is null */
5336 } else {
5337 var9 = 1; /* arg is null and recv is not */
5338 }
5339 if (var9){
5340 ((void (*)(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)>*/;
5341 /* <var_new_child:nullable ANode(ANode)> isa AAble */
5342 cltype11 = type_parser_nodes__AAble.color;
5343 idtype12 = type_parser_nodes__AAble.id;
5344 if(cltype11 >= var_new_child->type->table_size) {
5345 var10 = 0;
5346 } else {
5347 var10 = var_new_child->type->type_table[cltype11] == idtype12;
5348 }
5349 if (!var10) {
5350 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1355);
5351 exit(1);
5352 }
5353 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_new_child; /* _n_readable on <self:AAttrPropdef> */
5354 } else {
5355 var13 = NULL;
5356 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var13; /* _n_readable on <self:AAttrPropdef> */
5357 }
5358 goto RET_LABEL;
5359 } else {
5360 }
5361 var14 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
5362 if (var14 == NULL) {
5363 var15 = 0; /* <var_old_child:ANode> cannot be null */
5364 } else {
5365 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AAble>*/;
5366 }
5367 if (var15){
5368 var16 = NULL;
5369 if (var_new_child == NULL) {
5370 var17 = 0; /* is null */
5371 } else {
5372 var17 = 1; /* arg is null and recv is not */
5373 }
5374 if (var17){
5375 ((void (*)(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)>*/;
5376 /* <var_new_child:nullable ANode(ANode)> isa AAble */
5377 cltype19 = type_parser_nodes__AAble.color;
5378 idtype20 = type_parser_nodes__AAble.id;
5379 if(cltype19 >= var_new_child->type->table_size) {
5380 var18 = 0;
5381 } else {
5382 var18 = var_new_child->type->type_table[cltype19] == idtype20;
5383 }
5384 if (!var18) {
5385 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1365);
5386 exit(1);
5387 }
5388 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_new_child; /* _n_writable on <self:AAttrPropdef> */
5389 } else {
5390 var21 = NULL;
5391 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var21; /* _n_writable on <self:AAttrPropdef> */
5392 }
5393 goto RET_LABEL;
5394 } else {
5395 }
5396 var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
5397 if (var22 == NULL) {
5398 var23 = 0; /* <var_old_child:ANode> cannot be null */
5399 } else {
5400 var23 = ((short int (*)(val*, val*))(var22->class->vft[COLOR_kernel__Object___61d_61d]))(var22, var_old_child) /* == on <var22:nullable TKwredef>*/;
5401 }
5402 if (var23){
5403 var24 = NULL;
5404 if (var_new_child == NULL) {
5405 var25 = 0; /* is null */
5406 } else {
5407 var25 = 1; /* arg is null and recv is not */
5408 }
5409 if (var25){
5410 ((void (*)(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)>*/;
5411 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
5412 cltype27 = type_parser_nodes__TKwredef.color;
5413 idtype28 = type_parser_nodes__TKwredef.id;
5414 if(cltype27 >= var_new_child->type->table_size) {
5415 var26 = 0;
5416 } else {
5417 var26 = var_new_child->type->type_table[cltype27] == idtype28;
5418 }
5419 if (!var26) {
5420 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1375);
5421 exit(1);
5422 }
5423 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AAttrPropdef> */
5424 } else {
5425 var29 = NULL;
5426 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var29; /* _n_kwredef on <self:AAttrPropdef> */
5427 }
5428 goto RET_LABEL;
5429 } else {
5430 }
5431 var30 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
5432 if (var30 == NULL) {
5433 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 1382);
5434 exit(1);
5435 }
5436 var31 = ((short int (*)(val*, val*))(var30->class->vft[COLOR_kernel__Object___61d_61d]))(var30, var_old_child) /* == on <var30:AVisibility>*/;
5437 if (var31){
5438 var32 = NULL;
5439 if (var_new_child == NULL) {
5440 var33 = 0; /* is null */
5441 } else {
5442 var33 = 1; /* arg is null and recv is not */
5443 }
5444 if (var33){
5445 ((void (*)(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)>*/;
5446 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
5447 cltype35 = type_parser_nodes__AVisibility.color;
5448 idtype36 = type_parser_nodes__AVisibility.id;
5449 if(cltype35 >= var_new_child->type->table_size) {
5450 var34 = 0;
5451 } else {
5452 var34 = var_new_child->type->type_table[cltype35] == idtype36;
5453 }
5454 if (!var34) {
5455 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1385);
5456 exit(1);
5457 }
5458 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AAttrPropdef> */
5459 } else {
5460 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1388);
5461 exit(1);
5462 }
5463 goto RET_LABEL;
5464 } else {
5465 }
5466 var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on <self:AAttrPropdef> */
5467 if (var37 == NULL) {
5468 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwvar", "src/parser/parser_prod.nit", 1392);
5469 exit(1);
5470 }
5471 var38 = ((short int (*)(val*, val*))(var37->class->vft[COLOR_kernel__Object___61d_61d]))(var37, var_old_child) /* == on <var37:TKwvar>*/;
5472 if (var38){
5473 var39 = NULL;
5474 if (var_new_child == NULL) {
5475 var40 = 0; /* is null */
5476 } else {
5477 var40 = 1; /* arg is null and recv is not */
5478 }
5479 if (var40){
5480 ((void (*)(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)>*/;
5481 /* <var_new_child:nullable ANode(ANode)> isa TKwvar */
5482 cltype42 = type_parser_nodes__TKwvar.color;
5483 idtype43 = type_parser_nodes__TKwvar.id;
5484 if(cltype42 >= var_new_child->type->table_size) {
5485 var41 = 0;
5486 } else {
5487 var41 = var_new_child->type->type_table[cltype42] == idtype43;
5488 }
5489 if (!var41) {
5490 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1395);
5491 exit(1);
5492 }
5493 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_new_child; /* _n_kwvar on <self:AAttrPropdef> */
5494 } else {
5495 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1398);
5496 exit(1);
5497 }
5498 goto RET_LABEL;
5499 } else {
5500 }
5501 var44 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
5502 if (var44 == NULL) {
5503 var45 = 0; /* <var_old_child:ANode> cannot be null */
5504 } else {
5505 var45 = ((short int (*)(val*, val*))(var44->class->vft[COLOR_kernel__Object___61d_61d]))(var44, var_old_child) /* == on <var44:nullable TAttrid>*/;
5506 }
5507 if (var45){
5508 var46 = NULL;
5509 if (var_new_child == NULL) {
5510 var47 = 0; /* is null */
5511 } else {
5512 var47 = 1; /* arg is null and recv is not */
5513 }
5514 if (var47){
5515 ((void (*)(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)>*/;
5516 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
5517 cltype49 = type_parser_nodes__TAttrid.color;
5518 idtype50 = type_parser_nodes__TAttrid.id;
5519 if(cltype49 >= var_new_child->type->table_size) {
5520 var48 = 0;
5521 } else {
5522 var48 = var_new_child->type->type_table[cltype49] == idtype50;
5523 }
5524 if (!var48) {
5525 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1405);
5526 exit(1);
5527 }
5528 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_new_child; /* _n_id on <self:AAttrPropdef> */
5529 } else {
5530 var51 = NULL;
5531 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var51; /* _n_id on <self:AAttrPropdef> */
5532 }
5533 goto RET_LABEL;
5534 } else {
5535 }
5536 var52 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
5537 if (var52 == NULL) {
5538 var53 = 0; /* <var_old_child:ANode> cannot be null */
5539 } else {
5540 var53 = ((short int (*)(val*, val*))(var52->class->vft[COLOR_kernel__Object___61d_61d]))(var52, var_old_child) /* == on <var52:nullable TId>*/;
5541 }
5542 if (var53){
5543 var54 = NULL;
5544 if (var_new_child == NULL) {
5545 var55 = 0; /* is null */
5546 } else {
5547 var55 = 1; /* arg is null and recv is not */
5548 }
5549 if (var55){
5550 ((void (*)(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)>*/;
5551 /* <var_new_child:nullable ANode(ANode)> isa TId */
5552 cltype57 = type_parser_nodes__TId.color;
5553 idtype58 = type_parser_nodes__TId.id;
5554 if(cltype57 >= var_new_child->type->table_size) {
5555 var56 = 0;
5556 } else {
5557 var56 = var_new_child->type->type_table[cltype57] == idtype58;
5558 }
5559 if (!var56) {
5560 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1415);
5561 exit(1);
5562 }
5563 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_new_child; /* _n_id2 on <self:AAttrPropdef> */
5564 } else {
5565 var59 = NULL;
5566 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var59; /* _n_id2 on <self:AAttrPropdef> */
5567 }
5568 goto RET_LABEL;
5569 } else {
5570 }
5571 var60 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
5572 if (var60 == NULL) {
5573 var61 = 0; /* <var_old_child:ANode> cannot be null */
5574 } else {
5575 var61 = ((short int (*)(val*, val*))(var60->class->vft[COLOR_kernel__Object___61d_61d]))(var60, var_old_child) /* == on <var60:nullable AType>*/;
5576 }
5577 if (var61){
5578 var62 = NULL;
5579 if (var_new_child == NULL) {
5580 var63 = 0; /* is null */
5581 } else {
5582 var63 = 1; /* arg is null and recv is not */
5583 }
5584 if (var63){
5585 ((void (*)(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)>*/;
5586 /* <var_new_child:nullable ANode(ANode)> isa AType */
5587 cltype65 = type_parser_nodes__AType.color;
5588 idtype66 = type_parser_nodes__AType.id;
5589 if(cltype65 >= var_new_child->type->table_size) {
5590 var64 = 0;
5591 } else {
5592 var64 = var_new_child->type->type_table[cltype65] == idtype66;
5593 }
5594 if (!var64) {
5595 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1425);
5596 exit(1);
5597 }
5598 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_new_child; /* _n_type on <self:AAttrPropdef> */
5599 } else {
5600 var67 = NULL;
5601 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var67; /* _n_type on <self:AAttrPropdef> */
5602 }
5603 goto RET_LABEL;
5604 } else {
5605 }
5606 var68 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
5607 if (var68 == NULL) {
5608 var69 = 0; /* <var_old_child:ANode> cannot be null */
5609 } else {
5610 var69 = ((short int (*)(val*, val*))(var68->class->vft[COLOR_kernel__Object___61d_61d]))(var68, var_old_child) /* == on <var68:nullable AAnnotations>*/;
5611 }
5612 if (var69){
5613 var70 = NULL;
5614 if (var_new_child == NULL) {
5615 var71 = 0; /* is null */
5616 } else {
5617 var71 = 1; /* arg is null and recv is not */
5618 }
5619 if (var71){
5620 ((void (*)(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)>*/;
5621 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
5622 cltype73 = type_parser_nodes__AAnnotations.color;
5623 idtype74 = type_parser_nodes__AAnnotations.id;
5624 if(cltype73 >= var_new_child->type->table_size) {
5625 var72 = 0;
5626 } else {
5627 var72 = var_new_child->type->type_table[cltype73] == idtype74;
5628 }
5629 if (!var72) {
5630 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1435);
5631 exit(1);
5632 }
5633 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AAttrPropdef> */
5634 } else {
5635 var75 = NULL;
5636 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var75; /* _n_annotations on <self:AAttrPropdef> */
5637 }
5638 goto RET_LABEL;
5639 } else {
5640 }
5641 var76 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
5642 if (var76 == NULL) {
5643 var77 = 0; /* <var_old_child:ANode> cannot be null */
5644 } else {
5645 var77 = ((short int (*)(val*, val*))(var76->class->vft[COLOR_kernel__Object___61d_61d]))(var76, var_old_child) /* == on <var76:nullable AExpr>*/;
5646 }
5647 if (var77){
5648 var78 = NULL;
5649 if (var_new_child == NULL) {
5650 var79 = 0; /* is null */
5651 } else {
5652 var79 = 1; /* arg is null and recv is not */
5653 }
5654 if (var79){
5655 ((void (*)(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)>*/;
5656 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5657 cltype81 = type_parser_nodes__AExpr.color;
5658 idtype82 = type_parser_nodes__AExpr.id;
5659 if(cltype81 >= var_new_child->type->table_size) {
5660 var80 = 0;
5661 } else {
5662 var80 = var_new_child->type->type_table[cltype81] == idtype82;
5663 }
5664 if (!var80) {
5665 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1445);
5666 exit(1);
5667 }
5668 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_new_child; /* _n_expr on <self:AAttrPropdef> */
5669 } else {
5670 var83 = NULL;
5671 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var83; /* _n_expr on <self:AAttrPropdef> */
5672 }
5673 goto RET_LABEL;
5674 } else {
5675 }
5676 RET_LABEL:;
5677 }
5678 /* method parser_prod#AAttrPropdef#replace_child for (self: Object, ANode, nullable ANode) */
5679 void VIRTUAL_parser_prod__AAttrPropdef__replace_child(val* self, val* p0, val* p1) {
5680 parser_prod__AAttrPropdef__replace_child(self, p0, p1);
5681 RET_LABEL:;
5682 }
5683 /* method parser_prod#AAttrPropdef#n_doc= for (self: AAttrPropdef, nullable ADoc) */
5684 void parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) {
5685 val* var_node /* var node: nullable ADoc */;
5686 val* var /* : null */;
5687 short int var1 /* : Bool */;
5688 var_node = p0;
5689 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AAttrPropdef> */
5690 var = NULL;
5691 if (var_node == NULL) {
5692 var1 = 0; /* is null */
5693 } else {
5694 var1 = 1; /* arg is null and recv is not */
5695 }
5696 if (var1){
5697 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
5698 } else {
5699 }
5700 RET_LABEL:;
5701 }
5702 /* method parser_prod#AAttrPropdef#n_doc= for (self: Object, nullable ADoc) */
5703 void VIRTUAL_parser_prod__AAttrPropdef__n_doc_61d(val* self, val* p0) {
5704 parser_prod__AAttrPropdef__n_doc_61d(self, p0);
5705 RET_LABEL:;
5706 }
5707 /* method parser_prod#AAttrPropdef#n_readable= for (self: AAttrPropdef, nullable AAble) */
5708 void parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) {
5709 val* var_node /* var node: nullable AAble */;
5710 val* var /* : null */;
5711 short int var1 /* : Bool */;
5712 var_node = p0;
5713 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val = var_node; /* _n_readable on <self:AAttrPropdef> */
5714 var = NULL;
5715 if (var_node == NULL) {
5716 var1 = 0; /* is null */
5717 } else {
5718 var1 = 1; /* arg is null and recv is not */
5719 }
5720 if (var1){
5721 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAble(AAble)>*/;
5722 } else {
5723 }
5724 RET_LABEL:;
5725 }
5726 /* method parser_prod#AAttrPropdef#n_readable= for (self: Object, nullable AAble) */
5727 void VIRTUAL_parser_prod__AAttrPropdef__n_readable_61d(val* self, val* p0) {
5728 parser_prod__AAttrPropdef__n_readable_61d(self, p0);
5729 RET_LABEL:;
5730 }
5731 /* method parser_prod#AAttrPropdef#n_writable= for (self: AAttrPropdef, nullable AAble) */
5732 void parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) {
5733 val* var_node /* var node: nullable AAble */;
5734 val* var /* : null */;
5735 short int var1 /* : Bool */;
5736 var_node = p0;
5737 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val = var_node; /* _n_writable on <self:AAttrPropdef> */
5738 var = NULL;
5739 if (var_node == NULL) {
5740 var1 = 0; /* is null */
5741 } else {
5742 var1 = 1; /* arg is null and recv is not */
5743 }
5744 if (var1){
5745 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAble(AAble)>*/;
5746 } else {
5747 }
5748 RET_LABEL:;
5749 }
5750 /* method parser_prod#AAttrPropdef#n_writable= for (self: Object, nullable AAble) */
5751 void VIRTUAL_parser_prod__AAttrPropdef__n_writable_61d(val* self, val* p0) {
5752 parser_prod__AAttrPropdef__n_writable_61d(self, p0);
5753 RET_LABEL:;
5754 }
5755 /* method parser_prod#AAttrPropdef#n_kwredef= for (self: AAttrPropdef, nullable TKwredef) */
5756 void parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) {
5757 val* var_node /* var node: nullable TKwredef */;
5758 val* var /* : null */;
5759 short int var1 /* : Bool */;
5760 var_node = p0;
5761 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AAttrPropdef> */
5762 var = NULL;
5763 if (var_node == NULL) {
5764 var1 = 0; /* is null */
5765 } else {
5766 var1 = 1; /* arg is null and recv is not */
5767 }
5768 if (var1){
5769 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
5770 } else {
5771 }
5772 RET_LABEL:;
5773 }
5774 /* method parser_prod#AAttrPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
5775 void VIRTUAL_parser_prod__AAttrPropdef__n_kwredef_61d(val* self, val* p0) {
5776 parser_prod__AAttrPropdef__n_kwredef_61d(self, p0);
5777 RET_LABEL:;
5778 }
5779 /* method parser_prod#AAttrPropdef#n_visibility= for (self: AAttrPropdef, AVisibility) */
5780 void parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) {
5781 val* var_node /* var node: AVisibility */;
5782 var_node = p0;
5783 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AAttrPropdef> */
5784 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AVisibility>*/;
5785 RET_LABEL:;
5786 }
5787 /* method parser_prod#AAttrPropdef#n_visibility= for (self: Object, AVisibility) */
5788 void VIRTUAL_parser_prod__AAttrPropdef__n_visibility_61d(val* self, val* p0) {
5789 parser_prod__AAttrPropdef__n_visibility_61d(self, p0);
5790 RET_LABEL:;
5791 }
5792 /* method parser_prod#AAttrPropdef#n_kwvar= for (self: AAttrPropdef, TKwvar) */
5793 void parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) {
5794 val* var_node /* var node: TKwvar */;
5795 var_node = p0;
5796 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val = var_node; /* _n_kwvar on <self:AAttrPropdef> */
5797 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwvar>*/;
5798 RET_LABEL:;
5799 }
5800 /* method parser_prod#AAttrPropdef#n_kwvar= for (self: Object, TKwvar) */
5801 void VIRTUAL_parser_prod__AAttrPropdef__n_kwvar_61d(val* self, val* p0) {
5802 parser_prod__AAttrPropdef__n_kwvar_61d(self, p0);
5803 RET_LABEL:;
5804 }
5805 /* method parser_prod#AAttrPropdef#n_id= for (self: AAttrPropdef, nullable TAttrid) */
5806 void parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) {
5807 val* var_node /* var node: nullable TAttrid */;
5808 val* var /* : null */;
5809 short int var1 /* : Bool */;
5810 var_node = p0;
5811 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val = var_node; /* _n_id on <self:AAttrPropdef> */
5812 var = NULL;
5813 if (var_node == NULL) {
5814 var1 = 0; /* is null */
5815 } else {
5816 var1 = 1; /* arg is null and recv is not */
5817 }
5818 if (var1){
5819 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TAttrid(TAttrid)>*/;
5820 } else {
5821 }
5822 RET_LABEL:;
5823 }
5824 /* method parser_prod#AAttrPropdef#n_id= for (self: Object, nullable TAttrid) */
5825 void VIRTUAL_parser_prod__AAttrPropdef__n_id_61d(val* self, val* p0) {
5826 parser_prod__AAttrPropdef__n_id_61d(self, p0);
5827 RET_LABEL:;
5828 }
5829 /* method parser_prod#AAttrPropdef#n_id2= for (self: AAttrPropdef, nullable TId) */
5830 void parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) {
5831 val* var_node /* var node: nullable TId */;
5832 val* var /* : null */;
5833 short int var1 /* : Bool */;
5834 var_node = p0;
5835 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val = var_node; /* _n_id2 on <self:AAttrPropdef> */
5836 var = NULL;
5837 if (var_node == NULL) {
5838 var1 = 0; /* is null */
5839 } else {
5840 var1 = 1; /* arg is null and recv is not */
5841 }
5842 if (var1){
5843 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
5844 } else {
5845 }
5846 RET_LABEL:;
5847 }
5848 /* method parser_prod#AAttrPropdef#n_id2= for (self: Object, nullable TId) */
5849 void VIRTUAL_parser_prod__AAttrPropdef__n_id2_61d(val* self, val* p0) {
5850 parser_prod__AAttrPropdef__n_id2_61d(self, p0);
5851 RET_LABEL:;
5852 }
5853 /* method parser_prod#AAttrPropdef#n_type= for (self: AAttrPropdef, nullable AType) */
5854 void parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) {
5855 val* var_node /* var node: nullable AType */;
5856 val* var /* : null */;
5857 short int var1 /* : Bool */;
5858 var_node = p0;
5859 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val = var_node; /* _n_type on <self:AAttrPropdef> */
5860 var = NULL;
5861 if (var_node == NULL) {
5862 var1 = 0; /* is null */
5863 } else {
5864 var1 = 1; /* arg is null and recv is not */
5865 }
5866 if (var1){
5867 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AType(AType)>*/;
5868 } else {
5869 }
5870 RET_LABEL:;
5871 }
5872 /* method parser_prod#AAttrPropdef#n_type= for (self: Object, nullable AType) */
5873 void VIRTUAL_parser_prod__AAttrPropdef__n_type_61d(val* self, val* p0) {
5874 parser_prod__AAttrPropdef__n_type_61d(self, p0);
5875 RET_LABEL:;
5876 }
5877 /* method parser_prod#AAttrPropdef#n_annotations= for (self: AAttrPropdef, nullable AAnnotations) */
5878 void parser_prod__AAttrPropdef__n_annotations_61d(val* self, val* p0) {
5879 val* var_node /* var node: nullable AAnnotations */;
5880 val* var /* : null */;
5881 short int var1 /* : Bool */;
5882 var_node = p0;
5883 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AAttrPropdef> */
5884 var = NULL;
5885 if (var_node == NULL) {
5886 var1 = 0; /* is null */
5887 } else {
5888 var1 = 1; /* arg is null and recv is not */
5889 }
5890 if (var1){
5891 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
5892 } else {
5893 }
5894 RET_LABEL:;
5895 }
5896 /* method parser_prod#AAttrPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
5897 void VIRTUAL_parser_prod__AAttrPropdef__n_annotations_61d(val* self, val* p0) {
5898 parser_prod__AAttrPropdef__n_annotations_61d(self, p0);
5899 RET_LABEL:;
5900 }
5901 /* method parser_prod#AAttrPropdef#n_expr= for (self: AAttrPropdef, nullable AExpr) */
5902 void parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) {
5903 val* var_node /* var node: nullable AExpr */;
5904 val* var /* : null */;
5905 short int var1 /* : Bool */;
5906 var_node = p0;
5907 self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val = var_node; /* _n_expr on <self:AAttrPropdef> */
5908 var = NULL;
5909 if (var_node == NULL) {
5910 var1 = 0; /* is null */
5911 } else {
5912 var1 = 1; /* arg is null and recv is not */
5913 }
5914 if (var1){
5915 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
5916 } else {
5917 }
5918 RET_LABEL:;
5919 }
5920 /* method parser_prod#AAttrPropdef#n_expr= for (self: Object, nullable AExpr) */
5921 void VIRTUAL_parser_prod__AAttrPropdef__n_expr_61d(val* self, val* p0) {
5922 parser_prod__AAttrPropdef__n_expr_61d(self, p0);
5923 RET_LABEL:;
5924 }
5925 /* method parser_prod#AAttrPropdef#visit_all for (self: AAttrPropdef, Visitor) */
5926 void parser_prod__AAttrPropdef__visit_all(val* self, val* p0) {
5927 val* var_v /* var v: Visitor */;
5928 val* var /* : nullable ADoc */;
5929 val* var1 /* : null */;
5930 short int var2 /* : Bool */;
5931 val* var3 /* : nullable ADoc */;
5932 val* var4 /* : nullable AAble */;
5933 val* var5 /* : null */;
5934 short int var6 /* : Bool */;
5935 val* var7 /* : nullable AAble */;
5936 val* var8 /* : nullable AAble */;
5937 val* var9 /* : null */;
5938 short int var10 /* : Bool */;
5939 val* var11 /* : nullable AAble */;
5940 val* var12 /* : nullable TKwredef */;
5941 val* var13 /* : null */;
5942 short int var14 /* : Bool */;
5943 val* var15 /* : nullable TKwredef */;
5944 val* var16 /* : AVisibility */;
5945 val* var17 /* : TKwvar */;
5946 val* var18 /* : nullable TAttrid */;
5947 val* var19 /* : null */;
5948 short int var20 /* : Bool */;
5949 val* var21 /* : nullable TAttrid */;
5950 val* var22 /* : nullable TId */;
5951 val* var23 /* : null */;
5952 short int var24 /* : Bool */;
5953 val* var25 /* : nullable TId */;
5954 val* var26 /* : nullable AType */;
5955 val* var27 /* : null */;
5956 short int var28 /* : Bool */;
5957 val* var29 /* : nullable AType */;
5958 val* var30 /* : nullable AAnnotations */;
5959 val* var31 /* : null */;
5960 short int var32 /* : Bool */;
5961 val* var33 /* : nullable AAnnotations */;
5962 val* var34 /* : nullable AExpr */;
5963 val* var35 /* : null */;
5964 short int var36 /* : Bool */;
5965 val* var37 /* : nullable AExpr */;
5966 var_v = p0;
5967 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
5968 var1 = NULL;
5969 if (var == NULL) {
5970 var2 = 0; /* is null */
5971 } else {
5972 var2 = 1; /* arg is null and recv is not */
5973 }
5974 if (var2){
5975 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AAttrPropdef> */
5976 if (var3 == NULL) {
5977 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1532);
5978 exit(1);
5979 }
5980 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
5981 } else {
5982 }
5983 var4 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
5984 var5 = NULL;
5985 if (var4 == NULL) {
5986 var6 = 0; /* is null */
5987 } else {
5988 var6 = 1; /* arg is null and recv is not */
5989 }
5990 if (var6){
5991 var7 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_readable].val; /* _n_readable on <self:AAttrPropdef> */
5992 if (var7 == NULL) {
5993 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1535);
5994 exit(1);
5995 }
5996 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
5997 } else {
5998 }
5999 var8 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
6000 var9 = NULL;
6001 if (var8 == NULL) {
6002 var10 = 0; /* is null */
6003 } else {
6004 var10 = 1; /* arg is null and recv is not */
6005 }
6006 if (var10){
6007 var11 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_writable].val; /* _n_writable on <self:AAttrPropdef> */
6008 if (var11 == NULL) {
6009 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1538);
6010 exit(1);
6011 }
6012 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
6013 } else {
6014 }
6015 var12 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
6016 var13 = NULL;
6017 if (var12 == NULL) {
6018 var14 = 0; /* is null */
6019 } else {
6020 var14 = 1; /* arg is null and recv is not */
6021 }
6022 if (var14){
6023 var15 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwredef].val; /* _n_kwredef on <self:AAttrPropdef> */
6024 if (var15 == NULL) {
6025 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1541);
6026 exit(1);
6027 }
6028 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
6029 } else {
6030 }
6031 var16 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_visibility].val; /* _n_visibility on <self:AAttrPropdef> */
6032 if (var16 == NULL) {
6033 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_visibility", "src/parser/parser_prod.nit", 1543);
6034 exit(1);
6035 }
6036 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var16) /* enter_visit on <var_v:Visitor>*/;
6037 var17 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_kwvar].val; /* _n_kwvar on <self:AAttrPropdef> */
6038 if (var17 == NULL) {
6039 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwvar", "src/parser/parser_prod.nit", 1544);
6040 exit(1);
6041 }
6042 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var17) /* enter_visit on <var_v:Visitor>*/;
6043 var18 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
6044 var19 = NULL;
6045 if (var18 == NULL) {
6046 var20 = 0; /* is null */
6047 } else {
6048 var20 = 1; /* arg is null and recv is not */
6049 }
6050 if (var20){
6051 var21 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id].val; /* _n_id on <self:AAttrPropdef> */
6052 if (var21 == NULL) {
6053 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1546);
6054 exit(1);
6055 }
6056 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var21) /* enter_visit on <var_v:Visitor>*/;
6057 } else {
6058 }
6059 var22 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
6060 var23 = NULL;
6061 if (var22 == NULL) {
6062 var24 = 0; /* is null */
6063 } else {
6064 var24 = 1; /* arg is null and recv is not */
6065 }
6066 if (var24){
6067 var25 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_id2].val; /* _n_id2 on <self:AAttrPropdef> */
6068 if (var25 == NULL) {
6069 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1549);
6070 exit(1);
6071 }
6072 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var25) /* enter_visit on <var_v:Visitor>*/;
6073 } else {
6074 }
6075 var26 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
6076 var27 = NULL;
6077 if (var26 == NULL) {
6078 var28 = 0; /* is null */
6079 } else {
6080 var28 = 1; /* arg is null and recv is not */
6081 }
6082 if (var28){
6083 var29 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_type].val; /* _n_type on <self:AAttrPropdef> */
6084 if (var29 == NULL) {
6085 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1552);
6086 exit(1);
6087 }
6088 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var29) /* enter_visit on <var_v:Visitor>*/;
6089 } else {
6090 }
6091 var30 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
6092 var31 = NULL;
6093 if (var30 == NULL) {
6094 var32 = 0; /* is null */
6095 } else {
6096 var32 = 1; /* arg is null and recv is not */
6097 }
6098 if (var32){
6099 var33 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AAttrPropdef> */
6100 if (var33 == NULL) {
6101 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1555);
6102 exit(1);
6103 }
6104 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var33) /* enter_visit on <var_v:Visitor>*/;
6105 } else {
6106 }
6107 var34 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
6108 var35 = NULL;
6109 if (var34 == NULL) {
6110 var36 = 0; /* is null */
6111 } else {
6112 var36 = 1; /* arg is null and recv is not */
6113 }
6114 if (var36){
6115 var37 = self->attrs[COLOR_parser_nodes__AAttrPropdef___n_expr].val; /* _n_expr on <self:AAttrPropdef> */
6116 if (var37 == NULL) {
6117 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1558);
6118 exit(1);
6119 }
6120 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var37) /* enter_visit on <var_v:Visitor>*/;
6121 } else {
6122 }
6123 RET_LABEL:;
6124 }
6125 /* method parser_prod#AAttrPropdef#visit_all for (self: Object, Visitor) */
6126 void VIRTUAL_parser_prod__AAttrPropdef__visit_all(val* self, val* p0) {
6127 parser_prod__AAttrPropdef__visit_all(self, p0);
6128 RET_LABEL:;
6129 }
6130 /* method parser_prod#AMethPropdef#empty_init for (self: AMethPropdef) */
6131 void parser_prod__AMethPropdef__empty_init(val* self) {
6132 RET_LABEL:;
6133 }
6134 /* method parser_prod#AMethPropdef#empty_init for (self: Object) */
6135 void VIRTUAL_parser_prod__AMethPropdef__empty_init(val* self) {
6136 parser_prod__AMethPropdef__empty_init(self);
6137 RET_LABEL:;
6138 }
6139 /* method parser_prod#AMethPropdef#init_amethpropdef for (self: AMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */
6140 void parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6141 val* var_n_doc /* var n_doc: nullable ADoc */;
6142 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
6143 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
6144 val* var_n_methid /* var n_methid: nullable AMethid */;
6145 val* var_n_signature /* var n_signature: nullable ASignature */;
6146 val* var /* : null */;
6147 short int var1 /* : Bool */;
6148 val* var2 /* : null */;
6149 short int var3 /* : Bool */;
6150 var_n_doc = p0;
6151 var_n_kwredef = p1;
6152 var_n_visibility = p2;
6153 var_n_methid = p3;
6154 var_n_signature = p4;
6155 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMethPropdef__empty_init]))(self) /* empty_init on <self:AMethPropdef>*/;
6156 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AMethPropdef> */
6157 var = NULL;
6158 if (var_n_doc == NULL) {
6159 var1 = 0; /* is null */
6160 } else {
6161 var1 = 1; /* arg is null and recv is not */
6162 }
6163 if (var1){
6164 ((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)>*/;
6165 } else {
6166 }
6167 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AMethPropdef> */
6168 var2 = NULL;
6169 if (var_n_kwredef == NULL) {
6170 var3 = 0; /* is null */
6171 } else {
6172 var3 = 1; /* arg is null and recv is not */
6173 }
6174 if (var3){
6175 ((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)>*/;
6176 } else {
6177 }
6178 if (var_n_visibility == NULL) {
6179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1582);
6180 exit(1);
6181 }
6182 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AMethPropdef> */
6183 if (var_n_visibility == NULL) {
6184 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1583);
6185 exit(1);
6186 } else {
6187 ((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>*/;
6188 }
6189 if (var_n_methid == NULL) {
6190 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1584);
6191 exit(1);
6192 }
6193 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AMethPropdef> */
6194 if (var_n_methid == NULL) {
6195 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1585);
6196 exit(1);
6197 } else {
6198 ((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>*/;
6199 }
6200 if (var_n_signature == NULL) {
6201 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1586);
6202 exit(1);
6203 }
6204 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AMethPropdef> */
6205 if (var_n_signature == NULL) {
6206 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1587);
6207 exit(1);
6208 } else {
6209 ((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>*/;
6210 }
6211 RET_LABEL:;
6212 }
6213 /* method parser_prod#AMethPropdef#init_amethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable AMethid, nullable ASignature) */
6214 void VIRTUAL_parser_prod__AMethPropdef__init_amethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
6215 parser_prod__AMethPropdef__init_amethpropdef(self, p0, p1, p2, p3, p4);
6216 RET_LABEL:;
6217 }
6218 /* method parser_prod#AMethPropdef#replace_child for (self: AMethPropdef, ANode, nullable ANode) */
6219 void parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) {
6220 val* var_old_child /* var old_child: ANode */;
6221 val* var_new_child /* var new_child: nullable ANode */;
6222 val* var /* : nullable ADoc */;
6223 short int var1 /* : Bool */;
6224 val* var2 /* : null */;
6225 short int var3 /* : Bool */;
6226 short int var4 /* : Bool */;
6227 int cltype;
6228 int idtype;
6229 val* var5 /* : null */;
6230 val* var6 /* : nullable TKwredef */;
6231 short int var7 /* : Bool */;
6232 val* var8 /* : null */;
6233 short int var9 /* : Bool */;
6234 short int var10 /* : Bool */;
6235 int cltype11;
6236 int idtype12;
6237 val* var13 /* : null */;
6238 val* var14 /* : nullable AVisibility */;
6239 short int var15 /* : Bool */;
6240 val* var16 /* : null */;
6241 short int var17 /* : Bool */;
6242 short int var18 /* : Bool */;
6243 int cltype19;
6244 int idtype20;
6245 val* var21 /* : nullable AMethid */;
6246 short int var22 /* : Bool */;
6247 val* var23 /* : null */;
6248 short int var24 /* : Bool */;
6249 short int var25 /* : Bool */;
6250 int cltype26;
6251 int idtype27;
6252 val* var28 /* : nullable ASignature */;
6253 short int var29 /* : Bool */;
6254 val* var30 /* : null */;
6255 short int var31 /* : Bool */;
6256 short int var32 /* : Bool */;
6257 int cltype33;
6258 int idtype34;
6259 var_old_child = p0;
6260 var_new_child = p1;
6261 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6262 if (var == NULL) {
6263 var1 = 0; /* <var_old_child:ANode> cannot be null */
6264 } else {
6265 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
6266 }
6267 if (var1){
6268 var2 = NULL;
6269 if (var_new_child == NULL) {
6270 var3 = 0; /* is null */
6271 } else {
6272 var3 = 1; /* arg is null and recv is not */
6273 }
6274 if (var3){
6275 ((void (*)(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)>*/;
6276 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
6277 cltype = type_parser_nodes__ADoc.color;
6278 idtype = type_parser_nodes__ADoc.id;
6279 if(cltype >= var_new_child->type->table_size) {
6280 var4 = 0;
6281 } else {
6282 var4 = var_new_child->type->type_table[cltype] == idtype;
6283 }
6284 if (!var4) {
6285 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1595);
6286 exit(1);
6287 }
6288 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AMethPropdef> */
6289 } else {
6290 var5 = NULL;
6291 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AMethPropdef> */
6292 }
6293 goto RET_LABEL;
6294 } else {
6295 }
6296 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6297 if (var6 == NULL) {
6298 var7 = 0; /* <var_old_child:ANode> cannot be null */
6299 } else {
6300 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
6301 }
6302 if (var7){
6303 var8 = NULL;
6304 if (var_new_child == NULL) {
6305 var9 = 0; /* is null */
6306 } else {
6307 var9 = 1; /* arg is null and recv is not */
6308 }
6309 if (var9){
6310 ((void (*)(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)>*/;
6311 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
6312 cltype11 = type_parser_nodes__TKwredef.color;
6313 idtype12 = type_parser_nodes__TKwredef.id;
6314 if(cltype11 >= var_new_child->type->table_size) {
6315 var10 = 0;
6316 } else {
6317 var10 = var_new_child->type->type_table[cltype11] == idtype12;
6318 }
6319 if (!var10) {
6320 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1605);
6321 exit(1);
6322 }
6323 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AMethPropdef> */
6324 } else {
6325 var13 = NULL;
6326 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AMethPropdef> */
6327 }
6328 goto RET_LABEL;
6329 } else {
6330 }
6331 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AMethPropdef> */
6332 if (var14 == NULL) {
6333 var15 = 0; /* <var_old_child:ANode> cannot be null */
6334 } else {
6335 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
6336 }
6337 if (var15){
6338 var16 = NULL;
6339 if (var_new_child == NULL) {
6340 var17 = 0; /* is null */
6341 } else {
6342 var17 = 1; /* arg is null and recv is not */
6343 }
6344 if (var17){
6345 ((void (*)(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)>*/;
6346 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
6347 cltype19 = type_parser_nodes__AVisibility.color;
6348 idtype20 = type_parser_nodes__AVisibility.id;
6349 if(cltype19 >= var_new_child->type->table_size) {
6350 var18 = 0;
6351 } else {
6352 var18 = var_new_child->type->type_table[cltype19] == idtype20;
6353 }
6354 if (!var18) {
6355 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1615);
6356 exit(1);
6357 }
6358 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AMethPropdef> */
6359 } else {
6360 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1618);
6361 exit(1);
6362 }
6363 goto RET_LABEL;
6364 } else {
6365 }
6366 var21 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AMethPropdef> */
6367 if (var21 == NULL) {
6368 var22 = 0; /* <var_old_child:ANode> cannot be null */
6369 } else {
6370 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:nullable AMethid>*/;
6371 }
6372 if (var22){
6373 var23 = NULL;
6374 if (var_new_child == NULL) {
6375 var24 = 0; /* is null */
6376 } else {
6377 var24 = 1; /* arg is null and recv is not */
6378 }
6379 if (var24){
6380 ((void (*)(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)>*/;
6381 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
6382 cltype26 = type_parser_nodes__AMethid.color;
6383 idtype27 = type_parser_nodes__AMethid.id;
6384 if(cltype26 >= var_new_child->type->table_size) {
6385 var25 = 0;
6386 } else {
6387 var25 = var_new_child->type->type_table[cltype26] == idtype27;
6388 }
6389 if (!var25) {
6390 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1625);
6391 exit(1);
6392 }
6393 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AMethPropdef> */
6394 } else {
6395 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1628);
6396 exit(1);
6397 }
6398 goto RET_LABEL;
6399 } else {
6400 }
6401 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AMethPropdef> */
6402 if (var28 == NULL) {
6403 var29 = 0; /* <var_old_child:ANode> cannot be null */
6404 } else {
6405 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable ASignature>*/;
6406 }
6407 if (var29){
6408 var30 = NULL;
6409 if (var_new_child == NULL) {
6410 var31 = 0; /* is null */
6411 } else {
6412 var31 = 1; /* arg is null and recv is not */
6413 }
6414 if (var31){
6415 ((void (*)(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)>*/;
6416 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
6417 cltype33 = type_parser_nodes__ASignature.color;
6418 idtype34 = type_parser_nodes__ASignature.id;
6419 if(cltype33 >= var_new_child->type->table_size) {
6420 var32 = 0;
6421 } else {
6422 var32 = var_new_child->type->type_table[cltype33] == idtype34;
6423 }
6424 if (!var32) {
6425 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1635);
6426 exit(1);
6427 }
6428 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AMethPropdef> */
6429 } else {
6430 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1638);
6431 exit(1);
6432 }
6433 goto RET_LABEL;
6434 } else {
6435 }
6436 RET_LABEL:;
6437 }
6438 /* method parser_prod#AMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
6439 void VIRTUAL_parser_prod__AMethPropdef__replace_child(val* self, val* p0, val* p1) {
6440 parser_prod__AMethPropdef__replace_child(self, p0, p1);
6441 RET_LABEL:;
6442 }
6443 /* method parser_prod#AMethPropdef#n_doc= for (self: AMethPropdef, nullable ADoc) */
6444 void parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) {
6445 val* var_node /* var node: nullable ADoc */;
6446 val* var /* : null */;
6447 short int var1 /* : Bool */;
6448 var_node = p0;
6449 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AMethPropdef> */
6450 var = NULL;
6451 if (var_node == NULL) {
6452 var1 = 0; /* is null */
6453 } else {
6454 var1 = 1; /* arg is null and recv is not */
6455 }
6456 if (var1){
6457 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
6458 } else {
6459 }
6460 RET_LABEL:;
6461 }
6462 /* method parser_prod#AMethPropdef#n_doc= for (self: Object, nullable ADoc) */
6463 void VIRTUAL_parser_prod__AMethPropdef__n_doc_61d(val* self, val* p0) {
6464 parser_prod__AMethPropdef__n_doc_61d(self, p0);
6465 RET_LABEL:;
6466 }
6467 /* method parser_prod#AMethPropdef#n_kwredef= for (self: AMethPropdef, nullable TKwredef) */
6468 void parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) {
6469 val* var_node /* var node: nullable TKwredef */;
6470 val* var /* : null */;
6471 short int var1 /* : Bool */;
6472 var_node = p0;
6473 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AMethPropdef> */
6474 var = NULL;
6475 if (var_node == NULL) {
6476 var1 = 0; /* is null */
6477 } else {
6478 var1 = 1; /* arg is null and recv is not */
6479 }
6480 if (var1){
6481 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
6482 } else {
6483 }
6484 RET_LABEL:;
6485 }
6486 /* method parser_prod#AMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
6487 void VIRTUAL_parser_prod__AMethPropdef__n_kwredef_61d(val* self, val* p0) {
6488 parser_prod__AMethPropdef__n_kwredef_61d(self, p0);
6489 RET_LABEL:;
6490 }
6491 /* method parser_prod#AMethPropdef#n_visibility= for (self: AMethPropdef, nullable AVisibility) */
6492 void parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) {
6493 val* var_node /* var node: nullable AVisibility */;
6494 var_node = p0;
6495 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AMethPropdef> */
6496 if (var_node == NULL) {
6497 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1661);
6498 exit(1);
6499 } else {
6500 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
6501 }
6502 RET_LABEL:;
6503 }
6504 /* method parser_prod#AMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
6505 void VIRTUAL_parser_prod__AMethPropdef__n_visibility_61d(val* self, val* p0) {
6506 parser_prod__AMethPropdef__n_visibility_61d(self, p0);
6507 RET_LABEL:;
6508 }
6509 /* method parser_prod#AMethPropdef#n_methid= for (self: AMethPropdef, nullable AMethid) */
6510 void parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) {
6511 val* var_node /* var node: nullable AMethid */;
6512 var_node = p0;
6513 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AMethPropdef> */
6514 if (var_node == NULL) {
6515 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1666);
6516 exit(1);
6517 } else {
6518 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
6519 }
6520 RET_LABEL:;
6521 }
6522 /* method parser_prod#AMethPropdef#n_methid= for (self: Object, nullable AMethid) */
6523 void VIRTUAL_parser_prod__AMethPropdef__n_methid_61d(val* self, val* p0) {
6524 parser_prod__AMethPropdef__n_methid_61d(self, p0);
6525 RET_LABEL:;
6526 }
6527 /* method parser_prod#AMethPropdef#n_signature= for (self: AMethPropdef, nullable ASignature) */
6528 void parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) {
6529 val* var_node /* var node: nullable ASignature */;
6530 var_node = p0;
6531 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AMethPropdef> */
6532 if (var_node == NULL) {
6533 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1671);
6534 exit(1);
6535 } else {
6536 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
6537 }
6538 RET_LABEL:;
6539 }
6540 /* method parser_prod#AMethPropdef#n_signature= for (self: Object, nullable ASignature) */
6541 void VIRTUAL_parser_prod__AMethPropdef__n_signature_61d(val* self, val* p0) {
6542 parser_prod__AMethPropdef__n_signature_61d(self, p0);
6543 RET_LABEL:;
6544 }
6545 /* method parser_prod#AMethPropdef#visit_all for (self: AMethPropdef, Visitor) */
6546 void parser_prod__AMethPropdef__visit_all(val* self, val* p0) {
6547 val* var_v /* var v: Visitor */;
6548 val* var /* : nullable ADoc */;
6549 val* var1 /* : null */;
6550 short int var2 /* : Bool */;
6551 val* var3 /* : nullable ADoc */;
6552 val* var4 /* : nullable TKwredef */;
6553 val* var5 /* : null */;
6554 short int var6 /* : Bool */;
6555 val* var7 /* : nullable TKwredef */;
6556 val* var8 /* : nullable AVisibility */;
6557 val* var9 /* : nullable AMethid */;
6558 val* var10 /* : nullable ASignature */;
6559 var_v = p0;
6560 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6561 var1 = NULL;
6562 if (var == NULL) {
6563 var2 = 0; /* is null */
6564 } else {
6565 var2 = 1; /* arg is null and recv is not */
6566 }
6567 if (var2){
6568 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AMethPropdef> */
6569 if (var3 == NULL) {
6570 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1678);
6571 exit(1);
6572 }
6573 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
6574 } else {
6575 }
6576 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6577 var5 = NULL;
6578 if (var4 == NULL) {
6579 var6 = 0; /* is null */
6580 } else {
6581 var6 = 1; /* arg is null and recv is not */
6582 }
6583 if (var6){
6584 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AMethPropdef> */
6585 if (var7 == NULL) {
6586 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1681);
6587 exit(1);
6588 }
6589 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
6590 } else {
6591 }
6592 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AMethPropdef> */
6593 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
6594 var9 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AMethPropdef> */
6595 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
6596 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AMethPropdef> */
6597 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
6598 RET_LABEL:;
6599 }
6600 /* method parser_prod#AMethPropdef#visit_all for (self: Object, Visitor) */
6601 void VIRTUAL_parser_prod__AMethPropdef__visit_all(val* self, val* p0) {
6602 parser_prod__AMethPropdef__visit_all(self, p0);
6603 RET_LABEL:;
6604 }
6605 /* method parser_prod#ADeferredMethPropdef#empty_init for (self: ADeferredMethPropdef) */
6606 void parser_prod__ADeferredMethPropdef__empty_init(val* self) {
6607 RET_LABEL:;
6608 }
6609 /* method parser_prod#ADeferredMethPropdef#empty_init for (self: Object) */
6610 void VIRTUAL_parser_prod__ADeferredMethPropdef__empty_init(val* self) {
6611 parser_prod__ADeferredMethPropdef__empty_init(self);
6612 RET_LABEL:;
6613 }
6614 /* method parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef for (self: ADeferredMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */
6615 void parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
6616 val* var_n_doc /* var n_doc: nullable ADoc */;
6617 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
6618 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
6619 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
6620 val* var_n_methid /* var n_methid: nullable AMethid */;
6621 val* var_n_signature /* var n_signature: nullable ASignature */;
6622 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
6623 val* var /* : null */;
6624 short int var1 /* : Bool */;
6625 val* var2 /* : null */;
6626 short int var3 /* : Bool */;
6627 val* var4 /* : null */;
6628 short int var5 /* : Bool */;
6629 var_n_doc = p0;
6630 var_n_kwredef = p1;
6631 var_n_visibility = p2;
6632 var_n_kwmeth = p3;
6633 var_n_methid = p4;
6634 var_n_signature = p5;
6635 var_n_annotations = p6;
6636 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ADeferredMethPropdef__empty_init]))(self) /* empty_init on <self:ADeferredMethPropdef>*/;
6637 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:ADeferredMethPropdef> */
6638 var = NULL;
6639 if (var_n_doc == NULL) {
6640 var1 = 0; /* is null */
6641 } else {
6642 var1 = 1; /* arg is null and recv is not */
6643 }
6644 if (var1){
6645 ((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)>*/;
6646 } else {
6647 }
6648 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:ADeferredMethPropdef> */
6649 var2 = NULL;
6650 if (var_n_kwredef == NULL) {
6651 var3 = 0; /* is null */
6652 } else {
6653 var3 = 1; /* arg is null and recv is not */
6654 }
6655 if (var3){
6656 ((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)>*/;
6657 } else {
6658 }
6659 if (var_n_visibility == NULL) {
6660 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1710);
6661 exit(1);
6662 }
6663 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:ADeferredMethPropdef> */
6664 if (var_n_visibility == NULL) {
6665 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1711);
6666 exit(1);
6667 } else {
6668 ((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>*/;
6669 }
6670 if (var_n_kwmeth == NULL) {
6671 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1712);
6672 exit(1);
6673 }
6674 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:ADeferredMethPropdef> */
6675 if (var_n_kwmeth == NULL) {
6676 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1713);
6677 exit(1);
6678 } else {
6679 ((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>*/;
6680 }
6681 if (var_n_methid == NULL) {
6682 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1714);
6683 exit(1);
6684 }
6685 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:ADeferredMethPropdef> */
6686 if (var_n_methid == NULL) {
6687 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1715);
6688 exit(1);
6689 } else {
6690 ((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>*/;
6691 }
6692 if (var_n_signature == NULL) {
6693 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1716);
6694 exit(1);
6695 }
6696 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:ADeferredMethPropdef> */
6697 if (var_n_signature == NULL) {
6698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1717);
6699 exit(1);
6700 } else {
6701 ((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>*/;
6702 }
6703 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:ADeferredMethPropdef> */
6704 var4 = NULL;
6705 if (var_n_annotations == NULL) {
6706 var5 = 0; /* is null */
6707 } else {
6708 var5 = 1; /* arg is null and recv is not */
6709 }
6710 if (var5){
6711 ((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)>*/;
6712 } else {
6713 }
6714 RET_LABEL:;
6715 }
6716 /* method parser_prod#ADeferredMethPropdef#init_adeferredmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature, nullable AAnnotations) */
6717 void VIRTUAL_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6) {
6718 parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef(self, p0, p1, p2, p3, p4, p5, p6);
6719 RET_LABEL:;
6720 }
6721 /* method parser_prod#ADeferredMethPropdef#replace_child for (self: ADeferredMethPropdef, ANode, nullable ANode) */
6722 void parser_prod__ADeferredMethPropdef__replace_child(val* self, val* p0, val* p1) {
6723 val* var_old_child /* var old_child: ANode */;
6724 val* var_new_child /* var new_child: nullable ANode */;
6725 val* var /* : nullable ADoc */;
6726 short int var1 /* : Bool */;
6727 val* var2 /* : null */;
6728 short int var3 /* : Bool */;
6729 short int var4 /* : Bool */;
6730 int cltype;
6731 int idtype;
6732 val* var5 /* : null */;
6733 val* var6 /* : nullable TKwredef */;
6734 short int var7 /* : Bool */;
6735 val* var8 /* : null */;
6736 short int var9 /* : Bool */;
6737 short int var10 /* : Bool */;
6738 int cltype11;
6739 int idtype12;
6740 val* var13 /* : null */;
6741 val* var14 /* : nullable AVisibility */;
6742 short int var15 /* : Bool */;
6743 val* var16 /* : null */;
6744 short int var17 /* : Bool */;
6745 short int var18 /* : Bool */;
6746 int cltype19;
6747 int idtype20;
6748 val* var21 /* : TKwmeth */;
6749 short int var22 /* : Bool */;
6750 val* var23 /* : null */;
6751 short int var24 /* : Bool */;
6752 short int var25 /* : Bool */;
6753 int cltype26;
6754 int idtype27;
6755 val* var28 /* : nullable AMethid */;
6756 short int var29 /* : Bool */;
6757 val* var30 /* : null */;
6758 short int var31 /* : Bool */;
6759 short int var32 /* : Bool */;
6760 int cltype33;
6761 int idtype34;
6762 val* var35 /* : nullable ASignature */;
6763 short int var36 /* : Bool */;
6764 val* var37 /* : null */;
6765 short int var38 /* : Bool */;
6766 short int var39 /* : Bool */;
6767 int cltype40;
6768 int idtype41;
6769 val* var42 /* : nullable AAnnotations */;
6770 short int var43 /* : Bool */;
6771 val* var44 /* : null */;
6772 short int var45 /* : Bool */;
6773 short int var46 /* : Bool */;
6774 int cltype47;
6775 int idtype48;
6776 val* var49 /* : null */;
6777 var_old_child = p0;
6778 var_new_child = p1;
6779 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
6780 if (var == NULL) {
6781 var1 = 0; /* <var_old_child:ANode> cannot be null */
6782 } else {
6783 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
6784 }
6785 if (var1){
6786 var2 = NULL;
6787 if (var_new_child == NULL) {
6788 var3 = 0; /* is null */
6789 } else {
6790 var3 = 1; /* arg is null and recv is not */
6791 }
6792 if (var3){
6793 ((void (*)(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)>*/;
6794 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
6795 cltype = type_parser_nodes__ADoc.color;
6796 idtype = type_parser_nodes__ADoc.id;
6797 if(cltype >= var_new_child->type->table_size) {
6798 var4 = 0;
6799 } else {
6800 var4 = var_new_child->type->type_table[cltype] == idtype;
6801 }
6802 if (!var4) {
6803 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1729);
6804 exit(1);
6805 }
6806 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:ADeferredMethPropdef> */
6807 } else {
6808 var5 = NULL;
6809 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:ADeferredMethPropdef> */
6810 }
6811 goto RET_LABEL;
6812 } else {
6813 }
6814 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
6815 if (var6 == NULL) {
6816 var7 = 0; /* <var_old_child:ANode> cannot be null */
6817 } else {
6818 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
6819 }
6820 if (var7){
6821 var8 = NULL;
6822 if (var_new_child == NULL) {
6823 var9 = 0; /* is null */
6824 } else {
6825 var9 = 1; /* arg is null and recv is not */
6826 }
6827 if (var9){
6828 ((void (*)(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)>*/;
6829 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
6830 cltype11 = type_parser_nodes__TKwredef.color;
6831 idtype12 = type_parser_nodes__TKwredef.id;
6832 if(cltype11 >= var_new_child->type->table_size) {
6833 var10 = 0;
6834 } else {
6835 var10 = var_new_child->type->type_table[cltype11] == idtype12;
6836 }
6837 if (!var10) {
6838 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1739);
6839 exit(1);
6840 }
6841 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:ADeferredMethPropdef> */
6842 } else {
6843 var13 = NULL;
6844 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:ADeferredMethPropdef> */
6845 }
6846 goto RET_LABEL;
6847 } else {
6848 }
6849 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:ADeferredMethPropdef> */
6850 if (var14 == NULL) {
6851 var15 = 0; /* <var_old_child:ANode> cannot be null */
6852 } else {
6853 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
6854 }
6855 if (var15){
6856 var16 = NULL;
6857 if (var_new_child == NULL) {
6858 var17 = 0; /* is null */
6859 } else {
6860 var17 = 1; /* arg is null and recv is not */
6861 }
6862 if (var17){
6863 ((void (*)(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)>*/;
6864 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
6865 cltype19 = type_parser_nodes__AVisibility.color;
6866 idtype20 = type_parser_nodes__AVisibility.id;
6867 if(cltype19 >= var_new_child->type->table_size) {
6868 var18 = 0;
6869 } else {
6870 var18 = var_new_child->type->type_table[cltype19] == idtype20;
6871 }
6872 if (!var18) {
6873 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1749);
6874 exit(1);
6875 }
6876 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:ADeferredMethPropdef> */
6877 } else {
6878 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1752);
6879 exit(1);
6880 }
6881 goto RET_LABEL;
6882 } else {
6883 }
6884 var21 = self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:ADeferredMethPropdef> */
6885 if (var21 == NULL) {
6886 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1756);
6887 exit(1);
6888 }
6889 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
6890 if (var22){
6891 var23 = NULL;
6892 if (var_new_child == NULL) {
6893 var24 = 0; /* is null */
6894 } else {
6895 var24 = 1; /* arg is null and recv is not */
6896 }
6897 if (var24){
6898 ((void (*)(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)>*/;
6899 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
6900 cltype26 = type_parser_nodes__TKwmeth.color;
6901 idtype27 = type_parser_nodes__TKwmeth.id;
6902 if(cltype26 >= var_new_child->type->table_size) {
6903 var25 = 0;
6904 } else {
6905 var25 = var_new_child->type->type_table[cltype26] == idtype27;
6906 }
6907 if (!var25) {
6908 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1759);
6909 exit(1);
6910 }
6911 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:ADeferredMethPropdef> */
6912 } else {
6913 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1762);
6914 exit(1);
6915 }
6916 goto RET_LABEL;
6917 } else {
6918 }
6919 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:ADeferredMethPropdef> */
6920 if (var28 == NULL) {
6921 var29 = 0; /* <var_old_child:ANode> cannot be null */
6922 } else {
6923 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
6924 }
6925 if (var29){
6926 var30 = NULL;
6927 if (var_new_child == NULL) {
6928 var31 = 0; /* is null */
6929 } else {
6930 var31 = 1; /* arg is null and recv is not */
6931 }
6932 if (var31){
6933 ((void (*)(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)>*/;
6934 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
6935 cltype33 = type_parser_nodes__AMethid.color;
6936 idtype34 = type_parser_nodes__AMethid.id;
6937 if(cltype33 >= var_new_child->type->table_size) {
6938 var32 = 0;
6939 } else {
6940 var32 = var_new_child->type->type_table[cltype33] == idtype34;
6941 }
6942 if (!var32) {
6943 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1769);
6944 exit(1);
6945 }
6946 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:ADeferredMethPropdef> */
6947 } else {
6948 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1772);
6949 exit(1);
6950 }
6951 goto RET_LABEL;
6952 } else {
6953 }
6954 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:ADeferredMethPropdef> */
6955 if (var35 == NULL) {
6956 var36 = 0; /* <var_old_child:ANode> cannot be null */
6957 } else {
6958 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
6959 }
6960 if (var36){
6961 var37 = NULL;
6962 if (var_new_child == NULL) {
6963 var38 = 0; /* is null */
6964 } else {
6965 var38 = 1; /* arg is null and recv is not */
6966 }
6967 if (var38){
6968 ((void (*)(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)>*/;
6969 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
6970 cltype40 = type_parser_nodes__ASignature.color;
6971 idtype41 = type_parser_nodes__ASignature.id;
6972 if(cltype40 >= var_new_child->type->table_size) {
6973 var39 = 0;
6974 } else {
6975 var39 = var_new_child->type->type_table[cltype40] == idtype41;
6976 }
6977 if (!var39) {
6978 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1779);
6979 exit(1);
6980 }
6981 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:ADeferredMethPropdef> */
6982 } else {
6983 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1782);
6984 exit(1);
6985 }
6986 goto RET_LABEL;
6987 } else {
6988 }
6989 var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
6990 if (var42 == NULL) {
6991 var43 = 0; /* <var_old_child:ANode> cannot be null */
6992 } else {
6993 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable AAnnotations>*/;
6994 }
6995 if (var43){
6996 var44 = NULL;
6997 if (var_new_child == NULL) {
6998 var45 = 0; /* is null */
6999 } else {
7000 var45 = 1; /* arg is null and recv is not */
7001 }
7002 if (var45){
7003 ((void (*)(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)>*/;
7004 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
7005 cltype47 = type_parser_nodes__AAnnotations.color;
7006 idtype48 = type_parser_nodes__AAnnotations.id;
7007 if(cltype47 >= var_new_child->type->table_size) {
7008 var46 = 0;
7009 } else {
7010 var46 = var_new_child->type->type_table[cltype47] == idtype48;
7011 }
7012 if (!var46) {
7013 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1789);
7014 exit(1);
7015 }
7016 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:ADeferredMethPropdef> */
7017 } else {
7018 var49 = NULL;
7019 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _n_annotations on <self:ADeferredMethPropdef> */
7020 }
7021 goto RET_LABEL;
7022 } else {
7023 }
7024 RET_LABEL:;
7025 }
7026 /* method parser_prod#ADeferredMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
7027 void VIRTUAL_parser_prod__ADeferredMethPropdef__replace_child(val* self, val* p0, val* p1) {
7028 parser_prod__ADeferredMethPropdef__replace_child(self, p0, p1);
7029 RET_LABEL:;
7030 }
7031 /* method parser_prod#ADeferredMethPropdef#n_doc= for (self: ADeferredMethPropdef, nullable ADoc) */
7032 void parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) {
7033 val* var_node /* var node: nullable ADoc */;
7034 val* var /* : null */;
7035 short int var1 /* : Bool */;
7036 var_node = p0;
7037 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:ADeferredMethPropdef> */
7038 var = NULL;
7039 if (var_node == NULL) {
7040 var1 = 0; /* is null */
7041 } else {
7042 var1 = 1; /* arg is null and recv is not */
7043 }
7044 if (var1){
7045 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
7046 } else {
7047 }
7048 RET_LABEL:;
7049 }
7050 /* method parser_prod#ADeferredMethPropdef#n_doc= for (self: Object, nullable ADoc) */
7051 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_doc_61d(val* self, val* p0) {
7052 parser_prod__ADeferredMethPropdef__n_doc_61d(self, p0);
7053 RET_LABEL:;
7054 }
7055 /* method parser_prod#ADeferredMethPropdef#n_kwredef= for (self: ADeferredMethPropdef, nullable TKwredef) */
7056 void parser_prod__ADeferredMethPropdef__n_kwredef_61d(val* self, val* p0) {
7057 val* var_node /* var node: nullable TKwredef */;
7058 val* var /* : null */;
7059 short int var1 /* : Bool */;
7060 var_node = p0;
7061 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:ADeferredMethPropdef> */
7062 var = NULL;
7063 if (var_node == NULL) {
7064 var1 = 0; /* is null */
7065 } else {
7066 var1 = 1; /* arg is null and recv is not */
7067 }
7068 if (var1){
7069 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
7070 } else {
7071 }
7072 RET_LABEL:;
7073 }
7074 /* method parser_prod#ADeferredMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
7075 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwredef_61d(val* self, val* p0) {
7076 parser_prod__ADeferredMethPropdef__n_kwredef_61d(self, p0);
7077 RET_LABEL:;
7078 }
7079 /* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: ADeferredMethPropdef, nullable AVisibility) */
7080 void parser_prod__ADeferredMethPropdef__n_visibility_61d(val* self, val* p0) {
7081 val* var_node /* var node: nullable AVisibility */;
7082 var_node = p0;
7083 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:ADeferredMethPropdef> */
7084 if (var_node == NULL) {
7085 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1815);
7086 exit(1);
7087 } else {
7088 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
7089 }
7090 RET_LABEL:;
7091 }
7092 /* method parser_prod#ADeferredMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
7093 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_visibility_61d(val* self, val* p0) {
7094 parser_prod__ADeferredMethPropdef__n_visibility_61d(self, p0);
7095 RET_LABEL:;
7096 }
7097 /* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: ADeferredMethPropdef, TKwmeth) */
7098 void parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7099 val* var_node /* var node: TKwmeth */;
7100 var_node = p0;
7101 self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7102 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
7103 RET_LABEL:;
7104 }
7105 /* method parser_prod#ADeferredMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
7106 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7107 parser_prod__ADeferredMethPropdef__n_kwmeth_61d(self, p0);
7108 RET_LABEL:;
7109 }
7110 /* method parser_prod#ADeferredMethPropdef#n_methid= for (self: ADeferredMethPropdef, nullable AMethid) */
7111 void parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) {
7112 val* var_node /* var node: nullable AMethid */;
7113 var_node = p0;
7114 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:ADeferredMethPropdef> */
7115 if (var_node == NULL) {
7116 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1825);
7117 exit(1);
7118 } else {
7119 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
7120 }
7121 RET_LABEL:;
7122 }
7123 /* method parser_prod#ADeferredMethPropdef#n_methid= for (self: Object, nullable AMethid) */
7124 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_methid_61d(val* self, val* p0) {
7125 parser_prod__ADeferredMethPropdef__n_methid_61d(self, p0);
7126 RET_LABEL:;
7127 }
7128 /* method parser_prod#ADeferredMethPropdef#n_signature= for (self: ADeferredMethPropdef, nullable ASignature) */
7129 void parser_prod__ADeferredMethPropdef__n_signature_61d(val* self, val* p0) {
7130 val* var_node /* var node: nullable ASignature */;
7131 var_node = p0;
7132 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:ADeferredMethPropdef> */
7133 if (var_node == NULL) {
7134 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1830);
7135 exit(1);
7136 } else {
7137 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
7138 }
7139 RET_LABEL:;
7140 }
7141 /* method parser_prod#ADeferredMethPropdef#n_signature= for (self: Object, nullable ASignature) */
7142 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_signature_61d(val* self, val* p0) {
7143 parser_prod__ADeferredMethPropdef__n_signature_61d(self, p0);
7144 RET_LABEL:;
7145 }
7146 /* method parser_prod#ADeferredMethPropdef#n_annotations= for (self: ADeferredMethPropdef, nullable AAnnotations) */
7147 void parser_prod__ADeferredMethPropdef__n_annotations_61d(val* self, val* p0) {
7148 val* var_node /* var node: nullable AAnnotations */;
7149 val* var /* : null */;
7150 short int var1 /* : Bool */;
7151 var_node = p0;
7152 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:ADeferredMethPropdef> */
7153 var = NULL;
7154 if (var_node == NULL) {
7155 var1 = 0; /* is null */
7156 } else {
7157 var1 = 1; /* arg is null and recv is not */
7158 }
7159 if (var1){
7160 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
7161 } else {
7162 }
7163 RET_LABEL:;
7164 }
7165 /* method parser_prod#ADeferredMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
7166 void VIRTUAL_parser_prod__ADeferredMethPropdef__n_annotations_61d(val* self, val* p0) {
7167 parser_prod__ADeferredMethPropdef__n_annotations_61d(self, p0);
7168 RET_LABEL:;
7169 }
7170 /* method parser_prod#ADeferredMethPropdef#visit_all for (self: ADeferredMethPropdef, Visitor) */
7171 void parser_prod__ADeferredMethPropdef__visit_all(val* self, val* p0) {
7172 val* var_v /* var v: Visitor */;
7173 val* var /* : nullable ADoc */;
7174 val* var1 /* : null */;
7175 short int var2 /* : Bool */;
7176 val* var3 /* : nullable ADoc */;
7177 val* var4 /* : nullable TKwredef */;
7178 val* var5 /* : null */;
7179 short int var6 /* : Bool */;
7180 val* var7 /* : nullable TKwredef */;
7181 val* var8 /* : nullable AVisibility */;
7182 val* var9 /* : TKwmeth */;
7183 val* var10 /* : nullable AMethid */;
7184 val* var11 /* : nullable ASignature */;
7185 val* var12 /* : nullable AAnnotations */;
7186 val* var13 /* : null */;
7187 short int var14 /* : Bool */;
7188 val* var15 /* : nullable AAnnotations */;
7189 var_v = p0;
7190 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7191 var1 = NULL;
7192 if (var == NULL) {
7193 var2 = 0; /* is null */
7194 } else {
7195 var2 = 1; /* arg is null and recv is not */
7196 }
7197 if (var2){
7198 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:ADeferredMethPropdef> */
7199 if (var3 == NULL) {
7200 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1844);
7201 exit(1);
7202 }
7203 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7204 } else {
7205 }
7206 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7207 var5 = NULL;
7208 if (var4 == NULL) {
7209 var6 = 0; /* is null */
7210 } else {
7211 var6 = 1; /* arg is null and recv is not */
7212 }
7213 if (var6){
7214 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:ADeferredMethPropdef> */
7215 if (var7 == NULL) {
7216 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1847);
7217 exit(1);
7218 }
7219 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
7220 } else {
7221 }
7222 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:ADeferredMethPropdef> */
7223 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
7224 var9 = self->attrs[COLOR_parser_nodes__ADeferredMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:ADeferredMethPropdef> */
7225 if (var9 == NULL) {
7226 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1850);
7227 exit(1);
7228 }
7229 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
7230 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:ADeferredMethPropdef> */
7231 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
7232 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:ADeferredMethPropdef> */
7233 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
7234 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7235 var13 = NULL;
7236 if (var12 == NULL) {
7237 var14 = 0; /* is null */
7238 } else {
7239 var14 = 1; /* arg is null and recv is not */
7240 }
7241 if (var14){
7242 var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:ADeferredMethPropdef> */
7243 if (var15 == NULL) {
7244 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1854);
7245 exit(1);
7246 }
7247 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
7248 } else {
7249 }
7250 RET_LABEL:;
7251 }
7252 /* method parser_prod#ADeferredMethPropdef#visit_all for (self: Object, Visitor) */
7253 void VIRTUAL_parser_prod__ADeferredMethPropdef__visit_all(val* self, val* p0) {
7254 parser_prod__ADeferredMethPropdef__visit_all(self, p0);
7255 RET_LABEL:;
7256 }
7257 /* method parser_prod#AInternMethPropdef#empty_init for (self: AInternMethPropdef) */
7258 void parser_prod__AInternMethPropdef__empty_init(val* self) {
7259 RET_LABEL:;
7260 }
7261 /* method parser_prod#AInternMethPropdef#empty_init for (self: Object) */
7262 void VIRTUAL_parser_prod__AInternMethPropdef__empty_init(val* self) {
7263 parser_prod__AInternMethPropdef__empty_init(self);
7264 RET_LABEL:;
7265 }
7266 /* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: AInternMethPropdef, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */
7267 void parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
7268 val* var_n_doc /* var n_doc: nullable ADoc */;
7269 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
7270 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
7271 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
7272 val* var_n_methid /* var n_methid: nullable AMethid */;
7273 val* var_n_signature /* var n_signature: nullable ASignature */;
7274 val* var /* : null */;
7275 short int var1 /* : Bool */;
7276 val* var2 /* : null */;
7277 short int var3 /* : Bool */;
7278 var_n_doc = p0;
7279 var_n_kwredef = p1;
7280 var_n_visibility = p2;
7281 var_n_kwmeth = p3;
7282 var_n_methid = p4;
7283 var_n_signature = p5;
7284 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AInternMethPropdef__empty_init]))(self) /* empty_init on <self:AInternMethPropdef>*/;
7285 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AInternMethPropdef> */
7286 var = NULL;
7287 if (var_n_doc == NULL) {
7288 var1 = 0; /* is null */
7289 } else {
7290 var1 = 1; /* arg is null and recv is not */
7291 }
7292 if (var1){
7293 ((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)>*/;
7294 } else {
7295 }
7296 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AInternMethPropdef> */
7297 var2 = NULL;
7298 if (var_n_kwredef == NULL) {
7299 var3 = 0; /* is null */
7300 } else {
7301 var3 = 1; /* arg is null and recv is not */
7302 }
7303 if (var3){
7304 ((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)>*/;
7305 } else {
7306 }
7307 if (var_n_visibility == NULL) {
7308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1879);
7309 exit(1);
7310 }
7311 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AInternMethPropdef> */
7312 if (var_n_visibility == NULL) {
7313 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1880);
7314 exit(1);
7315 } else {
7316 ((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>*/;
7317 }
7318 if (var_n_kwmeth == NULL) {
7319 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1881);
7320 exit(1);
7321 }
7322 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AInternMethPropdef> */
7323 if (var_n_kwmeth == NULL) {
7324 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1882);
7325 exit(1);
7326 } else {
7327 ((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>*/;
7328 }
7329 if (var_n_methid == NULL) {
7330 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1883);
7331 exit(1);
7332 }
7333 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AInternMethPropdef> */
7334 if (var_n_methid == NULL) {
7335 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1884);
7336 exit(1);
7337 } else {
7338 ((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>*/;
7339 }
7340 if (var_n_signature == NULL) {
7341 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1885);
7342 exit(1);
7343 }
7344 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AInternMethPropdef> */
7345 if (var_n_signature == NULL) {
7346 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1886);
7347 exit(1);
7348 } else {
7349 ((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>*/;
7350 }
7351 RET_LABEL:;
7352 }
7353 /* method parser_prod#AInternMethPropdef#init_ainternmethpropdef for (self: Object, nullable ADoc, nullable TKwredef, nullable AVisibility, nullable TKwmeth, nullable AMethid, nullable ASignature) */
7354 void VIRTUAL_parser_prod__AInternMethPropdef__init_ainternmethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
7355 parser_prod__AInternMethPropdef__init_ainternmethpropdef(self, p0, p1, p2, p3, p4, p5);
7356 RET_LABEL:;
7357 }
7358 /* method parser_prod#AInternMethPropdef#replace_child for (self: AInternMethPropdef, ANode, nullable ANode) */
7359 void parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) {
7360 val* var_old_child /* var old_child: ANode */;
7361 val* var_new_child /* var new_child: nullable ANode */;
7362 val* var /* : nullable ADoc */;
7363 short int var1 /* : Bool */;
7364 val* var2 /* : null */;
7365 short int var3 /* : Bool */;
7366 short int var4 /* : Bool */;
7367 int cltype;
7368 int idtype;
7369 val* var5 /* : null */;
7370 val* var6 /* : nullable TKwredef */;
7371 short int var7 /* : Bool */;
7372 val* var8 /* : null */;
7373 short int var9 /* : Bool */;
7374 short int var10 /* : Bool */;
7375 int cltype11;
7376 int idtype12;
7377 val* var13 /* : null */;
7378 val* var14 /* : nullable AVisibility */;
7379 short int var15 /* : Bool */;
7380 val* var16 /* : null */;
7381 short int var17 /* : Bool */;
7382 short int var18 /* : Bool */;
7383 int cltype19;
7384 int idtype20;
7385 val* var21 /* : TKwmeth */;
7386 short int var22 /* : Bool */;
7387 val* var23 /* : null */;
7388 short int var24 /* : Bool */;
7389 short int var25 /* : Bool */;
7390 int cltype26;
7391 int idtype27;
7392 val* var28 /* : nullable AMethid */;
7393 short int var29 /* : Bool */;
7394 val* var30 /* : null */;
7395 short int var31 /* : Bool */;
7396 short int var32 /* : Bool */;
7397 int cltype33;
7398 int idtype34;
7399 val* var35 /* : nullable ASignature */;
7400 short int var36 /* : Bool */;
7401 val* var37 /* : null */;
7402 short int var38 /* : Bool */;
7403 short int var39 /* : Bool */;
7404 int cltype40;
7405 int idtype41;
7406 var_old_child = p0;
7407 var_new_child = p1;
7408 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
7409 if (var == NULL) {
7410 var1 = 0; /* <var_old_child:ANode> cannot be null */
7411 } else {
7412 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
7413 }
7414 if (var1){
7415 var2 = NULL;
7416 if (var_new_child == NULL) {
7417 var3 = 0; /* is null */
7418 } else {
7419 var3 = 1; /* arg is null and recv is not */
7420 }
7421 if (var3){
7422 ((void (*)(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)>*/;
7423 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
7424 cltype = type_parser_nodes__ADoc.color;
7425 idtype = type_parser_nodes__ADoc.id;
7426 if(cltype >= var_new_child->type->table_size) {
7427 var4 = 0;
7428 } else {
7429 var4 = var_new_child->type->type_table[cltype] == idtype;
7430 }
7431 if (!var4) {
7432 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1894);
7433 exit(1);
7434 }
7435 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AInternMethPropdef> */
7436 } else {
7437 var5 = NULL;
7438 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AInternMethPropdef> */
7439 }
7440 goto RET_LABEL;
7441 } else {
7442 }
7443 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
7444 if (var6 == NULL) {
7445 var7 = 0; /* <var_old_child:ANode> cannot be null */
7446 } else {
7447 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
7448 }
7449 if (var7){
7450 var8 = NULL;
7451 if (var_new_child == NULL) {
7452 var9 = 0; /* is null */
7453 } else {
7454 var9 = 1; /* arg is null and recv is not */
7455 }
7456 if (var9){
7457 ((void (*)(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)>*/;
7458 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
7459 cltype11 = type_parser_nodes__TKwredef.color;
7460 idtype12 = type_parser_nodes__TKwredef.id;
7461 if(cltype11 >= var_new_child->type->table_size) {
7462 var10 = 0;
7463 } else {
7464 var10 = var_new_child->type->type_table[cltype11] == idtype12;
7465 }
7466 if (!var10) {
7467 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1904);
7468 exit(1);
7469 }
7470 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AInternMethPropdef> */
7471 } else {
7472 var13 = NULL;
7473 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AInternMethPropdef> */
7474 }
7475 goto RET_LABEL;
7476 } else {
7477 }
7478 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AInternMethPropdef> */
7479 if (var14 == NULL) {
7480 var15 = 0; /* <var_old_child:ANode> cannot be null */
7481 } else {
7482 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
7483 }
7484 if (var15){
7485 var16 = NULL;
7486 if (var_new_child == NULL) {
7487 var17 = 0; /* is null */
7488 } else {
7489 var17 = 1; /* arg is null and recv is not */
7490 }
7491 if (var17){
7492 ((void (*)(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)>*/;
7493 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
7494 cltype19 = type_parser_nodes__AVisibility.color;
7495 idtype20 = type_parser_nodes__AVisibility.id;
7496 if(cltype19 >= var_new_child->type->table_size) {
7497 var18 = 0;
7498 } else {
7499 var18 = var_new_child->type->type_table[cltype19] == idtype20;
7500 }
7501 if (!var18) {
7502 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1914);
7503 exit(1);
7504 }
7505 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AInternMethPropdef> */
7506 } else {
7507 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1917);
7508 exit(1);
7509 }
7510 goto RET_LABEL;
7511 } else {
7512 }
7513 var21 = self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AInternMethPropdef> */
7514 if (var21 == NULL) {
7515 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1921);
7516 exit(1);
7517 }
7518 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
7519 if (var22){
7520 var23 = NULL;
7521 if (var_new_child == NULL) {
7522 var24 = 0; /* is null */
7523 } else {
7524 var24 = 1; /* arg is null and recv is not */
7525 }
7526 if (var24){
7527 ((void (*)(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)>*/;
7528 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
7529 cltype26 = type_parser_nodes__TKwmeth.color;
7530 idtype27 = type_parser_nodes__TKwmeth.id;
7531 if(cltype26 >= var_new_child->type->table_size) {
7532 var25 = 0;
7533 } else {
7534 var25 = var_new_child->type->type_table[cltype26] == idtype27;
7535 }
7536 if (!var25) {
7537 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1924);
7538 exit(1);
7539 }
7540 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AInternMethPropdef> */
7541 } else {
7542 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1927);
7543 exit(1);
7544 }
7545 goto RET_LABEL;
7546 } else {
7547 }
7548 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AInternMethPropdef> */
7549 if (var28 == NULL) {
7550 var29 = 0; /* <var_old_child:ANode> cannot be null */
7551 } else {
7552 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
7553 }
7554 if (var29){
7555 var30 = NULL;
7556 if (var_new_child == NULL) {
7557 var31 = 0; /* is null */
7558 } else {
7559 var31 = 1; /* arg is null and recv is not */
7560 }
7561 if (var31){
7562 ((void (*)(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)>*/;
7563 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
7564 cltype33 = type_parser_nodes__AMethid.color;
7565 idtype34 = type_parser_nodes__AMethid.id;
7566 if(cltype33 >= var_new_child->type->table_size) {
7567 var32 = 0;
7568 } else {
7569 var32 = var_new_child->type->type_table[cltype33] == idtype34;
7570 }
7571 if (!var32) {
7572 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1934);
7573 exit(1);
7574 }
7575 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AInternMethPropdef> */
7576 } else {
7577 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1937);
7578 exit(1);
7579 }
7580 goto RET_LABEL;
7581 } else {
7582 }
7583 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AInternMethPropdef> */
7584 if (var35 == NULL) {
7585 var36 = 0; /* <var_old_child:ANode> cannot be null */
7586 } else {
7587 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
7588 }
7589 if (var36){
7590 var37 = NULL;
7591 if (var_new_child == NULL) {
7592 var38 = 0; /* is null */
7593 } else {
7594 var38 = 1; /* arg is null and recv is not */
7595 }
7596 if (var38){
7597 ((void (*)(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)>*/;
7598 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
7599 cltype40 = type_parser_nodes__ASignature.color;
7600 idtype41 = type_parser_nodes__ASignature.id;
7601 if(cltype40 >= var_new_child->type->table_size) {
7602 var39 = 0;
7603 } else {
7604 var39 = var_new_child->type->type_table[cltype40] == idtype41;
7605 }
7606 if (!var39) {
7607 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 1944);
7608 exit(1);
7609 }
7610 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AInternMethPropdef> */
7611 } else {
7612 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 1947);
7613 exit(1);
7614 }
7615 goto RET_LABEL;
7616 } else {
7617 }
7618 RET_LABEL:;
7619 }
7620 /* method parser_prod#AInternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
7621 void VIRTUAL_parser_prod__AInternMethPropdef__replace_child(val* self, val* p0, val* p1) {
7622 parser_prod__AInternMethPropdef__replace_child(self, p0, p1);
7623 RET_LABEL:;
7624 }
7625 /* method parser_prod#AInternMethPropdef#n_doc= for (self: AInternMethPropdef, nullable ADoc) */
7626 void parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) {
7627 val* var_node /* var node: nullable ADoc */;
7628 val* var /* : null */;
7629 short int var1 /* : Bool */;
7630 var_node = p0;
7631 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AInternMethPropdef> */
7632 var = NULL;
7633 if (var_node == NULL) {
7634 var1 = 0; /* is null */
7635 } else {
7636 var1 = 1; /* arg is null and recv is not */
7637 }
7638 if (var1){
7639 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
7640 } else {
7641 }
7642 RET_LABEL:;
7643 }
7644 /* method parser_prod#AInternMethPropdef#n_doc= for (self: Object, nullable ADoc) */
7645 void VIRTUAL_parser_prod__AInternMethPropdef__n_doc_61d(val* self, val* p0) {
7646 parser_prod__AInternMethPropdef__n_doc_61d(self, p0);
7647 RET_LABEL:;
7648 }
7649 /* method parser_prod#AInternMethPropdef#n_kwredef= for (self: AInternMethPropdef, nullable TKwredef) */
7650 void parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) {
7651 val* var_node /* var node: nullable TKwredef */;
7652 val* var /* : null */;
7653 short int var1 /* : Bool */;
7654 var_node = p0;
7655 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AInternMethPropdef> */
7656 var = NULL;
7657 if (var_node == NULL) {
7658 var1 = 0; /* is null */
7659 } else {
7660 var1 = 1; /* arg is null and recv is not */
7661 }
7662 if (var1){
7663 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
7664 } else {
7665 }
7666 RET_LABEL:;
7667 }
7668 /* method parser_prod#AInternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
7669 void VIRTUAL_parser_prod__AInternMethPropdef__n_kwredef_61d(val* self, val* p0) {
7670 parser_prod__AInternMethPropdef__n_kwredef_61d(self, p0);
7671 RET_LABEL:;
7672 }
7673 /* method parser_prod#AInternMethPropdef#n_visibility= for (self: AInternMethPropdef, nullable AVisibility) */
7674 void parser_prod__AInternMethPropdef__n_visibility_61d(val* self, val* p0) {
7675 val* var_node /* var node: nullable AVisibility */;
7676 var_node = p0;
7677 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AInternMethPropdef> */
7678 if (var_node == NULL) {
7679 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1970);
7680 exit(1);
7681 } else {
7682 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
7683 }
7684 RET_LABEL:;
7685 }
7686 /* method parser_prod#AInternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
7687 void VIRTUAL_parser_prod__AInternMethPropdef__n_visibility_61d(val* self, val* p0) {
7688 parser_prod__AInternMethPropdef__n_visibility_61d(self, p0);
7689 RET_LABEL:;
7690 }
7691 /* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: AInternMethPropdef, TKwmeth) */
7692 void parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7693 val* var_node /* var node: TKwmeth */;
7694 var_node = p0;
7695 self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AInternMethPropdef> */
7696 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
7697 RET_LABEL:;
7698 }
7699 /* method parser_prod#AInternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
7700 void VIRTUAL_parser_prod__AInternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
7701 parser_prod__AInternMethPropdef__n_kwmeth_61d(self, p0);
7702 RET_LABEL:;
7703 }
7704 /* method parser_prod#AInternMethPropdef#n_methid= for (self: AInternMethPropdef, nullable AMethid) */
7705 void parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) {
7706 val* var_node /* var node: nullable AMethid */;
7707 var_node = p0;
7708 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AInternMethPropdef> */
7709 if (var_node == NULL) {
7710 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1980);
7711 exit(1);
7712 } else {
7713 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
7714 }
7715 RET_LABEL:;
7716 }
7717 /* method parser_prod#AInternMethPropdef#n_methid= for (self: Object, nullable AMethid) */
7718 void VIRTUAL_parser_prod__AInternMethPropdef__n_methid_61d(val* self, val* p0) {
7719 parser_prod__AInternMethPropdef__n_methid_61d(self, p0);
7720 RET_LABEL:;
7721 }
7722 /* method parser_prod#AInternMethPropdef#n_signature= for (self: AInternMethPropdef, nullable ASignature) */
7723 void parser_prod__AInternMethPropdef__n_signature_61d(val* self, val* p0) {
7724 val* var_node /* var node: nullable ASignature */;
7725 var_node = p0;
7726 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AInternMethPropdef> */
7727 if (var_node == NULL) {
7728 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 1985);
7729 exit(1);
7730 } else {
7731 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
7732 }
7733 RET_LABEL:;
7734 }
7735 /* method parser_prod#AInternMethPropdef#n_signature= for (self: Object, nullable ASignature) */
7736 void VIRTUAL_parser_prod__AInternMethPropdef__n_signature_61d(val* self, val* p0) {
7737 parser_prod__AInternMethPropdef__n_signature_61d(self, p0);
7738 RET_LABEL:;
7739 }
7740 /* method parser_prod#AInternMethPropdef#visit_all for (self: AInternMethPropdef, Visitor) */
7741 void parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) {
7742 val* var_v /* var v: Visitor */;
7743 val* var /* : nullable ADoc */;
7744 val* var1 /* : null */;
7745 short int var2 /* : Bool */;
7746 val* var3 /* : nullable ADoc */;
7747 val* var4 /* : nullable TKwredef */;
7748 val* var5 /* : null */;
7749 short int var6 /* : Bool */;
7750 val* var7 /* : nullable TKwredef */;
7751 val* var8 /* : nullable AVisibility */;
7752 val* var9 /* : TKwmeth */;
7753 val* var10 /* : nullable AMethid */;
7754 val* var11 /* : nullable ASignature */;
7755 var_v = p0;
7756 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
7757 var1 = NULL;
7758 if (var == NULL) {
7759 var2 = 0; /* is null */
7760 } else {
7761 var2 = 1; /* arg is null and recv is not */
7762 }
7763 if (var2){
7764 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AInternMethPropdef> */
7765 if (var3 == NULL) {
7766 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1992);
7767 exit(1);
7768 }
7769 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
7770 } else {
7771 }
7772 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
7773 var5 = NULL;
7774 if (var4 == NULL) {
7775 var6 = 0; /* is null */
7776 } else {
7777 var6 = 1; /* arg is null and recv is not */
7778 }
7779 if (var6){
7780 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AInternMethPropdef> */
7781 if (var7 == NULL) {
7782 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 1995);
7783 exit(1);
7784 }
7785 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
7786 } else {
7787 }
7788 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AInternMethPropdef> */
7789 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
7790 var9 = self->attrs[COLOR_parser_nodes__AInternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AInternMethPropdef> */
7791 if (var9 == NULL) {
7792 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 1998);
7793 exit(1);
7794 }
7795 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
7796 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AInternMethPropdef> */
7797 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
7798 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AInternMethPropdef> */
7799 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
7800 RET_LABEL:;
7801 }
7802 /* method parser_prod#AInternMethPropdef#visit_all for (self: Object, Visitor) */
7803 void VIRTUAL_parser_prod__AInternMethPropdef__visit_all(val* self, val* p0) {
7804 parser_prod__AInternMethPropdef__visit_all(self, p0);
7805 RET_LABEL:;
7806 }
7807 /* method parser_prod#AExternMethPropdef#empty_init for (self: AExternMethPropdef) */
7808 void parser_prod__AExternMethPropdef__empty_init(val* self) {
7809 RET_LABEL:;
7810 }
7811 /* method parser_prod#AExternMethPropdef#empty_init for (self: Object) */
7812 void VIRTUAL_parser_prod__AExternMethPropdef__empty_init(val* self) {
7813 parser_prod__AExternMethPropdef__empty_init(self);
7814 RET_LABEL:;
7815 }
7816 /* 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) */
7817 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) {
7818 val* var_n_doc /* var n_doc: nullable ADoc */;
7819 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
7820 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
7821 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
7822 val* var_n_methid /* var n_methid: nullable AMethid */;
7823 val* var_n_signature /* var n_signature: nullable ASignature */;
7824 val* var_n_extern /* var n_extern: nullable TString */;
7825 val* var_n_extern_calls /* var n_extern_calls: nullable AExternCalls */;
7826 val* var_n_extern_code_block /* var n_extern_code_block: nullable AExternCodeBlock */;
7827 val* var /* : null */;
7828 short int var1 /* : Bool */;
7829 val* var2 /* : null */;
7830 short int var3 /* : Bool */;
7831 val* var4 /* : null */;
7832 short int var5 /* : Bool */;
7833 val* var6 /* : null */;
7834 short int var7 /* : Bool */;
7835 val* var8 /* : null */;
7836 short int var9 /* : Bool */;
7837 var_n_doc = p0;
7838 var_n_kwredef = p1;
7839 var_n_visibility = p2;
7840 var_n_kwmeth = p3;
7841 var_n_methid = p4;
7842 var_n_signature = p5;
7843 var_n_extern = p6;
7844 var_n_extern_calls = p7;
7845 var_n_extern_code_block = p8;
7846 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AExternMethPropdef__empty_init]))(self) /* empty_init on <self:AExternMethPropdef>*/;
7847 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AExternMethPropdef> */
7848 var = NULL;
7849 if (var_n_doc == NULL) {
7850 var1 = 0; /* is null */
7851 } else {
7852 var1 = 1; /* arg is null and recv is not */
7853 }
7854 if (var1){
7855 ((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)>*/;
7856 } else {
7857 }
7858 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AExternMethPropdef> */
7859 var2 = NULL;
7860 if (var_n_kwredef == NULL) {
7861 var3 = 0; /* is null */
7862 } else {
7863 var3 = 1; /* arg is null and recv is not */
7864 }
7865 if (var3){
7866 ((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)>*/;
7867 } else {
7868 }
7869 if (var_n_visibility == NULL) {
7870 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2027);
7871 exit(1);
7872 }
7873 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AExternMethPropdef> */
7874 if (var_n_visibility == NULL) {
7875 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2028);
7876 exit(1);
7877 } else {
7878 ((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>*/;
7879 }
7880 if (var_n_kwmeth == NULL) {
7881 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2029);
7882 exit(1);
7883 }
7884 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AExternMethPropdef> */
7885 if (var_n_kwmeth == NULL) {
7886 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2030);
7887 exit(1);
7888 } else {
7889 ((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>*/;
7890 }
7891 if (var_n_methid == NULL) {
7892 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2031);
7893 exit(1);
7894 }
7895 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AExternMethPropdef> */
7896 if (var_n_methid == NULL) {
7897 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2032);
7898 exit(1);
7899 } else {
7900 ((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>*/;
7901 }
7902 if (var_n_signature == NULL) {
7903 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2033);
7904 exit(1);
7905 }
7906 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AExternMethPropdef> */
7907 if (var_n_signature == NULL) {
7908 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2034);
7909 exit(1);
7910 } else {
7911 ((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>*/;
7912 }
7913 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_n_extern; /* _n_extern on <self:AExternMethPropdef> */
7914 var4 = NULL;
7915 if (var_n_extern == NULL) {
7916 var5 = 0; /* is null */
7917 } else {
7918 var5 = 1; /* arg is null and recv is not */
7919 }
7920 if (var5){
7921 ((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)>*/;
7922 } else {
7923 }
7924 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_n_extern_calls; /* _n_extern_calls on <self:AExternMethPropdef> */
7925 var6 = NULL;
7926 if (var_n_extern_calls == NULL) {
7927 var7 = 0; /* is null */
7928 } else {
7929 var7 = 1; /* arg is null and recv is not */
7930 }
7931 if (var7){
7932 ((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)>*/;
7933 } else {
7934 }
7935 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_n_extern_code_block; /* _n_extern_code_block on <self:AExternMethPropdef> */
7936 var8 = NULL;
7937 if (var_n_extern_code_block == NULL) {
7938 var9 = 0; /* is null */
7939 } else {
7940 var9 = 1; /* arg is null and recv is not */
7941 }
7942 if (var9){
7943 ((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)>*/;
7944 } else {
7945 }
7946 RET_LABEL:;
7947 }
7948 /* 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) */
7949 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) {
7950 parser_prod__AExternMethPropdef__init_aexternmethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7, p8);
7951 RET_LABEL:;
7952 }
7953 /* method parser_prod#AExternMethPropdef#replace_child for (self: AExternMethPropdef, ANode, nullable ANode) */
7954 void parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) {
7955 val* var_old_child /* var old_child: ANode */;
7956 val* var_new_child /* var new_child: nullable ANode */;
7957 val* var /* : nullable ADoc */;
7958 short int var1 /* : Bool */;
7959 val* var2 /* : null */;
7960 short int var3 /* : Bool */;
7961 short int var4 /* : Bool */;
7962 int cltype;
7963 int idtype;
7964 val* var5 /* : null */;
7965 val* var6 /* : nullable TKwredef */;
7966 short int var7 /* : Bool */;
7967 val* var8 /* : null */;
7968 short int var9 /* : Bool */;
7969 short int var10 /* : Bool */;
7970 int cltype11;
7971 int idtype12;
7972 val* var13 /* : null */;
7973 val* var14 /* : nullable AVisibility */;
7974 short int var15 /* : Bool */;
7975 val* var16 /* : null */;
7976 short int var17 /* : Bool */;
7977 short int var18 /* : Bool */;
7978 int cltype19;
7979 int idtype20;
7980 val* var21 /* : TKwmeth */;
7981 short int var22 /* : Bool */;
7982 val* var23 /* : null */;
7983 short int var24 /* : Bool */;
7984 short int var25 /* : Bool */;
7985 int cltype26;
7986 int idtype27;
7987 val* var28 /* : nullable AMethid */;
7988 short int var29 /* : Bool */;
7989 val* var30 /* : null */;
7990 short int var31 /* : Bool */;
7991 short int var32 /* : Bool */;
7992 int cltype33;
7993 int idtype34;
7994 val* var35 /* : nullable ASignature */;
7995 short int var36 /* : Bool */;
7996 val* var37 /* : null */;
7997 short int var38 /* : Bool */;
7998 short int var39 /* : Bool */;
7999 int cltype40;
8000 int idtype41;
8001 val* var42 /* : nullable TString */;
8002 short int var43 /* : Bool */;
8003 val* var44 /* : null */;
8004 short int var45 /* : Bool */;
8005 short int var46 /* : Bool */;
8006 int cltype47;
8007 int idtype48;
8008 val* var49 /* : null */;
8009 val* var50 /* : nullable AExternCalls */;
8010 short int var51 /* : Bool */;
8011 val* var52 /* : null */;
8012 short int var53 /* : Bool */;
8013 short int var54 /* : Bool */;
8014 int cltype55;
8015 int idtype56;
8016 val* var57 /* : null */;
8017 val* var58 /* : nullable AExternCodeBlock */;
8018 short int var59 /* : Bool */;
8019 val* var60 /* : null */;
8020 short int var61 /* : Bool */;
8021 short int var62 /* : Bool */;
8022 int cltype63;
8023 int idtype64;
8024 val* var65 /* : null */;
8025 var_old_child = p0;
8026 var_new_child = p1;
8027 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8028 if (var == NULL) {
8029 var1 = 0; /* <var_old_child:ANode> cannot be null */
8030 } else {
8031 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
8032 }
8033 if (var1){
8034 var2 = NULL;
8035 if (var_new_child == NULL) {
8036 var3 = 0; /* is null */
8037 } else {
8038 var3 = 1; /* arg is null and recv is not */
8039 }
8040 if (var3){
8041 ((void (*)(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)>*/;
8042 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
8043 cltype = type_parser_nodes__ADoc.color;
8044 idtype = type_parser_nodes__ADoc.id;
8045 if(cltype >= var_new_child->type->table_size) {
8046 var4 = 0;
8047 } else {
8048 var4 = var_new_child->type->type_table[cltype] == idtype;
8049 }
8050 if (!var4) {
8051 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2054);
8052 exit(1);
8053 }
8054 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AExternMethPropdef> */
8055 } else {
8056 var5 = NULL;
8057 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AExternMethPropdef> */
8058 }
8059 goto RET_LABEL;
8060 } else {
8061 }
8062 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8063 if (var6 == NULL) {
8064 var7 = 0; /* <var_old_child:ANode> cannot be null */
8065 } else {
8066 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
8067 }
8068 if (var7){
8069 var8 = NULL;
8070 if (var_new_child == NULL) {
8071 var9 = 0; /* is null */
8072 } else {
8073 var9 = 1; /* arg is null and recv is not */
8074 }
8075 if (var9){
8076 ((void (*)(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)>*/;
8077 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
8078 cltype11 = type_parser_nodes__TKwredef.color;
8079 idtype12 = type_parser_nodes__TKwredef.id;
8080 if(cltype11 >= var_new_child->type->table_size) {
8081 var10 = 0;
8082 } else {
8083 var10 = var_new_child->type->type_table[cltype11] == idtype12;
8084 }
8085 if (!var10) {
8086 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2064);
8087 exit(1);
8088 }
8089 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AExternMethPropdef> */
8090 } else {
8091 var13 = NULL;
8092 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AExternMethPropdef> */
8093 }
8094 goto RET_LABEL;
8095 } else {
8096 }
8097 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AExternMethPropdef> */
8098 if (var14 == NULL) {
8099 var15 = 0; /* <var_old_child:ANode> cannot be null */
8100 } else {
8101 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
8102 }
8103 if (var15){
8104 var16 = NULL;
8105 if (var_new_child == NULL) {
8106 var17 = 0; /* is null */
8107 } else {
8108 var17 = 1; /* arg is null and recv is not */
8109 }
8110 if (var17){
8111 ((void (*)(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)>*/;
8112 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
8113 cltype19 = type_parser_nodes__AVisibility.color;
8114 idtype20 = type_parser_nodes__AVisibility.id;
8115 if(cltype19 >= var_new_child->type->table_size) {
8116 var18 = 0;
8117 } else {
8118 var18 = var_new_child->type->type_table[cltype19] == idtype20;
8119 }
8120 if (!var18) {
8121 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2074);
8122 exit(1);
8123 }
8124 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AExternMethPropdef> */
8125 } else {
8126 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2077);
8127 exit(1);
8128 }
8129 goto RET_LABEL;
8130 } else {
8131 }
8132 var21 = self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AExternMethPropdef> */
8133 if (var21 == NULL) {
8134 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 2081);
8135 exit(1);
8136 }
8137 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwmeth>*/;
8138 if (var22){
8139 var23 = NULL;
8140 if (var_new_child == NULL) {
8141 var24 = 0; /* is null */
8142 } else {
8143 var24 = 1; /* arg is null and recv is not */
8144 }
8145 if (var24){
8146 ((void (*)(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)>*/;
8147 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
8148 cltype26 = type_parser_nodes__TKwmeth.color;
8149 idtype27 = type_parser_nodes__TKwmeth.id;
8150 if(cltype26 >= var_new_child->type->table_size) {
8151 var25 = 0;
8152 } else {
8153 var25 = var_new_child->type->type_table[cltype26] == idtype27;
8154 }
8155 if (!var25) {
8156 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2084);
8157 exit(1);
8158 }
8159 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AExternMethPropdef> */
8160 } else {
8161 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2087);
8162 exit(1);
8163 }
8164 goto RET_LABEL;
8165 } else {
8166 }
8167 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AExternMethPropdef> */
8168 if (var28 == NULL) {
8169 var29 = 0; /* <var_old_child:ANode> cannot be null */
8170 } else {
8171 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
8172 }
8173 if (var29){
8174 var30 = NULL;
8175 if (var_new_child == NULL) {
8176 var31 = 0; /* is null */
8177 } else {
8178 var31 = 1; /* arg is null and recv is not */
8179 }
8180 if (var31){
8181 ((void (*)(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)>*/;
8182 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
8183 cltype33 = type_parser_nodes__AMethid.color;
8184 idtype34 = type_parser_nodes__AMethid.id;
8185 if(cltype33 >= var_new_child->type->table_size) {
8186 var32 = 0;
8187 } else {
8188 var32 = var_new_child->type->type_table[cltype33] == idtype34;
8189 }
8190 if (!var32) {
8191 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2094);
8192 exit(1);
8193 }
8194 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AExternMethPropdef> */
8195 } else {
8196 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2097);
8197 exit(1);
8198 }
8199 goto RET_LABEL;
8200 } else {
8201 }
8202 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AExternMethPropdef> */
8203 if (var35 == NULL) {
8204 var36 = 0; /* <var_old_child:ANode> cannot be null */
8205 } else {
8206 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
8207 }
8208 if (var36){
8209 var37 = NULL;
8210 if (var_new_child == NULL) {
8211 var38 = 0; /* is null */
8212 } else {
8213 var38 = 1; /* arg is null and recv is not */
8214 }
8215 if (var38){
8216 ((void (*)(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)>*/;
8217 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
8218 cltype40 = type_parser_nodes__ASignature.color;
8219 idtype41 = type_parser_nodes__ASignature.id;
8220 if(cltype40 >= var_new_child->type->table_size) {
8221 var39 = 0;
8222 } else {
8223 var39 = var_new_child->type->type_table[cltype40] == idtype41;
8224 }
8225 if (!var39) {
8226 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2104);
8227 exit(1);
8228 }
8229 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AExternMethPropdef> */
8230 } else {
8231 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2107);
8232 exit(1);
8233 }
8234 goto RET_LABEL;
8235 } else {
8236 }
8237 var42 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8238 if (var42 == NULL) {
8239 var43 = 0; /* <var_old_child:ANode> cannot be null */
8240 } else {
8241 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable TString>*/;
8242 }
8243 if (var43){
8244 var44 = NULL;
8245 if (var_new_child == NULL) {
8246 var45 = 0; /* is null */
8247 } else {
8248 var45 = 1; /* arg is null and recv is not */
8249 }
8250 if (var45){
8251 ((void (*)(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)>*/;
8252 /* <var_new_child:nullable ANode(ANode)> isa TString */
8253 cltype47 = type_parser_nodes__TString.color;
8254 idtype48 = type_parser_nodes__TString.id;
8255 if(cltype47 >= var_new_child->type->table_size) {
8256 var46 = 0;
8257 } else {
8258 var46 = var_new_child->type->type_table[cltype47] == idtype48;
8259 }
8260 if (!var46) {
8261 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2114);
8262 exit(1);
8263 }
8264 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_new_child; /* _n_extern on <self:AExternMethPropdef> */
8265 } else {
8266 var49 = NULL;
8267 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var49; /* _n_extern on <self:AExternMethPropdef> */
8268 }
8269 goto RET_LABEL;
8270 } else {
8271 }
8272 var50 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8273 if (var50 == NULL) {
8274 var51 = 0; /* <var_old_child:ANode> cannot be null */
8275 } else {
8276 var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on <var50:nullable AExternCalls>*/;
8277 }
8278 if (var51){
8279 var52 = NULL;
8280 if (var_new_child == NULL) {
8281 var53 = 0; /* is null */
8282 } else {
8283 var53 = 1; /* arg is null and recv is not */
8284 }
8285 if (var53){
8286 ((void (*)(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)>*/;
8287 /* <var_new_child:nullable ANode(ANode)> isa AExternCalls */
8288 cltype55 = type_parser_nodes__AExternCalls.color;
8289 idtype56 = type_parser_nodes__AExternCalls.id;
8290 if(cltype55 >= var_new_child->type->table_size) {
8291 var54 = 0;
8292 } else {
8293 var54 = var_new_child->type->type_table[cltype55] == idtype56;
8294 }
8295 if (!var54) {
8296 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2124);
8297 exit(1);
8298 }
8299 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_new_child; /* _n_extern_calls on <self:AExternMethPropdef> */
8300 } else {
8301 var57 = NULL;
8302 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var57; /* _n_extern_calls on <self:AExternMethPropdef> */
8303 }
8304 goto RET_LABEL;
8305 } else {
8306 }
8307 var58 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
8308 if (var58 == NULL) {
8309 var59 = 0; /* <var_old_child:ANode> cannot be null */
8310 } else {
8311 var59 = ((short int (*)(val*, val*))(var58->class->vft[COLOR_kernel__Object___61d_61d]))(var58, var_old_child) /* == on <var58:nullable AExternCodeBlock>*/;
8312 }
8313 if (var59){
8314 var60 = NULL;
8315 if (var_new_child == NULL) {
8316 var61 = 0; /* is null */
8317 } else {
8318 var61 = 1; /* arg is null and recv is not */
8319 }
8320 if (var61){
8321 ((void (*)(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)>*/;
8322 /* <var_new_child:nullable ANode(ANode)> isa AExternCodeBlock */
8323 cltype63 = type_parser_nodes__AExternCodeBlock.color;
8324 idtype64 = type_parser_nodes__AExternCodeBlock.id;
8325 if(cltype63 >= var_new_child->type->table_size) {
8326 var62 = 0;
8327 } else {
8328 var62 = var_new_child->type->type_table[cltype63] == idtype64;
8329 }
8330 if (!var62) {
8331 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2134);
8332 exit(1);
8333 }
8334 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_new_child; /* _n_extern_code_block on <self:AExternMethPropdef> */
8335 } else {
8336 var65 = NULL;
8337 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var65; /* _n_extern_code_block on <self:AExternMethPropdef> */
8338 }
8339 goto RET_LABEL;
8340 } else {
8341 }
8342 RET_LABEL:;
8343 }
8344 /* method parser_prod#AExternMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
8345 void VIRTUAL_parser_prod__AExternMethPropdef__replace_child(val* self, val* p0, val* p1) {
8346 parser_prod__AExternMethPropdef__replace_child(self, p0, p1);
8347 RET_LABEL:;
8348 }
8349 /* method parser_prod#AExternMethPropdef#n_doc= for (self: AExternMethPropdef, nullable ADoc) */
8350 void parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) {
8351 val* var_node /* var node: nullable ADoc */;
8352 val* var /* : null */;
8353 short int var1 /* : Bool */;
8354 var_node = p0;
8355 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AExternMethPropdef> */
8356 var = NULL;
8357 if (var_node == NULL) {
8358 var1 = 0; /* is null */
8359 } else {
8360 var1 = 1; /* arg is null and recv is not */
8361 }
8362 if (var1){
8363 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
8364 } else {
8365 }
8366 RET_LABEL:;
8367 }
8368 /* method parser_prod#AExternMethPropdef#n_doc= for (self: Object, nullable ADoc) */
8369 void VIRTUAL_parser_prod__AExternMethPropdef__n_doc_61d(val* self, val* p0) {
8370 parser_prod__AExternMethPropdef__n_doc_61d(self, p0);
8371 RET_LABEL:;
8372 }
8373 /* method parser_prod#AExternMethPropdef#n_kwredef= for (self: AExternMethPropdef, nullable TKwredef) */
8374 void parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) {
8375 val* var_node /* var node: nullable TKwredef */;
8376 val* var /* : null */;
8377 short int var1 /* : Bool */;
8378 var_node = p0;
8379 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AExternMethPropdef> */
8380 var = NULL;
8381 if (var_node == NULL) {
8382 var1 = 0; /* is null */
8383 } else {
8384 var1 = 1; /* arg is null and recv is not */
8385 }
8386 if (var1){
8387 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
8388 } else {
8389 }
8390 RET_LABEL:;
8391 }
8392 /* method parser_prod#AExternMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
8393 void VIRTUAL_parser_prod__AExternMethPropdef__n_kwredef_61d(val* self, val* p0) {
8394 parser_prod__AExternMethPropdef__n_kwredef_61d(self, p0);
8395 RET_LABEL:;
8396 }
8397 /* method parser_prod#AExternMethPropdef#n_visibility= for (self: AExternMethPropdef, nullable AVisibility) */
8398 void parser_prod__AExternMethPropdef__n_visibility_61d(val* self, val* p0) {
8399 val* var_node /* var node: nullable AVisibility */;
8400 var_node = p0;
8401 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AExternMethPropdef> */
8402 if (var_node == NULL) {
8403 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2160);
8404 exit(1);
8405 } else {
8406 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
8407 }
8408 RET_LABEL:;
8409 }
8410 /* method parser_prod#AExternMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
8411 void VIRTUAL_parser_prod__AExternMethPropdef__n_visibility_61d(val* self, val* p0) {
8412 parser_prod__AExternMethPropdef__n_visibility_61d(self, p0);
8413 RET_LABEL:;
8414 }
8415 /* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: AExternMethPropdef, TKwmeth) */
8416 void parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8417 val* var_node /* var node: TKwmeth */;
8418 var_node = p0;
8419 self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AExternMethPropdef> */
8420 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwmeth>*/;
8421 RET_LABEL:;
8422 }
8423 /* method parser_prod#AExternMethPropdef#n_kwmeth= for (self: Object, TKwmeth) */
8424 void VIRTUAL_parser_prod__AExternMethPropdef__n_kwmeth_61d(val* self, val* p0) {
8425 parser_prod__AExternMethPropdef__n_kwmeth_61d(self, p0);
8426 RET_LABEL:;
8427 }
8428 /* method parser_prod#AExternMethPropdef#n_methid= for (self: AExternMethPropdef, nullable AMethid) */
8429 void parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) {
8430 val* var_node /* var node: nullable AMethid */;
8431 var_node = p0;
8432 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AExternMethPropdef> */
8433 if (var_node == NULL) {
8434 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2170);
8435 exit(1);
8436 } else {
8437 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
8438 }
8439 RET_LABEL:;
8440 }
8441 /* method parser_prod#AExternMethPropdef#n_methid= for (self: Object, nullable AMethid) */
8442 void VIRTUAL_parser_prod__AExternMethPropdef__n_methid_61d(val* self, val* p0) {
8443 parser_prod__AExternMethPropdef__n_methid_61d(self, p0);
8444 RET_LABEL:;
8445 }
8446 /* method parser_prod#AExternMethPropdef#n_signature= for (self: AExternMethPropdef, nullable ASignature) */
8447 void parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) {
8448 val* var_node /* var node: nullable ASignature */;
8449 var_node = p0;
8450 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AExternMethPropdef> */
8451 if (var_node == NULL) {
8452 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2175);
8453 exit(1);
8454 } else {
8455 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
8456 }
8457 RET_LABEL:;
8458 }
8459 /* method parser_prod#AExternMethPropdef#n_signature= for (self: Object, nullable ASignature) */
8460 void VIRTUAL_parser_prod__AExternMethPropdef__n_signature_61d(val* self, val* p0) {
8461 parser_prod__AExternMethPropdef__n_signature_61d(self, p0);
8462 RET_LABEL:;
8463 }
8464 /* method parser_prod#AExternMethPropdef#n_extern= for (self: AExternMethPropdef, nullable TString) */
8465 void parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) {
8466 val* var_node /* var node: nullable TString */;
8467 val* var /* : null */;
8468 short int var1 /* : Bool */;
8469 var_node = p0;
8470 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val = var_node; /* _n_extern on <self:AExternMethPropdef> */
8471 var = NULL;
8472 if (var_node == NULL) {
8473 var1 = 0; /* is null */
8474 } else {
8475 var1 = 1; /* arg is null and recv is not */
8476 }
8477 if (var1){
8478 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TString(TString)>*/;
8479 } else {
8480 }
8481 RET_LABEL:;
8482 }
8483 /* method parser_prod#AExternMethPropdef#n_extern= for (self: Object, nullable TString) */
8484 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_61d(val* self, val* p0) {
8485 parser_prod__AExternMethPropdef__n_extern_61d(self, p0);
8486 RET_LABEL:;
8487 }
8488 /* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: AExternMethPropdef, nullable AExternCalls) */
8489 void parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) {
8490 val* var_node /* var node: nullable AExternCalls */;
8491 val* var /* : null */;
8492 short int var1 /* : Bool */;
8493 var_node = p0;
8494 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val = var_node; /* _n_extern_calls on <self:AExternMethPropdef> */
8495 var = NULL;
8496 if (var_node == NULL) {
8497 var1 = 0; /* is null */
8498 } else {
8499 var1 = 1; /* arg is null and recv is not */
8500 }
8501 if (var1){
8502 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCalls(AExternCalls)>*/;
8503 } else {
8504 }
8505 RET_LABEL:;
8506 }
8507 /* method parser_prod#AExternMethPropdef#n_extern_calls= for (self: Object, nullable AExternCalls) */
8508 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_calls_61d(val* self, val* p0) {
8509 parser_prod__AExternMethPropdef__n_extern_calls_61d(self, p0);
8510 RET_LABEL:;
8511 }
8512 /* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: AExternMethPropdef, nullable AExternCodeBlock) */
8513 void parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
8514 val* var_node /* var node: nullable AExternCodeBlock */;
8515 val* var /* : null */;
8516 short int var1 /* : Bool */;
8517 var_node = p0;
8518 self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val = var_node; /* _n_extern_code_block on <self:AExternMethPropdef> */
8519 var = NULL;
8520 if (var_node == NULL) {
8521 var1 = 0; /* is null */
8522 } else {
8523 var1 = 1; /* arg is null and recv is not */
8524 }
8525 if (var1){
8526 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExternCodeBlock(AExternCodeBlock)>*/;
8527 } else {
8528 }
8529 RET_LABEL:;
8530 }
8531 /* method parser_prod#AExternMethPropdef#n_extern_code_block= for (self: Object, nullable AExternCodeBlock) */
8532 void VIRTUAL_parser_prod__AExternMethPropdef__n_extern_code_block_61d(val* self, val* p0) {
8533 parser_prod__AExternMethPropdef__n_extern_code_block_61d(self, p0);
8534 RET_LABEL:;
8535 }
8536 /* method parser_prod#AExternMethPropdef#visit_all for (self: AExternMethPropdef, Visitor) */
8537 void parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) {
8538 val* var_v /* var v: Visitor */;
8539 val* var /* : nullable ADoc */;
8540 val* var1 /* : null */;
8541 short int var2 /* : Bool */;
8542 val* var3 /* : nullable ADoc */;
8543 val* var4 /* : nullable TKwredef */;
8544 val* var5 /* : null */;
8545 short int var6 /* : Bool */;
8546 val* var7 /* : nullable TKwredef */;
8547 val* var8 /* : nullable AVisibility */;
8548 val* var9 /* : TKwmeth */;
8549 val* var10 /* : nullable AMethid */;
8550 val* var11 /* : nullable ASignature */;
8551 val* var12 /* : nullable TString */;
8552 val* var13 /* : null */;
8553 short int var14 /* : Bool */;
8554 val* var15 /* : nullable TString */;
8555 val* var16 /* : nullable AExternCalls */;
8556 val* var17 /* : null */;
8557 short int var18 /* : Bool */;
8558 val* var19 /* : nullable AExternCalls */;
8559 val* var20 /* : nullable AExternCodeBlock */;
8560 val* var21 /* : null */;
8561 short int var22 /* : Bool */;
8562 val* var23 /* : nullable AExternCodeBlock */;
8563 var_v = p0;
8564 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8565 var1 = NULL;
8566 if (var == NULL) {
8567 var2 = 0; /* is null */
8568 } else {
8569 var2 = 1; /* arg is null and recv is not */
8570 }
8571 if (var2){
8572 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AExternMethPropdef> */
8573 if (var3 == NULL) {
8574 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2203);
8575 exit(1);
8576 }
8577 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8578 } else {
8579 }
8580 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8581 var5 = NULL;
8582 if (var4 == NULL) {
8583 var6 = 0; /* is null */
8584 } else {
8585 var6 = 1; /* arg is null and recv is not */
8586 }
8587 if (var6){
8588 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AExternMethPropdef> */
8589 if (var7 == NULL) {
8590 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2206);
8591 exit(1);
8592 }
8593 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
8594 } else {
8595 }
8596 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AExternMethPropdef> */
8597 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
8598 var9 = self->attrs[COLOR_parser_nodes__AExternMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AExternMethPropdef> */
8599 if (var9 == NULL) {
8600 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwmeth", "src/parser/parser_prod.nit", 2209);
8601 exit(1);
8602 }
8603 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
8604 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AExternMethPropdef> */
8605 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
8606 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AExternMethPropdef> */
8607 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
8608 var12 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8609 var13 = NULL;
8610 if (var12 == NULL) {
8611 var14 = 0; /* is null */
8612 } else {
8613 var14 = 1; /* arg is null and recv is not */
8614 }
8615 if (var14){
8616 var15 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern].val; /* _n_extern on <self:AExternMethPropdef> */
8617 if (var15 == NULL) {
8618 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2213);
8619 exit(1);
8620 }
8621 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
8622 } else {
8623 }
8624 var16 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8625 var17 = NULL;
8626 if (var16 == NULL) {
8627 var18 = 0; /* is null */
8628 } else {
8629 var18 = 1; /* arg is null and recv is not */
8630 }
8631 if (var18){
8632 var19 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_calls].val; /* _n_extern_calls on <self:AExternMethPropdef> */
8633 if (var19 == NULL) {
8634 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2216);
8635 exit(1);
8636 }
8637 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on <var_v:Visitor>*/;
8638 } else {
8639 }
8640 var20 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
8641 var21 = NULL;
8642 if (var20 == NULL) {
8643 var22 = 0; /* is null */
8644 } else {
8645 var22 = 1; /* arg is null and recv is not */
8646 }
8647 if (var22){
8648 var23 = self->attrs[COLOR_parser_nodes__AExternPropdef___n_extern_code_block].val; /* _n_extern_code_block on <self:AExternMethPropdef> */
8649 if (var23 == NULL) {
8650 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2219);
8651 exit(1);
8652 }
8653 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var23) /* enter_visit on <var_v:Visitor>*/;
8654 } else {
8655 }
8656 RET_LABEL:;
8657 }
8658 /* method parser_prod#AExternMethPropdef#visit_all for (self: Object, Visitor) */
8659 void VIRTUAL_parser_prod__AExternMethPropdef__visit_all(val* self, val* p0) {
8660 parser_prod__AExternMethPropdef__visit_all(self, p0);
8661 RET_LABEL:;
8662 }
8663 /* method parser_prod#AConcreteMethPropdef#empty_init for (self: AConcreteMethPropdef) */
8664 void parser_prod__AConcreteMethPropdef__empty_init(val* self) {
8665 RET_LABEL:;
8666 }
8667 /* method parser_prod#AConcreteMethPropdef#empty_init for (self: Object) */
8668 void VIRTUAL_parser_prod__AConcreteMethPropdef__empty_init(val* self) {
8669 parser_prod__AConcreteMethPropdef__empty_init(self);
8670 RET_LABEL:;
8671 }
8672 /* 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) */
8673 void parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
8674 val* var_n_doc /* var n_doc: nullable ADoc */;
8675 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
8676 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
8677 val* var_n_kwmeth /* var n_kwmeth: nullable TKwmeth */;
8678 val* var_n_methid /* var n_methid: nullable AMethid */;
8679 val* var_n_signature /* var n_signature: nullable ASignature */;
8680 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
8681 val* var_n_block /* var n_block: nullable AExpr */;
8682 val* var /* : null */;
8683 short int var1 /* : Bool */;
8684 val* var2 /* : null */;
8685 short int var3 /* : Bool */;
8686 val* var4 /* : null */;
8687 short int var5 /* : Bool */;
8688 val* var6 /* : null */;
8689 short int var7 /* : Bool */;
8690 var_n_doc = p0;
8691 var_n_kwredef = p1;
8692 var_n_visibility = p2;
8693 var_n_kwmeth = p3;
8694 var_n_methid = p4;
8695 var_n_signature = p5;
8696 var_n_annotations = p6;
8697 var_n_block = p7;
8698 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteMethPropdef__empty_init]))(self) /* empty_init on <self:AConcreteMethPropdef>*/;
8699 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AConcreteMethPropdef> */
8700 var = NULL;
8701 if (var_n_doc == NULL) {
8702 var1 = 0; /* is null */
8703 } else {
8704 var1 = 1; /* arg is null and recv is not */
8705 }
8706 if (var1){
8707 ((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)>*/;
8708 } else {
8709 }
8710 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AConcreteMethPropdef> */
8711 var2 = NULL;
8712 if (var_n_kwredef == NULL) {
8713 var3 = 0; /* is null */
8714 } else {
8715 var3 = 1; /* arg is null and recv is not */
8716 }
8717 if (var3){
8718 ((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)>*/;
8719 } else {
8720 }
8721 if (var_n_visibility == NULL) {
8722 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2246);
8723 exit(1);
8724 }
8725 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AConcreteMethPropdef> */
8726 if (var_n_visibility == NULL) {
8727 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2247);
8728 exit(1);
8729 } else {
8730 ((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>*/;
8731 }
8732 if (var_n_kwmeth == NULL) {
8733 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2248);
8734 exit(1);
8735 }
8736 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_n_kwmeth; /* _n_kwmeth on <self:AConcreteMethPropdef> */
8737 if (var_n_kwmeth == NULL) {
8738 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2249);
8739 exit(1);
8740 } else {
8741 ((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>*/;
8742 }
8743 if (var_n_methid == NULL) {
8744 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2250);
8745 exit(1);
8746 }
8747 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AConcreteMethPropdef> */
8748 if (var_n_methid == NULL) {
8749 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2251);
8750 exit(1);
8751 } else {
8752 ((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>*/;
8753 }
8754 if (var_n_signature == NULL) {
8755 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2252);
8756 exit(1);
8757 }
8758 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AConcreteMethPropdef> */
8759 if (var_n_signature == NULL) {
8760 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2253);
8761 exit(1);
8762 } else {
8763 ((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>*/;
8764 }
8765 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AConcreteMethPropdef> */
8766 var4 = NULL;
8767 if (var_n_annotations == NULL) {
8768 var5 = 0; /* is null */
8769 } else {
8770 var5 = 1; /* arg is null and recv is not */
8771 }
8772 if (var5){
8773 ((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)>*/;
8774 } else {
8775 }
8776 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on <self:AConcreteMethPropdef> */
8777 var6 = NULL;
8778 if (var_n_block == NULL) {
8779 var7 = 0; /* is null */
8780 } else {
8781 var7 = 1; /* arg is null and recv is not */
8782 }
8783 if (var7){
8784 ((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)>*/;
8785 } else {
8786 }
8787 RET_LABEL:;
8788 }
8789 /* 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) */
8790 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) {
8791 parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7);
8792 RET_LABEL:;
8793 }
8794 /* method parser_prod#AConcreteMethPropdef#replace_child for (self: AConcreteMethPropdef, ANode, nullable ANode) */
8795 void parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) {
8796 val* var_old_child /* var old_child: ANode */;
8797 val* var_new_child /* var new_child: nullable ANode */;
8798 val* var /* : nullable ADoc */;
8799 short int var1 /* : Bool */;
8800 val* var2 /* : null */;
8801 short int var3 /* : Bool */;
8802 short int var4 /* : Bool */;
8803 int cltype;
8804 int idtype;
8805 val* var5 /* : null */;
8806 val* var6 /* : nullable TKwredef */;
8807 short int var7 /* : Bool */;
8808 val* var8 /* : null */;
8809 short int var9 /* : Bool */;
8810 short int var10 /* : Bool */;
8811 int cltype11;
8812 int idtype12;
8813 val* var13 /* : null */;
8814 val* var14 /* : nullable AVisibility */;
8815 short int var15 /* : Bool */;
8816 val* var16 /* : null */;
8817 short int var17 /* : Bool */;
8818 short int var18 /* : Bool */;
8819 int cltype19;
8820 int idtype20;
8821 val* var21 /* : nullable TKwmeth */;
8822 short int var22 /* : Bool */;
8823 val* var23 /* : null */;
8824 short int var24 /* : Bool */;
8825 short int var25 /* : Bool */;
8826 int cltype26;
8827 int idtype27;
8828 val* var28 /* : nullable AMethid */;
8829 short int var29 /* : Bool */;
8830 val* var30 /* : null */;
8831 short int var31 /* : Bool */;
8832 short int var32 /* : Bool */;
8833 int cltype33;
8834 int idtype34;
8835 val* var35 /* : nullable ASignature */;
8836 short int var36 /* : Bool */;
8837 val* var37 /* : null */;
8838 short int var38 /* : Bool */;
8839 short int var39 /* : Bool */;
8840 int cltype40;
8841 int idtype41;
8842 val* var42 /* : nullable AAnnotations */;
8843 short int var43 /* : Bool */;
8844 val* var44 /* : null */;
8845 short int var45 /* : Bool */;
8846 short int var46 /* : Bool */;
8847 int cltype47;
8848 int idtype48;
8849 val* var49 /* : null */;
8850 val* var50 /* : nullable AExpr */;
8851 short int var51 /* : Bool */;
8852 val* var52 /* : null */;
8853 short int var53 /* : Bool */;
8854 short int var54 /* : Bool */;
8855 int cltype55;
8856 int idtype56;
8857 val* var57 /* : null */;
8858 var_old_child = p0;
8859 var_new_child = p1;
8860 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
8861 if (var == NULL) {
8862 var1 = 0; /* <var_old_child:ANode> cannot be null */
8863 } else {
8864 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
8865 }
8866 if (var1){
8867 var2 = NULL;
8868 if (var_new_child == NULL) {
8869 var3 = 0; /* is null */
8870 } else {
8871 var3 = 1; /* arg is null and recv is not */
8872 }
8873 if (var3){
8874 ((void (*)(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)>*/;
8875 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
8876 cltype = type_parser_nodes__ADoc.color;
8877 idtype = type_parser_nodes__ADoc.id;
8878 if(cltype >= var_new_child->type->table_size) {
8879 var4 = 0;
8880 } else {
8881 var4 = var_new_child->type->type_table[cltype] == idtype;
8882 }
8883 if (!var4) {
8884 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2269);
8885 exit(1);
8886 }
8887 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AConcreteMethPropdef> */
8888 } else {
8889 var5 = NULL;
8890 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AConcreteMethPropdef> */
8891 }
8892 goto RET_LABEL;
8893 } else {
8894 }
8895 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
8896 if (var6 == NULL) {
8897 var7 = 0; /* <var_old_child:ANode> cannot be null */
8898 } else {
8899 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
8900 }
8901 if (var7){
8902 var8 = NULL;
8903 if (var_new_child == NULL) {
8904 var9 = 0; /* is null */
8905 } else {
8906 var9 = 1; /* arg is null and recv is not */
8907 }
8908 if (var9){
8909 ((void (*)(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)>*/;
8910 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
8911 cltype11 = type_parser_nodes__TKwredef.color;
8912 idtype12 = type_parser_nodes__TKwredef.id;
8913 if(cltype11 >= var_new_child->type->table_size) {
8914 var10 = 0;
8915 } else {
8916 var10 = var_new_child->type->type_table[cltype11] == idtype12;
8917 }
8918 if (!var10) {
8919 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2279);
8920 exit(1);
8921 }
8922 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AConcreteMethPropdef> */
8923 } else {
8924 var13 = NULL;
8925 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AConcreteMethPropdef> */
8926 }
8927 goto RET_LABEL;
8928 } else {
8929 }
8930 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AConcreteMethPropdef> */
8931 if (var14 == NULL) {
8932 var15 = 0; /* <var_old_child:ANode> cannot be null */
8933 } else {
8934 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
8935 }
8936 if (var15){
8937 var16 = NULL;
8938 if (var_new_child == NULL) {
8939 var17 = 0; /* is null */
8940 } else {
8941 var17 = 1; /* arg is null and recv is not */
8942 }
8943 if (var17){
8944 ((void (*)(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)>*/;
8945 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
8946 cltype19 = type_parser_nodes__AVisibility.color;
8947 idtype20 = type_parser_nodes__AVisibility.id;
8948 if(cltype19 >= var_new_child->type->table_size) {
8949 var18 = 0;
8950 } else {
8951 var18 = var_new_child->type->type_table[cltype19] == idtype20;
8952 }
8953 if (!var18) {
8954 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2289);
8955 exit(1);
8956 }
8957 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AConcreteMethPropdef> */
8958 } else {
8959 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2292);
8960 exit(1);
8961 }
8962 goto RET_LABEL;
8963 } else {
8964 }
8965 var21 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AConcreteMethPropdef> */
8966 if (var21 == NULL) {
8967 var22 = 0; /* <var_old_child:ANode> cannot be null */
8968 } else {
8969 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:nullable TKwmeth>*/;
8970 }
8971 if (var22){
8972 var23 = NULL;
8973 if (var_new_child == NULL) {
8974 var24 = 0; /* is null */
8975 } else {
8976 var24 = 1; /* arg is null and recv is not */
8977 }
8978 if (var24){
8979 ((void (*)(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)>*/;
8980 /* <var_new_child:nullable ANode(ANode)> isa TKwmeth */
8981 cltype26 = type_parser_nodes__TKwmeth.color;
8982 idtype27 = type_parser_nodes__TKwmeth.id;
8983 if(cltype26 >= var_new_child->type->table_size) {
8984 var25 = 0;
8985 } else {
8986 var25 = var_new_child->type->type_table[cltype26] == idtype27;
8987 }
8988 if (!var25) {
8989 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2299);
8990 exit(1);
8991 }
8992 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_new_child; /* _n_kwmeth on <self:AConcreteMethPropdef> */
8993 } else {
8994 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2302);
8995 exit(1);
8996 }
8997 goto RET_LABEL;
8998 } else {
8999 }
9000 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AConcreteMethPropdef> */
9001 if (var28 == NULL) {
9002 var29 = 0; /* <var_old_child:ANode> cannot be null */
9003 } else {
9004 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
9005 }
9006 if (var29){
9007 var30 = NULL;
9008 if (var_new_child == NULL) {
9009 var31 = 0; /* is null */
9010 } else {
9011 var31 = 1; /* arg is null and recv is not */
9012 }
9013 if (var31){
9014 ((void (*)(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)>*/;
9015 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
9016 cltype33 = type_parser_nodes__AMethid.color;
9017 idtype34 = type_parser_nodes__AMethid.id;
9018 if(cltype33 >= var_new_child->type->table_size) {
9019 var32 = 0;
9020 } else {
9021 var32 = var_new_child->type->type_table[cltype33] == idtype34;
9022 }
9023 if (!var32) {
9024 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2309);
9025 exit(1);
9026 }
9027 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AConcreteMethPropdef> */
9028 } else {
9029 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2312);
9030 exit(1);
9031 }
9032 goto RET_LABEL;
9033 } else {
9034 }
9035 var35 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AConcreteMethPropdef> */
9036 if (var35 == NULL) {
9037 var36 = 0; /* <var_old_child:ANode> cannot be null */
9038 } else {
9039 var36 = ((short int (*)(val*, val*))(var35->class->vft[COLOR_kernel__Object___61d_61d]))(var35, var_old_child) /* == on <var35:nullable ASignature>*/;
9040 }
9041 if (var36){
9042 var37 = NULL;
9043 if (var_new_child == NULL) {
9044 var38 = 0; /* is null */
9045 } else {
9046 var38 = 1; /* arg is null and recv is not */
9047 }
9048 if (var38){
9049 ((void (*)(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)>*/;
9050 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
9051 cltype40 = type_parser_nodes__ASignature.color;
9052 idtype41 = type_parser_nodes__ASignature.id;
9053 if(cltype40 >= var_new_child->type->table_size) {
9054 var39 = 0;
9055 } else {
9056 var39 = var_new_child->type->type_table[cltype40] == idtype41;
9057 }
9058 if (!var39) {
9059 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2319);
9060 exit(1);
9061 }
9062 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AConcreteMethPropdef> */
9063 } else {
9064 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2322);
9065 exit(1);
9066 }
9067 goto RET_LABEL;
9068 } else {
9069 }
9070 var42 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9071 if (var42 == NULL) {
9072 var43 = 0; /* <var_old_child:ANode> cannot be null */
9073 } else {
9074 var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_kernel__Object___61d_61d]))(var42, var_old_child) /* == on <var42:nullable AAnnotations>*/;
9075 }
9076 if (var43){
9077 var44 = NULL;
9078 if (var_new_child == NULL) {
9079 var45 = 0; /* is null */
9080 } else {
9081 var45 = 1; /* arg is null and recv is not */
9082 }
9083 if (var45){
9084 ((void (*)(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)>*/;
9085 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
9086 cltype47 = type_parser_nodes__AAnnotations.color;
9087 idtype48 = type_parser_nodes__AAnnotations.id;
9088 if(cltype47 >= var_new_child->type->table_size) {
9089 var46 = 0;
9090 } else {
9091 var46 = var_new_child->type->type_table[cltype47] == idtype48;
9092 }
9093 if (!var46) {
9094 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2329);
9095 exit(1);
9096 }
9097 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AConcreteMethPropdef> */
9098 } else {
9099 var49 = NULL;
9100 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var49; /* _n_annotations on <self:AConcreteMethPropdef> */
9101 }
9102 goto RET_LABEL;
9103 } else {
9104 }
9105 var50 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9106 if (var50 == NULL) {
9107 var51 = 0; /* <var_old_child:ANode> cannot be null */
9108 } else {
9109 var51 = ((short int (*)(val*, val*))(var50->class->vft[COLOR_kernel__Object___61d_61d]))(var50, var_old_child) /* == on <var50:nullable AExpr>*/;
9110 }
9111 if (var51){
9112 var52 = NULL;
9113 if (var_new_child == NULL) {
9114 var53 = 0; /* is null */
9115 } else {
9116 var53 = 1; /* arg is null and recv is not */
9117 }
9118 if (var53){
9119 ((void (*)(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)>*/;
9120 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9121 cltype55 = type_parser_nodes__AExpr.color;
9122 idtype56 = type_parser_nodes__AExpr.id;
9123 if(cltype55 >= var_new_child->type->table_size) {
9124 var54 = 0;
9125 } else {
9126 var54 = var_new_child->type->type_table[cltype55] == idtype56;
9127 }
9128 if (!var54) {
9129 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2339);
9130 exit(1);
9131 }
9132 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_new_child; /* _n_block on <self:AConcreteMethPropdef> */
9133 } else {
9134 var57 = NULL;
9135 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var57; /* _n_block on <self:AConcreteMethPropdef> */
9136 }
9137 goto RET_LABEL;
9138 } else {
9139 }
9140 RET_LABEL:;
9141 }
9142 /* method parser_prod#AConcreteMethPropdef#replace_child for (self: Object, ANode, nullable ANode) */
9143 void VIRTUAL_parser_prod__AConcreteMethPropdef__replace_child(val* self, val* p0, val* p1) {
9144 parser_prod__AConcreteMethPropdef__replace_child(self, p0, p1);
9145 RET_LABEL:;
9146 }
9147 /* method parser_prod#AConcreteMethPropdef#n_doc= for (self: AConcreteMethPropdef, nullable ADoc) */
9148 void parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) {
9149 val* var_node /* var node: nullable ADoc */;
9150 val* var /* : null */;
9151 short int var1 /* : Bool */;
9152 var_node = p0;
9153 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AConcreteMethPropdef> */
9154 var = NULL;
9155 if (var_node == NULL) {
9156 var1 = 0; /* is null */
9157 } else {
9158 var1 = 1; /* arg is null and recv is not */
9159 }
9160 if (var1){
9161 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
9162 } else {
9163 }
9164 RET_LABEL:;
9165 }
9166 /* method parser_prod#AConcreteMethPropdef#n_doc= for (self: Object, nullable ADoc) */
9167 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_doc_61d(val* self, val* p0) {
9168 parser_prod__AConcreteMethPropdef__n_doc_61d(self, p0);
9169 RET_LABEL:;
9170 }
9171 /* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: AConcreteMethPropdef, nullable TKwredef) */
9172 void parser_prod__AConcreteMethPropdef__n_kwredef_61d(val* self, val* p0) {
9173 val* var_node /* var node: nullable TKwredef */;
9174 val* var /* : null */;
9175 short int var1 /* : Bool */;
9176 var_node = p0;
9177 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AConcreteMethPropdef> */
9178 var = NULL;
9179 if (var_node == NULL) {
9180 var1 = 0; /* is null */
9181 } else {
9182 var1 = 1; /* arg is null and recv is not */
9183 }
9184 if (var1){
9185 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
9186 } else {
9187 }
9188 RET_LABEL:;
9189 }
9190 /* method parser_prod#AConcreteMethPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
9191 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwredef_61d(val* self, val* p0) {
9192 parser_prod__AConcreteMethPropdef__n_kwredef_61d(self, p0);
9193 RET_LABEL:;
9194 }
9195 /* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: AConcreteMethPropdef, nullable AVisibility) */
9196 void parser_prod__AConcreteMethPropdef__n_visibility_61d(val* self, val* p0) {
9197 val* var_node /* var node: nullable AVisibility */;
9198 var_node = p0;
9199 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AConcreteMethPropdef> */
9200 if (var_node == NULL) {
9201 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2365);
9202 exit(1);
9203 } else {
9204 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
9205 }
9206 RET_LABEL:;
9207 }
9208 /* method parser_prod#AConcreteMethPropdef#n_visibility= for (self: Object, nullable AVisibility) */
9209 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_visibility_61d(val* self, val* p0) {
9210 parser_prod__AConcreteMethPropdef__n_visibility_61d(self, p0);
9211 RET_LABEL:;
9212 }
9213 /* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: AConcreteMethPropdef, nullable TKwmeth) */
9214 void parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) {
9215 val* var_node /* var node: nullable TKwmeth */;
9216 var_node = p0;
9217 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val = var_node; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9218 if (var_node == NULL) {
9219 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2370);
9220 exit(1);
9221 } else {
9222 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwmeth>*/;
9223 }
9224 RET_LABEL:;
9225 }
9226 /* method parser_prod#AConcreteMethPropdef#n_kwmeth= for (self: Object, nullable TKwmeth) */
9227 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_kwmeth_61d(val* self, val* p0) {
9228 parser_prod__AConcreteMethPropdef__n_kwmeth_61d(self, p0);
9229 RET_LABEL:;
9230 }
9231 /* method parser_prod#AConcreteMethPropdef#n_methid= for (self: AConcreteMethPropdef, nullable AMethid) */
9232 void parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) {
9233 val* var_node /* var node: nullable AMethid */;
9234 var_node = p0;
9235 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_node; /* _n_methid on <self:AConcreteMethPropdef> */
9236 if (var_node == NULL) {
9237 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2375);
9238 exit(1);
9239 } else {
9240 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AMethid>*/;
9241 }
9242 RET_LABEL:;
9243 }
9244 /* method parser_prod#AConcreteMethPropdef#n_methid= for (self: Object, nullable AMethid) */
9245 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_methid_61d(val* self, val* p0) {
9246 parser_prod__AConcreteMethPropdef__n_methid_61d(self, p0);
9247 RET_LABEL:;
9248 }
9249 /* method parser_prod#AConcreteMethPropdef#n_signature= for (self: AConcreteMethPropdef, nullable ASignature) */
9250 void parser_prod__AConcreteMethPropdef__n_signature_61d(val* self, val* p0) {
9251 val* var_node /* var node: nullable ASignature */;
9252 var_node = p0;
9253 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_node; /* _n_signature on <self:AConcreteMethPropdef> */
9254 if (var_node == NULL) {
9255 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2380);
9256 exit(1);
9257 } else {
9258 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ASignature>*/;
9259 }
9260 RET_LABEL:;
9261 }
9262 /* method parser_prod#AConcreteMethPropdef#n_signature= for (self: Object, nullable ASignature) */
9263 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_signature_61d(val* self, val* p0) {
9264 parser_prod__AConcreteMethPropdef__n_signature_61d(self, p0);
9265 RET_LABEL:;
9266 }
9267 /* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: AConcreteMethPropdef, nullable AAnnotations) */
9268 void parser_prod__AConcreteMethPropdef__n_annotations_61d(val* self, val* p0) {
9269 val* var_node /* var node: nullable AAnnotations */;
9270 val* var /* : null */;
9271 short int var1 /* : Bool */;
9272 var_node = p0;
9273 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_node; /* _n_annotations on <self:AConcreteMethPropdef> */
9274 var = NULL;
9275 if (var_node == NULL) {
9276 var1 = 0; /* is null */
9277 } else {
9278 var1 = 1; /* arg is null and recv is not */
9279 }
9280 if (var1){
9281 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AAnnotations(AAnnotations)>*/;
9282 } else {
9283 }
9284 RET_LABEL:;
9285 }
9286 /* method parser_prod#AConcreteMethPropdef#n_annotations= for (self: Object, nullable AAnnotations) */
9287 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_annotations_61d(val* self, val* p0) {
9288 parser_prod__AConcreteMethPropdef__n_annotations_61d(self, p0);
9289 RET_LABEL:;
9290 }
9291 /* method parser_prod#AConcreteMethPropdef#n_block= for (self: AConcreteMethPropdef, nullable AExpr) */
9292 void parser_prod__AConcreteMethPropdef__n_block_61d(val* self, val* p0) {
9293 val* var_node /* var node: nullable AExpr */;
9294 val* var /* : null */;
9295 short int var1 /* : Bool */;
9296 var_node = p0;
9297 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_node; /* _n_block on <self:AConcreteMethPropdef> */
9298 var = NULL;
9299 if (var_node == NULL) {
9300 var1 = 0; /* is null */
9301 } else {
9302 var1 = 1; /* arg is null and recv is not */
9303 }
9304 if (var1){
9305 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
9306 } else {
9307 }
9308 RET_LABEL:;
9309 }
9310 /* method parser_prod#AConcreteMethPropdef#n_block= for (self: Object, nullable AExpr) */
9311 void VIRTUAL_parser_prod__AConcreteMethPropdef__n_block_61d(val* self, val* p0) {
9312 parser_prod__AConcreteMethPropdef__n_block_61d(self, p0);
9313 RET_LABEL:;
9314 }
9315 /* method parser_prod#AConcreteMethPropdef#visit_all for (self: AConcreteMethPropdef, Visitor) */
9316 void parser_prod__AConcreteMethPropdef__visit_all(val* self, val* p0) {
9317 val* var_v /* var v: Visitor */;
9318 val* var /* : nullable ADoc */;
9319 val* var1 /* : null */;
9320 short int var2 /* : Bool */;
9321 val* var3 /* : nullable ADoc */;
9322 val* var4 /* : nullable TKwredef */;
9323 val* var5 /* : null */;
9324 short int var6 /* : Bool */;
9325 val* var7 /* : nullable TKwredef */;
9326 val* var8 /* : nullable AVisibility */;
9327 val* var9 /* : nullable TKwmeth */;
9328 val* var10 /* : nullable AMethid */;
9329 val* var11 /* : nullable ASignature */;
9330 val* var12 /* : nullable AAnnotations */;
9331 val* var13 /* : null */;
9332 short int var14 /* : Bool */;
9333 val* var15 /* : nullable AAnnotations */;
9334 val* var16 /* : nullable AExpr */;
9335 val* var17 /* : null */;
9336 short int var18 /* : Bool */;
9337 val* var19 /* : nullable AExpr */;
9338 var_v = p0;
9339 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9340 var1 = NULL;
9341 if (var == NULL) {
9342 var2 = 0; /* is null */
9343 } else {
9344 var2 = 1; /* arg is null and recv is not */
9345 }
9346 if (var2){
9347 var3 = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteMethPropdef> */
9348 if (var3 == NULL) {
9349 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2401);
9350 exit(1);
9351 }
9352 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9353 } else {
9354 }
9355 var4 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9356 var5 = NULL;
9357 if (var4 == NULL) {
9358 var6 = 0; /* is null */
9359 } else {
9360 var6 = 1; /* arg is null and recv is not */
9361 }
9362 if (var6){
9363 var7 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteMethPropdef> */
9364 if (var7 == NULL) {
9365 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2404);
9366 exit(1);
9367 }
9368 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var7) /* enter_visit on <var_v:Visitor>*/;
9369 } else {
9370 }
9371 var8 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AConcreteMethPropdef> */
9372 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
9373 var9 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_kwmeth].val; /* _n_kwmeth on <self:AConcreteMethPropdef> */
9374 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
9375 var10 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AConcreteMethPropdef> */
9376 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
9377 var11 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AConcreteMethPropdef> */
9378 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var11) /* enter_visit on <var_v:Visitor>*/;
9379 var12 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9380 var13 = NULL;
9381 if (var12 == NULL) {
9382 var14 = 0; /* is null */
9383 } else {
9384 var14 = 1; /* arg is null and recv is not */
9385 }
9386 if (var14){
9387 var15 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteMethPropdef> */
9388 if (var15 == NULL) {
9389 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2411);
9390 exit(1);
9391 }
9392 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var15) /* enter_visit on <var_v:Visitor>*/;
9393 } else {
9394 }
9395 var16 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9396 var17 = NULL;
9397 if (var16 == NULL) {
9398 var18 = 0; /* is null */
9399 } else {
9400 var18 = 1; /* arg is null and recv is not */
9401 }
9402 if (var18){
9403 var19 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteMethPropdef> */
9404 if (var19 == NULL) {
9405 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2414);
9406 exit(1);
9407 }
9408 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var19) /* enter_visit on <var_v:Visitor>*/;
9409 } else {
9410 }
9411 RET_LABEL:;
9412 }
9413 /* method parser_prod#AConcreteMethPropdef#visit_all for (self: Object, Visitor) */
9414 void VIRTUAL_parser_prod__AConcreteMethPropdef__visit_all(val* self, val* p0) {
9415 parser_prod__AConcreteMethPropdef__visit_all(self, p0);
9416 RET_LABEL:;
9417 }
9418 /* method parser_prod#AConcreteInitPropdef#empty_init for (self: AConcreteInitPropdef) */
9419 void parser_prod__AConcreteInitPropdef__empty_init(val* self) {
9420 RET_LABEL:;
9421 }
9422 /* method parser_prod#AConcreteInitPropdef#empty_init for (self: Object) */
9423 void VIRTUAL_parser_prod__AConcreteInitPropdef__empty_init(val* self) {
9424 parser_prod__AConcreteInitPropdef__empty_init(self);
9425 RET_LABEL:;
9426 }
9427 /* 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) */
9428 void parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5, val* p6, val* p7) {
9429 val* var_n_doc /* var n_doc: nullable ADoc */;
9430 val* var_n_kwredef /* var n_kwredef: nullable TKwredef */;
9431 val* var_n_visibility /* var n_visibility: nullable AVisibility */;
9432 val* var_n_kwinit /* var n_kwinit: nullable TKwinit */;
9433 val* var_n_methid /* var n_methid: nullable AMethid */;
9434 val* var_n_signature /* var n_signature: nullable ASignature */;
9435 val* var_n_annotations /* var n_annotations: nullable AAnnotations */;
9436 val* var_n_block /* var n_block: nullable AExpr */;
9437 val* var /* : null */;
9438 short int var1 /* : Bool */;
9439 val* var2 /* : null */;
9440 short int var3 /* : Bool */;
9441 val* var4 /* : null */;
9442 short int var5 /* : Bool */;
9443 val* var6 /* : null */;
9444 short int var7 /* : Bool */;
9445 val* var8 /* : null */;
9446 short int var9 /* : Bool */;
9447 var_n_doc = p0;
9448 var_n_kwredef = p1;
9449 var_n_visibility = p2;
9450 var_n_kwinit = p3;
9451 var_n_methid = p4;
9452 var_n_signature = p5;
9453 var_n_annotations = p6;
9454 var_n_block = p7;
9455 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AConcreteInitPropdef__empty_init]))(self) /* empty_init on <self:AConcreteInitPropdef>*/;
9456 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_n_doc; /* _n_doc on <self:AConcreteInitPropdef> */
9457 var = NULL;
9458 if (var_n_doc == NULL) {
9459 var1 = 0; /* is null */
9460 } else {
9461 var1 = 1; /* arg is null and recv is not */
9462 }
9463 if (var1){
9464 ((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)>*/;
9465 } else {
9466 }
9467 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_n_kwredef; /* _n_kwredef on <self:AConcreteInitPropdef> */
9468 var2 = NULL;
9469 if (var_n_kwredef == NULL) {
9470 var3 = 0; /* is null */
9471 } else {
9472 var3 = 1; /* arg is null and recv is not */
9473 }
9474 if (var3){
9475 ((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)>*/;
9476 } else {
9477 }
9478 if (var_n_visibility == NULL) {
9479 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2441);
9480 exit(1);
9481 }
9482 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_n_visibility; /* _n_visibility on <self:AConcreteInitPropdef> */
9483 if (var_n_visibility == NULL) {
9484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2442);
9485 exit(1);
9486 } else {
9487 ((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>*/;
9488 }
9489 if (var_n_kwinit == NULL) {
9490 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2443);
9491 exit(1);
9492 }
9493 self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_n_kwinit; /* _n_kwinit on <self:AConcreteInitPropdef> */
9494 if (var_n_kwinit == NULL) {
9495 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2444);
9496 exit(1);
9497 } else {
9498 ((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>*/;
9499 }
9500 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_n_methid; /* _n_methid on <self:AConcreteInitPropdef> */
9501 var4 = NULL;
9502 if (var_n_methid == NULL) {
9503 var5 = 0; /* is null */
9504 } else {
9505 var5 = 1; /* arg is null and recv is not */
9506 }
9507 if (var5){
9508 ((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)>*/;
9509 } else {
9510 }
9511 if (var_n_signature == NULL) {
9512 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/parser/parser_prod.nit", 2449);
9513 exit(1);
9514 }
9515 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_n_signature; /* _n_signature on <self:AConcreteInitPropdef> */
9516 if (var_n_signature == NULL) {
9517 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2450);
9518 exit(1);
9519 } else {
9520 ((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>*/;
9521 }
9522 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_n_annotations; /* _n_annotations on <self:AConcreteInitPropdef> */
9523 var6 = NULL;
9524 if (var_n_annotations == NULL) {
9525 var7 = 0; /* is null */
9526 } else {
9527 var7 = 1; /* arg is null and recv is not */
9528 }
9529 if (var7){
9530 ((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)>*/;
9531 } else {
9532 }
9533 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_n_block; /* _n_block on <self:AConcreteInitPropdef> */
9534 var8 = NULL;
9535 if (var_n_block == NULL) {
9536 var9 = 0; /* is null */
9537 } else {
9538 var9 = 1; /* arg is null and recv is not */
9539 }
9540 if (var9){
9541 ((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)>*/;
9542 } else {
9543 }
9544 RET_LABEL:;
9545 }
9546 /* 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) */
9547 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) {
9548 parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef(self, p0, p1, p2, p3, p4, p5, p6, p7);
9549 RET_LABEL:;
9550 }
9551 /* method parser_prod#AConcreteInitPropdef#replace_child for (self: AConcreteInitPropdef, ANode, nullable ANode) */
9552 void parser_prod__AConcreteInitPropdef__replace_child(val* self, val* p0, val* p1) {
9553 val* var_old_child /* var old_child: ANode */;
9554 val* var_new_child /* var new_child: nullable ANode */;
9555 val* var /* : nullable ADoc */;
9556 short int var1 /* : Bool */;
9557 val* var2 /* : null */;
9558 short int var3 /* : Bool */;
9559 short int var4 /* : Bool */;
9560 int cltype;
9561 int idtype;
9562 val* var5 /* : null */;
9563 val* var6 /* : nullable TKwredef */;
9564 short int var7 /* : Bool */;
9565 val* var8 /* : null */;
9566 short int var9 /* : Bool */;
9567 short int var10 /* : Bool */;
9568 int cltype11;
9569 int idtype12;
9570 val* var13 /* : null */;
9571 val* var14 /* : nullable AVisibility */;
9572 short int var15 /* : Bool */;
9573 val* var16 /* : null */;
9574 short int var17 /* : Bool */;
9575 short int var18 /* : Bool */;
9576 int cltype19;
9577 int idtype20;
9578 val* var21 /* : TKwinit */;
9579 short int var22 /* : Bool */;
9580 val* var23 /* : null */;
9581 short int var24 /* : Bool */;
9582 short int var25 /* : Bool */;
9583 int cltype26;
9584 int idtype27;
9585 val* var28 /* : nullable AMethid */;
9586 short int var29 /* : Bool */;
9587 val* var30 /* : null */;
9588 short int var31 /* : Bool */;
9589 short int var32 /* : Bool */;
9590 int cltype33;
9591 int idtype34;
9592 val* var35 /* : null */;
9593 val* var36 /* : nullable ASignature */;
9594 short int var37 /* : Bool */;
9595 val* var38 /* : null */;
9596 short int var39 /* : Bool */;
9597 short int var40 /* : Bool */;
9598 int cltype41;
9599 int idtype42;
9600 val* var43 /* : nullable AAnnotations */;
9601 short int var44 /* : Bool */;
9602 val* var45 /* : null */;
9603 short int var46 /* : Bool */;
9604 short int var47 /* : Bool */;
9605 int cltype48;
9606 int idtype49;
9607 val* var50 /* : null */;
9608 val* var51 /* : nullable AExpr */;
9609 short int var52 /* : Bool */;
9610 val* var53 /* : null */;
9611 short int var54 /* : Bool */;
9612 short int var55 /* : Bool */;
9613 int cltype56;
9614 int idtype57;
9615 val* var58 /* : null */;
9616 var_old_child = p0;
9617 var_new_child = p1;
9618 var = self->attrs[COLOR_parser_nodes__APropdef___n_doc].val; /* _n_doc on <self:AConcreteInitPropdef> */
9619 if (var == NULL) {
9620 var1 = 0; /* <var_old_child:ANode> cannot be null */
9621 } else {
9622 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable ADoc>*/;
9623 }
9624 if (var1){
9625 var2 = NULL;
9626 if (var_new_child == NULL) {
9627 var3 = 0; /* is null */
9628 } else {
9629 var3 = 1; /* arg is null and recv is not */
9630 }
9631 if (var3){
9632 ((void (*)(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)>*/;
9633 /* <var_new_child:nullable ANode(ANode)> isa ADoc */
9634 cltype = type_parser_nodes__ADoc.color;
9635 idtype = type_parser_nodes__ADoc.id;
9636 if(cltype >= var_new_child->type->table_size) {
9637 var4 = 0;
9638 } else {
9639 var4 = var_new_child->type->type_table[cltype] == idtype;
9640 }
9641 if (!var4) {
9642 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2466);
9643 exit(1);
9644 }
9645 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_new_child; /* _n_doc on <self:AConcreteInitPropdef> */
9646 } else {
9647 var5 = NULL;
9648 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var5; /* _n_doc on <self:AConcreteInitPropdef> */
9649 }
9650 goto RET_LABEL;
9651 } else {
9652 }
9653 var6 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val; /* _n_kwredef on <self:AConcreteInitPropdef> */
9654 if (var6 == NULL) {
9655 var7 = 0; /* <var_old_child:ANode> cannot be null */
9656 } else {
9657 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:nullable TKwredef>*/;
9658 }
9659 if (var7){
9660 var8 = NULL;
9661 if (var_new_child == NULL) {
9662 var9 = 0; /* is null */
9663 } else {
9664 var9 = 1; /* arg is null and recv is not */
9665 }
9666 if (var9){
9667 ((void (*)(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)>*/;
9668 /* <var_new_child:nullable ANode(ANode)> isa TKwredef */
9669 cltype11 = type_parser_nodes__TKwredef.color;
9670 idtype12 = type_parser_nodes__TKwredef.id;
9671 if(cltype11 >= var_new_child->type->table_size) {
9672 var10 = 0;
9673 } else {
9674 var10 = var_new_child->type->type_table[cltype11] == idtype12;
9675 }
9676 if (!var10) {
9677 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2476);
9678 exit(1);
9679 }
9680 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_new_child; /* _n_kwredef on <self:AConcreteInitPropdef> */
9681 } else {
9682 var13 = NULL;
9683 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var13; /* _n_kwredef on <self:AConcreteInitPropdef> */
9684 }
9685 goto RET_LABEL;
9686 } else {
9687 }
9688 var14 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val; /* _n_visibility on <self:AConcreteInitPropdef> */
9689 if (var14 == NULL) {
9690 var15 = 0; /* <var_old_child:ANode> cannot be null */
9691 } else {
9692 var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_kernel__Object___61d_61d]))(var14, var_old_child) /* == on <var14:nullable AVisibility>*/;
9693 }
9694 if (var15){
9695 var16 = NULL;
9696 if (var_new_child == NULL) {
9697 var17 = 0; /* is null */
9698 } else {
9699 var17 = 1; /* arg is null and recv is not */
9700 }
9701 if (var17){
9702 ((void (*)(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)>*/;
9703 /* <var_new_child:nullable ANode(ANode)> isa AVisibility */
9704 cltype19 = type_parser_nodes__AVisibility.color;
9705 idtype20 = type_parser_nodes__AVisibility.id;
9706 if(cltype19 >= var_new_child->type->table_size) {
9707 var18 = 0;
9708 } else {
9709 var18 = var_new_child->type->type_table[cltype19] == idtype20;
9710 }
9711 if (!var18) {
9712 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2486);
9713 exit(1);
9714 }
9715 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_new_child; /* _n_visibility on <self:AConcreteInitPropdef> */
9716 } else {
9717 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2489);
9718 exit(1);
9719 }
9720 goto RET_LABEL;
9721 } else {
9722 }
9723 var21 = self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val; /* _n_kwinit on <self:AConcreteInitPropdef> */
9724 if (var21 == NULL) {
9725 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _n_kwinit", "src/parser/parser_prod.nit", 2493);
9726 exit(1);
9727 }
9728 var22 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___61d_61d]))(var21, var_old_child) /* == on <var21:TKwinit>*/;
9729 if (var22){
9730 var23 = NULL;
9731 if (var_new_child == NULL) {
9732 var24 = 0; /* is null */
9733 } else {
9734 var24 = 1; /* arg is null and recv is not */
9735 }
9736 if (var24){
9737 ((void (*)(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)>*/;
9738 /* <var_new_child:nullable ANode(ANode)> isa TKwinit */
9739 cltype26 = type_parser_nodes__TKwinit.color;
9740 idtype27 = type_parser_nodes__TKwinit.id;
9741 if(cltype26 >= var_new_child->type->table_size) {
9742 var25 = 0;
9743 } else {
9744 var25 = var_new_child->type->type_table[cltype26] == idtype27;
9745 }
9746 if (!var25) {
9747 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2496);
9748 exit(1);
9749 }
9750 self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_new_child; /* _n_kwinit on <self:AConcreteInitPropdef> */
9751 } else {
9752 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2499);
9753 exit(1);
9754 }
9755 goto RET_LABEL;
9756 } else {
9757 }
9758 var28 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val; /* _n_methid on <self:AConcreteInitPropdef> */
9759 if (var28 == NULL) {
9760 var29 = 0; /* <var_old_child:ANode> cannot be null */
9761 } else {
9762 var29 = ((short int (*)(val*, val*))(var28->class->vft[COLOR_kernel__Object___61d_61d]))(var28, var_old_child) /* == on <var28:nullable AMethid>*/;
9763 }
9764 if (var29){
9765 var30 = NULL;
9766 if (var_new_child == NULL) {
9767 var31 = 0; /* is null */
9768 } else {
9769 var31 = 1; /* arg is null and recv is not */
9770 }
9771 if (var31){
9772 ((void (*)(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)>*/;
9773 /* <var_new_child:nullable ANode(ANode)> isa AMethid */
9774 cltype33 = type_parser_nodes__AMethid.color;
9775 idtype34 = type_parser_nodes__AMethid.id;
9776 if(cltype33 >= var_new_child->type->table_size) {
9777 var32 = 0;
9778 } else {
9779 var32 = var_new_child->type->type_table[cltype33] == idtype34;
9780 }
9781 if (!var32) {
9782 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2506);
9783 exit(1);
9784 }
9785 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var_new_child; /* _n_methid on <self:AConcreteInitPropdef> */
9786 } else {
9787 var35 = NULL;
9788 self->attrs[COLOR_parser_nodes__AMethPropdef___n_methid].val = var35; /* _n_methid on <self:AConcreteInitPropdef> */
9789 }
9790 goto RET_LABEL;
9791 } else {
9792 }
9793 var36 = self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on <self:AConcreteInitPropdef> */
9794 if (var36 == NULL) {
9795 var37 = 0; /* <var_old_child:ANode> cannot be null */
9796 } else {
9797 var37 = ((short int (*)(val*, val*))(var36->class->vft[COLOR_kernel__Object___61d_61d]))(var36, var_old_child) /* == on <var36:nullable ASignature>*/;
9798 }
9799 if (var37){
9800 var38 = NULL;
9801 if (var_new_child == NULL) {
9802 var39 = 0; /* is null */
9803 } else {
9804 var39 = 1; /* arg is null and recv is not */
9805 }
9806 if (var39){
9807 ((void (*)(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)>*/;
9808 /* <var_new_child:nullable ANode(ANode)> isa ASignature */
9809 cltype41 = type_parser_nodes__ASignature.color;
9810 idtype42 = type_parser_nodes__ASignature.id;
9811 if(cltype41 >= var_new_child->type->table_size) {
9812 var40 = 0;
9813 } else {
9814 var40 = var_new_child->type->type_table[cltype41] == idtype42;
9815 }
9816 if (!var40) {
9817 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2516);
9818 exit(1);
9819 }
9820 self->attrs[COLOR_parser_nodes__AMethPropdef___n_signature].val = var_new_child; /* _n_signature on <self:AConcreteInitPropdef> */
9821 } else {
9822 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/parser/parser_prod.nit", 2519);
9823 exit(1);
9824 }
9825 goto RET_LABEL;
9826 } else {
9827 }
9828 var43 = self->attrs[COLOR_parser_nodes__Prod___n_annotations].val; /* _n_annotations on <self:AConcreteInitPropdef> */
9829 if (var43 == NULL) {
9830 var44 = 0; /* <var_old_child:ANode> cannot be null */
9831 } else {
9832 var44 = ((short int (*)(val*, val*))(var43->class->vft[COLOR_kernel__Object___61d_61d]))(var43, var_old_child) /* == on <var43:nullable AAnnotations>*/;
9833 }
9834 if (var44){
9835 var45 = NULL;
9836 if (var_new_child == NULL) {
9837 var46 = 0; /* is null */
9838 } else {
9839 var46 = 1; /* arg is null and recv is not */
9840 }
9841 if (var46){
9842 ((void (*)(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)>*/;
9843 /* <var_new_child:nullable ANode(ANode)> isa AAnnotations */
9844 cltype48 = type_parser_nodes__AAnnotations.color;
9845 idtype49 = type_parser_nodes__AAnnotations.id;
9846 if(cltype48 >= var_new_child->type->table_size) {
9847 var47 = 0;
9848 } else {
9849 var47 = var_new_child->type->type_table[cltype48] == idtype49;
9850 }
9851 if (!var47) {
9852 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2526);
9853 exit(1);
9854 }
9855 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var_new_child; /* _n_annotations on <self:AConcreteInitPropdef> */
9856 } else {
9857 var50 = NULL;
9858 self->attrs[COLOR_parser_nodes__Prod___n_annotations].val = var50; /* _n_annotations on <self:AConcreteInitPropdef> */
9859 }
9860 goto RET_LABEL;
9861 } else {
9862 }
9863 var51 = self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val; /* _n_block on <self:AConcreteInitPropdef> */
9864 if (var51 == NULL) {
9865 var52 = 0; /* <var_old_child:ANode> cannot be null */
9866 } else {
9867 var52 = ((short int (*)(val*, val*))(var51->class->vft[COLOR_kernel__Object___61d_61d]))(var51, var_old_child) /* == on <var51:nullable AExpr>*/;
9868 }
9869 if (var52){
9870 var53 = NULL;
9871 if (var_new_child == NULL) {
9872 var54 = 0; /* is null */
9873 } else {
9874 var54 = 1; /* arg is null and recv is not */
9875 }
9876 if (var54){
9877 ((void (*)(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)>*/;
9878 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9879 cltype56 = type_parser_nodes__AExpr.color;
9880 idtype57 = type_parser_nodes__AExpr.id;
9881 if(cltype56 >= var_new_child->type->table_size) {
9882 var55 = 0;
9883 } else {
9884 var55 = var_new_child->type->type_table[cltype56] == idtype57;
9885 }
9886 if (!var55) {
9887 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser_prod.nit", 2536);
9888 exit(1);
9889 }
9890 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var_new_child; /* _n_block on <self:AConcreteInitPropdef> */
9891 } else {
9892 var58 = NULL;
9893 self->attrs[COLOR_parser_nodes__AConcreteMethPropdef___n_block].val = var58; /* _n_block on <self:AConcreteInitPropdef> */
9894 }
9895 goto RET_LABEL;
9896 } else {
9897 }
9898 RET_LABEL:;
9899 }
9900 /* method parser_prod#AConcreteInitPropdef#replace_child for (self: Object, ANode, nullable ANode) */
9901 void VIRTUAL_parser_prod__AConcreteInitPropdef__replace_child(val* self, val* p0, val* p1) {
9902 parser_prod__AConcreteInitPropdef__replace_child(self, p0, p1);
9903 RET_LABEL:;
9904 }
9905 /* method parser_prod#AConcreteInitPropdef#n_doc= for (self: AConcreteInitPropdef, nullable ADoc) */
9906 void parser_prod__AConcreteInitPropdef__n_doc_61d(val* self, val* p0) {
9907 val* var_node /* var node: nullable ADoc */;
9908 val* var /* : null */;
9909 short int var1 /* : Bool */;
9910 var_node = p0;
9911 self->attrs[COLOR_parser_nodes__APropdef___n_doc].val = var_node; /* _n_doc on <self:AConcreteInitPropdef> */
9912 var = NULL;
9913 if (var_node == NULL) {
9914 var1 = 0; /* is null */
9915 } else {
9916 var1 = 1; /* arg is null and recv is not */
9917 }
9918 if (var1){
9919 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ADoc(ADoc)>*/;
9920 } else {
9921 }
9922 RET_LABEL:;
9923 }
9924 /* method parser_prod#AConcreteInitPropdef#n_doc= for (self: Object, nullable ADoc) */
9925 void VIRTUAL_parser_prod__AConcreteInitPropdef__n_doc_61d(val* self, val* p0) {
9926 parser_prod__AConcreteInitPropdef__n_doc_61d(self, p0);
9927 RET_LABEL:;
9928 }
9929 /* method parser_prod#AConcreteInitPropdef#n_kwredef= for (self: AConcreteInitPropdef, nullable TKwredef) */
9930 void parser_prod__AConcreteInitPropdef__n_kwredef_61d(val* self, val* p0) {
9931 val* var_node /* var node: nullable TKwredef */;
9932 val* var /* : null */;
9933 short int var1 /* : Bool */;
9934 var_node = p0;
9935 self->attrs[COLOR_parser_nodes__AMethPropdef___n_kwredef].val = var_node; /* _n_kwredef on <self:AConcreteInitPropdef> */
9936 var = NULL;
9937 if (var_node == NULL) {
9938 var1 = 0; /* is null */
9939 } else {
9940 var1 = 1; /* arg is null and recv is not */
9941 }
9942 if (var1){
9943 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TKwredef(TKwredef)>*/;
9944 } else {
9945 }
9946 RET_LABEL:;
9947 }
9948 /* method parser_prod#AConcreteInitPropdef#n_kwredef= for (self: Object, nullable TKwredef) */
9949 void VIRTUAL_parser_prod__AConcreteInitPropdef__n_kwredef_61d(val* self, val* p0) {
9950 parser_prod__AConcreteInitPropdef__n_kwredef_61d(self, p0);
9951 RET_LABEL:;
9952 }
9953 /* method parser_prod#AConcreteInitPropdef#n_visibility= for (self: AConcreteInitPropdef, nullable AVisibility) */
9954 void parser_prod__AConcreteInitPropdef__n_visibility_61d(val* self, val* p0) {
9955 val* var_node /* var node: nullable AVisibility */;
9956 var_node = p0;
9957 self->attrs[COLOR_parser_nodes__AMethPropdef___n_visibility].val = var_node; /* _n_visibility on <self:AConcreteInitPropdef> */
9958 if (var_node == NULL) {
9959 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/parser/parser_prod.nit", 2562);
9960 exit(1);
9961 } else {
9962 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AVisibility>*/;
9963 }
9964 RET_LABEL:;
9965 }
9966 /* method parser_prod#AConcreteInitPropdef#n_visibility= for (self: Object, nullable AVisibility) */
9967 void VIRTUAL_parser_prod__AConcreteInitPropdef__n_visibility_61d(val* self, val* p0) {
9968 parser_prod__AConcreteInitPropdef__n_visibility_61d(self, p0);
9969 RET_LABEL:;
9970 }
9971 /* method parser_prod#AConcreteInitPropdef#n_kwinit= for (self: AConcreteInitPropdef, TKwinit) */
9972 void parser_prod__AConcreteInitPropdef__n_kwinit_61d(val* self, val* p0) {
9973 val* var_node /* var node: TKwinit */;
9974 var_node = p0;
9975 self->attrs[COLOR_parser_nodes__AConcreteInitPropdef___n_kwinit].val = var_node; /* _n_kwinit on <self:AConcreteInitPropdef> */
9976 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwinit>*/;
9977 RET_LABEL:;
9978 }
9979 /* method parser_prod#AConcreteInitPropdef#n_kwinit= for (self: Object, TKwinit) */
9980 void VIRTUAL_parser_prod__AConcreteInitPropdef__n_kwinit_61d(val* self, val* p0) {
9981 parser_prod__AConcreteInitPropdef__n_kwinit_61d(self, p0);
9982 RET_LABEL:;
9983 }