1 #include "transform.sep.0.h"
2 /* method transform#ToolContext#transform_phase for (self: ToolContext): Phase */
3 val
* transform__ToolContext__transform_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_transform__ToolContext___64dtransform_phase
].val
; /* @transform_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @transform_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 24);
16 /* method transform#ToolContext#transform_phase for (self: Object): Phase */
17 val
* VIRTUAL_transform__ToolContext__transform_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= transform__ToolContext__transform_phase(self
);
25 /* method transform#ToolContext#transform_phase= for (self: ToolContext, Phase) */
26 void transform__ToolContext__transform_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_transform__ToolContext___64dtransform_phase
].val
= p0
; /* @transform_phase on <self:ToolContext> */
30 /* method transform#ToolContext#transform_phase= for (self: Object, Phase) */
31 void VIRTUAL_transform__ToolContext__transform_phase_61d(val
* self
, val
* p0
) {
32 transform__ToolContext__transform_phase_61d(self
, p0
);
35 /* method transform#TransformPhase#process_npropdef for (self: TransformPhase, APropdef) */
36 void transform__TransformPhase__process_npropdef(val
* self
, val
* p0
) {
37 val
* var_npropdef
/* var npropdef: APropdef */;
38 val
* var
/* : TransformVisitor */;
39 val
* var_v
/* var v: TransformVisitor */;
40 val
* var1
/* : ASTValidationVisitor */;
41 val
* var_val
/* var val: nullable Object */;
43 var
= NEW_transform__TransformVisitor(&type_transform__TransformVisitor
);
44 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_transform__TransformVisitor__init
]))(var
, self
, var_npropdef
) /* init on <var:TransformVisitor>*/;
46 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var_npropdef
) /* enter_visit on <var_v:TransformVisitor>*/;
47 var1
= NEW_astvalidation__ASTValidationVisitor(&type_astvalidation__ASTValidationVisitor
);
48 ((void (*)(val
*))(var1
->class->vft
[COLOR_astvalidation__ASTValidationVisitor__init
]))(var1
) /* init on <var1:ASTValidationVisitor>*/;
50 ((void (*)(val
*, val
*))(var_val
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_val
, var_npropdef
) /* enter_visit on <var_val:nullable Object(ASTValidationVisitor)>*/;
53 /* method transform#TransformPhase#process_npropdef for (self: Object, APropdef) */
54 void VIRTUAL_transform__TransformPhase__process_npropdef(val
* self
, val
* p0
) {
55 transform__TransformPhase__process_npropdef(self
, p0
);
58 /* method transform#TransformVisitor#phase for (self: TransformVisitor): TransformPhase */
59 val
* transform__TransformVisitor__phase(val
* self
) {
60 val
* var
/* : TransformPhase */;
61 val
* var1
/* : TransformPhase */;
62 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dphase
].val
; /* @phase on <self:TransformVisitor> */
64 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @phase");
65 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 45);
72 /* method transform#TransformVisitor#phase for (self: Object): TransformPhase */
73 val
* VIRTUAL_transform__TransformVisitor__phase(val
* self
) {
74 val
* var
/* : TransformPhase */;
75 val
* var1
/* : TransformPhase */;
76 var1
= transform__TransformVisitor__phase(self
);
81 /* method transform#TransformVisitor#phase= for (self: TransformVisitor, TransformPhase) */
82 void transform__TransformVisitor__phase_61d(val
* self
, val
* p0
) {
83 self
->attrs
[COLOR_transform__TransformVisitor___64dphase
].val
= p0
; /* @phase on <self:TransformVisitor> */
86 /* method transform#TransformVisitor#phase= for (self: Object, TransformPhase) */
87 void VIRTUAL_transform__TransformVisitor__phase_61d(val
* self
, val
* p0
) {
88 transform__TransformVisitor__phase_61d(self
, p0
);
91 /* method transform#TransformVisitor#mmodule for (self: TransformVisitor): MModule */
92 val
* transform__TransformVisitor__mmodule(val
* self
) {
93 val
* var
/* : MModule */;
94 val
* var1
/* : MModule */;
95 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dmmodule
].val
; /* @mmodule on <self:TransformVisitor> */
97 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mmodule");
98 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 46);
105 /* method transform#TransformVisitor#mmodule for (self: Object): MModule */
106 val
* VIRTUAL_transform__TransformVisitor__mmodule(val
* self
) {
107 val
* var
/* : MModule */;
108 val
* var1
/* : MModule */;
109 var1
= transform__TransformVisitor__mmodule(self
);
114 /* method transform#TransformVisitor#mmodule= for (self: TransformVisitor, MModule) */
115 void transform__TransformVisitor__mmodule_61d(val
* self
, val
* p0
) {
116 self
->attrs
[COLOR_transform__TransformVisitor___64dmmodule
].val
= p0
; /* @mmodule on <self:TransformVisitor> */
119 /* method transform#TransformVisitor#mmodule= for (self: Object, MModule) */
120 void VIRTUAL_transform__TransformVisitor__mmodule_61d(val
* self
, val
* p0
) {
121 transform__TransformVisitor__mmodule_61d(self
, p0
);
124 /* method transform#TransformVisitor#mclassdef for (self: TransformVisitor): MClassDef */
125 val
* transform__TransformVisitor__mclassdef(val
* self
) {
126 val
* var
/* : MClassDef */;
127 val
* var1
/* : MClassDef */;
128 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dmclassdef
].val
; /* @mclassdef on <self:TransformVisitor> */
130 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mclassdef");
131 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 47);
138 /* method transform#TransformVisitor#mclassdef for (self: Object): MClassDef */
139 val
* VIRTUAL_transform__TransformVisitor__mclassdef(val
* self
) {
140 val
* var
/* : MClassDef */;
141 val
* var1
/* : MClassDef */;
142 var1
= transform__TransformVisitor__mclassdef(self
);
147 /* method transform#TransformVisitor#mclassdef= for (self: TransformVisitor, MClassDef) */
148 void transform__TransformVisitor__mclassdef_61d(val
* self
, val
* p0
) {
149 self
->attrs
[COLOR_transform__TransformVisitor___64dmclassdef
].val
= p0
; /* @mclassdef on <self:TransformVisitor> */
152 /* method transform#TransformVisitor#mclassdef= for (self: Object, MClassDef) */
153 void VIRTUAL_transform__TransformVisitor__mclassdef_61d(val
* self
, val
* p0
) {
154 transform__TransformVisitor__mclassdef_61d(self
, p0
);
157 /* method transform#TransformVisitor#mpropdef for (self: TransformVisitor): MPropDef */
158 val
* transform__TransformVisitor__mpropdef(val
* self
) {
159 val
* var
/* : MPropDef */;
160 val
* var1
/* : MPropDef */;
161 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dmpropdef
].val
; /* @mpropdef on <self:TransformVisitor> */
163 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mpropdef");
164 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 48);
171 /* method transform#TransformVisitor#mpropdef for (self: Object): MPropDef */
172 val
* VIRTUAL_transform__TransformVisitor__mpropdef(val
* self
) {
173 val
* var
/* : MPropDef */;
174 val
* var1
/* : MPropDef */;
175 var1
= transform__TransformVisitor__mpropdef(self
);
180 /* method transform#TransformVisitor#mpropdef= for (self: TransformVisitor, MPropDef) */
181 void transform__TransformVisitor__mpropdef_61d(val
* self
, val
* p0
) {
182 self
->attrs
[COLOR_transform__TransformVisitor___64dmpropdef
].val
= p0
; /* @mpropdef on <self:TransformVisitor> */
185 /* method transform#TransformVisitor#mpropdef= for (self: Object, MPropDef) */
186 void VIRTUAL_transform__TransformVisitor__mpropdef_61d(val
* self
, val
* p0
) {
187 transform__TransformVisitor__mpropdef_61d(self
, p0
);
190 /* method transform#TransformVisitor#builder for (self: TransformVisitor): ASTBuilder */
191 val
* transform__TransformVisitor__builder(val
* self
) {
192 val
* var
/* : ASTBuilder */;
193 val
* var1
/* : ASTBuilder */;
194 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dbuilder
].val
; /* @builder on <self:TransformVisitor> */
196 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @builder");
197 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 49);
204 /* method transform#TransformVisitor#builder for (self: Object): ASTBuilder */
205 val
* VIRTUAL_transform__TransformVisitor__builder(val
* self
) {
206 val
* var
/* : ASTBuilder */;
207 val
* var1
/* : ASTBuilder */;
208 var1
= transform__TransformVisitor__builder(self
);
213 /* method transform#TransformVisitor#builder= for (self: TransformVisitor, ASTBuilder) */
214 void transform__TransformVisitor__builder_61d(val
* self
, val
* p0
) {
215 self
->attrs
[COLOR_transform__TransformVisitor___64dbuilder
].val
= p0
; /* @builder on <self:TransformVisitor> */
218 /* method transform#TransformVisitor#builder= for (self: Object, ASTBuilder) */
219 void VIRTUAL_transform__TransformVisitor__builder_61d(val
* self
, val
* p0
) {
220 transform__TransformVisitor__builder_61d(self
, p0
);
223 /* method transform#TransformVisitor#init for (self: TransformVisitor, TransformPhase, APropdef) */
224 void transform__TransformVisitor__init(val
* self
, val
* p0
, val
* p1
) {
225 val
* var_phase
/* var phase: TransformPhase */;
226 val
* var_npropdef
/* var npropdef: APropdef */;
227 val
* var
/* : nullable MPropDef */;
228 val
* var1
/* : MPropDef */;
229 val
* var2
/* : MClassDef */;
230 val
* var3
/* : MClassDef */;
231 val
* var4
/* : MModule */;
232 val
* var5
/* : ASTBuilder */;
233 val
* var6
/* : MModule */;
234 val
* var7
/* : MPropDef */;
235 val
* var8
/* : MClassDef */;
236 val
* var9
/* : MClassType */;
239 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:TransformVisitor>*/;
240 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__phase_61d
]))(self
, var_phase
) /* phase= on <self:TransformVisitor>*/;
241 var
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef>*/;
243 fprintf(stderr
, "Runtime error: %s", "Cast failed");
244 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 54);
247 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mpropdef_61d
]))(self
, var
) /* mpropdef= on <self:TransformVisitor>*/;
248 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mpropdef
]))(self
) /* mpropdef on <self:TransformVisitor>*/;
249 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var1
) /* mclassdef on <var1:MPropDef>*/;
250 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mclassdef_61d
]))(self
, var2
) /* mclassdef= on <self:TransformVisitor>*/;
251 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mclassdef
]))(self
) /* mclassdef on <self:TransformVisitor>*/;
252 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
253 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule_61d
]))(self
, var4
) /* mmodule= on <self:TransformVisitor>*/;
254 var5
= NEW_astbuilder__ASTBuilder(&type_astbuilder__ASTBuilder
);
255 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule
]))(self
) /* mmodule on <self:TransformVisitor>*/;
256 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mpropdef
]))(self
) /* mpropdef on <self:TransformVisitor>*/;
257 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var7
) /* mclassdef on <var7:MPropDef>*/;
258 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var8
) /* bound_mtype on <var8:MClassDef>*/;
259 ((void (*)(val
*, val
*, val
*))(var5
->class->vft
[COLOR_astbuilder__ASTBuilder__init
]))(var5
, var6
, var9
) /* init on <var5:ASTBuilder>*/;
260 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__builder_61d
]))(self
, var5
) /* builder= on <self:TransformVisitor>*/;
263 /* method transform#TransformVisitor#init for (self: Object, TransformPhase, APropdef) */
264 void VIRTUAL_transform__TransformVisitor__init(val
* self
, val
* p0
, val
* p1
) {
265 transform__TransformVisitor__init(self
, p0
, p1
);
268 /* method transform#TransformVisitor#visit for (self: TransformVisitor, ANode) */
269 void transform__TransformVisitor__visit(val
* self
, val
* p0
) {
270 val
* var_node
/* var node: ANode */;
271 short int var
/* : Bool */;
275 /* <var_node:ANode> isa AAnnotations */
276 cltype
= type_parser_nodes__AAnnotations
.color
;
277 idtype
= type_parser_nodes__AAnnotations
.id
;
278 if(cltype
>= var_node
->type
->table_size
) {
281 var
= var_node
->type
->type_table
[cltype
] == idtype
;
287 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_node
, self
) /* visit_all on <var_node:ANode>*/;
288 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_transform__ANode__accept_transform_visitor
]))(var_node
, self
) /* accept_transform_visitor on <var_node:ANode>*/;
291 /* method transform#TransformVisitor#visit for (self: Object, ANode) */
292 void VIRTUAL_transform__TransformVisitor__visit(val
* self
, val
* p0
) {
293 transform__TransformVisitor__visit(self
, p0
);
296 /* method transform#TransformVisitor#get_class for (self: TransformVisitor, AExpr, String): MClass */
297 val
* transform__TransformVisitor__get_class(val
* self
, val
* p0
, val
* p1
) {
298 val
* var
/* : MClass */;
299 val
* var_location
/* var location: AExpr */;
300 val
* var_name
/* var name: String */;
301 val
* var1
/* : MModule */;
302 val
* var2
/* : MClass */;
305 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule
]))(self
) /* mmodule on <self:TransformVisitor>*/;
306 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var1
, var_name
) /* get_primitive_class on <var1:MModule>*/;
312 /* method transform#TransformVisitor#get_class for (self: Object, AExpr, String): MClass */
313 val
* VIRTUAL_transform__TransformVisitor__get_class(val
* self
, val
* p0
, val
* p1
) {
314 val
* var
/* : MClass */;
315 val
* var1
/* : MClass */;
316 var1
= transform__TransformVisitor__get_class(self
, p0
, p1
);
321 /* method transform#TransformVisitor#get_method for (self: TransformVisitor, AExpr, String, MClass): MMethod */
322 val
* transform__TransformVisitor__get_method(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
323 val
* var
/* : MMethod */;
324 val
* var_location
/* var location: AExpr */;
325 val
* var_name
/* var name: String */;
326 val
* var_recv
/* var recv: MClass */;
327 val
* var1
/* : TransformPhase */;
328 val
* var2
/* : ToolContext */;
329 val
* var3
/* : ModelBuilder */;
330 val
* var4
/* : MModule */;
331 val
* var5
/* : MMethod */;
335 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__phase
]))(self
) /* phase on <self:TransformVisitor>*/;
336 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_phase__Phase__toolcontext
]))(var1
) /* toolcontext on <var1:TransformPhase>*/;
337 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var2
) /* modelbuilder on <var2:ToolContext>*/;
338 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule
]))(self
) /* mmodule on <self:TransformVisitor>*/;
339 var5
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*))(var3
->class->vft
[COLOR_modelbuilder__ModelBuilder__force_get_primitive_method
]))(var3
, var_location
, var_name
, var_recv
, var4
) /* force_get_primitive_method on <var3:ModelBuilder>*/;
345 /* method transform#TransformVisitor#get_method for (self: Object, AExpr, String, MClass): MMethod */
346 val
* VIRTUAL_transform__TransformVisitor__get_method(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
347 val
* var
/* : MMethod */;
348 val
* var1
/* : MMethod */;
349 var1
= transform__TransformVisitor__get_method(self
, p0
, p1
, p2
);
354 /* method transform#ANode#accept_transform_visitor for (self: ANode, TransformVisitor) */
355 void transform__ANode__accept_transform_visitor(val
* self
, val
* p0
) {
356 val
* var_v
/* var v: TransformVisitor */;
360 /* method transform#ANode#accept_transform_visitor for (self: Object, TransformVisitor) */
361 void VIRTUAL_transform__ANode__accept_transform_visitor(val
* self
, val
* p0
) {
362 transform__ANode__accept_transform_visitor(self
, p0
);
365 /* method transform#AVardeclExpr#accept_transform_visitor for (self: AVardeclExpr, TransformVisitor) */
366 void transform__AVardeclExpr__accept_transform_visitor(val
* self
, val
* p0
) {
367 val
* var_v
/* var v: TransformVisitor */;
368 val
* var
/* : nullable AExpr */;
369 val
* var_nexpr
/* var nexpr: nullable AExpr */;
370 val
* var1
/* : null */;
371 short int var2
/* : Bool */;
372 val
* var3
/* : ASTBuilder */;
373 val
* var4
/* : nullable Variable */;
374 val
* var5
/* : AVarAssignExpr */;
375 val
* var_nvar
/* var nvar: AVarAssignExpr */;
377 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(self
) /* n_expr on <self:AVardeclExpr>*/;
380 if (var_nexpr
== NULL
) {
381 var2
= 1; /* is null */
383 var2
= 0; /* arg is null but recv is not */
386 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__detach
]))(self
) /* detach on <self:AVardeclExpr>*/;
388 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
389 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable
]))(self
) /* variable on <self:AVardeclExpr>*/;
391 fprintf(stderr
, "Runtime error: %s", "Cast failed");
392 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 99);
395 var5
= ((val
* (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_astbuilder__ASTBuilder__make_var_assign
]))(var3
, var4
, var_nexpr
) /* make_var_assign on <var3:ASTBuilder>*/;
397 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nvar
) /* replace_with on <self:AVardeclExpr>*/;
401 /* method transform#AVardeclExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
402 void VIRTUAL_transform__AVardeclExpr__accept_transform_visitor(val
* self
, val
* p0
) {
403 transform__AVardeclExpr__accept_transform_visitor(self
, p0
);
406 /* method transform#AIfexprExpr#accept_transform_visitor for (self: AIfexprExpr, TransformVisitor) */
407 void transform__AIfexprExpr__accept_transform_visitor(val
* self
, val
* p0
) {
408 val
* var_v
/* var v: TransformVisitor */;
409 val
* var
/* : ASTBuilder */;
410 val
* var1
/* : AExpr */;
411 val
* var2
/* : nullable MType */;
412 val
* var3
/* : AIfExpr */;
413 val
* var_nif
/* var nif: AIfExpr */;
414 val
* var4
/* : nullable AExpr */;
415 val
* var5
/* : AExpr */;
416 val
* var6
/* : nullable AExpr */;
417 val
* var7
/* : AExpr */;
419 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
420 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_expr
]))(self
) /* n_expr on <self:AIfexprExpr>*/;
421 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfexprExpr>*/;
422 var3
= ((val
* (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_if
]))(var
, var1
, var2
) /* make_if on <var:ASTBuilder>*/;
424 var4
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(var_nif
) /* n_then on <var_nif:AIfExpr>*/;
425 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_then
]))(self
) /* n_then on <self:AIfexprExpr>*/;
427 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
428 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 112);
431 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var4
, var5
) /* add on <var4:nullable AExpr>*/;
433 var6
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(var_nif
) /* n_else on <var_nif:AIfExpr>*/;
434 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_else
]))(self
) /* n_else on <self:AIfexprExpr>*/;
436 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
437 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 113);
440 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var6
, var7
) /* add on <var6:nullable AExpr>*/;
442 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nif
) /* replace_with on <self:AIfexprExpr>*/;
445 /* method transform#AIfexprExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
446 void VIRTUAL_transform__AIfexprExpr__accept_transform_visitor(val
* self
, val
* p0
) {
447 transform__AIfexprExpr__accept_transform_visitor(self
, p0
);
450 /* method transform#AOrExpr#accept_transform_visitor for (self: AOrExpr, TransformVisitor) */
451 void transform__AOrExpr__accept_transform_visitor(val
* self
, val
* p0
) {
452 val
* var_v
/* var v: TransformVisitor */;
453 val
* var
/* : ASTBuilder */;
454 val
* var1
/* : AExpr */;
455 val
* var2
/* : nullable MType */;
456 val
* var3
/* : AIfExpr */;
457 val
* var_nif
/* var nif: AIfExpr */;
458 val
* var4
/* : nullable AExpr */;
459 val
* var5
/* : AExpr */;
460 val
* var6
/* : AVarExpr */;
461 val
* var7
/* : nullable AExpr */;
462 val
* var8
/* : AExpr */;
464 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
465 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr
]))(self
) /* n_expr on <self:AOrExpr>*/;
466 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrExpr>*/;
467 var3
= ((val
* (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_if
]))(var
, var1
, var2
) /* make_if on <var:ASTBuilder>*/;
469 var4
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(var_nif
) /* n_then on <var_nif:AIfExpr>*/;
470 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr
]))(self
) /* n_expr on <self:AOrExpr>*/;
471 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var5
) /* make_var_read on <var5:AExpr>*/;
473 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
474 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 124);
477 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var4
, var6
) /* add on <var4:nullable AExpr>*/;
479 var7
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(var_nif
) /* n_else on <var_nif:AIfExpr>*/;
480 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrExpr>*/;
482 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
483 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 125);
486 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var7
, var8
) /* add on <var7:nullable AExpr>*/;
488 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nif
) /* replace_with on <self:AOrExpr>*/;
491 /* method transform#AOrExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
492 void VIRTUAL_transform__AOrExpr__accept_transform_visitor(val
* self
, val
* p0
) {
493 transform__AOrExpr__accept_transform_visitor(self
, p0
);
496 /* method transform#AImpliesExpr#accept_transform_visitor for (self: AImpliesExpr, TransformVisitor) */
497 void transform__AImpliesExpr__accept_transform_visitor(val
* self
, val
* p0
) {
498 val
* var_v
/* var v: TransformVisitor */;
502 /* method transform#AImpliesExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
503 void VIRTUAL_transform__AImpliesExpr__accept_transform_visitor(val
* self
, val
* p0
) {
504 transform__AImpliesExpr__accept_transform_visitor(self
, p0
);
507 /* method transform#AAndExpr#accept_transform_visitor for (self: AAndExpr, TransformVisitor) */
508 void transform__AAndExpr__accept_transform_visitor(val
* self
, val
* p0
) {
509 val
* var_v
/* var v: TransformVisitor */;
510 val
* var
/* : ASTBuilder */;
511 val
* var1
/* : AExpr */;
512 val
* var2
/* : nullable MType */;
513 val
* var3
/* : AIfExpr */;
514 val
* var_nif
/* var nif: AIfExpr */;
515 val
* var4
/* : nullable AExpr */;
516 val
* var5
/* : AExpr */;
517 val
* var6
/* : nullable AExpr */;
518 val
* var7
/* : AExpr */;
519 val
* var8
/* : AVarExpr */;
521 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
522 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr
]))(self
) /* n_expr on <self:AAndExpr>*/;
523 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAndExpr>*/;
524 var3
= ((val
* (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_if
]))(var
, var1
, var2
) /* make_if on <var:ASTBuilder>*/;
526 var4
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(var_nif
) /* n_then on <var_nif:AIfExpr>*/;
527 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr2
]))(self
) /* n_expr2 on <self:AAndExpr>*/;
529 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
530 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 143);
533 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var4
, var5
) /* add on <var4:nullable AExpr>*/;
535 var6
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(var_nif
) /* n_else on <var_nif:AIfExpr>*/;
536 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr
]))(self
) /* n_expr on <self:AAndExpr>*/;
537 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var7
) /* make_var_read on <var7:AExpr>*/;
539 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
540 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 144);
543 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var6
, var8
) /* add on <var6:nullable AExpr>*/;
545 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nif
) /* replace_with on <self:AAndExpr>*/;
548 /* method transform#AAndExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
549 void VIRTUAL_transform__AAndExpr__accept_transform_visitor(val
* self
, val
* p0
) {
550 transform__AAndExpr__accept_transform_visitor(self
, p0
);
553 /* method transform#AWhileExpr#accept_transform_visitor for (self: AWhileExpr, TransformVisitor) */
554 void transform__AWhileExpr__accept_transform_visitor(val
* self
, val
* p0
) {
555 val
* var_v
/* var v: TransformVisitor */;
559 /* method transform#AWhileExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
560 void VIRTUAL_transform__AWhileExpr__accept_transform_visitor(val
* self
, val
* p0
) {
561 transform__AWhileExpr__accept_transform_visitor(self
, p0
);
564 /* method transform#AForExpr#accept_transform_visitor for (self: AForExpr, TransformVisitor) */
565 void transform__AForExpr__accept_transform_visitor(val
* self
, val
* p0
) {
566 val
* var_v
/* var v: TransformVisitor */;
570 /* method transform#AForExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
571 void VIRTUAL_transform__AForExpr__accept_transform_visitor(val
* self
, val
* p0
) {
572 transform__AForExpr__accept_transform_visitor(self
, p0
);
575 /* method transform#AArrayExpr#accept_transform_visitor for (self: AArrayExpr, TransformVisitor) */
576 void transform__AArrayExpr__accept_transform_visitor(val
* self
, val
* p0
) {
577 val
* var_v
/* var v: TransformVisitor */;
578 val
* var
/* : nullable MType */;
579 short int var1
/* : Bool */;
582 const char* var_class_name
;
583 val
* var_mtype
/* var mtype: MClassType */;
584 val
* var2
/* : ASTBuilder */;
585 val
* var3
/* : ABlockExpr */;
586 val
* var_nblock
/* var nblock: ABlockExpr */;
588 val
* var4
/* : String */;
589 char* var5
/* : NativeString */;
590 long var6
/* : Int */;
591 val
* var7
/* : String */;
592 val
* var8
/* : MClass */;
593 val
* var9
/* : MMethod */;
594 val
* var_meth
/* var meth: MMethod */;
595 val
* var10
/* : ASTBuilder */;
596 val
* var11
/* : ASTBuilder */;
597 val
* var12
/* : AExprs */;
598 val
* var13
/* : ANodes[AExpr] */;
599 long var14
/* : Int */;
600 val
* var15
/* : AIntExpr */;
601 val
* var16
/* : Array[AIntExpr] */;
602 long var17
/* : Int */;
603 val
* var18
/* : NativeArray[AIntExpr] */;
604 val
* var19
/* : ANewExpr */;
605 val
* var_nnew
/* var nnew: ANewExpr */;
606 static val
* varonce20
;
607 val
* var21
/* : String */;
608 char* var22
/* : NativeString */;
609 long var23
/* : Int */;
610 val
* var24
/* : String */;
611 val
* var25
/* : MClass */;
612 val
* var26
/* : MMethod */;
613 val
* var_madd
/* var madd: MMethod */;
614 val
* var27
/* : AExprs */;
615 val
* var28
/* : ANodes[AExpr] */;
616 val
* var29
/* : Iterator[nullable Object] */;
617 short int var30
/* : Bool */;
618 val
* var31
/* : nullable Object */;
619 val
* var_nexpr
/* var nexpr: AExpr */;
620 val
* var32
/* : ASTBuilder */;
621 val
* var33
/* : AVarExpr */;
622 val
* var34
/* : Array[AExpr] */;
623 long var35
/* : Int */;
624 val
* var36
/* : NativeArray[AExpr] */;
625 val
* var37
/* : ACallExpr */;
626 val
* var_nadd
/* var nadd: ACallExpr */;
627 val
* var38
/* : AVarExpr */;
628 val
* var_nres
/* var nres: AVarExpr */;
630 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AArrayExpr>*/;
631 /* <var:nullable MType> isa MClassType */
632 cltype
= type_model__MClassType
.color
;
633 idtype
= type_model__MClassType
.id
;
637 if(cltype
>= var
->type
->table_size
) {
640 var1
= var
->type
->type_table
[cltype
] == idtype
;
644 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
645 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
646 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 173);
650 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
651 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var2
) /* make_block on <var2:ASTBuilder>*/;
656 var5
= "with_capacity";
658 var7
= string__NativeString__to_s_with_length(var5
, var6
);
662 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
663 var9
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_method
]))(var_v
, self
, var4
, var8
) /* get_method on <var_v:TransformVisitor>*/;
665 var10
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
666 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
667 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AArrayExpr__n_exprs
]))(self
) /* n_exprs on <self:AArrayExpr>*/;
668 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var12
) /* n_exprs on <var12:AExprs>*/;
669 var14
= ((long (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var13
) /* length on <var13:ANodes[AExpr]>*/;
670 var15
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_astbuilder__ASTBuilder__make_int
]))(var11
, var14
) /* make_int on <var11:ASTBuilder>*/;
671 var16
= NEW_array__Array(&type_array__Arrayparser_nodes__AIntExpr
);
672 { /* var16 = array_instance Array[AIntExpr] */
674 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayparser_nodes__AIntExpr
);
675 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var15
;
676 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[AIntExpr]>*/;
678 var19
= ((val
* (*)(val
*, val
*, val
*, val
*))(var10
->class->vft
[COLOR_astbuilder__ASTBuilder__make_new
]))(var10
, var_mtype
, var_meth
, var16
) /* make_new on <var10:ASTBuilder>*/;
680 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nnew
) /* add on <var_nblock:ABlockExpr>*/;
686 var24
= string__NativeString__to_s_with_length(var22
, var23
);
690 var25
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
691 var26
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_method
]))(var_v
, self
, var21
, var25
) /* get_method on <var_v:TransformVisitor>*/;
693 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AArrayExpr__n_exprs
]))(self
) /* n_exprs on <self:AArrayExpr>*/;
694 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var27
) /* n_exprs on <var27:AExprs>*/;
695 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:ANodes[AExpr]>*/;
697 var30
= ((short int (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var29
) /* is_ok on <var29:Iterator[nullable Object]>*/;
699 var31
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var29
) /* item on <var29:Iterator[nullable Object]>*/;
701 var32
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
702 var33
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
703 var34
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
704 { /* var34 = array_instance Array[AExpr] */
706 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArrayparser_nodes__AExpr
);
707 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var_nexpr
;
708 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[AExpr]>*/;
710 var37
= ((val
* (*)(val
*, val
*, val
*, val
*))(var32
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var32
, var33
, var_madd
, var34
) /* make_call on <var32:ASTBuilder>*/;
712 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nadd
) /* add on <var_nblock:ABlockExpr>*/;
713 CONTINUE_label
: (void)0;
714 ((void (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var29
) /* next on <var29:Iterator[nullable Object]>*/;
716 BREAK_label
: (void)0;
717 var38
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
719 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nres
) /* add on <var_nblock:ABlockExpr>*/;
720 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:AArrayExpr>*/;
723 /* method transform#AArrayExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
724 void VIRTUAL_transform__AArrayExpr__accept_transform_visitor(val
* self
, val
* p0
) {
725 transform__AArrayExpr__accept_transform_visitor(self
, p0
);
728 /* method transform#ASuperstringExpr#accept_transform_visitor for (self: ASuperstringExpr, TransformVisitor) */
729 void transform__ASuperstringExpr__accept_transform_visitor(val
* self
, val
* p0
) {
730 val
* var_v
/* var v: TransformVisitor */;
731 val
* var
/* : ASTBuilder */;
732 val
* var1
/* : ABlockExpr */;
733 val
* var_nblock
/* var nblock: ABlockExpr */;
735 val
* var2
/* : String */;
736 char* var3
/* : NativeString */;
737 long var4
/* : Int */;
738 val
* var5
/* : String */;
739 val
* var6
/* : MClass */;
740 static val
* varonce7
;
741 val
* var8
/* : String */;
742 char* var9
/* : NativeString */;
743 long var10
/* : Int */;
744 val
* var11
/* : String */;
745 val
* var12
/* : MClass */;
746 val
* var13
/* : MClassType */;
747 val
* var14
/* : Array[MClassType] */;
748 long var15
/* : Int */;
749 val
* var16
/* : NativeArray[MClassType] */;
750 val
* var17
/* : MClassType */;
751 val
* var_arraytype
/* var arraytype: MClassType */;
752 static val
* varonce18
;
753 val
* var19
/* : String */;
754 char* var20
/* : NativeString */;
755 long var21
/* : Int */;
756 val
* var22
/* : String */;
757 val
* var23
/* : MClass */;
758 val
* var24
/* : MMethod */;
759 val
* var_meth
/* var meth: MMethod */;
760 val
* var25
/* : ASTBuilder */;
761 val
* var26
/* : ASTBuilder */;
762 val
* var27
/* : ANodes[AExpr] */;
763 long var28
/* : Int */;
764 val
* var29
/* : AIntExpr */;
765 val
* var30
/* : Array[AIntExpr] */;
766 long var31
/* : Int */;
767 val
* var32
/* : NativeArray[AIntExpr] */;
768 val
* var33
/* : ANewExpr */;
769 val
* var_nnew
/* var nnew: ANewExpr */;
770 static val
* varonce34
;
771 val
* var35
/* : String */;
772 char* var36
/* : NativeString */;
773 long var37
/* : Int */;
774 val
* var38
/* : String */;
775 val
* var39
/* : MClass */;
776 val
* var40
/* : MMethod */;
777 val
* var_madd
/* var madd: MMethod */;
778 val
* var41
/* : ANodes[AExpr] */;
779 val
* var42
/* : Iterator[nullable Object] */;
780 short int var43
/* : Bool */;
781 val
* var44
/* : nullable Object */;
782 val
* var_nexpr
/* var nexpr: AExpr */;
783 val
* var45
/* : ASTBuilder */;
784 val
* var46
/* : AVarExpr */;
785 val
* var47
/* : Array[AExpr] */;
786 long var48
/* : Int */;
787 val
* var49
/* : NativeArray[AExpr] */;
788 val
* var50
/* : ACallExpr */;
789 val
* var_nadd
/* var nadd: ACallExpr */;
790 static val
* varonce51
;
791 val
* var52
/* : String */;
792 char* var53
/* : NativeString */;
793 long var54
/* : Int */;
794 val
* var55
/* : String */;
795 val
* var56
/* : MClass */;
796 val
* var57
/* : MMethod */;
797 val
* var_mtos
/* var mtos: MMethod */;
798 val
* var58
/* : ASTBuilder */;
799 val
* var59
/* : AVarExpr */;
800 val
* var60
/* : null */;
801 val
* var61
/* : ACallExpr */;
802 val
* var_ntos
/* var ntos: ACallExpr */;
804 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
805 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var
) /* make_block on <var:ASTBuilder>*/;
812 var5
= string__NativeString__to_s_with_length(var3
, var4
);
816 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_class
]))(var_v
, self
, var2
) /* get_class on <var_v:TransformVisitor>*/;
822 var11
= string__NativeString__to_s_with_length(var9
, var10
);
826 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_class
]))(var_v
, self
, var8
) /* get_class on <var_v:TransformVisitor>*/;
827 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClass__mclass_type
]))(var12
) /* mclass_type on <var12:MClass>*/;
828 var14
= NEW_array__Array(&type_array__Arraymodel__MClassType
);
829 { /* var14 = array_instance Array[MClassType] */
831 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraymodel__MClassType
);
832 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var13
;
833 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[MClassType]>*/;
835 var17
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_model__MClass__get_mtype
]))(var6
, var14
) /* get_mtype on <var6:MClass>*/;
836 var_arraytype
= var17
;
840 var20
= "with_capacity";
842 var22
= string__NativeString__to_s_with_length(var20
, var21
);
846 var23
= ((val
* (*)(val
*))(var_arraytype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_arraytype
) /* mclass on <var_arraytype:MClassType>*/;
847 var24
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_method
]))(var_v
, self
, var19
, var23
) /* get_method on <var_v:TransformVisitor>*/;
849 var25
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
850 var26
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
851 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperstringExpr__n_exprs
]))(self
) /* n_exprs on <self:ASuperstringExpr>*/;
852 var28
= ((long (*)(val
*))(var27
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var27
) /* length on <var27:ANodes[AExpr]>*/;
853 var29
= ((val
* (*)(val
*, long))(var26
->class->vft
[COLOR_astbuilder__ASTBuilder__make_int
]))(var26
, var28
) /* make_int on <var26:ASTBuilder>*/;
854 var30
= NEW_array__Array(&type_array__Arrayparser_nodes__AIntExpr
);
855 { /* var30 = array_instance Array[AIntExpr] */
857 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArrayparser_nodes__AIntExpr
);
858 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var29
;
859 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[AIntExpr]>*/;
861 var33
= ((val
* (*)(val
*, val
*, val
*, val
*))(var25
->class->vft
[COLOR_astbuilder__ASTBuilder__make_new
]))(var25
, var_arraytype
, var_meth
, var30
) /* make_new on <var25:ASTBuilder>*/;
863 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nnew
) /* add on <var_nblock:ABlockExpr>*/;
869 var38
= string__NativeString__to_s_with_length(var36
, var37
);
873 var39
= ((val
* (*)(val
*))(var_arraytype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_arraytype
) /* mclass on <var_arraytype:MClassType>*/;
874 var40
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_method
]))(var_v
, self
, var35
, var39
) /* get_method on <var_v:TransformVisitor>*/;
876 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperstringExpr__n_exprs
]))(self
) /* n_exprs on <self:ASuperstringExpr>*/;
877 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var41
) /* iterator on <var41:ANodes[AExpr]>*/;
879 var43
= ((short int (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var42
) /* is_ok on <var42:Iterator[nullable Object]>*/;
881 var44
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var42
) /* item on <var42:Iterator[nullable Object]>*/;
883 var45
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
884 var46
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
885 var47
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
886 { /* var47 = array_instance Array[AExpr] */
888 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArrayparser_nodes__AExpr
);
889 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var_nexpr
;
890 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[AExpr]>*/;
892 var50
= ((val
* (*)(val
*, val
*, val
*, val
*))(var45
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var45
, var46
, var_madd
, var47
) /* make_call on <var45:ASTBuilder>*/;
894 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nadd
) /* add on <var_nblock:ABlockExpr>*/;
895 CONTINUE_label
: (void)0;
896 ((void (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var42
) /* next on <var42:Iterator[nullable Object]>*/;
898 BREAK_label
: (void)0;
904 var55
= string__NativeString__to_s_with_length(var53
, var54
);
908 var56
= ((val
* (*)(val
*))(var_arraytype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_arraytype
) /* mclass on <var_arraytype:MClassType>*/;
909 var57
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_method
]))(var_v
, self
, var52
, var56
) /* get_method on <var_v:TransformVisitor>*/;
911 var58
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
912 var59
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
914 var61
= ((val
* (*)(val
*, val
*, val
*, val
*))(var58
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var58
, var59
, var_mtos
, var60
) /* make_call on <var58:ASTBuilder>*/;
916 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_ntos
) /* add on <var_nblock:ABlockExpr>*/;
917 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:ASuperstringExpr>*/;
920 /* method transform#ASuperstringExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
921 void VIRTUAL_transform__ASuperstringExpr__accept_transform_visitor(val
* self
, val
* p0
) {
922 transform__ASuperstringExpr__accept_transform_visitor(self
, p0
);
925 /* method transform#ACrangeExpr#accept_transform_visitor for (self: ACrangeExpr, TransformVisitor) */
926 void transform__ACrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
927 val
* var_v
/* var v: TransformVisitor */;
928 val
* var
/* : nullable MType */;
929 short int var1
/* : Bool */;
932 const char* var_class_name
;
933 val
* var_mtype
/* var mtype: MClassType */;
935 val
* var2
/* : String */;
936 char* var3
/* : NativeString */;
937 long var4
/* : Int */;
938 val
* var5
/* : String */;
939 val
* var6
/* : MClass */;
940 val
* var7
/* : MMethod */;
941 val
* var_meth
/* var meth: MMethod */;
942 val
* var8
/* : ASTBuilder */;
943 val
* var9
/* : AExpr */;
944 val
* var10
/* : AExpr */;
945 val
* var11
/* : Array[AExpr] */;
946 long var12
/* : Int */;
947 val
* var13
/* : NativeArray[AExpr] */;
948 val
* var14
/* : ANewExpr */;
950 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACrangeExpr>*/;
951 /* <var:nullable MType> isa MClassType */
952 cltype
= type_model__MClassType
.color
;
953 idtype
= type_model__MClassType
.id
;
957 if(cltype
>= var
->type
->table_size
) {
960 var1
= var
->type
->type_table
[cltype
] == idtype
;
964 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
965 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
966 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 227);
975 var5
= string__NativeString__to_s_with_length(var3
, var4
);
979 var6
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
980 var7
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_method
]))(var_v
, self
, var2
, var6
) /* get_method on <var_v:TransformVisitor>*/;
982 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
983 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:ACrangeExpr>*/;
984 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:ACrangeExpr>*/;
985 var11
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
986 { /* var11 = array_instance Array[AExpr] */
988 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArrayparser_nodes__AExpr
);
989 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var9
;
990 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var10
;
991 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[AExpr]>*/;
993 var14
= ((val
* (*)(val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_astbuilder__ASTBuilder__make_new
]))(var8
, var_mtype
, var_meth
, var11
) /* make_new on <var8:ASTBuilder>*/;
994 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var14
) /* replace_with on <self:ACrangeExpr>*/;
997 /* method transform#ACrangeExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
998 void VIRTUAL_transform__ACrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
999 transform__ACrangeExpr__accept_transform_visitor(self
, p0
);
1002 /* method transform#AOrangeExpr#accept_transform_visitor for (self: AOrangeExpr, TransformVisitor) */
1003 void transform__AOrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1004 val
* var_v
/* var v: TransformVisitor */;
1005 val
* var
/* : nullable MType */;
1006 short int var1
/* : Bool */;
1009 const char* var_class_name
;
1010 val
* var_mtype
/* var mtype: MClassType */;
1011 static val
* varonce
;
1012 val
* var2
/* : String */;
1013 char* var3
/* : NativeString */;
1014 long var4
/* : Int */;
1015 val
* var5
/* : String */;
1016 val
* var6
/* : MClass */;
1017 val
* var7
/* : MMethod */;
1018 val
* var_meth
/* var meth: MMethod */;
1019 val
* var8
/* : ASTBuilder */;
1020 val
* var9
/* : AExpr */;
1021 val
* var10
/* : AExpr */;
1022 val
* var11
/* : Array[AExpr] */;
1023 long var12
/* : Int */;
1024 val
* var13
/* : NativeArray[AExpr] */;
1025 val
* var14
/* : ANewExpr */;
1027 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrangeExpr>*/;
1028 /* <var:nullable MType> isa MClassType */
1029 cltype
= type_model__MClassType
.color
;
1030 idtype
= type_model__MClassType
.id
;
1034 if(cltype
>= var
->type
->table_size
) {
1037 var1
= var
->type
->type_table
[cltype
] == idtype
;
1041 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
1042 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
1043 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 238);
1050 var3
= "without_last";
1052 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1056 var6
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
1057 var7
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_method
]))(var_v
, self
, var2
, var6
) /* get_method on <var_v:TransformVisitor>*/;
1059 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1060 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:AOrangeExpr>*/;
1061 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrangeExpr>*/;
1062 var11
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1063 { /* var11 = array_instance Array[AExpr] */
1065 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArrayparser_nodes__AExpr
);
1066 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var9
;
1067 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var10
;
1068 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[AExpr]>*/;
1070 var14
= ((val
* (*)(val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_astbuilder__ASTBuilder__make_new
]))(var8
, var_mtype
, var_meth
, var11
) /* make_new on <var8:ASTBuilder>*/;
1071 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var14
) /* replace_with on <self:AOrangeExpr>*/;
1074 /* method transform#AOrangeExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1075 void VIRTUAL_transform__AOrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1076 transform__AOrangeExpr__accept_transform_visitor(self
, p0
);
1079 /* method transform#AParExpr#accept_transform_visitor for (self: AParExpr, TransformVisitor) */
1080 void transform__AParExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1081 val
* var_v
/* var v: TransformVisitor */;
1082 val
* var
/* : AExpr */;
1084 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AParExpr>*/;
1085 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var
) /* replace_with on <self:AParExpr>*/;
1088 /* method transform#AParExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1089 void VIRTUAL_transform__AParExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1090 transform__AParExpr__accept_transform_visitor(self
, p0
);
1093 /* method transform#ASendReassignFormExpr#accept_transform_visitor for (self: ASendReassignFormExpr, TransformVisitor) */
1094 void transform__ASendReassignFormExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1095 val
* var_v
/* var v: TransformVisitor */;
1096 val
* var
/* : ASTBuilder */;
1097 val
* var1
/* : ABlockExpr */;
1098 val
* var_nblock
/* var nblock: ABlockExpr */;
1099 val
* var2
/* : AExpr */;
1100 val
* var3
/* : Array[AExpr] */;
1101 val
* var_read_args
/* var read_args: Array[AExpr] */;
1102 val
* var4
/* : Array[AExpr] */;
1103 val
* var_write_args
/* var write_args: Array[AExpr] */;
1104 val
* var5
/* : nullable Array[AExpr] */;
1105 val
* var6
/* : Iterator[nullable Object] */;
1106 short int var7
/* : Bool */;
1107 val
* var8
/* : nullable Object */;
1108 val
* var_a
/* var a: AExpr */;
1109 val
* var9
/* : AVarExpr */;
1110 val
* var10
/* : AVarExpr */;
1111 val
* var11
/* : ASTBuilder */;
1112 val
* var12
/* : AExpr */;
1113 val
* var13
/* : AVarExpr */;
1114 val
* var14
/* : nullable CallSite */;
1115 val
* var15
/* : MMethod */;
1116 val
* var16
/* : ACallExpr */;
1117 val
* var_nread
/* var nread: ACallExpr */;
1118 val
* var17
/* : ASTBuilder */;
1119 val
* var18
/* : nullable CallSite */;
1120 val
* var19
/* : MMethod */;
1121 val
* var20
/* : AExpr */;
1122 val
* var21
/* : Array[AExpr] */;
1123 long var22
/* : Int */;
1124 val
* var23
/* : NativeArray[AExpr] */;
1125 val
* var24
/* : ACallExpr */;
1126 val
* var_nnewvalue
/* var nnewvalue: ACallExpr */;
1127 val
* var25
/* : ASTBuilder */;
1128 val
* var26
/* : AExpr */;
1129 val
* var27
/* : AVarExpr */;
1130 val
* var28
/* : nullable CallSite */;
1131 val
* var29
/* : MMethod */;
1132 val
* var30
/* : ACallExpr */;
1133 val
* var_nwrite
/* var nwrite: ACallExpr */;
1135 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1136 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var
) /* make_block on <var:ASTBuilder>*/;
1138 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
1139 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var2
) /* add on <var_nblock:ABlockExpr>*/;
1140 var3
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1141 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[AExpr]>*/;
1142 var_read_args
= var3
;
1143 var4
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1144 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[AExpr]>*/;
1145 var_write_args
= var4
;
1146 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendReassignFormExpr>*/;
1148 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1149 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 268);
1152 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:nullable Array[AExpr](Array[AExpr])>*/;
1154 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
1156 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
1158 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_a
) /* add on <var_nblock:ABlockExpr>*/;
1159 var9
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_a
) /* make_var_read on <var_a:AExpr>*/;
1160 ((void (*)(val
*, val
*))(var_read_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_read_args
, var9
) /* add on <var_read_args:Array[AExpr]>*/;
1161 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_a
) /* make_var_read on <var_a:AExpr>*/;
1162 ((void (*)(val
*, val
*))(var_write_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_write_args
, var10
) /* add on <var_write_args:Array[AExpr]>*/;
1163 CONTINUE_label
: (void)0;
1164 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
1166 BREAK_label
: (void)0;
1167 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1168 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
1169 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var12
) /* make_var_read on <var12:AExpr>*/;
1170 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendReassignFormExpr>*/;
1171 if (var14
== NULL
) {
1172 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1173 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 274);
1176 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var14
) /* mproperty on <var14:nullable CallSite>*/;
1178 var16
= ((val
* (*)(val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var11
, var13
, var15
, var_read_args
) /* make_call on <var11:ASTBuilder>*/;
1180 var17
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1181 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:ASendReassignFormExpr>*/;
1182 if (var18
== NULL
) {
1183 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1184 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 276);
1187 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var18
) /* mproperty on <var18:nullable CallSite>*/;
1189 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ASendReassignFormExpr>*/;
1190 var21
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1191 { /* var21 = array_instance Array[AExpr] */
1193 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArrayparser_nodes__AExpr
);
1194 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var20
;
1195 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[AExpr]>*/;
1197 var24
= ((val
* (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var17
, var_nread
, var19
, var21
) /* make_call on <var17:ASTBuilder>*/;
1198 var_nnewvalue
= var24
;
1199 ((void (*)(val
*, val
*))(var_write_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_write_args
, var_nnewvalue
) /* add on <var_write_args:Array[AExpr]>*/;
1200 var25
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1201 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
1202 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var26
) /* make_var_read on <var26:AExpr>*/;
1203 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendReassignFormExpr__write_callsite
]))(self
) /* write_callsite on <self:ASendReassignFormExpr>*/;
1204 if (var28
== NULL
) {
1205 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1206 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 279);
1209 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var28
) /* mproperty on <var28:nullable CallSite>*/;
1211 var30
= ((val
* (*)(val
*, val
*, val
*, val
*))(var25
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var25
, var27
, var29
, var_write_args
) /* make_call on <var25:ASTBuilder>*/;
1213 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nwrite
) /* add on <var_nblock:ABlockExpr>*/;
1214 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:ASendReassignFormExpr>*/;
1217 /* method transform#ASendReassignFormExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1218 void VIRTUAL_transform__ASendReassignFormExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1219 transform__ASendReassignFormExpr__accept_transform_visitor(self
, p0
);
1222 /* method transform#AVarReassignExpr#accept_transform_visitor for (self: AVarReassignExpr, TransformVisitor) */
1223 void transform__AVarReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1224 val
* var_v
/* var v: TransformVisitor */;
1225 val
* var
/* : nullable Variable */;
1226 val
* var_variable
/* var variable: Variable */;
1227 val
* var1
/* : ASTBuilder */;
1228 val
* var2
/* : nullable MType */;
1229 val
* var3
/* : AVarExpr */;
1230 val
* var_nread
/* var nread: AVarExpr */;
1231 val
* var4
/* : ASTBuilder */;
1232 val
* var5
/* : nullable CallSite */;
1233 val
* var6
/* : MMethod */;
1234 val
* var7
/* : AExpr */;
1235 val
* var8
/* : Array[AExpr] */;
1236 long var9
/* : Int */;
1237 val
* var10
/* : NativeArray[AExpr] */;
1238 val
* var11
/* : ACallExpr */;
1239 val
* var_nnewvalue
/* var nnewvalue: ACallExpr */;
1240 val
* var12
/* : ASTBuilder */;
1241 val
* var13
/* : AVarAssignExpr */;
1242 val
* var_nwrite
/* var nwrite: AVarAssignExpr */;
1244 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarReassignExpr>*/;
1246 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1247 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 290);
1251 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1252 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__read_type
]))(self
) /* read_type on <self:AVarReassignExpr>*/;
1254 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1255 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 292);
1258 var3
= ((val
* (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__ASTBuilder__make_var_read
]))(var1
, var_variable
, var2
) /* make_var_read on <var1:ASTBuilder>*/;
1260 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1261 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AVarReassignExpr>*/;
1263 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1264 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 294);
1267 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var5
) /* mproperty on <var5:nullable CallSite>*/;
1269 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AVarReassignExpr>*/;
1270 var8
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1271 { /* var8 = array_instance Array[AExpr] */
1273 var10
= NEW_array__NativeArray(var9
, &type_array__NativeArrayparser_nodes__AExpr
);
1274 ((struct instance_array__NativeArray
*)var10
)->values
[0] = (val
*) var7
;
1275 ((void (*)(val
*, val
*, long))(var8
->class->vft
[COLOR_array__Array__with_native
]))(var8
, var10
, var9
) /* with_native on <var8:Array[AExpr]>*/;
1277 var11
= ((val
* (*)(val
*, val
*, val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var4
, var_nread
, var6
, var8
) /* make_call on <var4:ASTBuilder>*/;
1278 var_nnewvalue
= var11
;
1279 var12
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1280 var13
= ((val
* (*)(val
*, val
*, val
*))(var12
->class->vft
[COLOR_astbuilder__ASTBuilder__make_var_assign
]))(var12
, var_variable
, var_nnewvalue
) /* make_var_assign on <var12:ASTBuilder>*/;
1282 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nwrite
) /* replace_with on <self:AVarReassignExpr>*/;
1285 /* method transform#AVarReassignExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1286 void VIRTUAL_transform__AVarReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1287 transform__AVarReassignExpr__accept_transform_visitor(self
, p0
);
1290 /* method transform#AAttrReassignExpr#accept_transform_visitor for (self: AAttrReassignExpr, TransformVisitor) */
1291 void transform__AAttrReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1292 val
* var_v
/* var v: TransformVisitor */;
1293 val
* var
/* : ASTBuilder */;
1294 val
* var1
/* : ABlockExpr */;
1295 val
* var_nblock
/* var nblock: ABlockExpr */;
1296 val
* var2
/* : AExpr */;
1297 val
* var3
/* : nullable MAttribute */;
1298 val
* var_attribute
/* var attribute: MAttribute */;
1299 val
* var4
/* : ASTBuilder */;
1300 val
* var5
/* : AExpr */;
1301 val
* var6
/* : AVarExpr */;
1302 val
* var7
/* : AAttrExpr */;
1303 val
* var_nread
/* var nread: AAttrExpr */;
1304 val
* var8
/* : ASTBuilder */;
1305 val
* var9
/* : nullable CallSite */;
1306 val
* var10
/* : MMethod */;
1307 val
* var11
/* : AExpr */;
1308 val
* var12
/* : Array[AExpr] */;
1309 long var13
/* : Int */;
1310 val
* var14
/* : NativeArray[AExpr] */;
1311 val
* var15
/* : ACallExpr */;
1312 val
* var_nnewvalue
/* var nnewvalue: ACallExpr */;
1313 val
* var16
/* : ASTBuilder */;
1314 val
* var17
/* : AExpr */;
1315 val
* var18
/* : AVarExpr */;
1316 val
* var19
/* : AAttrAssignExpr */;
1317 val
* var_nwrite
/* var nwrite: AAttrAssignExpr */;
1319 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1320 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var
) /* make_block on <var:ASTBuilder>*/;
1322 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
1323 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var2
) /* add on <var_nblock:ABlockExpr>*/;
1324 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrReassignExpr>*/;
1326 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1327 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 307);
1330 var_attribute
= var3
;
1331 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1332 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
1333 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var5
) /* make_var_read on <var5:AExpr>*/;
1334 var7
= ((val
* (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__ASTBuilder__make_attr_read
]))(var4
, var6
, var_attribute
) /* make_attr_read on <var4:ASTBuilder>*/;
1336 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1337 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AAttrReassignExpr>*/;
1339 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1340 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 310);
1343 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var9
) /* mproperty on <var9:nullable CallSite>*/;
1345 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrReassignExpr>*/;
1346 var12
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1347 { /* var12 = array_instance Array[AExpr] */
1349 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArrayparser_nodes__AExpr
);
1350 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var11
;
1351 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[AExpr]>*/;
1353 var15
= ((val
* (*)(val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var8
, var_nread
, var10
, var12
) /* make_call on <var8:ASTBuilder>*/;
1354 var_nnewvalue
= var15
;
1355 var16
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1356 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
1357 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var17
) /* make_var_read on <var17:AExpr>*/;
1358 var19
= ((val
* (*)(val
*, val
*, val
*, val
*))(var16
->class->vft
[COLOR_astbuilder__ASTBuilder__make_attr_assign
]))(var16
, var18
, var_attribute
, var_nnewvalue
) /* make_attr_assign on <var16:ASTBuilder>*/;
1360 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nwrite
) /* add on <var_nblock:ABlockExpr>*/;
1361 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:AAttrReassignExpr>*/;
1364 /* method transform#AAttrReassignExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1365 void VIRTUAL_transform__AAttrReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1366 transform__AAttrReassignExpr__accept_transform_visitor(self
, p0
);