README: document nit_env.sh
[nit.git] / c_src / nit__transform.sep.1.c
1 #include "nit__transform.sep.0.h"
2 /* method transform#ToolContext#opt_no_shortcut_range for (self: ToolContext): OptionBool */
3 val* nit__transform___ToolContext___opt_no_shortcut_range(val* self) {
4 val* var /* : OptionBool */;
5 val* var1 /* : OptionBool */;
6 var1 = self->attrs[COLOR_nit__transform__ToolContext___opt_no_shortcut_range].val; /* _opt_no_shortcut_range on <self:ToolContext> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 28);
10 fatal_exit(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method transform#ToolContext#init for (self: ToolContext) */
17 void nit__transform___ToolContext___standard__kernel__Object__init(val* self) {
18 val* var /* : OptionContext */;
19 val* var2 /* : OptionContext */;
20 val* var3 /* : OptionBool */;
21 val* var5 /* : OptionBool */;
22 val* var6 /* : Array[Option] */;
23 val* var7 /* : NativeArray[Option] */;
24 {
25 ((void(*)(val* self))(self->class->vft[COLOR_nit__transform___ToolContext___standard__kernel__Object__init]))(self); /* init on <self:ToolContext>*/
26 }
27 {
28 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
29 var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
30 if (unlikely(var2 == NULL)) {
31 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
32 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332);
33 fatal_exit(1);
34 }
35 var = var2;
36 RET_LABEL1:(void)0;
37 }
38 }
39 {
40 { /* Inline transform#ToolContext#opt_no_shortcut_range (self) on <self:ToolContext> */
41 var5 = self->attrs[COLOR_nit__transform__ToolContext___opt_no_shortcut_range].val; /* _opt_no_shortcut_range on <self:ToolContext> */
42 if (unlikely(var5 == NULL)) {
43 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range");
44 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 28);
45 fatal_exit(1);
46 }
47 var3 = var5;
48 RET_LABEL4:(void)0;
49 }
50 }
51 var6 = NEW_standard__Array(&type_standard__Array__opts__Option);
52 { /* var6 = array_instance Array[Option] */
53 var7 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option);
54 ((struct instance_standard__NativeArray*)var7)->values[0] = (val*) var3;
55 {
56 ((void(*)(val* self, val* p0, long p1))(var6->class->vft[COLOR_standard__array__Array__with_native]))(var6, var7, 1l); /* with_native on <var6:Array[Option]>*/
57 }
58 }
59 {
60 opts___opts__OptionContext___add_option(var, var6); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
61 }
62 RET_LABEL:;
63 }
64 /* method transform#TransformPhase#process_npropdef for (self: TransformPhase, APropdef) */
65 void nit__transform___nit__transform__TransformPhase___nit__phase__Phase__process_npropdef(val* self, val* p0) {
66 val* var_npropdef /* var npropdef: APropdef */;
67 val* var /* : nullable MPropDef */;
68 val* var2 /* : nullable MPropDef */;
69 val* var_m /* var m: nullable MPropDef */;
70 short int var3 /* : Bool */;
71 short int var4 /* : Bool */;
72 val* var_other /* var other: nullable Object */;
73 short int var6 /* : Bool */;
74 short int var8 /* : Bool */;
75 val* var9 /* : TransformVisitor */;
76 val* var_v /* var v: TransformVisitor */;
77 val* var10 /* : ASTValidationVisitor */;
78 val* var_val /* var val: nullable Object */;
79 var_npropdef = p0;
80 {
81 { /* Inline modelize_property#APropdef#mpropdef (var_npropdef) on <var_npropdef:APropdef> */
82 var2 = var_npropdef->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <var_npropdef:APropdef> */
83 var = var2;
84 RET_LABEL1:(void)0;
85 }
86 }
87 var_m = var;
88 if (var_m == NULL) {
89 var3 = 1; /* is null */
90 } else {
91 var3 = 0; /* arg is null but recv is not */
92 }
93 if (0) {
94 { /* Inline kernel#Object#== (var_m,((val*)NULL)) on <var_m:nullable MPropDef> */
95 var_other = ((val*)NULL);
96 {
97 { /* Inline kernel#Object#is_same_instance (var_m,var_other) on <var_m:nullable MPropDef(MPropDef)> */
98 var8 = var_m == var_other;
99 var6 = var8;
100 goto RET_LABEL7;
101 RET_LABEL7:(void)0;
102 }
103 }
104 var4 = var6;
105 goto RET_LABEL5;
106 RET_LABEL5:(void)0;
107 }
108 var3 = var4;
109 }
110 if (var3){
111 goto RET_LABEL;
112 } else {
113 }
114 var9 = NEW_nit__transform__TransformVisitor(&type_nit__transform__TransformVisitor);
115 {
116 ((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__transform__TransformVisitor__phase_61d]))(var9, self); /* phase= on <var9:TransformVisitor>*/
117 }
118 {
119 ((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nit__transform__TransformVisitor__mpropdef_61d]))(var9, var_m); /* mpropdef= on <var9:TransformVisitor>*/
120 }
121 {
122 ((void(*)(val* self))(var9->class->vft[COLOR_standard__kernel__Object__init]))(var9); /* init on <var9:TransformVisitor>*/
123 }
124 var_v = var9;
125 {
126 nit___nit__Visitor___enter_visit(var_v, var_npropdef); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:TransformVisitor>*/
127 }
128 var10 = NEW_nit__ASTValidationVisitor(&type_nit__ASTValidationVisitor);
129 {
130 { /* Inline kernel#Object#init (var10) on <var10:ASTValidationVisitor> */
131 RET_LABEL11:(void)0;
132 }
133 }
134 var_val = var10;
135 {
136 nit___nit__Visitor___enter_visit(var_val, var_npropdef); /* Direct call parser_nodes#Visitor#enter_visit on <var_val:nullable Object(ASTValidationVisitor)>*/
137 }
138 RET_LABEL:;
139 }
140 /* method transform#TransformVisitor#phase for (self: TransformVisitor): TransformPhase */
141 val* nit__transform___nit__transform__TransformVisitor___phase(val* self) {
142 val* var /* : TransformPhase */;
143 val* var1 /* : TransformPhase */;
144 var1 = self->attrs[COLOR_nit__transform__TransformVisitor___phase].val; /* _phase on <self:TransformVisitor> */
145 if (unlikely(var1 == NULL)) {
146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase");
147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 58);
148 fatal_exit(1);
149 }
150 var = var1;
151 RET_LABEL:;
152 return var;
153 }
154 /* method transform#TransformVisitor#phase= for (self: TransformVisitor, TransformPhase) */
155 void nit__transform___nit__transform__TransformVisitor___phase_61d(val* self, val* p0) {
156 self->attrs[COLOR_nit__transform__TransformVisitor___phase].val = p0; /* _phase on <self:TransformVisitor> */
157 RET_LABEL:;
158 }
159 /* method transform#TransformVisitor#mmodule for (self: TransformVisitor): MModule */
160 val* nit__transform___nit__transform__TransformVisitor___mmodule(val* self) {
161 val* var /* : MModule */;
162 val* var1 /* : MModule */;
163 var1 = self->attrs[COLOR_nit__transform__TransformVisitor___mmodule].val; /* _mmodule on <self:TransformVisitor> */
164 if (unlikely(var1 == NULL)) {
165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 59);
167 fatal_exit(1);
168 }
169 var = var1;
170 RET_LABEL:;
171 return var;
172 }
173 /* method transform#TransformVisitor#mmodule= for (self: TransformVisitor, MModule) */
174 void nit__transform___nit__transform__TransformVisitor___mmodule_61d(val* self, val* p0) {
175 self->attrs[COLOR_nit__transform__TransformVisitor___mmodule].val = p0; /* _mmodule on <self:TransformVisitor> */
176 RET_LABEL:;
177 }
178 /* method transform#TransformVisitor#mclassdef for (self: TransformVisitor): MClassDef */
179 val* nit__transform___nit__transform__TransformVisitor___mclassdef(val* self) {
180 val* var /* : MClassDef */;
181 val* var1 /* : MClassDef */;
182 var1 = self->attrs[COLOR_nit__transform__TransformVisitor___mclassdef].val; /* _mclassdef on <self:TransformVisitor> */
183 if (unlikely(var1 == NULL)) {
184 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
185 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 60);
186 fatal_exit(1);
187 }
188 var = var1;
189 RET_LABEL:;
190 return var;
191 }
192 /* method transform#TransformVisitor#mclassdef= for (self: TransformVisitor, MClassDef) */
193 void nit__transform___nit__transform__TransformVisitor___mclassdef_61d(val* self, val* p0) {
194 self->attrs[COLOR_nit__transform__TransformVisitor___mclassdef].val = p0; /* _mclassdef on <self:TransformVisitor> */
195 RET_LABEL:;
196 }
197 /* method transform#TransformVisitor#mpropdef for (self: TransformVisitor): MPropDef */
198 val* nit__transform___nit__transform__TransformVisitor___mpropdef(val* self) {
199 val* var /* : MPropDef */;
200 val* var1 /* : MPropDef */;
201 var1 = self->attrs[COLOR_nit__transform__TransformVisitor___mpropdef].val; /* _mpropdef on <self:TransformVisitor> */
202 if (unlikely(var1 == NULL)) {
203 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 61);
205 fatal_exit(1);
206 }
207 var = var1;
208 RET_LABEL:;
209 return var;
210 }
211 /* method transform#TransformVisitor#mpropdef= for (self: TransformVisitor, MPropDef) */
212 void nit__transform___nit__transform__TransformVisitor___mpropdef_61d(val* self, val* p0) {
213 self->attrs[COLOR_nit__transform__TransformVisitor___mpropdef].val = p0; /* _mpropdef on <self:TransformVisitor> */
214 RET_LABEL:;
215 }
216 /* method transform#TransformVisitor#builder for (self: TransformVisitor): ASTBuilder */
217 val* nit__transform___nit__transform__TransformVisitor___builder(val* self) {
218 val* var /* : ASTBuilder */;
219 val* var1 /* : ASTBuilder */;
220 var1 = self->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <self:TransformVisitor> */
221 if (unlikely(var1 == NULL)) {
222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
223 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
224 fatal_exit(1);
225 }
226 var = var1;
227 RET_LABEL:;
228 return var;
229 }
230 /* method transform#TransformVisitor#builder= for (self: TransformVisitor, ASTBuilder) */
231 void nit__transform___nit__transform__TransformVisitor___builder_61d(val* self, val* p0) {
232 self->attrs[COLOR_nit__transform__TransformVisitor___builder].val = p0; /* _builder on <self:TransformVisitor> */
233 RET_LABEL:;
234 }
235 /* method transform#TransformVisitor#init for (self: TransformVisitor) */
236 void nit__transform___nit__transform__TransformVisitor___standard__kernel__Object__init(val* self) {
237 val* var /* : MPropDef */;
238 val* var2 /* : MPropDef */;
239 val* var3 /* : MClassDef */;
240 val* var5 /* : MClassDef */;
241 val* var7 /* : MClassDef */;
242 val* var9 /* : MClassDef */;
243 val* var10 /* : MModule */;
244 val* var12 /* : MModule */;
245 val* var14 /* : ASTBuilder */;
246 val* var15 /* : MModule */;
247 val* var17 /* : MModule */;
248 val* var18 /* : MPropDef */;
249 val* var20 /* : MPropDef */;
250 val* var21 /* : MClassDef */;
251 val* var23 /* : MClassDef */;
252 val* var24 /* : MClassType */;
253 val* var26 /* : MClassType */;
254 {
255 ((void(*)(val* self))(self->class->vft[COLOR_nit__transform___nit__transform__TransformVisitor___standard__kernel__Object__init]))(self); /* init on <self:TransformVisitor>*/
256 }
257 {
258 { /* Inline transform#TransformVisitor#mpropdef (self) on <self:TransformVisitor> */
259 var2 = self->attrs[COLOR_nit__transform__TransformVisitor___mpropdef].val; /* _mpropdef on <self:TransformVisitor> */
260 if (unlikely(var2 == NULL)) {
261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
262 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 61);
263 fatal_exit(1);
264 }
265 var = var2;
266 RET_LABEL1:(void)0;
267 }
268 }
269 {
270 { /* Inline model#MPropDef#mclassdef (var) on <var:MPropDef> */
271 var5 = var->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var:MPropDef> */
272 if (unlikely(var5 == NULL)) {
273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
274 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
275 fatal_exit(1);
276 }
277 var3 = var5;
278 RET_LABEL4:(void)0;
279 }
280 }
281 {
282 { /* Inline transform#TransformVisitor#mclassdef= (self,var3) on <self:TransformVisitor> */
283 self->attrs[COLOR_nit__transform__TransformVisitor___mclassdef].val = var3; /* _mclassdef on <self:TransformVisitor> */
284 RET_LABEL6:(void)0;
285 }
286 }
287 {
288 { /* Inline transform#TransformVisitor#mclassdef (self) on <self:TransformVisitor> */
289 var9 = self->attrs[COLOR_nit__transform__TransformVisitor___mclassdef].val; /* _mclassdef on <self:TransformVisitor> */
290 if (unlikely(var9 == NULL)) {
291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 60);
293 fatal_exit(1);
294 }
295 var7 = var9;
296 RET_LABEL8:(void)0;
297 }
298 }
299 {
300 { /* Inline model#MClassDef#mmodule (var7) on <var7:MClassDef> */
301 var12 = var7->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on <var7:MClassDef> */
302 if (unlikely(var12 == NULL)) {
303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550);
305 fatal_exit(1);
306 }
307 var10 = var12;
308 RET_LABEL11:(void)0;
309 }
310 }
311 {
312 { /* Inline transform#TransformVisitor#mmodule= (self,var10) on <self:TransformVisitor> */
313 self->attrs[COLOR_nit__transform__TransformVisitor___mmodule].val = var10; /* _mmodule on <self:TransformVisitor> */
314 RET_LABEL13:(void)0;
315 }
316 }
317 var14 = NEW_nit__ASTBuilder(&type_nit__ASTBuilder);
318 {
319 { /* Inline transform#TransformVisitor#mmodule (self) on <self:TransformVisitor> */
320 var17 = self->attrs[COLOR_nit__transform__TransformVisitor___mmodule].val; /* _mmodule on <self:TransformVisitor> */
321 if (unlikely(var17 == NULL)) {
322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 59);
324 fatal_exit(1);
325 }
326 var15 = var17;
327 RET_LABEL16:(void)0;
328 }
329 }
330 {
331 { /* Inline transform#TransformVisitor#mpropdef (self) on <self:TransformVisitor> */
332 var20 = self->attrs[COLOR_nit__transform__TransformVisitor___mpropdef].val; /* _mpropdef on <self:TransformVisitor> */
333 if (unlikely(var20 == NULL)) {
334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 61);
336 fatal_exit(1);
337 }
338 var18 = var20;
339 RET_LABEL19:(void)0;
340 }
341 }
342 {
343 { /* Inline model#MPropDef#mclassdef (var18) on <var18:MPropDef> */
344 var23 = var18->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var18:MPropDef> */
345 if (unlikely(var23 == NULL)) {
346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
348 fatal_exit(1);
349 }
350 var21 = var23;
351 RET_LABEL22:(void)0;
352 }
353 }
354 {
355 { /* Inline model#MClassDef#bound_mtype (var21) on <var21:MClassDef> */
356 var26 = var21->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var21:MClassDef> */
357 if (unlikely(var26 == NULL)) {
358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556);
360 fatal_exit(1);
361 }
362 var24 = var26;
363 RET_LABEL25:(void)0;
364 }
365 }
366 {
367 ((void(*)(val* self, val* p0))(var14->class->vft[COLOR_nit__astbuilder__ASTBuilder__mmodule_61d]))(var14, var15); /* mmodule= on <var14:ASTBuilder>*/
368 }
369 {
370 ((void(*)(val* self, val* p0))(var14->class->vft[COLOR_nit__astbuilder__ASTBuilder__anchor_61d]))(var14, var24); /* anchor= on <var14:ASTBuilder>*/
371 }
372 {
373 ((void(*)(val* self))(var14->class->vft[COLOR_standard__kernel__Object__init]))(var14); /* init on <var14:ASTBuilder>*/
374 }
375 {
376 { /* Inline transform#TransformVisitor#builder= (self,var14) on <self:TransformVisitor> */
377 self->attrs[COLOR_nit__transform__TransformVisitor___builder].val = var14; /* _builder on <self:TransformVisitor> */
378 RET_LABEL27:(void)0;
379 }
380 }
381 RET_LABEL:;
382 }
383 /* method transform#TransformVisitor#visit for (self: TransformVisitor, ANode) */
384 void nit__transform___nit__transform__TransformVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) {
385 val* var_node /* var node: ANode */;
386 short int var /* : Bool */;
387 int cltype;
388 int idtype;
389 var_node = p0;
390 /* <var_node:ANode> isa AAnnotations */
391 cltype = type_nit__AAnnotations.color;
392 idtype = type_nit__AAnnotations.id;
393 if(cltype >= var_node->type->table_size) {
394 var = 0;
395 } else {
396 var = var_node->type->type_table[cltype] == idtype;
397 }
398 if (var){
399 goto RET_LABEL;
400 } else {
401 }
402 {
403 ((void(*)(val* self, val* p0))(var_node->class->vft[COLOR_nit__transform__ANode__full_transform_visitor]))(var_node, self); /* full_transform_visitor on <var_node:ANode>*/
404 }
405 RET_LABEL:;
406 }
407 /* method transform#ANode#full_transform_visitor for (self: ANode, TransformVisitor) */
408 void nit__transform___ANode___full_transform_visitor(val* self, val* p0) {
409 val* var_v /* var v: TransformVisitor */;
410 var_v = p0;
411 {
412 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(self, var_v); /* visit_all on <self:ANode>*/
413 }
414 {
415 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__transform__ANode__accept_transform_visitor]))(self, var_v); /* accept_transform_visitor on <self:ANode>*/
416 }
417 RET_LABEL:;
418 }
419 /* method transform#ANode#accept_transform_visitor for (self: ANode, TransformVisitor) */
420 void nit__transform___ANode___accept_transform_visitor(val* self, val* p0) {
421 val* var_v /* var v: TransformVisitor */;
422 var_v = p0;
423 RET_LABEL:;
424 }
425 /* method transform#AExpr#full_transform_visitor for (self: AExpr, TransformVisitor) */
426 void nit__transform___AExpr___ANode__full_transform_visitor(val* self, val* p0) {
427 val* var_v /* var v: TransformVisitor */;
428 val* var /* : nullable AArrayExpr */;
429 val* var2 /* : nullable AArrayExpr */;
430 val* var_na /* var na: nullable AArrayExpr */;
431 short int var3 /* : Bool */;
432 short int var4 /* : Bool */;
433 val* var_other /* var other: nullable Object */;
434 short int var6 /* : Bool */;
435 short int var7 /* : Bool */;
436 val* var8 /* : AExpr */;
437 val* var_place /* var place: AExpr */;
438 val* var9 /* : ANewExpr */;
439 val* var11 /* : ANewExpr */;
440 val* var12 /* : AVarExpr */;
441 val* var_recv /* var recv: AVarExpr */;
442 val* var13 /* : ASTBuilder */;
443 val* var15 /* : ASTBuilder */;
444 val* var16 /* : nullable CallSite */;
445 val* var18 /* : nullable CallSite */;
446 val* var19 /* : Array[AExpr] */;
447 val* var_ /* var : Array[AExpr] */;
448 val* var20 /* : ACallExpr */;
449 val* var_nadd /* var nadd: ACallExpr */;
450 short int var21 /* : Bool */;
451 val* var22 /* : nullable MType */;
452 short int var23 /* : Bool */;
453 short int var24 /* : Bool */;
454 val* var_other26 /* var other: nullable Object */;
455 short int var27 /* : Bool */;
456 short int var29 /* : Bool */;
457 short int var_30 /* var : Bool */;
458 short int var31 /* : Bool */;
459 short int var33 /* : Bool */;
460 short int var34 /* : Bool */;
461 var_v = p0;
462 {
463 { /* Inline typing#AExpr#comprehension (self) on <self:AExpr> */
464 var2 = self->attrs[COLOR_nit__typing__AExpr___comprehension].val; /* _comprehension on <self:AExpr> */
465 var = var2;
466 RET_LABEL1:(void)0;
467 }
468 }
469 var_na = var;
470 if (var_na == NULL) {
471 var3 = 0; /* is null */
472 } else {
473 var3 = 1; /* arg is null and recv is not */
474 }
475 if (0) {
476 { /* Inline kernel#Object#!= (var_na,((val*)NULL)) on <var_na:nullable AArrayExpr> */
477 var_other = ((val*)NULL);
478 {
479 var6 = ((short int(*)(val* self, val* p0))(var_na->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_na, var_other); /* == on <var_na:nullable AArrayExpr(AArrayExpr)>*/
480 }
481 var7 = !var6;
482 var4 = var7;
483 goto RET_LABEL5;
484 RET_LABEL5:(void)0;
485 }
486 var3 = var4;
487 }
488 if (var3){
489 {
490 var8 = nit__astbuilder___AExpr___detach_with_placeholder(self);
491 }
492 var_place = var8;
493 {
494 { /* Inline transform#AArrayExpr#nnew (var_na) on <var_na:nullable AArrayExpr(AArrayExpr)> */
495 var11 = var_na->attrs[COLOR_nit__transform__AArrayExpr___nnew].val; /* _nnew on <var_na:nullable AArrayExpr(AArrayExpr)> */
496 if (unlikely(var11 == NULL)) {
497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nnew");
498 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 382);
499 fatal_exit(1);
500 }
501 var9 = var11;
502 RET_LABEL10:(void)0;
503 }
504 }
505 {
506 var12 = nit__astbuilder___AExpr___make_var_read(var9);
507 }
508 var_recv = var12;
509 {
510 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
511 var15 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
512 if (unlikely(var15 == NULL)) {
513 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
515 fatal_exit(1);
516 }
517 var13 = var15;
518 RET_LABEL14:(void)0;
519 }
520 }
521 {
522 { /* Inline typing#AArrayExpr#push_callsite (var_na) on <var_na:nullable AArrayExpr(AArrayExpr)> */
523 var18 = var_na->attrs[COLOR_nit__typing__AArrayExpr___push_callsite].val; /* _push_callsite on <var_na:nullable AArrayExpr(AArrayExpr)> */
524 var16 = var18;
525 RET_LABEL17:(void)0;
526 }
527 }
528 if (unlikely(var16 == NULL)) {
529 PRINT_ERROR("Runtime error: %s", "Cast failed");
530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 104);
531 fatal_exit(1);
532 }
533 var19 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
534 {
535 standard___standard__Array___with_capacity(var19, 1l); /* Direct call array#Array#with_capacity on <var19:Array[AExpr]>*/
536 }
537 var_ = var19;
538 {
539 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, self); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
540 }
541 {
542 var20 = nit___nit__ASTBuilder___make_call(var13, var_recv, var16, var_);
543 }
544 var_nadd = var20;
545 {
546 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(var_place, var_nadd); /* Direct call transform#AExpr#replace_with on <var_place:AExpr>*/
547 }
548 } else {
549 }
550 {
551 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(self, var_v); /* visit_all on <self:AExpr>*/
552 }
553 {
554 var22 = ((val*(*)(val* self))(self->class->vft[COLOR_nit__typing__AExpr__mtype]))(self); /* mtype on <self:AExpr>*/
555 }
556 if (var22 == NULL) {
557 var23 = 1; /* is null */
558 } else {
559 var23 = 0; /* arg is null but recv is not */
560 }
561 if (0) {
562 { /* Inline kernel#Object#== (var22,((val*)NULL)) on <var22:nullable MType> */
563 var_other26 = ((val*)NULL);
564 {
565 { /* Inline kernel#Object#is_same_instance (var22,var_other26) on <var22:nullable MType(MType)> */
566 var29 = var22 == var_other26;
567 var27 = var29;
568 goto RET_LABEL28;
569 RET_LABEL28:(void)0;
570 }
571 }
572 var24 = var27;
573 goto RET_LABEL25;
574 RET_LABEL25:(void)0;
575 }
576 var23 = var24;
577 }
578 var_30 = var23;
579 if (var23){
580 {
581 { /* Inline typing#AExpr#is_typed (self) on <self:AExpr> */
582 var33 = self->attrs[COLOR_nit__typing__AExpr___is_typed].s; /* _is_typed on <self:AExpr> */
583 var31 = var33;
584 RET_LABEL32:(void)0;
585 }
586 }
587 var34 = !var31;
588 var21 = var34;
589 } else {
590 var21 = var_30;
591 }
592 if (var21){
593 goto RET_LABEL;
594 } else {
595 }
596 {
597 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__transform__ANode__accept_transform_visitor]))(self, var_v); /* accept_transform_visitor on <self:AExpr>*/
598 }
599 RET_LABEL:;
600 }
601 /* method transform#AExpr#replace_with for (self: AExpr, ANode) */
602 void nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(val* self, val* p0) {
603 val* var_other /* var other: ANode */;
604 short int var /* : Bool */;
605 int cltype;
606 int idtype;
607 val* var1 /* : nullable MType */;
608 val* var3 /* : nullable MType */;
609 short int var4 /* : Bool */;
610 short int var5 /* : Bool */;
611 val* var_other7 /* var other: nullable Object */;
612 short int var8 /* : Bool */;
613 short int var10 /* : Bool */;
614 val* var11 /* : nullable MType */;
615 val* var13 /* : nullable MType */;
616 var_other = p0;
617 {
618 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__transform___AExpr___nit__parser_nodes__ANode__replace_with]))(self, p0); /* replace_with on <self:AExpr>*/
619 }
620 /* <var_other:ANode> isa AExpr */
621 cltype = type_nit__AExpr.color;
622 idtype = type_nit__AExpr.id;
623 if(cltype >= var_other->type->table_size) {
624 var = 0;
625 } else {
626 var = var_other->type->type_table[cltype] == idtype;
627 }
628 if (var){
629 {
630 { /* Inline typing#AExpr#implicit_cast_to (var_other) on <var_other:ANode(AExpr)> */
631 var3 = var_other->attrs[COLOR_nit__typing__AExpr___implicit_cast_to].val; /* _implicit_cast_to on <var_other:ANode(AExpr)> */
632 var1 = var3;
633 RET_LABEL2:(void)0;
634 }
635 }
636 if (var1 == NULL) {
637 var4 = 1; /* is null */
638 } else {
639 var4 = 0; /* arg is null but recv is not */
640 }
641 if (0) {
642 { /* Inline kernel#Object#== (var1,((val*)NULL)) on <var1:nullable MType> */
643 var_other7 = ((val*)NULL);
644 {
645 { /* Inline kernel#Object#is_same_instance (var1,var_other7) on <var1:nullable MType(MType)> */
646 var10 = var1 == var_other7;
647 var8 = var10;
648 goto RET_LABEL9;
649 RET_LABEL9:(void)0;
650 }
651 }
652 var5 = var8;
653 goto RET_LABEL6;
654 RET_LABEL6:(void)0;
655 }
656 var4 = var5;
657 }
658 if (var4){
659 {
660 { /* Inline typing#AExpr#implicit_cast_to (self) on <self:AExpr> */
661 var13 = self->attrs[COLOR_nit__typing__AExpr___implicit_cast_to].val; /* _implicit_cast_to on <self:AExpr> */
662 var11 = var13;
663 RET_LABEL12:(void)0;
664 }
665 }
666 {
667 { /* Inline typing#AExpr#implicit_cast_to= (var_other,var11) on <var_other:ANode(AExpr)> */
668 var_other->attrs[COLOR_nit__typing__AExpr___implicit_cast_to].val = var11; /* _implicit_cast_to on <var_other:ANode(AExpr)> */
669 RET_LABEL14:(void)0;
670 }
671 }
672 } else {
673 }
674 } else {
675 }
676 RET_LABEL:;
677 }
678 /* method transform#AVardeclExpr#accept_transform_visitor for (self: AVardeclExpr, TransformVisitor) */
679 void nit__transform___AVardeclExpr___ANode__accept_transform_visitor(val* self, val* p0) {
680 val* var_v /* var v: TransformVisitor */;
681 val* var /* : nullable AExpr */;
682 val* var2 /* : nullable AExpr */;
683 val* var_nexpr /* var nexpr: nullable AExpr */;
684 short int var3 /* : Bool */;
685 short int var4 /* : Bool */;
686 val* var_other /* var other: nullable Object */;
687 short int var6 /* : Bool */;
688 short int var8 /* : Bool */;
689 val* var9 /* : ASTBuilder */;
690 val* var11 /* : ASTBuilder */;
691 val* var12 /* : nullable Variable */;
692 val* var14 /* : nullable Variable */;
693 val* var15 /* : AVarAssignExpr */;
694 val* var_nvar /* var nvar: AVarAssignExpr */;
695 var_v = p0;
696 {
697 { /* Inline parser_nodes#AVardeclExpr#n_expr (self) on <self:AVardeclExpr> */
698 var2 = self->attrs[COLOR_nit__parser_nodes__AVardeclExpr___n_expr].val; /* _n_expr on <self:AVardeclExpr> */
699 var = var2;
700 RET_LABEL1:(void)0;
701 }
702 }
703 var_nexpr = var;
704 if (var_nexpr == NULL) {
705 var3 = 1; /* is null */
706 } else {
707 var3 = 0; /* arg is null but recv is not */
708 }
709 if (0) {
710 { /* Inline kernel#Object#== (var_nexpr,((val*)NULL)) on <var_nexpr:nullable AExpr> */
711 var_other = ((val*)NULL);
712 {
713 { /* Inline kernel#Object#is_same_instance (var_nexpr,var_other) on <var_nexpr:nullable AExpr(AExpr)> */
714 var8 = var_nexpr == var_other;
715 var6 = var8;
716 goto RET_LABEL7;
717 RET_LABEL7:(void)0;
718 }
719 }
720 var4 = var6;
721 goto RET_LABEL5;
722 RET_LABEL5:(void)0;
723 }
724 var3 = var4;
725 }
726 if (var3){
727 } else {
728 {
729 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
730 var11 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
731 if (unlikely(var11 == NULL)) {
732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
733 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
734 fatal_exit(1);
735 }
736 var9 = var11;
737 RET_LABEL10:(void)0;
738 }
739 }
740 {
741 { /* Inline scope#AVardeclExpr#variable (self) on <self:AVardeclExpr> */
742 var14 = self->attrs[COLOR_nit__scope__AVardeclExpr___variable].val; /* _variable on <self:AVardeclExpr> */
743 var12 = var14;
744 RET_LABEL13:(void)0;
745 }
746 }
747 if (unlikely(var12 == NULL)) {
748 PRINT_ERROR("Runtime error: %s", "Cast failed");
749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 138);
750 fatal_exit(1);
751 }
752 {
753 var15 = nit___nit__ASTBuilder___make_var_assign(var9, var12, var_nexpr);
754 }
755 var_nvar = var15;
756 {
757 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nvar); /* Direct call transform#AExpr#replace_with on <self:AVardeclExpr>*/
758 }
759 }
760 RET_LABEL:;
761 }
762 /* method transform#AIfexprExpr#accept_transform_visitor for (self: AIfexprExpr, TransformVisitor) */
763 void nit__transform___AIfexprExpr___ANode__accept_transform_visitor(val* self, val* p0) {
764 val* var_v /* var v: TransformVisitor */;
765 val* var /* : ASTBuilder */;
766 val* var2 /* : ASTBuilder */;
767 val* var3 /* : AExpr */;
768 val* var5 /* : AExpr */;
769 val* var6 /* : nullable MType */;
770 val* var8 /* : nullable MType */;
771 val* var9 /* : AIfExpr */;
772 val* var_nif /* var nif: AIfExpr */;
773 val* var10 /* : nullable AExpr */;
774 val* var12 /* : nullable AExpr */;
775 val* var13 /* : AExpr */;
776 val* var15 /* : AExpr */;
777 val* var16 /* : nullable AExpr */;
778 val* var18 /* : nullable AExpr */;
779 val* var19 /* : AExpr */;
780 val* var21 /* : AExpr */;
781 var_v = p0;
782 {
783 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
784 var2 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
785 if (unlikely(var2 == NULL)) {
786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
788 fatal_exit(1);
789 }
790 var = var2;
791 RET_LABEL1:(void)0;
792 }
793 }
794 {
795 { /* Inline parser_nodes#AIfexprExpr#n_expr (self) on <self:AIfexprExpr> */
796 var5 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
797 if (unlikely(var5 == NULL)) {
798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1880);
800 fatal_exit(1);
801 }
802 var3 = var5;
803 RET_LABEL4:(void)0;
804 }
805 }
806 {
807 { /* Inline typing#AExpr#mtype (self) on <self:AIfexprExpr> */
808 var8 = self->attrs[COLOR_nit__typing__AExpr___mtype].val; /* _mtype on <self:AIfexprExpr> */
809 var6 = var8;
810 RET_LABEL7:(void)0;
811 }
812 }
813 {
814 var9 = nit___nit__ASTBuilder___make_if(var, var3, var6);
815 }
816 var_nif = var9;
817 {
818 { /* Inline parser_nodes#AIfExpr#n_then (var_nif) on <var_nif:AIfExpr> */
819 var12 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val; /* _n_then on <var_nif:AIfExpr> */
820 var10 = var12;
821 RET_LABEL11:(void)0;
822 }
823 }
824 {
825 { /* Inline parser_nodes#AIfexprExpr#n_then (self) on <self:AIfexprExpr> */
826 var15 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
827 if (unlikely(var15 == NULL)) {
828 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
829 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1886);
830 fatal_exit(1);
831 }
832 var13 = var15;
833 RET_LABEL14:(void)0;
834 }
835 }
836 if (var10 == NULL) {
837 PRINT_ERROR("Runtime error: %s", "Receiver is null");
838 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 151);
839 fatal_exit(1);
840 } else {
841 ((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var10, var13); /* add on <var10:nullable AExpr>*/
842 }
843 {
844 { /* Inline parser_nodes#AIfExpr#n_else (var_nif) on <var_nif:AIfExpr> */
845 var18 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val; /* _n_else on <var_nif:AIfExpr> */
846 var16 = var18;
847 RET_LABEL17:(void)0;
848 }
849 }
850 {
851 { /* Inline parser_nodes#AIfexprExpr#n_else (self) on <self:AIfexprExpr> */
852 var21 = self->attrs[COLOR_nit__parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
853 if (unlikely(var21 == NULL)) {
854 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
855 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1892);
856 fatal_exit(1);
857 }
858 var19 = var21;
859 RET_LABEL20:(void)0;
860 }
861 }
862 if (var16 == NULL) {
863 PRINT_ERROR("Runtime error: %s", "Receiver is null");
864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 152);
865 fatal_exit(1);
866 } else {
867 ((void(*)(val* self, val* p0))(var16->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var16, var19); /* add on <var16:nullable AExpr>*/
868 }
869 {
870 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nif); /* Direct call transform#AExpr#replace_with on <self:AIfexprExpr>*/
871 }
872 RET_LABEL:;
873 }
874 /* method transform#AOrExpr#accept_transform_visitor for (self: AOrExpr, TransformVisitor) */
875 void nit__transform___AOrExpr___ANode__accept_transform_visitor(val* self, val* p0) {
876 val* var_v /* var v: TransformVisitor */;
877 val* var /* : ASTBuilder */;
878 val* var2 /* : ASTBuilder */;
879 val* var3 /* : AExpr */;
880 val* var5 /* : AExpr */;
881 val* var6 /* : nullable MType */;
882 val* var8 /* : nullable MType */;
883 val* var9 /* : AIfExpr */;
884 val* var_nif /* var nif: AIfExpr */;
885 val* var10 /* : nullable AExpr */;
886 val* var12 /* : nullable AExpr */;
887 val* var13 /* : AExpr */;
888 val* var15 /* : AExpr */;
889 val* var16 /* : AVarExpr */;
890 val* var17 /* : nullable AExpr */;
891 val* var19 /* : nullable AExpr */;
892 val* var20 /* : AExpr */;
893 val* var22 /* : AExpr */;
894 var_v = p0;
895 {
896 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
897 var2 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
898 if (unlikely(var2 == NULL)) {
899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
901 fatal_exit(1);
902 }
903 var = var2;
904 RET_LABEL1:(void)0;
905 }
906 }
907 {
908 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrExpr> */
909 var5 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
910 if (unlikely(var5 == NULL)) {
911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2053);
913 fatal_exit(1);
914 }
915 var3 = var5;
916 RET_LABEL4:(void)0;
917 }
918 }
919 {
920 { /* Inline typing#AExpr#mtype (self) on <self:AOrExpr> */
921 var8 = self->attrs[COLOR_nit__typing__AExpr___mtype].val; /* _mtype on <self:AOrExpr> */
922 var6 = var8;
923 RET_LABEL7:(void)0;
924 }
925 }
926 {
927 var9 = nit___nit__ASTBuilder___make_if(var, var3, var6);
928 }
929 var_nif = var9;
930 {
931 { /* Inline parser_nodes#AIfExpr#n_then (var_nif) on <var_nif:AIfExpr> */
932 var12 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val; /* _n_then on <var_nif:AIfExpr> */
933 var10 = var12;
934 RET_LABEL11:(void)0;
935 }
936 }
937 {
938 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrExpr> */
939 var15 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
940 if (unlikely(var15 == NULL)) {
941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
942 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2053);
943 fatal_exit(1);
944 }
945 var13 = var15;
946 RET_LABEL14:(void)0;
947 }
948 }
949 {
950 var16 = nit__astbuilder___AExpr___make_var_read(var13);
951 }
952 if (var10 == NULL) {
953 PRINT_ERROR("Runtime error: %s", "Receiver is null");
954 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 163);
955 fatal_exit(1);
956 } else {
957 ((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var10, var16); /* add on <var10:nullable AExpr>*/
958 }
959 {
960 { /* Inline parser_nodes#AIfExpr#n_else (var_nif) on <var_nif:AIfExpr> */
961 var19 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val; /* _n_else on <var_nif:AIfExpr> */
962 var17 = var19;
963 RET_LABEL18:(void)0;
964 }
965 }
966 {
967 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AOrExpr> */
968 var22 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
969 if (unlikely(var22 == NULL)) {
970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
971 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2059);
972 fatal_exit(1);
973 }
974 var20 = var22;
975 RET_LABEL21:(void)0;
976 }
977 }
978 if (var17 == NULL) {
979 PRINT_ERROR("Runtime error: %s", "Receiver is null");
980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 164);
981 fatal_exit(1);
982 } else {
983 ((void(*)(val* self, val* p0))(var17->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var17, var20); /* add on <var17:nullable AExpr>*/
984 }
985 {
986 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nif); /* Direct call transform#AExpr#replace_with on <self:AOrExpr>*/
987 }
988 RET_LABEL:;
989 }
990 /* method transform#AImpliesExpr#accept_transform_visitor for (self: AImpliesExpr, TransformVisitor) */
991 void nit__transform___AImpliesExpr___ANode__accept_transform_visitor(val* self, val* p0) {
992 val* var_v /* var v: TransformVisitor */;
993 var_v = p0;
994 RET_LABEL:;
995 }
996 /* method transform#AAndExpr#accept_transform_visitor for (self: AAndExpr, TransformVisitor) */
997 void nit__transform___AAndExpr___ANode__accept_transform_visitor(val* self, val* p0) {
998 val* var_v /* var v: TransformVisitor */;
999 val* var /* : ASTBuilder */;
1000 val* var2 /* : ASTBuilder */;
1001 val* var3 /* : AExpr */;
1002 val* var5 /* : AExpr */;
1003 val* var6 /* : nullable MType */;
1004 val* var8 /* : nullable MType */;
1005 val* var9 /* : AIfExpr */;
1006 val* var_nif /* var nif: AIfExpr */;
1007 val* var10 /* : nullable AExpr */;
1008 val* var12 /* : nullable AExpr */;
1009 val* var13 /* : AExpr */;
1010 val* var15 /* : AExpr */;
1011 val* var16 /* : nullable AExpr */;
1012 val* var18 /* : nullable AExpr */;
1013 val* var19 /* : AExpr */;
1014 val* var21 /* : AExpr */;
1015 val* var22 /* : AVarExpr */;
1016 var_v = p0;
1017 {
1018 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1019 var2 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1020 if (unlikely(var2 == NULL)) {
1021 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1022 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1023 fatal_exit(1);
1024 }
1025 var = var2;
1026 RET_LABEL1:(void)0;
1027 }
1028 }
1029 {
1030 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AAndExpr> */
1031 var5 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
1032 if (unlikely(var5 == NULL)) {
1033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2053);
1035 fatal_exit(1);
1036 }
1037 var3 = var5;
1038 RET_LABEL4:(void)0;
1039 }
1040 }
1041 {
1042 { /* Inline typing#AExpr#mtype (self) on <self:AAndExpr> */
1043 var8 = self->attrs[COLOR_nit__typing__AExpr___mtype].val; /* _mtype on <self:AAndExpr> */
1044 var6 = var8;
1045 RET_LABEL7:(void)0;
1046 }
1047 }
1048 {
1049 var9 = nit___nit__ASTBuilder___make_if(var, var3, var6);
1050 }
1051 var_nif = var9;
1052 {
1053 { /* Inline parser_nodes#AIfExpr#n_then (var_nif) on <var_nif:AIfExpr> */
1054 var12 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val; /* _n_then on <var_nif:AIfExpr> */
1055 var10 = var12;
1056 RET_LABEL11:(void)0;
1057 }
1058 }
1059 {
1060 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AAndExpr> */
1061 var15 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
1062 if (unlikely(var15 == NULL)) {
1063 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2059);
1065 fatal_exit(1);
1066 }
1067 var13 = var15;
1068 RET_LABEL14:(void)0;
1069 }
1070 }
1071 if (var10 == NULL) {
1072 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1073 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 182);
1074 fatal_exit(1);
1075 } else {
1076 ((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var10, var13); /* add on <var10:nullable AExpr>*/
1077 }
1078 {
1079 { /* Inline parser_nodes#AIfExpr#n_else (var_nif) on <var_nif:AIfExpr> */
1080 var18 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val; /* _n_else on <var_nif:AIfExpr> */
1081 var16 = var18;
1082 RET_LABEL17:(void)0;
1083 }
1084 }
1085 {
1086 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AAndExpr> */
1087 var21 = self->attrs[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
1088 if (unlikely(var21 == NULL)) {
1089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1090 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2053);
1091 fatal_exit(1);
1092 }
1093 var19 = var21;
1094 RET_LABEL20:(void)0;
1095 }
1096 }
1097 {
1098 var22 = nit__astbuilder___AExpr___make_var_read(var19);
1099 }
1100 if (var16 == NULL) {
1101 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1102 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 183);
1103 fatal_exit(1);
1104 } else {
1105 ((void(*)(val* self, val* p0))(var16->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var16, var22); /* add on <var16:nullable AExpr>*/
1106 }
1107 {
1108 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nif); /* Direct call transform#AExpr#replace_with on <self:AAndExpr>*/
1109 }
1110 RET_LABEL:;
1111 }
1112 /* method transform#AWhileExpr#accept_transform_visitor for (self: AWhileExpr, TransformVisitor) */
1113 void nit__transform___AWhileExpr___ANode__accept_transform_visitor(val* self, val* p0) {
1114 val* var_v /* var v: TransformVisitor */;
1115 val* var /* : ASTBuilder */;
1116 val* var2 /* : ASTBuilder */;
1117 val* var3 /* : ALoopExpr */;
1118 val* var_nloop /* var nloop: ALoopExpr */;
1119 val* var4 /* : ASTBuilder */;
1120 val* var6 /* : ASTBuilder */;
1121 val* var7 /* : AExpr */;
1122 val* var9 /* : AExpr */;
1123 val* var10 /* : AIfExpr */;
1124 val* var_nif /* var nif: AIfExpr */;
1125 val* var11 /* : nullable AExpr */;
1126 val* var13 /* : nullable AExpr */;
1127 val* var_nblock /* var nblock: nullable AExpr */;
1128 short int var14 /* : Bool */;
1129 short int var15 /* : Bool */;
1130 val* var_other /* var other: nullable Object */;
1131 short int var17 /* : Bool */;
1132 short int var18 /* : Bool */;
1133 val* var19 /* : nullable AExpr */;
1134 val* var21 /* : nullable AExpr */;
1135 val* var22 /* : nullable EscapeMark */;
1136 val* var24 /* : nullable EscapeMark */;
1137 val* var_escapemark /* var escapemark: EscapeMark */;
1138 val* var25 /* : ASTBuilder */;
1139 val* var27 /* : ASTBuilder */;
1140 val* var28 /* : ABreakExpr */;
1141 val* var_nbreak /* var nbreak: ABreakExpr */;
1142 val* var29 /* : nullable AExpr */;
1143 val* var31 /* : nullable AExpr */;
1144 val* var32 /* : nullable EscapeMark */;
1145 val* var34 /* : nullable EscapeMark */;
1146 val* var36 /* : nullable EscapeMark */;
1147 val* var38 /* : nullable EscapeMark */;
1148 var_v = p0;
1149 {
1150 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1151 var2 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1152 if (unlikely(var2 == NULL)) {
1153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1155 fatal_exit(1);
1156 }
1157 var = var2;
1158 RET_LABEL1:(void)0;
1159 }
1160 }
1161 {
1162 var3 = nit___nit__ASTBuilder___make_loop(var);
1163 }
1164 var_nloop = var3;
1165 {
1166 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1167 var6 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1168 if (unlikely(var6 == NULL)) {
1169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1170 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1171 fatal_exit(1);
1172 }
1173 var4 = var6;
1174 RET_LABEL5:(void)0;
1175 }
1176 }
1177 {
1178 { /* Inline parser_nodes#AWhileExpr#n_expr (self) on <self:AWhileExpr> */
1179 var9 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
1180 if (unlikely(var9 == NULL)) {
1181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1182 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1904);
1183 fatal_exit(1);
1184 }
1185 var7 = var9;
1186 RET_LABEL8:(void)0;
1187 }
1188 }
1189 {
1190 var10 = nit___nit__ASTBuilder___make_if(var4, var7, ((val*)NULL));
1191 }
1192 var_nif = var10;
1193 {
1194 nit__astbuilder___ALoopExpr___AExpr__add(var_nloop, var_nif); /* Direct call astbuilder#ALoopExpr#add on <var_nloop:ALoopExpr>*/
1195 }
1196 {
1197 { /* Inline parser_nodes#AWhileExpr#n_block (self) on <self:AWhileExpr> */
1198 var13 = self->attrs[COLOR_nit__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
1199 var11 = var13;
1200 RET_LABEL12:(void)0;
1201 }
1202 }
1203 var_nblock = var11;
1204 if (var_nblock == NULL) {
1205 var14 = 0; /* is null */
1206 } else {
1207 var14 = 1; /* arg is null and recv is not */
1208 }
1209 if (0) {
1210 { /* Inline kernel#Object#!= (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
1211 var_other = ((val*)NULL);
1212 {
1213 var17 = ((short int(*)(val* self, val* p0))(var_nblock->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nblock, var_other); /* == on <var_nblock:nullable AExpr(AExpr)>*/
1214 }
1215 var18 = !var17;
1216 var15 = var18;
1217 goto RET_LABEL16;
1218 RET_LABEL16:(void)0;
1219 }
1220 var14 = var15;
1221 }
1222 if (var14){
1223 {
1224 { /* Inline parser_nodes#AIfExpr#n_then (var_nif) on <var_nif:AIfExpr> */
1225 var21 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val; /* _n_then on <var_nif:AIfExpr> */
1226 var19 = var21;
1227 RET_LABEL20:(void)0;
1228 }
1229 }
1230 if (var19 == NULL) {
1231 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1232 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 197);
1233 fatal_exit(1);
1234 } else {
1235 ((void(*)(val* self, val* p0))(var19->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var19, var_nblock); /* add on <var19:nullable AExpr>*/
1236 }
1237 } else {
1238 }
1239 {
1240 { /* Inline scope#AWhileExpr#break_mark (self) on <self:AWhileExpr> */
1241 var24 = self->attrs[COLOR_nit__scope__AWhileExpr___break_mark].val; /* _break_mark on <self:AWhileExpr> */
1242 var22 = var24;
1243 RET_LABEL23:(void)0;
1244 }
1245 }
1246 if (unlikely(var22 == NULL)) {
1247 PRINT_ERROR("Runtime error: %s", "Cast failed");
1248 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 199);
1249 fatal_exit(1);
1250 }
1251 var_escapemark = var22;
1252 {
1253 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1254 var27 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1255 if (unlikely(var27 == NULL)) {
1256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1258 fatal_exit(1);
1259 }
1260 var25 = var27;
1261 RET_LABEL26:(void)0;
1262 }
1263 }
1264 {
1265 var28 = nit___nit__ASTBuilder___make_break(var25, var_escapemark);
1266 }
1267 var_nbreak = var28;
1268 {
1269 { /* Inline parser_nodes#AIfExpr#n_else (var_nif) on <var_nif:AIfExpr> */
1270 var31 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val; /* _n_else on <var_nif:AIfExpr> */
1271 var29 = var31;
1272 RET_LABEL30:(void)0;
1273 }
1274 }
1275 if (var29 == NULL) {
1276 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1277 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 201);
1278 fatal_exit(1);
1279 } else {
1280 ((void(*)(val* self, val* p0))(var29->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var29, var_nbreak); /* add on <var29:nullable AExpr>*/
1281 }
1282 {
1283 { /* Inline scope#AWhileExpr#break_mark (self) on <self:AWhileExpr> */
1284 var34 = self->attrs[COLOR_nit__scope__AWhileExpr___break_mark].val; /* _break_mark on <self:AWhileExpr> */
1285 var32 = var34;
1286 RET_LABEL33:(void)0;
1287 }
1288 }
1289 {
1290 { /* Inline scope#ALoopExpr#break_mark= (var_nloop,var32) on <var_nloop:ALoopExpr> */
1291 var_nloop->attrs[COLOR_nit__scope__ALoopExpr___break_mark].val = var32; /* _break_mark on <var_nloop:ALoopExpr> */
1292 RET_LABEL35:(void)0;
1293 }
1294 }
1295 {
1296 { /* Inline scope#AWhileExpr#continue_mark (self) on <self:AWhileExpr> */
1297 var38 = self->attrs[COLOR_nit__scope__AWhileExpr___continue_mark].val; /* _continue_mark on <self:AWhileExpr> */
1298 var36 = var38;
1299 RET_LABEL37:(void)0;
1300 }
1301 }
1302 {
1303 { /* Inline scope#ALoopExpr#continue_mark= (var_nloop,var36) on <var_nloop:ALoopExpr> */
1304 var_nloop->attrs[COLOR_nit__scope__ALoopExpr___continue_mark].val = var36; /* _continue_mark on <var_nloop:ALoopExpr> */
1305 RET_LABEL39:(void)0;
1306 }
1307 }
1308 {
1309 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nloop); /* Direct call transform#AExpr#replace_with on <self:AWhileExpr>*/
1310 }
1311 RET_LABEL:;
1312 }
1313 /* method transform#AForExpr#accept_transform_visitor for (self: AForExpr, TransformVisitor) */
1314 void nit__transform___AForExpr___ANode__accept_transform_visitor(val* self, val* p0) {
1315 val* var_v /* var v: TransformVisitor */;
1316 val* var /* : nullable EscapeMark */;
1317 val* var2 /* : nullable EscapeMark */;
1318 val* var_escapemark /* var escapemark: nullable EscapeMark */;
1319 short int var3 /* : Bool */;
1320 short int var4 /* : Bool */;
1321 val* var_other /* var other: nullable Object */;
1322 short int var6 /* : Bool */;
1323 short int var7 /* : Bool */;
1324 val* var8 /* : ASTBuilder */;
1325 val* var10 /* : ASTBuilder */;
1326 val* var11 /* : ABlockExpr */;
1327 val* var_nblock /* var nblock: ABlockExpr */;
1328 val* var12 /* : AExpr */;
1329 val* var14 /* : AExpr */;
1330 val* var_nexpr /* var nexpr: AExpr */;
1331 short int var15 /* : Bool */;
1332 short int var16 /* : Bool */;
1333 val* var17 /* : nullable Array[Variable] */;
1334 val* var19 /* : nullable Array[Variable] */;
1335 long var20 /* : Int */;
1336 long var22 /* : Int */;
1337 short int var23 /* : Bool */;
1338 short int var25 /* : Bool */;
1339 short int var_ /* var : Bool */;
1340 short int var26 /* : Bool */;
1341 int cltype;
1342 int idtype;
1343 short int var_27 /* var : Bool */;
1344 val* var28 /* : TransformPhase */;
1345 val* var30 /* : TransformPhase */;
1346 val* var31 /* : ToolContext */;
1347 val* var33 /* : ToolContext */;
1348 val* var34 /* : OptionBool */;
1349 val* var36 /* : OptionBool */;
1350 val* var37 /* : nullable Object */;
1351 val* var39 /* : nullable Object */;
1352 short int var40 /* : Bool */;
1353 short int var41 /* : Bool */;
1354 val* var42 /* : nullable Array[Variable] */;
1355 val* var44 /* : nullable Array[Variable] */;
1356 val* var45 /* : nullable Object */;
1357 val* var_variable /* var variable: Variable */;
1358 val* var46 /* : ASTBuilder */;
1359 val* var48 /* : ASTBuilder */;
1360 val* var49 /* : AExpr */;
1361 val* var51 /* : AExpr */;
1362 val* var52 /* : AVarAssignExpr */;
1363 val* var53 /* : AExpr */;
1364 val* var55 /* : AExpr */;
1365 val* var_to /* var to: AExpr */;
1366 val* var56 /* : ASTBuilder */;
1367 val* var58 /* : ASTBuilder */;
1368 val* var59 /* : ALoopExpr */;
1369 val* var_nloop /* var nloop: ALoopExpr */;
1370 val* var61 /* : ASTBuilder */;
1371 val* var63 /* : ASTBuilder */;
1372 val* var64 /* : ASTBuilder */;
1373 val* var66 /* : ASTBuilder */;
1374 val* var67 /* : nullable MType */;
1375 val* var69 /* : nullable MType */;
1376 val* var70 /* : AVarExpr */;
1377 val* var71 /* : nullable CallSite */;
1378 val* var73 /* : nullable CallSite */;
1379 val* var74 /* : Array[AVarExpr] */;
1380 val* var_75 /* var : Array[AVarExpr] */;
1381 val* var76 /* : AVarExpr */;
1382 val* var77 /* : ACallExpr */;
1383 val* var_is_ok /* var is_ok: ACallExpr */;
1384 val* var78 /* : ASTBuilder */;
1385 val* var80 /* : ASTBuilder */;
1386 val* var81 /* : AIfExpr */;
1387 val* var_nif /* var nif: AIfExpr */;
1388 val* var82 /* : nullable AExpr */;
1389 val* var84 /* : nullable AExpr */;
1390 val* var_nthen /* var nthen: nullable AExpr */;
1391 val* var85 /* : ASTBuilder */;
1392 val* var87 /* : ASTBuilder */;
1393 val* var88 /* : ADoExpr */;
1394 val* var_ndo /* var ndo: ADoExpr */;
1395 val* var89 /* : nullable EscapeMark */;
1396 val* var91 /* : nullable EscapeMark */;
1397 val* var93 /* : nullable AExpr */;
1398 val* var95 /* : nullable AExpr */;
1399 val* var96 /* : ASTBuilder */;
1400 val* var98 /* : ASTBuilder */;
1401 val* var99 /* : AIntExpr */;
1402 val* var_one /* var one: AIntExpr */;
1403 val* var100 /* : ASTBuilder */;
1404 val* var102 /* : ASTBuilder */;
1405 val* var103 /* : ASTBuilder */;
1406 val* var105 /* : ASTBuilder */;
1407 val* var106 /* : nullable MType */;
1408 val* var108 /* : nullable MType */;
1409 val* var109 /* : AVarExpr */;
1410 val* var110 /* : nullable CallSite */;
1411 val* var112 /* : nullable CallSite */;
1412 val* var113 /* : Array[AIntExpr] */;
1413 val* var_114 /* var : Array[AIntExpr] */;
1414 val* var115 /* : ACallExpr */;
1415 val* var_succ /* var succ: ACallExpr */;
1416 val* var116 /* : ASTBuilder */;
1417 val* var118 /* : ASTBuilder */;
1418 val* var119 /* : AVarAssignExpr */;
1419 val* var120 /* : ASTBuilder */;
1420 val* var122 /* : ASTBuilder */;
1421 val* var123 /* : ABreakExpr */;
1422 val* var_nbreak /* var nbreak: ABreakExpr */;
1423 val* var124 /* : nullable AExpr */;
1424 val* var126 /* : nullable AExpr */;
1425 val* var127 /* : ASTBuilder */;
1426 val* var129 /* : ASTBuilder */;
1427 val* var130 /* : AVarExpr */;
1428 val* var131 /* : nullable CallSite */;
1429 val* var133 /* : nullable CallSite */;
1430 val* var134 /* : ACallExpr */;
1431 val* var_iter /* var iter: ACallExpr */;
1432 val* var135 /* : ASTBuilder */;
1433 val* var137 /* : ASTBuilder */;
1434 val* var138 /* : ALoopExpr */;
1435 val* var_nloop139 /* var nloop: ALoopExpr */;
1436 val* var141 /* : ASTBuilder */;
1437 val* var143 /* : ASTBuilder */;
1438 val* var144 /* : AVarExpr */;
1439 val* var145 /* : nullable CallSite */;
1440 val* var147 /* : nullable CallSite */;
1441 val* var148 /* : ACallExpr */;
1442 val* var_is_ok149 /* var is_ok: ACallExpr */;
1443 val* var150 /* : ASTBuilder */;
1444 val* var152 /* : ASTBuilder */;
1445 val* var153 /* : AIfExpr */;
1446 val* var_nif154 /* var nif: AIfExpr */;
1447 val* var155 /* : nullable AExpr */;
1448 val* var157 /* : nullable AExpr */;
1449 val* var_nthen158 /* var nthen: nullable AExpr */;
1450 val* var159 /* : ASTBuilder */;
1451 val* var161 /* : ASTBuilder */;
1452 val* var162 /* : ADoExpr */;
1453 val* var_ndo163 /* var ndo: ADoExpr */;
1454 val* var164 /* : nullable EscapeMark */;
1455 val* var166 /* : nullable EscapeMark */;
1456 val* var168 /* : nullable Array[Variable] */;
1457 val* var170 /* : nullable Array[Variable] */;
1458 long var171 /* : Int */;
1459 long var173 /* : Int */;
1460 short int var174 /* : Bool */;
1461 short int var176 /* : Bool */;
1462 val* var177 /* : ASTBuilder */;
1463 val* var179 /* : ASTBuilder */;
1464 val* var180 /* : AVarExpr */;
1465 val* var181 /* : nullable CallSite */;
1466 val* var183 /* : nullable CallSite */;
1467 val* var184 /* : ACallExpr */;
1468 val* var_item /* var item: ACallExpr */;
1469 val* var185 /* : ASTBuilder */;
1470 val* var187 /* : ASTBuilder */;
1471 val* var188 /* : nullable Array[Variable] */;
1472 val* var190 /* : nullable Array[Variable] */;
1473 val* var191 /* : nullable Object */;
1474 val* var192 /* : AVarAssignExpr */;
1475 val* var193 /* : nullable Array[Variable] */;
1476 val* var195 /* : nullable Array[Variable] */;
1477 long var196 /* : Int */;
1478 long var198 /* : Int */;
1479 short int var199 /* : Bool */;
1480 short int var201 /* : Bool */;
1481 val* var202 /* : ASTBuilder */;
1482 val* var204 /* : ASTBuilder */;
1483 val* var205 /* : AVarExpr */;
1484 val* var206 /* : nullable CallSite */;
1485 val* var208 /* : nullable CallSite */;
1486 val* var209 /* : ACallExpr */;
1487 val* var_key /* var key: ACallExpr */;
1488 val* var210 /* : ASTBuilder */;
1489 val* var212 /* : ASTBuilder */;
1490 val* var213 /* : nullable Array[Variable] */;
1491 val* var215 /* : nullable Array[Variable] */;
1492 val* var216 /* : nullable Object */;
1493 val* var217 /* : AVarAssignExpr */;
1494 val* var218 /* : ASTBuilder */;
1495 val* var220 /* : ASTBuilder */;
1496 val* var221 /* : AVarExpr */;
1497 val* var222 /* : nullable CallSite */;
1498 val* var224 /* : nullable CallSite */;
1499 val* var225 /* : ACallExpr */;
1500 val* var_item226 /* var item: ACallExpr */;
1501 val* var227 /* : ASTBuilder */;
1502 val* var229 /* : ASTBuilder */;
1503 val* var230 /* : nullable Array[Variable] */;
1504 val* var232 /* : nullable Array[Variable] */;
1505 val* var233 /* : nullable Object */;
1506 val* var234 /* : AVarAssignExpr */;
1507 val* var235 /* : nullable AExpr */;
1508 val* var237 /* : nullable AExpr */;
1509 val* var238 /* : ASTBuilder */;
1510 val* var240 /* : ASTBuilder */;
1511 val* var241 /* : AVarExpr */;
1512 val* var242 /* : nullable CallSite */;
1513 val* var244 /* : nullable CallSite */;
1514 val* var245 /* : ACallExpr */;
1515 val* var246 /* : ASTBuilder */;
1516 val* var248 /* : ASTBuilder */;
1517 val* var249 /* : ABreakExpr */;
1518 val* var_nbreak250 /* var nbreak: ABreakExpr */;
1519 val* var251 /* : nullable AExpr */;
1520 val* var253 /* : nullable AExpr */;
1521 val* var254 /* : nullable CallSite */;
1522 val* var256 /* : nullable CallSite */;
1523 val* var_method_finish /* var method_finish: nullable CallSite */;
1524 short int var257 /* : Bool */;
1525 short int var258 /* : Bool */;
1526 short int var260 /* : Bool */;
1527 short int var261 /* : Bool */;
1528 val* var262 /* : ASTBuilder */;
1529 val* var264 /* : ASTBuilder */;
1530 val* var265 /* : AVarExpr */;
1531 val* var266 /* : ACallExpr */;
1532 var_v = p0;
1533 {
1534 { /* Inline scope#AForExpr#break_mark (self) on <self:AForExpr> */
1535 var2 = self->attrs[COLOR_nit__scope__AForExpr___break_mark].val; /* _break_mark on <self:AForExpr> */
1536 var = var2;
1537 RET_LABEL1:(void)0;
1538 }
1539 }
1540 var_escapemark = var;
1541 if (var_escapemark == NULL) {
1542 var3 = 0; /* is null */
1543 } else {
1544 var3 = 1; /* arg is null and recv is not */
1545 }
1546 if (0) {
1547 { /* Inline kernel#Object#!= (var_escapemark,((val*)NULL)) on <var_escapemark:nullable EscapeMark> */
1548 var_other = ((val*)NULL);
1549 {
1550 var6 = ((short int(*)(val* self, val* p0))(var_escapemark->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_escapemark, var_other); /* == on <var_escapemark:nullable EscapeMark(EscapeMark)>*/
1551 }
1552 var7 = !var6;
1553 var4 = var7;
1554 goto RET_LABEL5;
1555 RET_LABEL5:(void)0;
1556 }
1557 var3 = var4;
1558 }
1559 if (unlikely(!var3)) {
1560 PRINT_ERROR("Runtime error: %s", "Assert failed");
1561 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 214);
1562 fatal_exit(1);
1563 }
1564 {
1565 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1566 var10 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1567 if (unlikely(var10 == NULL)) {
1568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1570 fatal_exit(1);
1571 }
1572 var8 = var10;
1573 RET_LABEL9:(void)0;
1574 }
1575 }
1576 {
1577 var11 = nit___nit__ASTBuilder___make_block(var8);
1578 }
1579 var_nblock = var11;
1580 {
1581 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
1582 var14 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
1583 if (unlikely(var14 == NULL)) {
1584 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1585 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1940);
1586 fatal_exit(1);
1587 }
1588 var12 = var14;
1589 RET_LABEL13:(void)0;
1590 }
1591 }
1592 var_nexpr = var12;
1593 {
1594 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1595 var19 = self->attrs[COLOR_nit__scope__AForExpr___variables].val; /* _variables on <self:AForExpr> */
1596 var17 = var19;
1597 RET_LABEL18:(void)0;
1598 }
1599 }
1600 if (var17 == NULL) {
1601 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1602 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 222);
1603 fatal_exit(1);
1604 } else {
1605 { /* Inline array#AbstractArrayRead#length (var17) on <var17:nullable Array[Variable]> */
1606 if (unlikely(var17 == NULL)) {
1607 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1608 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 26);
1609 fatal_exit(1);
1610 }
1611 var22 = var17->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var17:nullable Array[Variable]> */
1612 var20 = var22;
1613 RET_LABEL21:(void)0;
1614 }
1615 }
1616 {
1617 { /* Inline kernel#Int#== (var20,1l) on <var20:Int> */
1618 var25 = var20 == 1l;
1619 var23 = var25;
1620 goto RET_LABEL24;
1621 RET_LABEL24:(void)0;
1622 }
1623 }
1624 var_ = var23;
1625 if (var23){
1626 /* <var_nexpr:AExpr> isa ARangeExpr */
1627 cltype = type_nit__ARangeExpr.color;
1628 idtype = type_nit__ARangeExpr.id;
1629 if(cltype >= var_nexpr->type->table_size) {
1630 var26 = 0;
1631 } else {
1632 var26 = var_nexpr->type->type_table[cltype] == idtype;
1633 }
1634 var16 = var26;
1635 } else {
1636 var16 = var_;
1637 }
1638 var_27 = var16;
1639 if (var16){
1640 {
1641 { /* Inline transform#TransformVisitor#phase (var_v) on <var_v:TransformVisitor> */
1642 var30 = var_v->attrs[COLOR_nit__transform__TransformVisitor___phase].val; /* _phase on <var_v:TransformVisitor> */
1643 if (unlikely(var30 == NULL)) {
1644 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase");
1645 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 58);
1646 fatal_exit(1);
1647 }
1648 var28 = var30;
1649 RET_LABEL29:(void)0;
1650 }
1651 }
1652 {
1653 { /* Inline phase#Phase#toolcontext (var28) on <var28:TransformPhase> */
1654 var33 = var28->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on <var28:TransformPhase> */
1655 if (unlikely(var33 == NULL)) {
1656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1657 PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200);
1658 fatal_exit(1);
1659 }
1660 var31 = var33;
1661 RET_LABEL32:(void)0;
1662 }
1663 }
1664 {
1665 { /* Inline transform#ToolContext#opt_no_shortcut_range (var31) on <var31:ToolContext> */
1666 var36 = var31->attrs[COLOR_nit__transform__ToolContext___opt_no_shortcut_range].val; /* _opt_no_shortcut_range on <var31:ToolContext> */
1667 if (unlikely(var36 == NULL)) {
1668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range");
1669 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 28);
1670 fatal_exit(1);
1671 }
1672 var34 = var36;
1673 RET_LABEL35:(void)0;
1674 }
1675 }
1676 {
1677 { /* Inline opts#Option#value (var34) on <var34:OptionBool> */
1678 var39 = var34->attrs[COLOR_opts__Option___value].val; /* _value on <var34:OptionBool> */
1679 var37 = var39;
1680 RET_LABEL38:(void)0;
1681 }
1682 }
1683 var40 = (short int)((long)(var37)>>2);
1684 var41 = !var40;
1685 var15 = var41;
1686 } else {
1687 var15 = var_27;
1688 }
1689 if (var15){
1690 {
1691 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1692 var44 = self->attrs[COLOR_nit__scope__AForExpr___variables].val; /* _variables on <self:AForExpr> */
1693 var42 = var44;
1694 RET_LABEL43:(void)0;
1695 }
1696 }
1697 if (var42 == NULL) {
1698 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 223);
1700 fatal_exit(1);
1701 } else {
1702 var45 = standard___standard__SequenceRead___Collection__first(var42);
1703 }
1704 var_variable = var45;
1705 {
1706 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1707 var48 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1708 if (unlikely(var48 == NULL)) {
1709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1710 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1711 fatal_exit(1);
1712 }
1713 var46 = var48;
1714 RET_LABEL47:(void)0;
1715 }
1716 }
1717 {
1718 { /* Inline parser_nodes#ARangeExpr#n_expr (var_nexpr) on <var_nexpr:AExpr(ARangeExpr)> */
1719 var51 = var_nexpr->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <var_nexpr:AExpr(ARangeExpr)> */
1720 if (unlikely(var51 == NULL)) {
1721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2417);
1723 fatal_exit(1);
1724 }
1725 var49 = var51;
1726 RET_LABEL50:(void)0;
1727 }
1728 }
1729 {
1730 var52 = nit___nit__ASTBuilder___make_var_assign(var46, var_variable, var49);
1731 }
1732 {
1733 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var52); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
1734 }
1735 {
1736 { /* Inline parser_nodes#ARangeExpr#n_expr2 (var_nexpr) on <var_nexpr:AExpr(ARangeExpr)> */
1737 var55 = var_nexpr->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <var_nexpr:AExpr(ARangeExpr)> */
1738 if (unlikely(var55 == NULL)) {
1739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2423);
1741 fatal_exit(1);
1742 }
1743 var53 = var55;
1744 RET_LABEL54:(void)0;
1745 }
1746 }
1747 var_to = var53;
1748 {
1749 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_to); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
1750 }
1751 {
1752 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1753 var58 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1754 if (unlikely(var58 == NULL)) {
1755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1756 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1757 fatal_exit(1);
1758 }
1759 var56 = var58;
1760 RET_LABEL57:(void)0;
1761 }
1762 }
1763 {
1764 var59 = nit___nit__ASTBuilder___make_loop(var56);
1765 }
1766 var_nloop = var59;
1767 {
1768 { /* Inline scope#ALoopExpr#break_mark= (var_nloop,var_escapemark) on <var_nloop:ALoopExpr> */
1769 var_nloop->attrs[COLOR_nit__scope__ALoopExpr___break_mark].val = var_escapemark; /* _break_mark on <var_nloop:ALoopExpr> */
1770 RET_LABEL60:(void)0;
1771 }
1772 }
1773 {
1774 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nloop); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
1775 }
1776 {
1777 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1778 var63 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1779 if (unlikely(var63 == NULL)) {
1780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1781 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1782 fatal_exit(1);
1783 }
1784 var61 = var63;
1785 RET_LABEL62:(void)0;
1786 }
1787 }
1788 {
1789 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1790 var66 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1791 if (unlikely(var66 == NULL)) {
1792 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1793 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1794 fatal_exit(1);
1795 }
1796 var64 = var66;
1797 RET_LABEL65:(void)0;
1798 }
1799 }
1800 {
1801 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
1802 var69 = var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val; /* _declared_type on <var_variable:Variable> */
1803 var67 = var69;
1804 RET_LABEL68:(void)0;
1805 }
1806 }
1807 if (unlikely(var67 == NULL)) {
1808 PRINT_ERROR("Runtime error: %s", "Cast failed");
1809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 232);
1810 fatal_exit(1);
1811 }
1812 {
1813 var70 = nit___nit__ASTBuilder___make_var_read(var64, var_variable, var67);
1814 }
1815 {
1816 { /* Inline typing#AForExpr#method_lt (self) on <self:AForExpr> */
1817 var73 = self->attrs[COLOR_nit__typing__AForExpr___method_lt].val; /* _method_lt on <self:AForExpr> */
1818 var71 = var73;
1819 RET_LABEL72:(void)0;
1820 }
1821 }
1822 if (unlikely(var71 == NULL)) {
1823 PRINT_ERROR("Runtime error: %s", "Cast failed");
1824 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 232);
1825 fatal_exit(1);
1826 }
1827 var74 = NEW_standard__Array(&type_standard__Array__nit__AVarExpr);
1828 {
1829 standard___standard__Array___with_capacity(var74, 1l); /* Direct call array#Array#with_capacity on <var74:Array[AVarExpr]>*/
1830 }
1831 var_75 = var74;
1832 {
1833 var76 = nit__astbuilder___AExpr___make_var_read(var_to);
1834 }
1835 {
1836 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_75, var76); /* Direct call array#AbstractArray#push on <var_75:Array[AVarExpr]>*/
1837 }
1838 {
1839 var77 = nit___nit__ASTBuilder___make_call(var61, var70, var71, var_75);
1840 }
1841 var_is_ok = var77;
1842 {
1843 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1844 var80 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1845 if (unlikely(var80 == NULL)) {
1846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1847 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1848 fatal_exit(1);
1849 }
1850 var78 = var80;
1851 RET_LABEL79:(void)0;
1852 }
1853 }
1854 {
1855 var81 = nit___nit__ASTBuilder___make_if(var78, var_is_ok, ((val*)NULL));
1856 }
1857 var_nif = var81;
1858 {
1859 nit__astbuilder___ALoopExpr___AExpr__add(var_nloop, var_nif); /* Direct call astbuilder#ALoopExpr#add on <var_nloop:ALoopExpr>*/
1860 }
1861 {
1862 { /* Inline parser_nodes#AIfExpr#n_then (var_nif) on <var_nif:AIfExpr> */
1863 var84 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val; /* _n_then on <var_nif:AIfExpr> */
1864 var82 = var84;
1865 RET_LABEL83:(void)0;
1866 }
1867 }
1868 var_nthen = var82;
1869 {
1870 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1871 var87 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1872 if (unlikely(var87 == NULL)) {
1873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1875 fatal_exit(1);
1876 }
1877 var85 = var87;
1878 RET_LABEL86:(void)0;
1879 }
1880 }
1881 {
1882 var88 = nit___nit__ASTBuilder___make_do(var85);
1883 }
1884 var_ndo = var88;
1885 {
1886 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
1887 var91 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___continue_mark].val; /* _continue_mark on <var_escapemark:nullable EscapeMark(EscapeMark)> */
1888 var89 = var91;
1889 RET_LABEL90:(void)0;
1890 }
1891 }
1892 {
1893 { /* Inline scope#ADoExpr#break_mark= (var_ndo,var89) on <var_ndo:ADoExpr> */
1894 var_ndo->attrs[COLOR_nit__scope__ADoExpr___break_mark].val = var89; /* _break_mark on <var_ndo:ADoExpr> */
1895 RET_LABEL92:(void)0;
1896 }
1897 }
1898 if (var_nthen == NULL) {
1899 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 240);
1901 fatal_exit(1);
1902 } else {
1903 ((void(*)(val* self, val* p0))(var_nthen->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var_nthen, var_ndo); /* add on <var_nthen:nullable AExpr>*/
1904 }
1905 {
1906 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
1907 var95 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1908 var93 = var95;
1909 RET_LABEL94:(void)0;
1910 }
1911 }
1912 if (unlikely(var93 == NULL)) {
1913 PRINT_ERROR("Runtime error: %s", "Cast failed");
1914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 242);
1915 fatal_exit(1);
1916 }
1917 {
1918 nit__astbuilder___ADoExpr___AExpr__add(var_ndo, var93); /* Direct call astbuilder#ADoExpr#add on <var_ndo:ADoExpr>*/
1919 }
1920 {
1921 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1922 var98 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1923 if (unlikely(var98 == NULL)) {
1924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1925 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1926 fatal_exit(1);
1927 }
1928 var96 = var98;
1929 RET_LABEL97:(void)0;
1930 }
1931 }
1932 {
1933 var99 = nit___nit__ASTBuilder___make_int(var96, 1l);
1934 }
1935 var_one = var99;
1936 {
1937 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1938 var102 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1939 if (unlikely(var102 == NULL)) {
1940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1942 fatal_exit(1);
1943 }
1944 var100 = var102;
1945 RET_LABEL101:(void)0;
1946 }
1947 }
1948 {
1949 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
1950 var105 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
1951 if (unlikely(var105 == NULL)) {
1952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
1953 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
1954 fatal_exit(1);
1955 }
1956 var103 = var105;
1957 RET_LABEL104:(void)0;
1958 }
1959 }
1960 {
1961 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
1962 var108 = var_variable->attrs[COLOR_nit__typing__Variable___declared_type].val; /* _declared_type on <var_variable:Variable> */
1963 var106 = var108;
1964 RET_LABEL107:(void)0;
1965 }
1966 }
1967 if (unlikely(var106 == NULL)) {
1968 PRINT_ERROR("Runtime error: %s", "Cast failed");
1969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 245);
1970 fatal_exit(1);
1971 }
1972 {
1973 var109 = nit___nit__ASTBuilder___make_var_read(var103, var_variable, var106);
1974 }
1975 {
1976 { /* Inline typing#AForExpr#method_successor (self) on <self:AForExpr> */
1977 var112 = self->attrs[COLOR_nit__typing__AForExpr___method_successor].val; /* _method_successor on <self:AForExpr> */
1978 var110 = var112;
1979 RET_LABEL111:(void)0;
1980 }
1981 }
1982 if (unlikely(var110 == NULL)) {
1983 PRINT_ERROR("Runtime error: %s", "Cast failed");
1984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 245);
1985 fatal_exit(1);
1986 }
1987 var113 = NEW_standard__Array(&type_standard__Array__nit__AIntExpr);
1988 {
1989 standard___standard__Array___with_capacity(var113, 1l); /* Direct call array#Array#with_capacity on <var113:Array[AIntExpr]>*/
1990 }
1991 var_114 = var113;
1992 {
1993 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_114, var_one); /* Direct call array#AbstractArray#push on <var_114:Array[AIntExpr]>*/
1994 }
1995 {
1996 var115 = nit___nit__ASTBuilder___make_call(var100, var109, var110, var_114);
1997 }
1998 var_succ = var115;
1999 {
2000 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2001 var118 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2002 if (unlikely(var118 == NULL)) {
2003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2004 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2005 fatal_exit(1);
2006 }
2007 var116 = var118;
2008 RET_LABEL117:(void)0;
2009 }
2010 }
2011 {
2012 var119 = nit___nit__ASTBuilder___make_var_assign(var116, var_variable, var_succ);
2013 }
2014 if (var_nthen == NULL) {
2015 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2016 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 246);
2017 fatal_exit(1);
2018 } else {
2019 ((void(*)(val* self, val* p0))(var_nthen->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var_nthen, var119); /* add on <var_nthen:nullable AExpr>*/
2020 }
2021 {
2022 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2023 var122 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2024 if (unlikely(var122 == NULL)) {
2025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2026 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2027 fatal_exit(1);
2028 }
2029 var120 = var122;
2030 RET_LABEL121:(void)0;
2031 }
2032 }
2033 {
2034 var123 = nit___nit__ASTBuilder___make_break(var120, var_escapemark);
2035 }
2036 var_nbreak = var123;
2037 {
2038 { /* Inline parser_nodes#AIfExpr#n_else (var_nif) on <var_nif:AIfExpr> */
2039 var126 = var_nif->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val; /* _n_else on <var_nif:AIfExpr> */
2040 var124 = var126;
2041 RET_LABEL125:(void)0;
2042 }
2043 }
2044 if (var124 == NULL) {
2045 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2046 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 249);
2047 fatal_exit(1);
2048 } else {
2049 ((void(*)(val* self, val* p0))(var124->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var124, var_nbreak); /* add on <var124:nullable AExpr>*/
2050 }
2051 {
2052 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nblock); /* Direct call transform#AExpr#replace_with on <self:AForExpr>*/
2053 }
2054 goto RET_LABEL;
2055 } else {
2056 }
2057 {
2058 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nexpr); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2059 }
2060 {
2061 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2062 var129 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2063 if (unlikely(var129 == NULL)) {
2064 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2065 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2066 fatal_exit(1);
2067 }
2068 var127 = var129;
2069 RET_LABEL128:(void)0;
2070 }
2071 }
2072 {
2073 var130 = nit__astbuilder___AExpr___make_var_read(var_nexpr);
2074 }
2075 {
2076 { /* Inline typing#AForExpr#method_iterator (self) on <self:AForExpr> */
2077 var133 = self->attrs[COLOR_nit__typing__AForExpr___method_iterator].val; /* _method_iterator on <self:AForExpr> */
2078 var131 = var133;
2079 RET_LABEL132:(void)0;
2080 }
2081 }
2082 if (unlikely(var131 == NULL)) {
2083 PRINT_ERROR("Runtime error: %s", "Cast failed");
2084 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 257);
2085 fatal_exit(1);
2086 }
2087 {
2088 var134 = nit___nit__ASTBuilder___make_call(var127, var130, var131, ((val*)NULL));
2089 }
2090 var_iter = var134;
2091 {
2092 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_iter); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2093 }
2094 {
2095 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2096 var137 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2097 if (unlikely(var137 == NULL)) {
2098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2099 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2100 fatal_exit(1);
2101 }
2102 var135 = var137;
2103 RET_LABEL136:(void)0;
2104 }
2105 }
2106 {
2107 var138 = nit___nit__ASTBuilder___make_loop(var135);
2108 }
2109 var_nloop139 = var138;
2110 {
2111 { /* Inline scope#ALoopExpr#break_mark= (var_nloop139,var_escapemark) on <var_nloop139:ALoopExpr> */
2112 var_nloop139->attrs[COLOR_nit__scope__ALoopExpr___break_mark].val = var_escapemark; /* _break_mark on <var_nloop139:ALoopExpr> */
2113 RET_LABEL140:(void)0;
2114 }
2115 }
2116 {
2117 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nloop139); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2118 }
2119 {
2120 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2121 var143 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2122 if (unlikely(var143 == NULL)) {
2123 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2124 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2125 fatal_exit(1);
2126 }
2127 var141 = var143;
2128 RET_LABEL142:(void)0;
2129 }
2130 }
2131 {
2132 var144 = nit__astbuilder___AExpr___make_var_read(var_iter);
2133 }
2134 {
2135 { /* Inline typing#AForExpr#method_is_ok (self) on <self:AForExpr> */
2136 var147 = self->attrs[COLOR_nit__typing__AForExpr___method_is_ok].val; /* _method_is_ok on <self:AForExpr> */
2137 var145 = var147;
2138 RET_LABEL146:(void)0;
2139 }
2140 }
2141 if (unlikely(var145 == NULL)) {
2142 PRINT_ERROR("Runtime error: %s", "Cast failed");
2143 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 264);
2144 fatal_exit(1);
2145 }
2146 {
2147 var148 = nit___nit__ASTBuilder___make_call(var141, var144, var145, ((val*)NULL));
2148 }
2149 var_is_ok149 = var148;
2150 {
2151 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2152 var152 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2153 if (unlikely(var152 == NULL)) {
2154 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2155 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2156 fatal_exit(1);
2157 }
2158 var150 = var152;
2159 RET_LABEL151:(void)0;
2160 }
2161 }
2162 {
2163 var153 = nit___nit__ASTBuilder___make_if(var150, var_is_ok149, ((val*)NULL));
2164 }
2165 var_nif154 = var153;
2166 {
2167 nit__astbuilder___ALoopExpr___AExpr__add(var_nloop139, var_nif154); /* Direct call astbuilder#ALoopExpr#add on <var_nloop139:ALoopExpr>*/
2168 }
2169 {
2170 { /* Inline parser_nodes#AIfExpr#n_then (var_nif154) on <var_nif154:AIfExpr> */
2171 var157 = var_nif154->attrs[COLOR_nit__parser_nodes__AIfExpr___n_then].val; /* _n_then on <var_nif154:AIfExpr> */
2172 var155 = var157;
2173 RET_LABEL156:(void)0;
2174 }
2175 }
2176 var_nthen158 = var155;
2177 {
2178 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2179 var161 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2180 if (unlikely(var161 == NULL)) {
2181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2182 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2183 fatal_exit(1);
2184 }
2185 var159 = var161;
2186 RET_LABEL160:(void)0;
2187 }
2188 }
2189 {
2190 var162 = nit___nit__ASTBuilder___make_do(var159);
2191 }
2192 var_ndo163 = var162;
2193 {
2194 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2195 var166 = var_escapemark->attrs[COLOR_nit__scope__EscapeMark___continue_mark].val; /* _continue_mark on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2196 var164 = var166;
2197 RET_LABEL165:(void)0;
2198 }
2199 }
2200 {
2201 { /* Inline scope#ADoExpr#break_mark= (var_ndo163,var164) on <var_ndo163:ADoExpr> */
2202 var_ndo163->attrs[COLOR_nit__scope__ADoExpr___break_mark].val = var164; /* _break_mark on <var_ndo163:ADoExpr> */
2203 RET_LABEL167:(void)0;
2204 }
2205 }
2206 if (var_nthen158 == NULL) {
2207 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2208 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 272);
2209 fatal_exit(1);
2210 } else {
2211 ((void(*)(val* self, val* p0))(var_nthen158->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var_nthen158, var_ndo163); /* add on <var_nthen158:nullable AExpr>*/
2212 }
2213 {
2214 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
2215 var170 = self->attrs[COLOR_nit__scope__AForExpr___variables].val; /* _variables on <self:AForExpr> */
2216 var168 = var170;
2217 RET_LABEL169:(void)0;
2218 }
2219 }
2220 if (var168 == NULL) {
2221 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 274);
2223 fatal_exit(1);
2224 } else {
2225 { /* Inline array#AbstractArrayRead#length (var168) on <var168:nullable Array[Variable]> */
2226 if (unlikely(var168 == NULL)) {
2227 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2228 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 26);
2229 fatal_exit(1);
2230 }
2231 var173 = var168->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var168:nullable Array[Variable]> */
2232 var171 = var173;
2233 RET_LABEL172:(void)0;
2234 }
2235 }
2236 {
2237 { /* Inline kernel#Int#== (var171,1l) on <var171:Int> */
2238 var176 = var171 == 1l;
2239 var174 = var176;
2240 goto RET_LABEL175;
2241 RET_LABEL175:(void)0;
2242 }
2243 }
2244 if (var174){
2245 {
2246 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2247 var179 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2248 if (unlikely(var179 == NULL)) {
2249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2250 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2251 fatal_exit(1);
2252 }
2253 var177 = var179;
2254 RET_LABEL178:(void)0;
2255 }
2256 }
2257 {
2258 var180 = nit__astbuilder___AExpr___make_var_read(var_iter);
2259 }
2260 {
2261 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
2262 var183 = self->attrs[COLOR_nit__typing__AForExpr___method_item].val; /* _method_item on <self:AForExpr> */
2263 var181 = var183;
2264 RET_LABEL182:(void)0;
2265 }
2266 }
2267 if (unlikely(var181 == NULL)) {
2268 PRINT_ERROR("Runtime error: %s", "Cast failed");
2269 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 275);
2270 fatal_exit(1);
2271 }
2272 {
2273 var184 = nit___nit__ASTBuilder___make_call(var177, var180, var181, ((val*)NULL));
2274 }
2275 var_item = var184;
2276 {
2277 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2278 var187 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2279 if (unlikely(var187 == NULL)) {
2280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2282 fatal_exit(1);
2283 }
2284 var185 = var187;
2285 RET_LABEL186:(void)0;
2286 }
2287 }
2288 {
2289 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
2290 var190 = self->attrs[COLOR_nit__scope__AForExpr___variables].val; /* _variables on <self:AForExpr> */
2291 var188 = var190;
2292 RET_LABEL189:(void)0;
2293 }
2294 }
2295 if (var188 == NULL) {
2296 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 276);
2298 fatal_exit(1);
2299 } else {
2300 var191 = standard___standard__SequenceRead___Collection__first(var188);
2301 }
2302 {
2303 var192 = nit___nit__ASTBuilder___make_var_assign(var185, var191, var_item);
2304 }
2305 {
2306 nit__astbuilder___ADoExpr___AExpr__add(var_ndo163, var192); /* Direct call astbuilder#ADoExpr#add on <var_ndo163:ADoExpr>*/
2307 }
2308 } else {
2309 {
2310 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
2311 var195 = self->attrs[COLOR_nit__scope__AForExpr___variables].val; /* _variables on <self:AForExpr> */
2312 var193 = var195;
2313 RET_LABEL194:(void)0;
2314 }
2315 }
2316 if (var193 == NULL) {
2317 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2318 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 277);
2319 fatal_exit(1);
2320 } else {
2321 { /* Inline array#AbstractArrayRead#length (var193) on <var193:nullable Array[Variable]> */
2322 if (unlikely(var193 == NULL)) {
2323 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2324 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 26);
2325 fatal_exit(1);
2326 }
2327 var198 = var193->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var193:nullable Array[Variable]> */
2328 var196 = var198;
2329 RET_LABEL197:(void)0;
2330 }
2331 }
2332 {
2333 { /* Inline kernel#Int#== (var196,2l) on <var196:Int> */
2334 var201 = var196 == 2l;
2335 var199 = var201;
2336 goto RET_LABEL200;
2337 RET_LABEL200:(void)0;
2338 }
2339 }
2340 if (var199){
2341 {
2342 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2343 var204 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2344 if (unlikely(var204 == NULL)) {
2345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2346 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2347 fatal_exit(1);
2348 }
2349 var202 = var204;
2350 RET_LABEL203:(void)0;
2351 }
2352 }
2353 {
2354 var205 = nit__astbuilder___AExpr___make_var_read(var_iter);
2355 }
2356 {
2357 { /* Inline typing#AForExpr#method_key (self) on <self:AForExpr> */
2358 var208 = self->attrs[COLOR_nit__typing__AForExpr___method_key].val; /* _method_key on <self:AForExpr> */
2359 var206 = var208;
2360 RET_LABEL207:(void)0;
2361 }
2362 }
2363 if (unlikely(var206 == NULL)) {
2364 PRINT_ERROR("Runtime error: %s", "Cast failed");
2365 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 278);
2366 fatal_exit(1);
2367 }
2368 {
2369 var209 = nit___nit__ASTBuilder___make_call(var202, var205, var206, ((val*)NULL));
2370 }
2371 var_key = var209;
2372 {
2373 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2374 var212 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2375 if (unlikely(var212 == NULL)) {
2376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2378 fatal_exit(1);
2379 }
2380 var210 = var212;
2381 RET_LABEL211:(void)0;
2382 }
2383 }
2384 {
2385 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
2386 var215 = self->attrs[COLOR_nit__scope__AForExpr___variables].val; /* _variables on <self:AForExpr> */
2387 var213 = var215;
2388 RET_LABEL214:(void)0;
2389 }
2390 }
2391 if (var213 == NULL) {
2392 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2393 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 279);
2394 fatal_exit(1);
2395 } else {
2396 var216 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var213, 0l);
2397 }
2398 {
2399 var217 = nit___nit__ASTBuilder___make_var_assign(var210, var216, var_key);
2400 }
2401 {
2402 nit__astbuilder___ADoExpr___AExpr__add(var_ndo163, var217); /* Direct call astbuilder#ADoExpr#add on <var_ndo163:ADoExpr>*/
2403 }
2404 {
2405 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2406 var220 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2407 if (unlikely(var220 == NULL)) {
2408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2410 fatal_exit(1);
2411 }
2412 var218 = var220;
2413 RET_LABEL219:(void)0;
2414 }
2415 }
2416 {
2417 var221 = nit__astbuilder___AExpr___make_var_read(var_iter);
2418 }
2419 {
2420 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
2421 var224 = self->attrs[COLOR_nit__typing__AForExpr___method_item].val; /* _method_item on <self:AForExpr> */
2422 var222 = var224;
2423 RET_LABEL223:(void)0;
2424 }
2425 }
2426 if (unlikely(var222 == NULL)) {
2427 PRINT_ERROR("Runtime error: %s", "Cast failed");
2428 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 280);
2429 fatal_exit(1);
2430 }
2431 {
2432 var225 = nit___nit__ASTBuilder___make_call(var218, var221, var222, ((val*)NULL));
2433 }
2434 var_item226 = var225;
2435 {
2436 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2437 var229 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2438 if (unlikely(var229 == NULL)) {
2439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2440 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2441 fatal_exit(1);
2442 }
2443 var227 = var229;
2444 RET_LABEL228:(void)0;
2445 }
2446 }
2447 {
2448 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
2449 var232 = self->attrs[COLOR_nit__scope__AForExpr___variables].val; /* _variables on <self:AForExpr> */
2450 var230 = var232;
2451 RET_LABEL231:(void)0;
2452 }
2453 }
2454 if (var230 == NULL) {
2455 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2456 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 281);
2457 fatal_exit(1);
2458 } else {
2459 var233 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var230, 1l);
2460 }
2461 {
2462 var234 = nit___nit__ASTBuilder___make_var_assign(var227, var233, var_item226);
2463 }
2464 {
2465 nit__astbuilder___ADoExpr___AExpr__add(var_ndo163, var234); /* Direct call astbuilder#ADoExpr#add on <var_ndo163:ADoExpr>*/
2466 }
2467 } else {
2468 PRINT_ERROR("Runtime error: %s", "Aborted");
2469 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 283);
2470 fatal_exit(1);
2471 }
2472 }
2473 {
2474 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
2475 var237 = self->attrs[COLOR_nit__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
2476 var235 = var237;
2477 RET_LABEL236:(void)0;
2478 }
2479 }
2480 if (unlikely(var235 == NULL)) {
2481 PRINT_ERROR("Runtime error: %s", "Cast failed");
2482 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 286);
2483 fatal_exit(1);
2484 }
2485 {
2486 nit__astbuilder___ADoExpr___AExpr__add(var_ndo163, var235); /* Direct call astbuilder#ADoExpr#add on <var_ndo163:ADoExpr>*/
2487 }
2488 {
2489 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2490 var240 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2491 if (unlikely(var240 == NULL)) {
2492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2494 fatal_exit(1);
2495 }
2496 var238 = var240;
2497 RET_LABEL239:(void)0;
2498 }
2499 }
2500 {
2501 var241 = nit__astbuilder___AExpr___make_var_read(var_iter);
2502 }
2503 {
2504 { /* Inline typing#AForExpr#method_next (self) on <self:AForExpr> */
2505 var244 = self->attrs[COLOR_nit__typing__AForExpr___method_next].val; /* _method_next on <self:AForExpr> */
2506 var242 = var244;
2507 RET_LABEL243:(void)0;
2508 }
2509 }
2510 if (unlikely(var242 == NULL)) {
2511 PRINT_ERROR("Runtime error: %s", "Cast failed");
2512 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 288);
2513 fatal_exit(1);
2514 }
2515 {
2516 var245 = nit___nit__ASTBuilder___make_call(var238, var241, var242, ((val*)NULL));
2517 }
2518 if (var_nthen158 == NULL) {
2519 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 288);
2521 fatal_exit(1);
2522 } else {
2523 ((void(*)(val* self, val* p0))(var_nthen158->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var_nthen158, var245); /* add on <var_nthen158:nullable AExpr>*/
2524 }
2525 {
2526 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2527 var248 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2528 if (unlikely(var248 == NULL)) {
2529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2531 fatal_exit(1);
2532 }
2533 var246 = var248;
2534 RET_LABEL247:(void)0;
2535 }
2536 }
2537 {
2538 var249 = nit___nit__ASTBuilder___make_break(var246, var_escapemark);
2539 }
2540 var_nbreak250 = var249;
2541 {
2542 { /* Inline parser_nodes#AIfExpr#n_else (var_nif154) on <var_nif154:AIfExpr> */
2543 var253 = var_nif154->attrs[COLOR_nit__parser_nodes__AIfExpr___n_else].val; /* _n_else on <var_nif154:AIfExpr> */
2544 var251 = var253;
2545 RET_LABEL252:(void)0;
2546 }
2547 }
2548 if (var251 == NULL) {
2549 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 291);
2551 fatal_exit(1);
2552 } else {
2553 ((void(*)(val* self, val* p0))(var251->class->vft[COLOR_nit__astbuilder__AExpr__add]))(var251, var_nbreak250); /* add on <var251:nullable AExpr>*/
2554 }
2555 {
2556 { /* Inline typing#AForExpr#method_finish (self) on <self:AForExpr> */
2557 var256 = self->attrs[COLOR_nit__typing__AForExpr___method_finish].val; /* _method_finish on <self:AForExpr> */
2558 var254 = var256;
2559 RET_LABEL255:(void)0;
2560 }
2561 }
2562 var_method_finish = var254;
2563 if (var_method_finish == NULL) {
2564 var257 = 0; /* is null */
2565 } else {
2566 var257 = 1; /* arg is null and recv is not */
2567 }
2568 if (0) {
2569 { /* Inline kernel#Object#!= (var_method_finish,((val*)NULL)) on <var_method_finish:nullable CallSite> */
2570 var_other = ((val*)NULL);
2571 {
2572 var260 = ((short int(*)(val* self, val* p0))(var_method_finish->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_method_finish, var_other); /* == on <var_method_finish:nullable CallSite(CallSite)>*/
2573 }
2574 var261 = !var260;
2575 var258 = var261;
2576 goto RET_LABEL259;
2577 RET_LABEL259:(void)0;
2578 }
2579 var257 = var258;
2580 }
2581 if (var257){
2582 {
2583 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2584 var264 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2585 if (unlikely(var264 == NULL)) {
2586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2588 fatal_exit(1);
2589 }
2590 var262 = var264;
2591 RET_LABEL263:(void)0;
2592 }
2593 }
2594 {
2595 var265 = nit__astbuilder___AExpr___make_var_read(var_iter);
2596 }
2597 {
2598 var266 = nit___nit__ASTBuilder___make_call(var262, var265, var_method_finish, ((val*)NULL));
2599 }
2600 {
2601 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var266); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2602 }
2603 } else {
2604 }
2605 {
2606 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nblock); /* Direct call transform#AExpr#replace_with on <self:AForExpr>*/
2607 }
2608 RET_LABEL:;
2609 }
2610 /* method transform#AWithExpr#accept_transform_visitor for (self: AWithExpr, TransformVisitor) */
2611 void nit__transform___AWithExpr___ANode__accept_transform_visitor(val* self, val* p0) {
2612 val* var_v /* var v: TransformVisitor */;
2613 val* var /* : nullable EscapeMark */;
2614 val* var2 /* : nullable EscapeMark */;
2615 val* var_escapemark /* var escapemark: nullable EscapeMark */;
2616 short int var3 /* : Bool */;
2617 short int var4 /* : Bool */;
2618 val* var_other /* var other: nullable Object */;
2619 short int var6 /* : Bool */;
2620 short int var7 /* : Bool */;
2621 val* var8 /* : ASTBuilder */;
2622 val* var10 /* : ASTBuilder */;
2623 val* var11 /* : ABlockExpr */;
2624 val* var_nblock /* var nblock: ABlockExpr */;
2625 val* var12 /* : AExpr */;
2626 val* var14 /* : AExpr */;
2627 val* var_nexpr /* var nexpr: AExpr */;
2628 val* var15 /* : ASTBuilder */;
2629 val* var17 /* : ASTBuilder */;
2630 val* var18 /* : ADoExpr */;
2631 val* var_ndo /* var ndo: ADoExpr */;
2632 val* var20 /* : ASTBuilder */;
2633 val* var22 /* : ASTBuilder */;
2634 val* var23 /* : AVarExpr */;
2635 val* var24 /* : nullable CallSite */;
2636 val* var26 /* : nullable CallSite */;
2637 val* var27 /* : ACallExpr */;
2638 val* var_start /* var start: ACallExpr */;
2639 val* var28 /* : nullable AExpr */;
2640 val* var30 /* : nullable AExpr */;
2641 val* var31 /* : ASTBuilder */;
2642 val* var33 /* : ASTBuilder */;
2643 val* var34 /* : AVarExpr */;
2644 val* var35 /* : nullable CallSite */;
2645 val* var37 /* : nullable CallSite */;
2646 val* var38 /* : ACallExpr */;
2647 var_v = p0;
2648 {
2649 { /* Inline scope#AWithExpr#break_mark (self) on <self:AWithExpr> */
2650 var2 = self->attrs[COLOR_nit__scope__AWithExpr___break_mark].val; /* _break_mark on <self:AWithExpr> */
2651 var = var2;
2652 RET_LABEL1:(void)0;
2653 }
2654 }
2655 var_escapemark = var;
2656 if (var_escapemark == NULL) {
2657 var3 = 0; /* is null */
2658 } else {
2659 var3 = 1; /* arg is null and recv is not */
2660 }
2661 if (0) {
2662 { /* Inline kernel#Object#!= (var_escapemark,((val*)NULL)) on <var_escapemark:nullable EscapeMark> */
2663 var_other = ((val*)NULL);
2664 {
2665 var6 = ((short int(*)(val* self, val* p0))(var_escapemark->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_escapemark, var_other); /* == on <var_escapemark:nullable EscapeMark(EscapeMark)>*/
2666 }
2667 var7 = !var6;
2668 var4 = var7;
2669 goto RET_LABEL5;
2670 RET_LABEL5:(void)0;
2671 }
2672 var3 = var4;
2673 }
2674 if (unlikely(!var3)) {
2675 PRINT_ERROR("Runtime error: %s", "Assert failed");
2676 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 328);
2677 fatal_exit(1);
2678 }
2679 {
2680 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2681 var10 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2682 if (unlikely(var10 == NULL)) {
2683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2685 fatal_exit(1);
2686 }
2687 var8 = var10;
2688 RET_LABEL9:(void)0;
2689 }
2690 }
2691 {
2692 var11 = nit___nit__ASTBuilder___make_block(var8);
2693 }
2694 var_nblock = var11;
2695 {
2696 { /* Inline parser_nodes#AWithExpr#n_expr (self) on <self:AWithExpr> */
2697 var14 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
2698 if (unlikely(var14 == NULL)) {
2699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1958);
2701 fatal_exit(1);
2702 }
2703 var12 = var14;
2704 RET_LABEL13:(void)0;
2705 }
2706 }
2707 var_nexpr = var12;
2708 {
2709 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nexpr); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2710 }
2711 {
2712 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2713 var17 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2714 if (unlikely(var17 == NULL)) {
2715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2717 fatal_exit(1);
2718 }
2719 var15 = var17;
2720 RET_LABEL16:(void)0;
2721 }
2722 }
2723 {
2724 var18 = nit___nit__ASTBuilder___make_do(var15);
2725 }
2726 var_ndo = var18;
2727 {
2728 { /* Inline scope#ADoExpr#break_mark= (var_ndo,var_escapemark) on <var_ndo:ADoExpr> */
2729 var_ndo->attrs[COLOR_nit__scope__ADoExpr___break_mark].val = var_escapemark; /* _break_mark on <var_ndo:ADoExpr> */
2730 RET_LABEL19:(void)0;
2731 }
2732 }
2733 {
2734 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2735 var22 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2736 if (unlikely(var22 == NULL)) {
2737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2738 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2739 fatal_exit(1);
2740 }
2741 var20 = var22;
2742 RET_LABEL21:(void)0;
2743 }
2744 }
2745 {
2746 var23 = nit__astbuilder___AExpr___make_var_read(var_nexpr);
2747 }
2748 {
2749 { /* Inline typing#AWithExpr#method_start (self) on <self:AWithExpr> */
2750 var26 = self->attrs[COLOR_nit__typing__AWithExpr___method_start].val; /* _method_start on <self:AWithExpr> */
2751 var24 = var26;
2752 RET_LABEL25:(void)0;
2753 }
2754 }
2755 if (unlikely(var24 == NULL)) {
2756 PRINT_ERROR("Runtime error: %s", "Cast failed");
2757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 339);
2758 fatal_exit(1);
2759 }
2760 {
2761 var27 = nit___nit__ASTBuilder___make_call(var20, var23, var24, ((val*)NULL));
2762 }
2763 var_start = var27;
2764 {
2765 nit__astbuilder___ADoExpr___AExpr__add(var_ndo, var_start); /* Direct call astbuilder#ADoExpr#add on <var_ndo:ADoExpr>*/
2766 }
2767 {
2768 { /* Inline parser_nodes#AWithExpr#n_block (self) on <self:AWithExpr> */
2769 var30 = self->attrs[COLOR_nit__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
2770 var28 = var30;
2771 RET_LABEL29:(void)0;
2772 }
2773 }
2774 if (unlikely(var28 == NULL)) {
2775 PRINT_ERROR("Runtime error: %s", "Cast failed");
2776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 343);
2777 fatal_exit(1);
2778 }
2779 {
2780 nit__astbuilder___ADoExpr___AExpr__add(var_ndo, var28); /* Direct call astbuilder#ADoExpr#add on <var_ndo:ADoExpr>*/
2781 }
2782 {
2783 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_ndo); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2784 }
2785 {
2786 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2787 var33 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2788 if (unlikely(var33 == NULL)) {
2789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2790 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2791 fatal_exit(1);
2792 }
2793 var31 = var33;
2794 RET_LABEL32:(void)0;
2795 }
2796 }
2797 {
2798 var34 = nit__astbuilder___AExpr___make_var_read(var_nexpr);
2799 }
2800 {
2801 { /* Inline typing#AWithExpr#method_finish (self) on <self:AWithExpr> */
2802 var37 = self->attrs[COLOR_nit__typing__AWithExpr___method_finish].val; /* _method_finish on <self:AWithExpr> */
2803 var35 = var37;
2804 RET_LABEL36:(void)0;
2805 }
2806 }
2807 if (unlikely(var35 == NULL)) {
2808 PRINT_ERROR("Runtime error: %s", "Cast failed");
2809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 347);
2810 fatal_exit(1);
2811 }
2812 {
2813 var38 = nit___nit__ASTBuilder___make_call(var31, var34, var35, ((val*)NULL));
2814 }
2815 {
2816 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var38); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2817 }
2818 {
2819 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nblock); /* Direct call transform#AExpr#replace_with on <self:AWithExpr>*/
2820 }
2821 RET_LABEL:;
2822 }
2823 /* method transform#AArrayExpr#full_transform_visitor for (self: AArrayExpr, TransformVisitor) */
2824 void nit__transform___AArrayExpr___ANode__full_transform_visitor(val* self, val* p0) {
2825 val* var_v /* var v: TransformVisitor */;
2826 val* var /* : ASTBuilder */;
2827 val* var2 /* : ASTBuilder */;
2828 val* var3 /* : ABlockExpr */;
2829 val* var_nblock /* var nblock: ABlockExpr */;
2830 val* var4 /* : ASTBuilder */;
2831 val* var6 /* : ASTBuilder */;
2832 val* var7 /* : nullable CallSite */;
2833 val* var9 /* : nullable CallSite */;
2834 val* var10 /* : Array[AIntExpr] */;
2835 val* var_ /* var : Array[AIntExpr] */;
2836 val* var11 /* : ASTBuilder */;
2837 val* var13 /* : ASTBuilder */;
2838 val* var14 /* : ANodes[AExpr] */;
2839 val* var16 /* : ANodes[AExpr] */;
2840 long var17 /* : Int */;
2841 val* var18 /* : AIntExpr */;
2842 val* var19 /* : ANewExpr */;
2843 val* var_nnew /* var nnew: ANewExpr */;
2844 val* var21 /* : ANodes[AExpr] */;
2845 val* var23 /* : ANodes[AExpr] */;
2846 val* var_24 /* var : ANodes[AExpr] */;
2847 val* var25 /* : Iterator[ANode] */;
2848 val* var_26 /* var : Iterator[AExpr] */;
2849 short int var27 /* : Bool */;
2850 val* var28 /* : nullable Object */;
2851 val* var_nexpr /* var nexpr: AExpr */;
2852 val* var29 /* : AVarExpr */;
2853 val* var_nres /* var nres: AVarExpr */;
2854 var_v = p0;
2855 {
2856 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2857 var2 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2858 if (unlikely(var2 == NULL)) {
2859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2861 fatal_exit(1);
2862 }
2863 var = var2;
2864 RET_LABEL1:(void)0;
2865 }
2866 }
2867 {
2868 var3 = nit___nit__ASTBuilder___make_block(var);
2869 }
2870 var_nblock = var3;
2871 {
2872 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2873 var6 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2874 if (unlikely(var6 == NULL)) {
2875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2876 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2877 fatal_exit(1);
2878 }
2879 var4 = var6;
2880 RET_LABEL5:(void)0;
2881 }
2882 }
2883 {
2884 { /* Inline typing#AArrayExpr#with_capacity_callsite (self) on <self:AArrayExpr> */
2885 var9 = self->attrs[COLOR_nit__typing__AArrayExpr___with_capacity_callsite].val; /* _with_capacity_callsite on <self:AArrayExpr> */
2886 var7 = var9;
2887 RET_LABEL8:(void)0;
2888 }
2889 }
2890 if (unlikely(var7 == NULL)) {
2891 PRINT_ERROR("Runtime error: %s", "Cast failed");
2892 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 366);
2893 fatal_exit(1);
2894 }
2895 var10 = NEW_standard__Array(&type_standard__Array__nit__AIntExpr);
2896 {
2897 standard___standard__Array___with_capacity(var10, 1l); /* Direct call array#Array#with_capacity on <var10:Array[AIntExpr]>*/
2898 }
2899 var_ = var10;
2900 {
2901 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
2902 var13 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
2903 if (unlikely(var13 == NULL)) {
2904 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
2905 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
2906 fatal_exit(1);
2907 }
2908 var11 = var13;
2909 RET_LABEL12:(void)0;
2910 }
2911 }
2912 {
2913 { /* Inline parser_nodes#AArrayExpr#n_exprs (self) on <self:AArrayExpr> */
2914 var16 = self->attrs[COLOR_nit__parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
2915 if (unlikely(var16 == NULL)) {
2916 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2917 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2456);
2918 fatal_exit(1);
2919 }
2920 var14 = var16;
2921 RET_LABEL15:(void)0;
2922 }
2923 }
2924 {
2925 var17 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var14);
2926 }
2927 {
2928 var18 = nit___nit__ASTBuilder___make_int(var11, var17);
2929 }
2930 {
2931 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var18); /* Direct call array#AbstractArray#push on <var_:Array[AIntExpr]>*/
2932 }
2933 {
2934 var19 = nit___nit__ASTBuilder___make_new(var4, var7, var_);
2935 }
2936 var_nnew = var19;
2937 {
2938 { /* Inline transform#AArrayExpr#nnew= (self,var_nnew) on <self:AArrayExpr> */
2939 self->attrs[COLOR_nit__transform__AArrayExpr___nnew].val = var_nnew; /* _nnew on <self:AArrayExpr> */
2940 RET_LABEL20:(void)0;
2941 }
2942 }
2943 {
2944 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nnew); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2945 }
2946 {
2947 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__transform___AArrayExpr___ANode__full_transform_visitor]))(self, p0); /* full_transform_visitor on <self:AArrayExpr>*/
2948 }
2949 {
2950 { /* Inline parser_nodes#AArrayExpr#n_exprs (self) on <self:AArrayExpr> */
2951 var23 = self->attrs[COLOR_nit__parser_nodes__AArrayExpr___n_exprs].val; /* _n_exprs on <self:AArrayExpr> */
2952 if (unlikely(var23 == NULL)) {
2953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2954 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2456);
2955 fatal_exit(1);
2956 }
2957 var21 = var23;
2958 RET_LABEL22:(void)0;
2959 }
2960 }
2961 var_24 = var21;
2962 {
2963 var25 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_24);
2964 }
2965 var_26 = var25;
2966 for(;;) {
2967 {
2968 var27 = ((short int(*)(val* self))((((long)var_26&3)?class_info[((long)var_26&3)]:var_26->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_26); /* is_ok on <var_26:Iterator[AExpr]>*/
2969 }
2970 if (var27){
2971 {
2972 var28 = ((val*(*)(val* self))((((long)var_26&3)?class_info[((long)var_26&3)]:var_26->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_26); /* item on <var_26:Iterator[AExpr]>*/
2973 }
2974 var_nexpr = var28;
2975 {
2976 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nexpr); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2977 }
2978 {
2979 ((void(*)(val* self))((((long)var_26&3)?class_info[((long)var_26&3)]:var_26->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_26); /* next on <var_26:Iterator[AExpr]>*/
2980 }
2981 } else {
2982 goto BREAK_label;
2983 }
2984 }
2985 BREAK_label: (void)0;
2986 {
2987 ((void(*)(val* self))((((long)var_26&3)?class_info[((long)var_26&3)]:var_26->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_26); /* finish on <var_26:Iterator[AExpr]>*/
2988 }
2989 {
2990 var29 = nit__astbuilder___AExpr___make_var_read(var_nnew);
2991 }
2992 var_nres = var29;
2993 {
2994 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nres); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
2995 }
2996 {
2997 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nblock); /* Direct call transform#AExpr#replace_with on <self:AArrayExpr>*/
2998 }
2999 RET_LABEL:;
3000 }
3001 /* method transform#AArrayExpr#nnew for (self: AArrayExpr): ANewExpr */
3002 val* nit__transform___AArrayExpr___nnew(val* self) {
3003 val* var /* : ANewExpr */;
3004 val* var1 /* : ANewExpr */;
3005 var1 = self->attrs[COLOR_nit__transform__AArrayExpr___nnew].val; /* _nnew on <self:AArrayExpr> */
3006 if (unlikely(var1 == NULL)) {
3007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nnew");
3008 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 382);
3009 fatal_exit(1);
3010 }
3011 var = var1;
3012 RET_LABEL:;
3013 return var;
3014 }
3015 /* method transform#AArrayExpr#nnew= for (self: AArrayExpr, ANewExpr) */
3016 void nit__transform___AArrayExpr___nnew_61d(val* self, val* p0) {
3017 self->attrs[COLOR_nit__transform__AArrayExpr___nnew].val = p0; /* _nnew on <self:AArrayExpr> */
3018 RET_LABEL:;
3019 }
3020 /* method transform#ACrangeExpr#accept_transform_visitor for (self: ACrangeExpr, TransformVisitor) */
3021 void nit__transform___ACrangeExpr___ANode__accept_transform_visitor(val* self, val* p0) {
3022 val* var_v /* var v: TransformVisitor */;
3023 val* var /* : nullable ANode */;
3024 val* var2 /* : nullable ANode */;
3025 short int var3 /* : Bool */;
3026 int cltype;
3027 int idtype;
3028 val* var4 /* : ASTBuilder */;
3029 val* var6 /* : ASTBuilder */;
3030 val* var7 /* : nullable CallSite */;
3031 val* var9 /* : nullable CallSite */;
3032 val* var10 /* : Array[AExpr] */;
3033 val* var_ /* var : Array[AExpr] */;
3034 val* var11 /* : AExpr */;
3035 val* var13 /* : AExpr */;
3036 val* var14 /* : AExpr */;
3037 val* var16 /* : AExpr */;
3038 val* var17 /* : ANewExpr */;
3039 var_v = p0;
3040 {
3041 { /* Inline parser_nodes#ANode#parent (self) on <self:ACrangeExpr> */
3042 var2 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on <self:ACrangeExpr> */
3043 var = var2;
3044 RET_LABEL1:(void)0;
3045 }
3046 }
3047 /* <var:nullable ANode> isa AForExpr */
3048 cltype = type_nit__AForExpr.color;
3049 idtype = type_nit__AForExpr.id;
3050 if(var == NULL) {
3051 var3 = 0;
3052 } else {
3053 if(cltype >= var->type->table_size) {
3054 var3 = 0;
3055 } else {
3056 var3 = var->type->type_table[cltype] == idtype;
3057 }
3058 }
3059 if (var3){
3060 goto RET_LABEL;
3061 } else {
3062 }
3063 {
3064 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3065 var6 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3066 if (unlikely(var6 == NULL)) {
3067 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3069 fatal_exit(1);
3070 }
3071 var4 = var6;
3072 RET_LABEL5:(void)0;
3073 }
3074 }
3075 {
3076 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:ACrangeExpr> */
3077 var9 = self->attrs[COLOR_nit__typing__ARangeExpr___init_callsite].val; /* _init_callsite on <self:ACrangeExpr> */
3078 var7 = var9;
3079 RET_LABEL8:(void)0;
3080 }
3081 }
3082 if (unlikely(var7 == NULL)) {
3083 PRINT_ERROR("Runtime error: %s", "Cast failed");
3084 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 390);
3085 fatal_exit(1);
3086 }
3087 var10 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
3088 {
3089 standard___standard__Array___with_capacity(var10, 2l); /* Direct call array#Array#with_capacity on <var10:Array[AExpr]>*/
3090 }
3091 var_ = var10;
3092 {
3093 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:ACrangeExpr> */
3094 var13 = self->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:ACrangeExpr> */
3095 if (unlikely(var13 == NULL)) {
3096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3097 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2417);
3098 fatal_exit(1);
3099 }
3100 var11 = var13;
3101 RET_LABEL12:(void)0;
3102 }
3103 }
3104 {
3105 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var11); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
3106 }
3107 {
3108 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:ACrangeExpr> */
3109 var16 = self->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:ACrangeExpr> */
3110 if (unlikely(var16 == NULL)) {
3111 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3112 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2423);
3113 fatal_exit(1);
3114 }
3115 var14 = var16;
3116 RET_LABEL15:(void)0;
3117 }
3118 }
3119 {
3120 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var14); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
3121 }
3122 {
3123 var17 = nit___nit__ASTBuilder___make_new(var4, var7, var_);
3124 }
3125 {
3126 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var17); /* Direct call transform#AExpr#replace_with on <self:ACrangeExpr>*/
3127 }
3128 RET_LABEL:;
3129 }
3130 /* method transform#AOrangeExpr#accept_transform_visitor for (self: AOrangeExpr, TransformVisitor) */
3131 void nit__transform___AOrangeExpr___ANode__accept_transform_visitor(val* self, val* p0) {
3132 val* var_v /* var v: TransformVisitor */;
3133 val* var /* : nullable ANode */;
3134 val* var2 /* : nullable ANode */;
3135 short int var3 /* : Bool */;
3136 int cltype;
3137 int idtype;
3138 val* var4 /* : ASTBuilder */;
3139 val* var6 /* : ASTBuilder */;
3140 val* var7 /* : nullable CallSite */;
3141 val* var9 /* : nullable CallSite */;
3142 val* var10 /* : Array[AExpr] */;
3143 val* var_ /* var : Array[AExpr] */;
3144 val* var11 /* : AExpr */;
3145 val* var13 /* : AExpr */;
3146 val* var14 /* : AExpr */;
3147 val* var16 /* : AExpr */;
3148 val* var17 /* : ANewExpr */;
3149 var_v = p0;
3150 {
3151 { /* Inline parser_nodes#ANode#parent (self) on <self:AOrangeExpr> */
3152 var2 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on <self:AOrangeExpr> */
3153 var = var2;
3154 RET_LABEL1:(void)0;
3155 }
3156 }
3157 /* <var:nullable ANode> isa AForExpr */
3158 cltype = type_nit__AForExpr.color;
3159 idtype = type_nit__AForExpr.id;
3160 if(var == NULL) {
3161 var3 = 0;
3162 } else {
3163 if(cltype >= var->type->table_size) {
3164 var3 = 0;
3165 } else {
3166 var3 = var->type->type_table[cltype] == idtype;
3167 }
3168 }
3169 if (var3){
3170 goto RET_LABEL;
3171 } else {
3172 }
3173 {
3174 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3175 var6 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3176 if (unlikely(var6 == NULL)) {
3177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3179 fatal_exit(1);
3180 }
3181 var4 = var6;
3182 RET_LABEL5:(void)0;
3183 }
3184 }
3185 {
3186 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:AOrangeExpr> */
3187 var9 = self->attrs[COLOR_nit__typing__ARangeExpr___init_callsite].val; /* _init_callsite on <self:AOrangeExpr> */
3188 var7 = var9;
3189 RET_LABEL8:(void)0;
3190 }
3191 }
3192 if (unlikely(var7 == NULL)) {
3193 PRINT_ERROR("Runtime error: %s", "Cast failed");
3194 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 399);
3195 fatal_exit(1);
3196 }
3197 var10 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
3198 {
3199 standard___standard__Array___with_capacity(var10, 2l); /* Direct call array#Array#with_capacity on <var10:Array[AExpr]>*/
3200 }
3201 var_ = var10;
3202 {
3203 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:AOrangeExpr> */
3204 var13 = self->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr].val; /* _n_expr on <self:AOrangeExpr> */
3205 if (unlikely(var13 == NULL)) {
3206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2417);
3208 fatal_exit(1);
3209 }
3210 var11 = var13;
3211 RET_LABEL12:(void)0;
3212 }
3213 }
3214 {
3215 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var11); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
3216 }
3217 {
3218 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:AOrangeExpr> */
3219 var16 = self->attrs[COLOR_nit__parser_nodes__ARangeExpr___n_expr2].val; /* _n_expr2 on <self:AOrangeExpr> */
3220 if (unlikely(var16 == NULL)) {
3221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2423);
3223 fatal_exit(1);
3224 }
3225 var14 = var16;
3226 RET_LABEL15:(void)0;
3227 }
3228 }
3229 {
3230 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var14); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
3231 }
3232 {
3233 var17 = nit___nit__ASTBuilder___make_new(var4, var7, var_);
3234 }
3235 {
3236 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var17); /* Direct call transform#AExpr#replace_with on <self:AOrangeExpr>*/
3237 }
3238 RET_LABEL:;
3239 }
3240 /* method transform#AParExpr#accept_transform_visitor for (self: AParExpr, TransformVisitor) */
3241 void nit__transform___AParExpr___ANode__accept_transform_visitor(val* self, val* p0) {
3242 val* var_v /* var v: TransformVisitor */;
3243 val* var /* : AExpr */;
3244 val* var2 /* : AExpr */;
3245 var_v = p0;
3246 {
3247 { /* Inline parser_nodes#AParExpr#n_expr (self) on <self:AParExpr> */
3248 var2 = self->attrs[COLOR_nit__parser_nodes__AParExpr___n_expr].val; /* _n_expr on <self:AParExpr> */
3249 if (unlikely(var2 == NULL)) {
3250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3251 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2637);
3252 fatal_exit(1);
3253 }
3254 var = var2;
3255 RET_LABEL1:(void)0;
3256 }
3257 }
3258 {
3259 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var); /* Direct call transform#AExpr#replace_with on <self:AParExpr>*/
3260 }
3261 RET_LABEL:;
3262 }
3263 /* method transform#ASendReassignFormExpr#accept_transform_visitor for (self: ASendReassignFormExpr, TransformVisitor) */
3264 void nit__transform___ASendReassignFormExpr___ANode__accept_transform_visitor(val* self, val* p0) {
3265 val* var_v /* var v: TransformVisitor */;
3266 val* var /* : ASTBuilder */;
3267 val* var2 /* : ASTBuilder */;
3268 val* var3 /* : ABlockExpr */;
3269 val* var_nblock /* var nblock: ABlockExpr */;
3270 val* var4 /* : AExpr */;
3271 val* var6 /* : AExpr */;
3272 val* var7 /* : Array[AExpr] */;
3273 val* var_read_args /* var read_args: Array[AExpr] */;
3274 val* var8 /* : Array[AExpr] */;
3275 val* var_write_args /* var write_args: Array[AExpr] */;
3276 val* var9 /* : Array[AExpr] */;
3277 val* var_ /* var : Array[AExpr] */;
3278 val* var10 /* : ArrayIterator[nullable Object] */;
3279 val* var_11 /* var : ArrayIterator[AExpr] */;
3280 short int var12 /* : Bool */;
3281 val* var13 /* : nullable Object */;
3282 val* var_a /* var a: AExpr */;
3283 val* var14 /* : AVarExpr */;
3284 val* var15 /* : AVarExpr */;
3285 val* var16 /* : ASTBuilder */;
3286 val* var18 /* : ASTBuilder */;
3287 val* var19 /* : AExpr */;
3288 val* var21 /* : AExpr */;
3289 val* var22 /* : AVarExpr */;
3290 val* var23 /* : nullable CallSite */;
3291 val* var25 /* : nullable CallSite */;
3292 val* var26 /* : ACallExpr */;
3293 val* var_nread /* var nread: ACallExpr */;
3294 val* var27 /* : ASTBuilder */;
3295 val* var29 /* : ASTBuilder */;
3296 val* var30 /* : nullable CallSite */;
3297 val* var32 /* : nullable CallSite */;
3298 val* var33 /* : Array[AExpr] */;
3299 val* var_34 /* var : Array[AExpr] */;
3300 val* var35 /* : AExpr */;
3301 val* var37 /* : AExpr */;
3302 val* var38 /* : ACallExpr */;
3303 val* var_nnewvalue /* var nnewvalue: ACallExpr */;
3304 val* var39 /* : ASTBuilder */;
3305 val* var41 /* : ASTBuilder */;
3306 val* var42 /* : AExpr */;
3307 val* var44 /* : AExpr */;
3308 val* var45 /* : AVarExpr */;
3309 val* var46 /* : nullable CallSite */;
3310 val* var48 /* : nullable CallSite */;
3311 val* var49 /* : ACallExpr */;
3312 val* var_nwrite /* var nwrite: ACallExpr */;
3313 var_v = p0;
3314 {
3315 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3316 var2 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3317 if (unlikely(var2 == NULL)) {
3318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3320 fatal_exit(1);
3321 }
3322 var = var2;
3323 RET_LABEL1:(void)0;
3324 }
3325 }
3326 {
3327 var3 = nit___nit__ASTBuilder___make_block(var);
3328 }
3329 var_nblock = var3;
3330 {
3331 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
3332 var6 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendReassignFormExpr> */
3333 if (unlikely(var6 == NULL)) {
3334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2025);
3336 fatal_exit(1);
3337 }
3338 var4 = var6;
3339 RET_LABEL5:(void)0;
3340 }
3341 }
3342 {
3343 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var4); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
3344 }
3345 var7 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
3346 {
3347 standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[AExpr]>*/
3348 }
3349 var_read_args = var7;
3350 var8 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
3351 {
3352 standard___standard__Array___standard__kernel__Object__init(var8); /* Direct call array#Array#init on <var8:Array[AExpr]>*/
3353 }
3354 var_write_args = var8;
3355 {
3356 var9 = nit__typing___ASendExpr___raw_arguments(self);
3357 }
3358 var_ = var9;
3359 {
3360 var10 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
3361 }
3362 var_11 = var10;
3363 for(;;) {
3364 {
3365 var12 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11);
3366 }
3367 if (var12){
3368 {
3369 var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11);
3370 }
3371 var_a = var13;
3372 {
3373 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_a); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
3374 }
3375 {
3376 var14 = nit__astbuilder___AExpr___make_var_read(var_a);
3377 }
3378 {
3379 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_read_args, var14); /* Direct call array#Array#add on <var_read_args:Array[AExpr]>*/
3380 }
3381 {
3382 var15 = nit__astbuilder___AExpr___make_var_read(var_a);
3383 }
3384 {
3385 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_write_args, var15); /* Direct call array#Array#add on <var_write_args:Array[AExpr]>*/
3386 }
3387 {
3388 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11); /* Direct call array#ArrayIterator#next on <var_11:ArrayIterator[AExpr]>*/
3389 }
3390 } else {
3391 goto BREAK_label;
3392 }
3393 }
3394 BREAK_label: (void)0;
3395 {
3396 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_11); /* Direct call array#ArrayIterator#finish on <var_11:ArrayIterator[AExpr]>*/
3397 }
3398 {
3399 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3400 var18 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3401 if (unlikely(var18 == NULL)) {
3402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3404 fatal_exit(1);
3405 }
3406 var16 = var18;
3407 RET_LABEL17:(void)0;
3408 }
3409 }
3410 {
3411 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
3412 var21 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendReassignFormExpr> */
3413 if (unlikely(var21 == NULL)) {
3414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2025);
3416 fatal_exit(1);
3417 }
3418 var19 = var21;
3419 RET_LABEL20:(void)0;
3420 }
3421 }
3422 {
3423 var22 = nit__astbuilder___AExpr___make_var_read(var19);
3424 }
3425 {
3426 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendReassignFormExpr> */
3427 var25 = self->attrs[COLOR_nit__typing__ASendExpr___callsite].val; /* _callsite on <self:ASendReassignFormExpr> */
3428 var23 = var25;
3429 RET_LABEL24:(void)0;
3430 }
3431 }
3432 if (unlikely(var23 == NULL)) {
3433 PRINT_ERROR("Runtime error: %s", "Cast failed");
3434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 436);
3435 fatal_exit(1);
3436 }
3437 {
3438 var26 = nit___nit__ASTBuilder___make_call(var16, var22, var23, var_read_args);
3439 }
3440 var_nread = var26;
3441 {
3442 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3443 var29 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3444 if (unlikely(var29 == NULL)) {
3445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3447 fatal_exit(1);
3448 }
3449 var27 = var29;
3450 RET_LABEL28:(void)0;
3451 }
3452 }
3453 {
3454 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:ASendReassignFormExpr> */
3455 var32 = self->attrs[COLOR_nit__typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on <self:ASendReassignFormExpr> */
3456 var30 = var32;
3457 RET_LABEL31:(void)0;
3458 }
3459 }
3460 if (unlikely(var30 == NULL)) {
3461 PRINT_ERROR("Runtime error: %s", "Cast failed");
3462 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 438);
3463 fatal_exit(1);
3464 }
3465 var33 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
3466 {
3467 standard___standard__Array___with_capacity(var33, 1l); /* Direct call array#Array#with_capacity on <var33:Array[AExpr]>*/
3468 }
3469 var_34 = var33;
3470 {
3471 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ASendReassignFormExpr> */
3472 var37 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ASendReassignFormExpr> */
3473 if (unlikely(var37 == NULL)) {
3474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3475 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2006);
3476 fatal_exit(1);
3477 }
3478 var35 = var37;
3479 RET_LABEL36:(void)0;
3480 }
3481 }
3482 {
3483 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_34, var35); /* Direct call array#AbstractArray#push on <var_34:Array[AExpr]>*/
3484 }
3485 {
3486 var38 = nit___nit__ASTBuilder___make_call(var27, var_nread, var30, var_34);
3487 }
3488 var_nnewvalue = var38;
3489 {
3490 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_write_args, var_nnewvalue); /* Direct call array#Array#add on <var_write_args:Array[AExpr]>*/
3491 }
3492 {
3493 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3494 var41 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3495 if (unlikely(var41 == NULL)) {
3496 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3497 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3498 fatal_exit(1);
3499 }
3500 var39 = var41;
3501 RET_LABEL40:(void)0;
3502 }
3503 }
3504 {
3505 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
3506 var44 = self->attrs[COLOR_nit__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendReassignFormExpr> */
3507 if (unlikely(var44 == NULL)) {
3508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3509 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2025);
3510 fatal_exit(1);
3511 }
3512 var42 = var44;
3513 RET_LABEL43:(void)0;
3514 }
3515 }
3516 {
3517 var45 = nit__astbuilder___AExpr___make_var_read(var42);
3518 }
3519 {
3520 { /* Inline typing#ASendReassignFormExpr#write_callsite (self) on <self:ASendReassignFormExpr> */
3521 var48 = self->attrs[COLOR_nit__typing__ASendReassignFormExpr___write_callsite].val; /* _write_callsite on <self:ASendReassignFormExpr> */
3522 var46 = var48;
3523 RET_LABEL47:(void)0;
3524 }
3525 }
3526 if (unlikely(var46 == NULL)) {
3527 PRINT_ERROR("Runtime error: %s", "Cast failed");
3528 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 441);
3529 fatal_exit(1);
3530 }
3531 {
3532 var49 = nit___nit__ASTBuilder___make_call(var39, var45, var46, var_write_args);
3533 }
3534 var_nwrite = var49;
3535 {
3536 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nwrite); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
3537 }
3538 {
3539 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nblock); /* Direct call transform#AExpr#replace_with on <self:ASendReassignFormExpr>*/
3540 }
3541 RET_LABEL:;
3542 }
3543 /* method transform#AVarReassignExpr#accept_transform_visitor for (self: AVarReassignExpr, TransformVisitor) */
3544 void nit__transform___AVarReassignExpr___ANode__accept_transform_visitor(val* self, val* p0) {
3545 val* var_v /* var v: TransformVisitor */;
3546 val* var /* : nullable Variable */;
3547 val* var2 /* : nullable Variable */;
3548 val* var_variable /* var variable: Variable */;
3549 val* var3 /* : ASTBuilder */;
3550 val* var5 /* : ASTBuilder */;
3551 val* var6 /* : nullable MType */;
3552 val* var8 /* : nullable MType */;
3553 val* var9 /* : AVarExpr */;
3554 val* var_nread /* var nread: AVarExpr */;
3555 val* var10 /* : ASTBuilder */;
3556 val* var12 /* : ASTBuilder */;
3557 val* var13 /* : nullable CallSite */;
3558 val* var15 /* : nullable CallSite */;
3559 val* var16 /* : Array[AExpr] */;
3560 val* var_ /* var : Array[AExpr] */;
3561 val* var17 /* : AExpr */;
3562 val* var19 /* : AExpr */;
3563 val* var20 /* : ACallExpr */;
3564 val* var_nnewvalue /* var nnewvalue: ACallExpr */;
3565 val* var21 /* : ASTBuilder */;
3566 val* var23 /* : ASTBuilder */;
3567 val* var24 /* : AVarAssignExpr */;
3568 val* var_nwrite /* var nwrite: AVarAssignExpr */;
3569 var_v = p0;
3570 {
3571 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarReassignExpr> */
3572 var2 = self->attrs[COLOR_nit__scope__AVarFormExpr___variable].val; /* _variable on <self:AVarReassignExpr> */
3573 var = var2;
3574 RET_LABEL1:(void)0;
3575 }
3576 }
3577 if (unlikely(var == NULL)) {
3578 PRINT_ERROR("Runtime error: %s", "Cast failed");
3579 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 452);
3580 fatal_exit(1);
3581 }
3582 var_variable = var;
3583 {
3584 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3585 var5 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3586 if (unlikely(var5 == NULL)) {
3587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3589 fatal_exit(1);
3590 }
3591 var3 = var5;
3592 RET_LABEL4:(void)0;
3593 }
3594 }
3595 {
3596 { /* Inline typing#AReassignFormExpr#read_type (self) on <self:AVarReassignExpr> */
3597 var8 = self->attrs[COLOR_nit__typing__AReassignFormExpr___read_type].val; /* _read_type on <self:AVarReassignExpr> */
3598 var6 = var8;
3599 RET_LABEL7:(void)0;
3600 }
3601 }
3602 if (unlikely(var6 == NULL)) {
3603 PRINT_ERROR("Runtime error: %s", "Cast failed");
3604 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 454);
3605 fatal_exit(1);
3606 }
3607 {
3608 var9 = nit___nit__ASTBuilder___make_var_read(var3, var_variable, var6);
3609 }
3610 var_nread = var9;
3611 {
3612 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3613 var12 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3614 if (unlikely(var12 == NULL)) {
3615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3616 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3617 fatal_exit(1);
3618 }
3619 var10 = var12;
3620 RET_LABEL11:(void)0;
3621 }
3622 }
3623 {
3624 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:AVarReassignExpr> */
3625 var15 = self->attrs[COLOR_nit__typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on <self:AVarReassignExpr> */
3626 var13 = var15;
3627 RET_LABEL14:(void)0;
3628 }
3629 }
3630 if (unlikely(var13 == NULL)) {
3631 PRINT_ERROR("Runtime error: %s", "Cast failed");
3632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 456);
3633 fatal_exit(1);
3634 }
3635 var16 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
3636 {
3637 standard___standard__Array___with_capacity(var16, 1l); /* Direct call array#Array#with_capacity on <var16:Array[AExpr]>*/
3638 }
3639 var_ = var16;
3640 {
3641 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:AVarReassignExpr> */
3642 var19 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AVarReassignExpr> */
3643 if (unlikely(var19 == NULL)) {
3644 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3645 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2006);
3646 fatal_exit(1);
3647 }
3648 var17 = var19;
3649 RET_LABEL18:(void)0;
3650 }
3651 }
3652 {
3653 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var17); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
3654 }
3655 {
3656 var20 = nit___nit__ASTBuilder___make_call(var10, var_nread, var13, var_);
3657 }
3658 var_nnewvalue = var20;
3659 {
3660 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3661 var23 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3662 if (unlikely(var23 == NULL)) {
3663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3664 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3665 fatal_exit(1);
3666 }
3667 var21 = var23;
3668 RET_LABEL22:(void)0;
3669 }
3670 }
3671 {
3672 var24 = nit___nit__ASTBuilder___make_var_assign(var21, var_variable, var_nnewvalue);
3673 }
3674 var_nwrite = var24;
3675 {
3676 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nwrite); /* Direct call transform#AExpr#replace_with on <self:AVarReassignExpr>*/
3677 }
3678 RET_LABEL:;
3679 }
3680 /* method transform#AAttrReassignExpr#accept_transform_visitor for (self: AAttrReassignExpr, TransformVisitor) */
3681 void nit__transform___AAttrReassignExpr___ANode__accept_transform_visitor(val* self, val* p0) {
3682 val* var_v /* var v: TransformVisitor */;
3683 val* var /* : ASTBuilder */;
3684 val* var2 /* : ASTBuilder */;
3685 val* var3 /* : ABlockExpr */;
3686 val* var_nblock /* var nblock: ABlockExpr */;
3687 val* var4 /* : AExpr */;
3688 val* var6 /* : AExpr */;
3689 val* var7 /* : nullable MAttribute */;
3690 val* var9 /* : nullable MAttribute */;
3691 val* var_attribute /* var attribute: MAttribute */;
3692 val* var10 /* : ASTBuilder */;
3693 val* var12 /* : ASTBuilder */;
3694 val* var13 /* : AExpr */;
3695 val* var15 /* : AExpr */;
3696 val* var16 /* : AVarExpr */;
3697 val* var17 /* : AAttrExpr */;
3698 val* var_nread /* var nread: AAttrExpr */;
3699 val* var18 /* : ASTBuilder */;
3700 val* var20 /* : ASTBuilder */;
3701 val* var21 /* : nullable CallSite */;
3702 val* var23 /* : nullable CallSite */;
3703 val* var24 /* : Array[AExpr] */;
3704 val* var_ /* var : Array[AExpr] */;
3705 val* var25 /* : AExpr */;
3706 val* var27 /* : AExpr */;
3707 val* var28 /* : ACallExpr */;
3708 val* var_nnewvalue /* var nnewvalue: ACallExpr */;
3709 val* var29 /* : ASTBuilder */;
3710 val* var31 /* : ASTBuilder */;
3711 val* var32 /* : AExpr */;
3712 val* var34 /* : AExpr */;
3713 val* var35 /* : AVarExpr */;
3714 val* var36 /* : AAttrAssignExpr */;
3715 val* var_nwrite /* var nwrite: AAttrAssignExpr */;
3716 var_v = p0;
3717 {
3718 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3719 var2 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3720 if (unlikely(var2 == NULL)) {
3721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3723 fatal_exit(1);
3724 }
3725 var = var2;
3726 RET_LABEL1:(void)0;
3727 }
3728 }
3729 {
3730 var3 = nit___nit__ASTBuilder___make_block(var);
3731 }
3732 var_nblock = var3;
3733 {
3734 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrReassignExpr> */
3735 var6 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
3736 if (unlikely(var6 == NULL)) {
3737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3738 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2269);
3739 fatal_exit(1);
3740 }
3741 var4 = var6;
3742 RET_LABEL5:(void)0;
3743 }
3744 }
3745 {
3746 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var4); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
3747 }
3748 {
3749 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrReassignExpr> */
3750 var9 = self->attrs[COLOR_nit__typing__AAttrFormExpr___mproperty].val; /* _mproperty on <self:AAttrReassignExpr> */
3751 var7 = var9;
3752 RET_LABEL8:(void)0;
3753 }
3754 }
3755 if (unlikely(var7 == NULL)) {
3756 PRINT_ERROR("Runtime error: %s", "Cast failed");
3757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 469);
3758 fatal_exit(1);
3759 }
3760 var_attribute = var7;
3761 {
3762 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3763 var12 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3764 if (unlikely(var12 == NULL)) {
3765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3766 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3767 fatal_exit(1);
3768 }
3769 var10 = var12;
3770 RET_LABEL11:(void)0;
3771 }
3772 }
3773 {
3774 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrReassignExpr> */
3775 var15 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
3776 if (unlikely(var15 == NULL)) {
3777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3778 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2269);
3779 fatal_exit(1);
3780 }
3781 var13 = var15;
3782 RET_LABEL14:(void)0;
3783 }
3784 }
3785 {
3786 var16 = nit__astbuilder___AExpr___make_var_read(var13);
3787 }
3788 {
3789 var17 = nit___nit__ASTBuilder___make_attr_read(var10, var16, var_attribute);
3790 }
3791 var_nread = var17;
3792 {
3793 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3794 var20 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3795 if (unlikely(var20 == NULL)) {
3796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3797 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3798 fatal_exit(1);
3799 }
3800 var18 = var20;
3801 RET_LABEL19:(void)0;
3802 }
3803 }
3804 {
3805 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:AAttrReassignExpr> */
3806 var23 = self->attrs[COLOR_nit__typing__AReassignFormExpr___reassign_callsite].val; /* _reassign_callsite on <self:AAttrReassignExpr> */
3807 var21 = var23;
3808 RET_LABEL22:(void)0;
3809 }
3810 }
3811 if (unlikely(var21 == NULL)) {
3812 PRINT_ERROR("Runtime error: %s", "Cast failed");
3813 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 472);
3814 fatal_exit(1);
3815 }
3816 var24 = NEW_standard__Array(&type_standard__Array__nit__AExpr);
3817 {
3818 standard___standard__Array___with_capacity(var24, 1l); /* Direct call array#Array#with_capacity on <var24:Array[AExpr]>*/
3819 }
3820 var_ = var24;
3821 {
3822 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:AAttrReassignExpr> */
3823 var27 = self->attrs[COLOR_nit__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
3824 if (unlikely(var27 == NULL)) {
3825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3826 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2006);
3827 fatal_exit(1);
3828 }
3829 var25 = var27;
3830 RET_LABEL26:(void)0;
3831 }
3832 }
3833 {
3834 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var25); /* Direct call array#AbstractArray#push on <var_:Array[AExpr]>*/
3835 }
3836 {
3837 var28 = nit___nit__ASTBuilder___make_call(var18, var_nread, var21, var_);
3838 }
3839 var_nnewvalue = var28;
3840 {
3841 { /* Inline transform#TransformVisitor#builder (var_v) on <var_v:TransformVisitor> */
3842 var31 = var_v->attrs[COLOR_nit__transform__TransformVisitor___builder].val; /* _builder on <var_v:TransformVisitor> */
3843 if (unlikely(var31 == NULL)) {
3844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _builder");
3845 PRINT_ERROR(" (%s:%d)\n", FILE_nit__transform, 62);
3846 fatal_exit(1);
3847 }
3848 var29 = var31;
3849 RET_LABEL30:(void)0;
3850 }
3851 }
3852 {
3853 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrReassignExpr> */
3854 var34 = self->attrs[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
3855 if (unlikely(var34 == NULL)) {
3856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3857 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2269);
3858 fatal_exit(1);
3859 }
3860 var32 = var34;
3861 RET_LABEL33:(void)0;
3862 }
3863 }
3864 {
3865 var35 = nit__astbuilder___AExpr___make_var_read(var32);
3866 }
3867 {
3868 var36 = nit___nit__ASTBuilder___make_attr_assign(var29, var35, var_attribute, var_nnewvalue);
3869 }
3870 var_nwrite = var36;
3871 {
3872 nit__astbuilder___ABlockExpr___AExpr__add(var_nblock, var_nwrite); /* Direct call astbuilder#ABlockExpr#add on <var_nblock:ABlockExpr>*/
3873 }
3874 {
3875 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self, var_nblock); /* Direct call transform#AExpr#replace_with on <self:AAttrReassignExpr>*/
3876 }
3877 RET_LABEL:;
3878 }