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