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