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>*/;
45 CHECK_NEW_transform__TransformVisitor(var
);
47 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var_npropdef
) /* enter_visit on <var_v:TransformVisitor>*/;
48 var1
= NEW_astvalidation__ASTValidationVisitor(&type_astvalidation__ASTValidationVisitor
);
49 ((void (*)(val
*))(var1
->class->vft
[COLOR_astvalidation__ASTValidationVisitor__init
]))(var1
) /* init on <var1:ASTValidationVisitor>*/;
50 CHECK_NEW_astvalidation__ASTValidationVisitor(var1
);
52 ((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)>*/;
55 /* method transform#TransformPhase#process_npropdef for (self: Object, APropdef) */
56 void VIRTUAL_transform__TransformPhase__process_npropdef(val
* self
, val
* p0
) {
57 transform__TransformPhase__process_npropdef(self
, p0
);
60 /* method transform#TransformVisitor#phase for (self: TransformVisitor): TransformPhase */
61 val
* transform__TransformVisitor__phase(val
* self
) {
62 val
* var
/* : TransformPhase */;
63 val
* var1
/* : TransformPhase */;
64 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dphase
].val
; /* @phase on <self:TransformVisitor> */
66 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @phase");
67 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 45);
74 /* method transform#TransformVisitor#phase for (self: Object): TransformPhase */
75 val
* VIRTUAL_transform__TransformVisitor__phase(val
* self
) {
76 val
* var
/* : TransformPhase */;
77 val
* var1
/* : TransformPhase */;
78 var1
= transform__TransformVisitor__phase(self
);
83 /* method transform#TransformVisitor#phase= for (self: TransformVisitor, TransformPhase) */
84 void transform__TransformVisitor__phase_61d(val
* self
, val
* p0
) {
85 self
->attrs
[COLOR_transform__TransformVisitor___64dphase
].val
= p0
; /* @phase on <self:TransformVisitor> */
88 /* method transform#TransformVisitor#phase= for (self: Object, TransformPhase) */
89 void VIRTUAL_transform__TransformVisitor__phase_61d(val
* self
, val
* p0
) {
90 transform__TransformVisitor__phase_61d(self
, p0
);
93 /* method transform#TransformVisitor#mmodule for (self: TransformVisitor): MModule */
94 val
* transform__TransformVisitor__mmodule(val
* self
) {
95 val
* var
/* : MModule */;
96 val
* var1
/* : MModule */;
97 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dmmodule
].val
; /* @mmodule on <self:TransformVisitor> */
99 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mmodule");
100 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 46);
107 /* method transform#TransformVisitor#mmodule for (self: Object): MModule */
108 val
* VIRTUAL_transform__TransformVisitor__mmodule(val
* self
) {
109 val
* var
/* : MModule */;
110 val
* var1
/* : MModule */;
111 var1
= transform__TransformVisitor__mmodule(self
);
116 /* method transform#TransformVisitor#mmodule= for (self: TransformVisitor, MModule) */
117 void transform__TransformVisitor__mmodule_61d(val
* self
, val
* p0
) {
118 self
->attrs
[COLOR_transform__TransformVisitor___64dmmodule
].val
= p0
; /* @mmodule on <self:TransformVisitor> */
121 /* method transform#TransformVisitor#mmodule= for (self: Object, MModule) */
122 void VIRTUAL_transform__TransformVisitor__mmodule_61d(val
* self
, val
* p0
) {
123 transform__TransformVisitor__mmodule_61d(self
, p0
);
126 /* method transform#TransformVisitor#mclassdef for (self: TransformVisitor): MClassDef */
127 val
* transform__TransformVisitor__mclassdef(val
* self
) {
128 val
* var
/* : MClassDef */;
129 val
* var1
/* : MClassDef */;
130 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dmclassdef
].val
; /* @mclassdef on <self:TransformVisitor> */
132 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mclassdef");
133 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 47);
140 /* method transform#TransformVisitor#mclassdef for (self: Object): MClassDef */
141 val
* VIRTUAL_transform__TransformVisitor__mclassdef(val
* self
) {
142 val
* var
/* : MClassDef */;
143 val
* var1
/* : MClassDef */;
144 var1
= transform__TransformVisitor__mclassdef(self
);
149 /* method transform#TransformVisitor#mclassdef= for (self: TransformVisitor, MClassDef) */
150 void transform__TransformVisitor__mclassdef_61d(val
* self
, val
* p0
) {
151 self
->attrs
[COLOR_transform__TransformVisitor___64dmclassdef
].val
= p0
; /* @mclassdef on <self:TransformVisitor> */
154 /* method transform#TransformVisitor#mclassdef= for (self: Object, MClassDef) */
155 void VIRTUAL_transform__TransformVisitor__mclassdef_61d(val
* self
, val
* p0
) {
156 transform__TransformVisitor__mclassdef_61d(self
, p0
);
159 /* method transform#TransformVisitor#mpropdef for (self: TransformVisitor): MPropDef */
160 val
* transform__TransformVisitor__mpropdef(val
* self
) {
161 val
* var
/* : MPropDef */;
162 val
* var1
/* : MPropDef */;
163 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dmpropdef
].val
; /* @mpropdef on <self:TransformVisitor> */
165 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mpropdef");
166 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 48);
173 /* method transform#TransformVisitor#mpropdef for (self: Object): MPropDef */
174 val
* VIRTUAL_transform__TransformVisitor__mpropdef(val
* self
) {
175 val
* var
/* : MPropDef */;
176 val
* var1
/* : MPropDef */;
177 var1
= transform__TransformVisitor__mpropdef(self
);
182 /* method transform#TransformVisitor#mpropdef= for (self: TransformVisitor, MPropDef) */
183 void transform__TransformVisitor__mpropdef_61d(val
* self
, val
* p0
) {
184 self
->attrs
[COLOR_transform__TransformVisitor___64dmpropdef
].val
= p0
; /* @mpropdef on <self:TransformVisitor> */
187 /* method transform#TransformVisitor#mpropdef= for (self: Object, MPropDef) */
188 void VIRTUAL_transform__TransformVisitor__mpropdef_61d(val
* self
, val
* p0
) {
189 transform__TransformVisitor__mpropdef_61d(self
, p0
);
192 /* method transform#TransformVisitor#builder for (self: TransformVisitor): ASTBuilder */
193 val
* transform__TransformVisitor__builder(val
* self
) {
194 val
* var
/* : ASTBuilder */;
195 val
* var1
/* : ASTBuilder */;
196 var1
= self
->attrs
[COLOR_transform__TransformVisitor___64dbuilder
].val
; /* @builder on <self:TransformVisitor> */
198 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @builder");
199 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 49);
206 /* method transform#TransformVisitor#builder for (self: Object): ASTBuilder */
207 val
* VIRTUAL_transform__TransformVisitor__builder(val
* self
) {
208 val
* var
/* : ASTBuilder */;
209 val
* var1
/* : ASTBuilder */;
210 var1
= transform__TransformVisitor__builder(self
);
215 /* method transform#TransformVisitor#builder= for (self: TransformVisitor, ASTBuilder) */
216 void transform__TransformVisitor__builder_61d(val
* self
, val
* p0
) {
217 self
->attrs
[COLOR_transform__TransformVisitor___64dbuilder
].val
= p0
; /* @builder on <self:TransformVisitor> */
220 /* method transform#TransformVisitor#builder= for (self: Object, ASTBuilder) */
221 void VIRTUAL_transform__TransformVisitor__builder_61d(val
* self
, val
* p0
) {
222 transform__TransformVisitor__builder_61d(self
, p0
);
225 /* method transform#TransformVisitor#init for (self: TransformVisitor, TransformPhase, APropdef) */
226 void transform__TransformVisitor__init(val
* self
, val
* p0
, val
* p1
) {
227 val
* var_phase
/* var phase: TransformPhase */;
228 val
* var_npropdef
/* var npropdef: APropdef */;
229 val
* var
/* : nullable MPropDef */;
230 val
* var1
/* : MPropDef */;
231 val
* var2
/* : MClassDef */;
232 val
* var3
/* : MClassDef */;
233 val
* var4
/* : MModule */;
234 val
* var5
/* : ASTBuilder */;
235 val
* var6
/* : MModule */;
236 val
* var7
/* : MPropDef */;
237 val
* var8
/* : MClassDef */;
238 val
* var9
/* : MClassType */;
241 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:TransformVisitor>*/;
242 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__phase_61d
]))(self
, var_phase
) /* phase= on <self:TransformVisitor>*/;
243 var
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef>*/;
245 fprintf(stderr
, "Runtime error: %s", "Cast failed");
246 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 54);
249 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mpropdef_61d
]))(self
, var
) /* mpropdef= on <self:TransformVisitor>*/;
250 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mpropdef
]))(self
) /* mpropdef on <self:TransformVisitor>*/;
251 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var1
) /* mclassdef on <var1:MPropDef>*/;
252 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mclassdef_61d
]))(self
, var2
) /* mclassdef= on <self:TransformVisitor>*/;
253 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mclassdef
]))(self
) /* mclassdef on <self:TransformVisitor>*/;
254 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var3
) /* mmodule on <var3:MClassDef>*/;
255 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule_61d
]))(self
, var4
) /* mmodule= on <self:TransformVisitor>*/;
256 var5
= NEW_astbuilder__ASTBuilder(&type_astbuilder__ASTBuilder
);
257 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule
]))(self
) /* mmodule on <self:TransformVisitor>*/;
258 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mpropdef
]))(self
) /* mpropdef on <self:TransformVisitor>*/;
259 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var7
) /* mclassdef on <var7:MPropDef>*/;
260 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var8
) /* bound_mtype on <var8:MClassDef>*/;
261 ((void (*)(val
*, val
*, val
*))(var5
->class->vft
[COLOR_astbuilder__ASTBuilder__init
]))(var5
, var6
, var9
) /* init on <var5:ASTBuilder>*/;
262 CHECK_NEW_astbuilder__ASTBuilder(var5
);
263 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__builder_61d
]))(self
, var5
) /* builder= on <self:TransformVisitor>*/;
266 /* method transform#TransformVisitor#init for (self: Object, TransformPhase, APropdef) */
267 void VIRTUAL_transform__TransformVisitor__init(val
* self
, val
* p0
, val
* p1
) {
268 transform__TransformVisitor__init(self
, p0
, p1
);
271 /* method transform#TransformVisitor#visit for (self: TransformVisitor, ANode) */
272 void transform__TransformVisitor__visit(val
* self
, val
* p0
) {
273 val
* var_node
/* var node: ANode */;
274 short int var
/* : Bool */;
278 /* <var_node:ANode> isa AAnnotations */
279 cltype
= type_parser_nodes__AAnnotations
.color
;
280 idtype
= type_parser_nodes__AAnnotations
.id
;
281 if(cltype
>= var_node
->type
->table_size
) {
284 var
= var_node
->type
->type_table
[cltype
] == idtype
;
290 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_node
, self
) /* visit_all on <var_node:ANode>*/;
291 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_transform__ANode__accept_transform_visitor
]))(var_node
, self
) /* accept_transform_visitor on <var_node:ANode>*/;
294 /* method transform#TransformVisitor#visit for (self: Object, ANode) */
295 void VIRTUAL_transform__TransformVisitor__visit(val
* self
, val
* p0
) {
296 transform__TransformVisitor__visit(self
, p0
);
299 /* method transform#TransformVisitor#get_class for (self: TransformVisitor, AExpr, String): MClass */
300 val
* transform__TransformVisitor__get_class(val
* self
, val
* p0
, val
* p1
) {
301 val
* var
/* : MClass */;
302 val
* var_location
/* var location: AExpr */;
303 val
* var_name
/* var name: String */;
304 val
* var1
/* : MModule */;
305 val
* var2
/* : MClass */;
308 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule
]))(self
) /* mmodule on <self:TransformVisitor>*/;
309 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var1
, var_name
) /* get_primitive_class on <var1:MModule>*/;
315 /* method transform#TransformVisitor#get_class for (self: Object, AExpr, String): MClass */
316 val
* VIRTUAL_transform__TransformVisitor__get_class(val
* self
, val
* p0
, val
* p1
) {
317 val
* var
/* : MClass */;
318 val
* var1
/* : MClass */;
319 var1
= transform__TransformVisitor__get_class(self
, p0
, p1
);
324 /* method transform#TransformVisitor#get_method for (self: TransformVisitor, AExpr, String, MClass): MMethod */
325 val
* transform__TransformVisitor__get_method(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
326 val
* var
/* : MMethod */;
327 val
* var_location
/* var location: AExpr */;
328 val
* var_name
/* var name: String */;
329 val
* var_recv
/* var recv: MClass */;
330 val
* var1
/* : TransformPhase */;
331 val
* var2
/* : ToolContext */;
332 val
* var3
/* : ModelBuilder */;
333 val
* var4
/* : MModule */;
334 val
* var5
/* : MMethod */;
338 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__phase
]))(self
) /* phase on <self:TransformVisitor>*/;
339 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_phase__Phase__toolcontext
]))(var1
) /* toolcontext on <var1:TransformPhase>*/;
340 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var2
) /* modelbuilder on <var2:ToolContext>*/;
341 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_transform__TransformVisitor__mmodule
]))(self
) /* mmodule on <self:TransformVisitor>*/;
342 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>*/;
348 /* method transform#TransformVisitor#get_method for (self: Object, AExpr, String, MClass): MMethod */
349 val
* VIRTUAL_transform__TransformVisitor__get_method(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
350 val
* var
/* : MMethod */;
351 val
* var1
/* : MMethod */;
352 var1
= transform__TransformVisitor__get_method(self
, p0
, p1
, p2
);
357 /* method transform#ANode#accept_transform_visitor for (self: ANode, TransformVisitor) */
358 void transform__ANode__accept_transform_visitor(val
* self
, val
* p0
) {
359 val
* var_v
/* var v: TransformVisitor */;
363 /* method transform#ANode#accept_transform_visitor for (self: Object, TransformVisitor) */
364 void VIRTUAL_transform__ANode__accept_transform_visitor(val
* self
, val
* p0
) {
365 transform__ANode__accept_transform_visitor(self
, p0
);
368 /* method transform#AVardeclExpr#accept_transform_visitor for (self: AVardeclExpr, TransformVisitor) */
369 void transform__AVardeclExpr__accept_transform_visitor(val
* self
, val
* p0
) {
370 val
* var_v
/* var v: TransformVisitor */;
371 val
* var
/* : nullable AExpr */;
372 val
* var_nexpr
/* var nexpr: nullable AExpr */;
373 val
* var1
/* : null */;
374 short int var2
/* : Bool */;
375 val
* var3
/* : ASTBuilder */;
376 val
* var4
/* : nullable Variable */;
377 val
* var5
/* : AVarAssignExpr */;
378 val
* var_nvar
/* var nvar: AVarAssignExpr */;
380 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(self
) /* n_expr on <self:AVardeclExpr>*/;
383 if (var_nexpr
== NULL
) {
384 var2
= 1; /* is null */
386 var2
= 0; /* arg is null but recv is not */
389 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__detach
]))(self
) /* detach on <self:AVardeclExpr>*/;
391 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
392 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable
]))(self
) /* variable on <self:AVardeclExpr>*/;
394 fprintf(stderr
, "Runtime error: %s", "Cast failed");
395 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 99);
398 var5
= ((val
* (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_astbuilder__ASTBuilder__make_var_assign
]))(var3
, var4
, var_nexpr
) /* make_var_assign on <var3:ASTBuilder>*/;
400 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nvar
) /* replace_with on <self:AVardeclExpr>*/;
404 /* method transform#AVardeclExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
405 void VIRTUAL_transform__AVardeclExpr__accept_transform_visitor(val
* self
, val
* p0
) {
406 transform__AVardeclExpr__accept_transform_visitor(self
, p0
);
409 /* method transform#AIfexprExpr#accept_transform_visitor for (self: AIfexprExpr, TransformVisitor) */
410 void transform__AIfexprExpr__accept_transform_visitor(val
* self
, val
* p0
) {
411 val
* var_v
/* var v: TransformVisitor */;
412 val
* var
/* : ASTBuilder */;
413 val
* var1
/* : AExpr */;
414 val
* var2
/* : nullable MType */;
415 val
* var3
/* : AIfExpr */;
416 val
* var_nif
/* var nif: AIfExpr */;
417 val
* var4
/* : nullable AExpr */;
418 val
* var5
/* : AExpr */;
419 val
* var6
/* : nullable AExpr */;
420 val
* var7
/* : AExpr */;
422 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
423 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_expr
]))(self
) /* n_expr on <self:AIfexprExpr>*/;
424 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfexprExpr>*/;
425 var3
= ((val
* (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_if
]))(var
, var1
, var2
) /* make_if on <var:ASTBuilder>*/;
427 var4
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(var_nif
) /* n_then on <var_nif:AIfExpr>*/;
428 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_then
]))(self
) /* n_then on <self:AIfexprExpr>*/;
430 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
431 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 112);
434 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var4
, var5
) /* add on <var4:nullable AExpr>*/;
436 var6
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(var_nif
) /* n_else on <var_nif:AIfExpr>*/;
437 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_else
]))(self
) /* n_else on <self:AIfexprExpr>*/;
439 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
440 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 113);
443 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var6
, var7
) /* add on <var6:nullable AExpr>*/;
445 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nif
) /* replace_with on <self:AIfexprExpr>*/;
448 /* method transform#AIfexprExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
449 void VIRTUAL_transform__AIfexprExpr__accept_transform_visitor(val
* self
, val
* p0
) {
450 transform__AIfexprExpr__accept_transform_visitor(self
, p0
);
453 /* method transform#AOrExpr#accept_transform_visitor for (self: AOrExpr, TransformVisitor) */
454 void transform__AOrExpr__accept_transform_visitor(val
* self
, val
* p0
) {
455 val
* var_v
/* var v: TransformVisitor */;
456 val
* var
/* : ASTBuilder */;
457 val
* var1
/* : AExpr */;
458 val
* var2
/* : nullable MType */;
459 val
* var3
/* : AIfExpr */;
460 val
* var_nif
/* var nif: AIfExpr */;
461 val
* var4
/* : nullable AExpr */;
462 val
* var5
/* : AExpr */;
463 val
* var6
/* : AVarExpr */;
464 val
* var7
/* : nullable AExpr */;
465 val
* var8
/* : AExpr */;
467 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
468 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr
]))(self
) /* n_expr on <self:AOrExpr>*/;
469 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrExpr>*/;
470 var3
= ((val
* (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_if
]))(var
, var1
, var2
) /* make_if on <var:ASTBuilder>*/;
472 var4
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(var_nif
) /* n_then on <var_nif:AIfExpr>*/;
473 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr
]))(self
) /* n_expr on <self:AOrExpr>*/;
474 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var5
) /* make_var_read on <var5:AExpr>*/;
476 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
477 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 124);
480 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var4
, var6
) /* add on <var4:nullable AExpr>*/;
482 var7
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(var_nif
) /* n_else on <var_nif:AIfExpr>*/;
483 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrExpr>*/;
485 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
486 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 125);
489 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var7
, var8
) /* add on <var7:nullable AExpr>*/;
491 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nif
) /* replace_with on <self:AOrExpr>*/;
494 /* method transform#AOrExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
495 void VIRTUAL_transform__AOrExpr__accept_transform_visitor(val
* self
, val
* p0
) {
496 transform__AOrExpr__accept_transform_visitor(self
, p0
);
499 /* method transform#AImpliesExpr#accept_transform_visitor for (self: AImpliesExpr, TransformVisitor) */
500 void transform__AImpliesExpr__accept_transform_visitor(val
* self
, val
* p0
) {
501 val
* var_v
/* var v: TransformVisitor */;
505 /* method transform#AImpliesExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
506 void VIRTUAL_transform__AImpliesExpr__accept_transform_visitor(val
* self
, val
* p0
) {
507 transform__AImpliesExpr__accept_transform_visitor(self
, p0
);
510 /* method transform#AAndExpr#accept_transform_visitor for (self: AAndExpr, TransformVisitor) */
511 void transform__AAndExpr__accept_transform_visitor(val
* self
, val
* p0
) {
512 val
* var_v
/* var v: TransformVisitor */;
513 val
* var
/* : ASTBuilder */;
514 val
* var1
/* : AExpr */;
515 val
* var2
/* : nullable MType */;
516 val
* var3
/* : AIfExpr */;
517 val
* var_nif
/* var nif: AIfExpr */;
518 val
* var4
/* : nullable AExpr */;
519 val
* var5
/* : AExpr */;
520 val
* var6
/* : nullable AExpr */;
521 val
* var7
/* : AExpr */;
522 val
* var8
/* : AVarExpr */;
524 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
525 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr
]))(self
) /* n_expr on <self:AAndExpr>*/;
526 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAndExpr>*/;
527 var3
= ((val
* (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_if
]))(var
, var1
, var2
) /* make_if on <var:ASTBuilder>*/;
529 var4
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(var_nif
) /* n_then on <var_nif:AIfExpr>*/;
530 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr2
]))(self
) /* n_expr2 on <self:AAndExpr>*/;
532 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
533 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 143);
536 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var4
, var5
) /* add on <var4:nullable AExpr>*/;
538 var6
= ((val
* (*)(val
*))(var_nif
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(var_nif
) /* n_else on <var_nif:AIfExpr>*/;
539 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr
]))(self
) /* n_expr on <self:AAndExpr>*/;
540 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var7
) /* make_var_read on <var7:AExpr>*/;
542 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
543 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 144);
546 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var6
, var8
) /* add on <var6:nullable AExpr>*/;
548 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nif
) /* replace_with on <self:AAndExpr>*/;
551 /* method transform#AAndExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
552 void VIRTUAL_transform__AAndExpr__accept_transform_visitor(val
* self
, val
* p0
) {
553 transform__AAndExpr__accept_transform_visitor(self
, p0
);
556 /* method transform#AWhileExpr#accept_transform_visitor for (self: AWhileExpr, TransformVisitor) */
557 void transform__AWhileExpr__accept_transform_visitor(val
* self
, val
* p0
) {
558 val
* var_v
/* var v: TransformVisitor */;
562 /* method transform#AWhileExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
563 void VIRTUAL_transform__AWhileExpr__accept_transform_visitor(val
* self
, val
* p0
) {
564 transform__AWhileExpr__accept_transform_visitor(self
, p0
);
567 /* method transform#AForExpr#accept_transform_visitor for (self: AForExpr, TransformVisitor) */
568 void transform__AForExpr__accept_transform_visitor(val
* self
, val
* p0
) {
569 val
* var_v
/* var v: TransformVisitor */;
573 /* method transform#AForExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
574 void VIRTUAL_transform__AForExpr__accept_transform_visitor(val
* self
, val
* p0
) {
575 transform__AForExpr__accept_transform_visitor(self
, p0
);
578 /* method transform#AArrayExpr#accept_transform_visitor for (self: AArrayExpr, TransformVisitor) */
579 void transform__AArrayExpr__accept_transform_visitor(val
* self
, val
* p0
) {
580 val
* var_v
/* var v: TransformVisitor */;
581 val
* var
/* : nullable MType */;
582 short int var1
/* : Bool */;
585 const char* var_class_name
;
586 val
* var_mtype
/* var mtype: MClassType */;
587 val
* var2
/* : ASTBuilder */;
588 val
* var3
/* : ABlockExpr */;
589 val
* var_nblock
/* var nblock: ABlockExpr */;
591 val
* var4
/* : String */;
592 char* var5
/* : NativeString */;
593 long var6
/* : Int */;
594 val
* var7
/* : String */;
595 val
* var8
/* : MClass */;
596 val
* var9
/* : MMethod */;
597 val
* var_meth
/* var meth: MMethod */;
598 val
* var10
/* : ASTBuilder */;
599 val
* var11
/* : ASTBuilder */;
600 val
* var12
/* : AExprs */;
601 val
* var13
/* : ANodes[AExpr] */;
602 long var14
/* : Int */;
603 val
* var15
/* : AIntExpr */;
604 val
* var16
/* : Array[AIntExpr] */;
605 long var17
/* : Int */;
606 val
* var18
/* : NativeArray[AIntExpr] */;
607 val
* var19
/* : ANewExpr */;
608 val
* var_nnew
/* var nnew: ANewExpr */;
609 static val
* varonce20
;
610 val
* var21
/* : String */;
611 char* var22
/* : NativeString */;
612 long var23
/* : Int */;
613 val
* var24
/* : String */;
614 val
* var25
/* : MClass */;
615 val
* var26
/* : MMethod */;
616 val
* var_madd
/* var madd: MMethod */;
617 val
* var27
/* : AExprs */;
618 val
* var28
/* : ANodes[AExpr] */;
619 val
* var29
/* : Iterator[nullable Object] */;
620 short int var30
/* : Bool */;
621 val
* var31
/* : nullable Object */;
622 val
* var_nexpr
/* var nexpr: AExpr */;
623 val
* var32
/* : ASTBuilder */;
624 val
* var33
/* : AVarExpr */;
625 val
* var34
/* : Array[AExpr] */;
626 long var35
/* : Int */;
627 val
* var36
/* : NativeArray[AExpr] */;
628 val
* var37
/* : ACallExpr */;
629 val
* var_nadd
/* var nadd: ACallExpr */;
630 val
* var38
/* : AVarExpr */;
631 val
* var_nres
/* var nres: AVarExpr */;
633 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AArrayExpr>*/;
634 /* <var:nullable MType> isa MClassType */
635 cltype
= type_model__MClassType
.color
;
636 idtype
= type_model__MClassType
.id
;
640 if(cltype
>= var
->type
->table_size
) {
643 var1
= var
->type
->type_table
[cltype
] == idtype
;
647 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
648 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
649 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 173);
653 var2
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
654 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var2
) /* make_block on <var2:ASTBuilder>*/;
659 var5
= "with_capacity";
661 var7
= string__NativeString__to_s_with_length(var5
, var6
);
665 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
666 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>*/;
668 var10
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
669 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
670 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AArrayExpr__n_exprs
]))(self
) /* n_exprs on <self:AArrayExpr>*/;
671 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var12
) /* n_exprs on <var12:AExprs>*/;
672 var14
= ((long (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var13
) /* length on <var13:ANodes[AExpr]>*/;
673 var15
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_astbuilder__ASTBuilder__make_int
]))(var11
, var14
) /* make_int on <var11:ASTBuilder>*/;
674 var16
= NEW_array__Array(&type_array__Arrayparser_nodes__AIntExpr
);
675 { /* var16 = array_instance Array[AIntExpr] */
677 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayparser_nodes__AIntExpr
);
678 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var15
;
679 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[AIntExpr]>*/;
680 CHECK_NEW_array__Array(var16
);
682 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>*/;
684 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nnew
) /* add on <var_nblock:ABlockExpr>*/;
690 var24
= string__NativeString__to_s_with_length(var22
, var23
);
694 var25
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
695 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>*/;
697 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AArrayExpr__n_exprs
]))(self
) /* n_exprs on <self:AArrayExpr>*/;
698 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var27
) /* n_exprs on <var27:AExprs>*/;
699 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:ANodes[AExpr]>*/;
701 var30
= ((short int (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var29
) /* is_ok on <var29:Iterator[nullable Object]>*/;
703 var31
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var29
) /* item on <var29:Iterator[nullable Object]>*/;
705 var32
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
706 var33
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
707 var34
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
708 { /* var34 = array_instance Array[AExpr] */
710 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArrayparser_nodes__AExpr
);
711 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var_nexpr
;
712 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[AExpr]>*/;
713 CHECK_NEW_array__Array(var34
);
715 var37
= ((val
* (*)(val
*, val
*, val
*, val
*))(var32
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var32
, var33
, var_madd
, var34
) /* make_call on <var32:ASTBuilder>*/;
717 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nadd
) /* add on <var_nblock:ABlockExpr>*/;
718 CONTINUE_label
: (void)0;
719 ((void (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var29
) /* next on <var29:Iterator[nullable Object]>*/;
721 BREAK_label
: (void)0;
722 var38
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
724 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nres
) /* add on <var_nblock:ABlockExpr>*/;
725 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:AArrayExpr>*/;
728 /* method transform#AArrayExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
729 void VIRTUAL_transform__AArrayExpr__accept_transform_visitor(val
* self
, val
* p0
) {
730 transform__AArrayExpr__accept_transform_visitor(self
, p0
);
733 /* method transform#ASuperstringExpr#accept_transform_visitor for (self: ASuperstringExpr, TransformVisitor) */
734 void transform__ASuperstringExpr__accept_transform_visitor(val
* self
, val
* p0
) {
735 val
* var_v
/* var v: TransformVisitor */;
736 val
* var
/* : ASTBuilder */;
737 val
* var1
/* : ABlockExpr */;
738 val
* var_nblock
/* var nblock: ABlockExpr */;
740 val
* var2
/* : String */;
741 char* var3
/* : NativeString */;
742 long var4
/* : Int */;
743 val
* var5
/* : String */;
744 val
* var6
/* : MClass */;
745 static val
* varonce7
;
746 val
* var8
/* : String */;
747 char* var9
/* : NativeString */;
748 long var10
/* : Int */;
749 val
* var11
/* : String */;
750 val
* var12
/* : MClass */;
751 val
* var13
/* : MClassType */;
752 val
* var14
/* : Array[MClassType] */;
753 long var15
/* : Int */;
754 val
* var16
/* : NativeArray[MClassType] */;
755 val
* var17
/* : MClassType */;
756 val
* var_arraytype
/* var arraytype: MClassType */;
757 static val
* varonce18
;
758 val
* var19
/* : String */;
759 char* var20
/* : NativeString */;
760 long var21
/* : Int */;
761 val
* var22
/* : String */;
762 val
* var23
/* : MClass */;
763 val
* var24
/* : MMethod */;
764 val
* var_meth
/* var meth: MMethod */;
765 val
* var25
/* : ASTBuilder */;
766 val
* var26
/* : ASTBuilder */;
767 val
* var27
/* : ANodes[AExpr] */;
768 long var28
/* : Int */;
769 val
* var29
/* : AIntExpr */;
770 val
* var30
/* : Array[AIntExpr] */;
771 long var31
/* : Int */;
772 val
* var32
/* : NativeArray[AIntExpr] */;
773 val
* var33
/* : ANewExpr */;
774 val
* var_nnew
/* var nnew: ANewExpr */;
775 static val
* varonce34
;
776 val
* var35
/* : String */;
777 char* var36
/* : NativeString */;
778 long var37
/* : Int */;
779 val
* var38
/* : String */;
780 val
* var39
/* : MClass */;
781 val
* var40
/* : MMethod */;
782 val
* var_madd
/* var madd: MMethod */;
783 val
* var41
/* : ANodes[AExpr] */;
784 val
* var42
/* : Iterator[nullable Object] */;
785 short int var43
/* : Bool */;
786 val
* var44
/* : nullable Object */;
787 val
* var_nexpr
/* var nexpr: AExpr */;
788 val
* var45
/* : ASTBuilder */;
789 val
* var46
/* : AVarExpr */;
790 val
* var47
/* : Array[AExpr] */;
791 long var48
/* : Int */;
792 val
* var49
/* : NativeArray[AExpr] */;
793 val
* var50
/* : ACallExpr */;
794 val
* var_nadd
/* var nadd: ACallExpr */;
795 static val
* varonce51
;
796 val
* var52
/* : String */;
797 char* var53
/* : NativeString */;
798 long var54
/* : Int */;
799 val
* var55
/* : String */;
800 val
* var56
/* : MClass */;
801 val
* var57
/* : MMethod */;
802 val
* var_mtos
/* var mtos: MMethod */;
803 val
* var58
/* : ASTBuilder */;
804 val
* var59
/* : AVarExpr */;
805 val
* var60
/* : null */;
806 val
* var61
/* : ACallExpr */;
807 val
* var_ntos
/* var ntos: ACallExpr */;
809 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
810 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var
) /* make_block on <var:ASTBuilder>*/;
817 var5
= string__NativeString__to_s_with_length(var3
, var4
);
821 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_class
]))(var_v
, self
, var2
) /* get_class on <var_v:TransformVisitor>*/;
827 var11
= string__NativeString__to_s_with_length(var9
, var10
);
831 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__get_class
]))(var_v
, self
, var8
) /* get_class on <var_v:TransformVisitor>*/;
832 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_model__MClass__mclass_type
]))(var12
) /* mclass_type on <var12:MClass>*/;
833 var14
= NEW_array__Array(&type_array__Arraymodel__MClassType
);
834 { /* var14 = array_instance Array[MClassType] */
836 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraymodel__MClassType
);
837 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var13
;
838 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[MClassType]>*/;
839 CHECK_NEW_array__Array(var14
);
841 var17
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_model__MClass__get_mtype
]))(var6
, var14
) /* get_mtype on <var6:MClass>*/;
842 var_arraytype
= var17
;
846 var20
= "with_capacity";
848 var22
= string__NativeString__to_s_with_length(var20
, var21
);
852 var23
= ((val
* (*)(val
*))(var_arraytype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_arraytype
) /* mclass on <var_arraytype:MClassType>*/;
853 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>*/;
855 var25
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
856 var26
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
857 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperstringExpr__n_exprs
]))(self
) /* n_exprs on <self:ASuperstringExpr>*/;
858 var28
= ((long (*)(val
*))(var27
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var27
) /* length on <var27:ANodes[AExpr]>*/;
859 var29
= ((val
* (*)(val
*, long))(var26
->class->vft
[COLOR_astbuilder__ASTBuilder__make_int
]))(var26
, var28
) /* make_int on <var26:ASTBuilder>*/;
860 var30
= NEW_array__Array(&type_array__Arrayparser_nodes__AIntExpr
);
861 { /* var30 = array_instance Array[AIntExpr] */
863 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArrayparser_nodes__AIntExpr
);
864 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var29
;
865 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[AIntExpr]>*/;
866 CHECK_NEW_array__Array(var30
);
868 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>*/;
870 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nnew
) /* add on <var_nblock:ABlockExpr>*/;
876 var38
= string__NativeString__to_s_with_length(var36
, var37
);
880 var39
= ((val
* (*)(val
*))(var_arraytype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_arraytype
) /* mclass on <var_arraytype:MClassType>*/;
881 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>*/;
883 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperstringExpr__n_exprs
]))(self
) /* n_exprs on <self:ASuperstringExpr>*/;
884 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var41
) /* iterator on <var41:ANodes[AExpr]>*/;
886 var43
= ((short int (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var42
) /* is_ok on <var42:Iterator[nullable Object]>*/;
888 var44
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var42
) /* item on <var42:Iterator[nullable Object]>*/;
890 var45
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
891 var46
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
892 var47
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
893 { /* var47 = array_instance Array[AExpr] */
895 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArrayparser_nodes__AExpr
);
896 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var_nexpr
;
897 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[AExpr]>*/;
898 CHECK_NEW_array__Array(var47
);
900 var50
= ((val
* (*)(val
*, val
*, val
*, val
*))(var45
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var45
, var46
, var_madd
, var47
) /* make_call on <var45:ASTBuilder>*/;
902 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nadd
) /* add on <var_nblock:ABlockExpr>*/;
903 CONTINUE_label
: (void)0;
904 ((void (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var42
) /* next on <var42:Iterator[nullable Object]>*/;
906 BREAK_label
: (void)0;
912 var55
= string__NativeString__to_s_with_length(var53
, var54
);
916 var56
= ((val
* (*)(val
*))(var_arraytype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_arraytype
) /* mclass on <var_arraytype:MClassType>*/;
917 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>*/;
919 var58
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
920 var59
= ((val
* (*)(val
*))(var_nnew
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_nnew
) /* make_var_read on <var_nnew:ANewExpr>*/;
922 var61
= ((val
* (*)(val
*, val
*, val
*, val
*))(var58
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var58
, var59
, var_mtos
, var60
) /* make_call on <var58:ASTBuilder>*/;
924 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_ntos
) /* add on <var_nblock:ABlockExpr>*/;
925 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:ASuperstringExpr>*/;
928 /* method transform#ASuperstringExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
929 void VIRTUAL_transform__ASuperstringExpr__accept_transform_visitor(val
* self
, val
* p0
) {
930 transform__ASuperstringExpr__accept_transform_visitor(self
, p0
);
933 /* method transform#ACrangeExpr#accept_transform_visitor for (self: ACrangeExpr, TransformVisitor) */
934 void transform__ACrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
935 val
* var_v
/* var v: TransformVisitor */;
936 val
* var
/* : nullable MType */;
937 short int var1
/* : Bool */;
940 const char* var_class_name
;
941 val
* var_mtype
/* var mtype: MClassType */;
943 val
* var2
/* : String */;
944 char* var3
/* : NativeString */;
945 long var4
/* : Int */;
946 val
* var5
/* : String */;
947 val
* var6
/* : MClass */;
948 val
* var7
/* : MMethod */;
949 val
* var_meth
/* var meth: MMethod */;
950 val
* var8
/* : ASTBuilder */;
951 val
* var9
/* : AExpr */;
952 val
* var10
/* : AExpr */;
953 val
* var11
/* : Array[AExpr] */;
954 long var12
/* : Int */;
955 val
* var13
/* : NativeArray[AExpr] */;
956 val
* var14
/* : ANewExpr */;
958 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACrangeExpr>*/;
959 /* <var:nullable MType> isa MClassType */
960 cltype
= type_model__MClassType
.color
;
961 idtype
= type_model__MClassType
.id
;
965 if(cltype
>= var
->type
->table_size
) {
968 var1
= var
->type
->type_table
[cltype
] == idtype
;
972 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
973 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
974 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 227);
983 var5
= string__NativeString__to_s_with_length(var3
, var4
);
987 var6
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
988 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>*/;
990 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
991 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:ACrangeExpr>*/;
992 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:ACrangeExpr>*/;
993 var11
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
994 { /* var11 = array_instance Array[AExpr] */
996 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArrayparser_nodes__AExpr
);
997 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var9
;
998 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var10
;
999 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[AExpr]>*/;
1000 CHECK_NEW_array__Array(var11
);
1002 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>*/;
1003 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var14
) /* replace_with on <self:ACrangeExpr>*/;
1006 /* method transform#ACrangeExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1007 void VIRTUAL_transform__ACrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1008 transform__ACrangeExpr__accept_transform_visitor(self
, p0
);
1011 /* method transform#AOrangeExpr#accept_transform_visitor for (self: AOrangeExpr, TransformVisitor) */
1012 void transform__AOrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1013 val
* var_v
/* var v: TransformVisitor */;
1014 val
* var
/* : nullable MType */;
1015 short int var1
/* : Bool */;
1018 const char* var_class_name
;
1019 val
* var_mtype
/* var mtype: MClassType */;
1020 static val
* varonce
;
1021 val
* var2
/* : String */;
1022 char* var3
/* : NativeString */;
1023 long var4
/* : Int */;
1024 val
* var5
/* : String */;
1025 val
* var6
/* : MClass */;
1026 val
* var7
/* : MMethod */;
1027 val
* var_meth
/* var meth: MMethod */;
1028 val
* var8
/* : ASTBuilder */;
1029 val
* var9
/* : AExpr */;
1030 val
* var10
/* : AExpr */;
1031 val
* var11
/* : Array[AExpr] */;
1032 long var12
/* : Int */;
1033 val
* var13
/* : NativeArray[AExpr] */;
1034 val
* var14
/* : ANewExpr */;
1036 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrangeExpr>*/;
1037 /* <var:nullable MType> isa MClassType */
1038 cltype
= type_model__MClassType
.color
;
1039 idtype
= type_model__MClassType
.id
;
1043 if(cltype
>= var
->type
->table_size
) {
1046 var1
= var
->type
->type_table
[cltype
] == idtype
;
1050 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
1051 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
1052 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 238);
1059 var3
= "without_last";
1061 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1065 var6
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
1066 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>*/;
1068 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1069 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:AOrangeExpr>*/;
1070 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrangeExpr>*/;
1071 var11
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1072 { /* var11 = array_instance Array[AExpr] */
1074 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArrayparser_nodes__AExpr
);
1075 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var9
;
1076 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var10
;
1077 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[AExpr]>*/;
1078 CHECK_NEW_array__Array(var11
);
1080 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>*/;
1081 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var14
) /* replace_with on <self:AOrangeExpr>*/;
1084 /* method transform#AOrangeExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1085 void VIRTUAL_transform__AOrangeExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1086 transform__AOrangeExpr__accept_transform_visitor(self
, p0
);
1089 /* method transform#AParExpr#accept_transform_visitor for (self: AParExpr, TransformVisitor) */
1090 void transform__AParExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1091 val
* var_v
/* var v: TransformVisitor */;
1092 val
* var
/* : AExpr */;
1094 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AParExpr>*/;
1095 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var
) /* replace_with on <self:AParExpr>*/;
1098 /* method transform#AParExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1099 void VIRTUAL_transform__AParExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1100 transform__AParExpr__accept_transform_visitor(self
, p0
);
1103 /* method transform#ASendReassignFormExpr#accept_transform_visitor for (self: ASendReassignFormExpr, TransformVisitor) */
1104 void transform__ASendReassignFormExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1105 val
* var_v
/* var v: TransformVisitor */;
1106 val
* var
/* : ASTBuilder */;
1107 val
* var1
/* : ABlockExpr */;
1108 val
* var_nblock
/* var nblock: ABlockExpr */;
1109 val
* var2
/* : AExpr */;
1110 val
* var3
/* : Array[AExpr] */;
1111 val
* var_read_args
/* var read_args: Array[AExpr] */;
1112 val
* var4
/* : Array[AExpr] */;
1113 val
* var_write_args
/* var write_args: Array[AExpr] */;
1114 val
* var5
/* : nullable Array[AExpr] */;
1115 val
* var6
/* : Iterator[nullable Object] */;
1116 short int var7
/* : Bool */;
1117 val
* var8
/* : nullable Object */;
1118 val
* var_a
/* var a: AExpr */;
1119 val
* var9
/* : AVarExpr */;
1120 val
* var10
/* : AVarExpr */;
1121 val
* var11
/* : ASTBuilder */;
1122 val
* var12
/* : AExpr */;
1123 val
* var13
/* : AVarExpr */;
1124 val
* var14
/* : nullable CallSite */;
1125 val
* var15
/* : MMethod */;
1126 val
* var16
/* : ACallExpr */;
1127 val
* var_nread
/* var nread: ACallExpr */;
1128 val
* var17
/* : ASTBuilder */;
1129 val
* var18
/* : nullable CallSite */;
1130 val
* var19
/* : MMethod */;
1131 val
* var20
/* : AExpr */;
1132 val
* var21
/* : Array[AExpr] */;
1133 long var22
/* : Int */;
1134 val
* var23
/* : NativeArray[AExpr] */;
1135 val
* var24
/* : ACallExpr */;
1136 val
* var_nnewvalue
/* var nnewvalue: ACallExpr */;
1137 val
* var25
/* : ASTBuilder */;
1138 val
* var26
/* : AExpr */;
1139 val
* var27
/* : AVarExpr */;
1140 val
* var28
/* : nullable CallSite */;
1141 val
* var29
/* : MMethod */;
1142 val
* var30
/* : ACallExpr */;
1143 val
* var_nwrite
/* var nwrite: ACallExpr */;
1145 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1146 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var
) /* make_block on <var:ASTBuilder>*/;
1148 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
1149 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var2
) /* add on <var_nblock:ABlockExpr>*/;
1150 var3
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1151 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[AExpr]>*/;
1152 CHECK_NEW_array__Array(var3
);
1153 var_read_args
= var3
;
1154 var4
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1155 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[AExpr]>*/;
1156 CHECK_NEW_array__Array(var4
);
1157 var_write_args
= var4
;
1158 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendReassignFormExpr>*/;
1160 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1161 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 268);
1164 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:nullable Array[AExpr](Array[AExpr])>*/;
1166 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
1168 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
1170 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_a
) /* add on <var_nblock:ABlockExpr>*/;
1171 var9
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_a
) /* make_var_read on <var_a:AExpr>*/;
1172 ((void (*)(val
*, val
*))(var_read_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_read_args
, var9
) /* add on <var_read_args:Array[AExpr]>*/;
1173 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var_a
) /* make_var_read on <var_a:AExpr>*/;
1174 ((void (*)(val
*, val
*))(var_write_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_write_args
, var10
) /* add on <var_write_args:Array[AExpr]>*/;
1175 CONTINUE_label
: (void)0;
1176 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
1178 BREAK_label
: (void)0;
1179 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1180 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
1181 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var12
) /* make_var_read on <var12:AExpr>*/;
1182 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendReassignFormExpr>*/;
1183 if (var14
== NULL
) {
1184 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1185 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 274);
1188 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var14
) /* mproperty on <var14:nullable CallSite>*/;
1190 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>*/;
1192 var17
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1193 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:ASendReassignFormExpr>*/;
1194 if (var18
== NULL
) {
1195 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1196 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 276);
1199 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var18
) /* mproperty on <var18:nullable CallSite>*/;
1201 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ASendReassignFormExpr>*/;
1202 var21
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1203 { /* var21 = array_instance Array[AExpr] */
1205 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArrayparser_nodes__AExpr
);
1206 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var20
;
1207 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[AExpr]>*/;
1208 CHECK_NEW_array__Array(var21
);
1210 var24
= ((val
* (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var17
, var_nread
, var19
, var21
) /* make_call on <var17:ASTBuilder>*/;
1211 var_nnewvalue
= var24
;
1212 ((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]>*/;
1213 var25
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1214 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
1215 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var26
) /* make_var_read on <var26:AExpr>*/;
1216 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendReassignFormExpr__write_callsite
]))(self
) /* write_callsite on <self:ASendReassignFormExpr>*/;
1217 if (var28
== NULL
) {
1218 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1219 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 279);
1222 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var28
) /* mproperty on <var28:nullable CallSite>*/;
1224 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>*/;
1226 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nwrite
) /* add on <var_nblock:ABlockExpr>*/;
1227 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:ASendReassignFormExpr>*/;
1230 /* method transform#ASendReassignFormExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1231 void VIRTUAL_transform__ASendReassignFormExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1232 transform__ASendReassignFormExpr__accept_transform_visitor(self
, p0
);
1235 /* method transform#AVarReassignExpr#accept_transform_visitor for (self: AVarReassignExpr, TransformVisitor) */
1236 void transform__AVarReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1237 val
* var_v
/* var v: TransformVisitor */;
1238 val
* var
/* : nullable Variable */;
1239 val
* var_variable
/* var variable: Variable */;
1240 val
* var1
/* : ASTBuilder */;
1241 val
* var2
/* : AVarExpr */;
1242 val
* var_nread
/* var nread: AVarExpr */;
1243 val
* var3
/* : ASTBuilder */;
1244 val
* var4
/* : nullable CallSite */;
1245 val
* var5
/* : MMethod */;
1246 val
* var6
/* : AExpr */;
1247 val
* var7
/* : Array[AExpr] */;
1248 long var8
/* : Int */;
1249 val
* var9
/* : NativeArray[AExpr] */;
1250 val
* var10
/* : ACallExpr */;
1251 val
* var_nnewvalue
/* var nnewvalue: ACallExpr */;
1252 val
* var11
/* : ASTBuilder */;
1253 val
* var12
/* : AVarAssignExpr */;
1254 val
* var_nwrite
/* var nwrite: AVarAssignExpr */;
1256 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarReassignExpr>*/;
1258 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1259 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 290);
1263 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1264 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_astbuilder__ASTBuilder__make_var_read
]))(var1
, var_variable
) /* make_var_read on <var1:ASTBuilder>*/;
1266 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1267 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AVarReassignExpr>*/;
1269 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1270 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 293);
1273 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var4
) /* mproperty on <var4:nullable CallSite>*/;
1275 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AVarReassignExpr>*/;
1276 var7
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1277 { /* var7 = array_instance Array[AExpr] */
1279 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArrayparser_nodes__AExpr
);
1280 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var6
;
1281 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[AExpr]>*/;
1282 CHECK_NEW_array__Array(var7
);
1284 var10
= ((val
* (*)(val
*, val
*, val
*, val
*))(var3
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var3
, var_nread
, var5
, var7
) /* make_call on <var3:ASTBuilder>*/;
1285 var_nnewvalue
= var10
;
1286 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1287 var12
= ((val
* (*)(val
*, val
*, val
*))(var11
->class->vft
[COLOR_astbuilder__ASTBuilder__make_var_assign
]))(var11
, var_variable
, var_nnewvalue
) /* make_var_assign on <var11:ASTBuilder>*/;
1289 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nwrite
) /* replace_with on <self:AVarReassignExpr>*/;
1292 /* method transform#AVarReassignExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1293 void VIRTUAL_transform__AVarReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1294 transform__AVarReassignExpr__accept_transform_visitor(self
, p0
);
1297 /* method transform#AAttrReassignExpr#accept_transform_visitor for (self: AAttrReassignExpr, TransformVisitor) */
1298 void transform__AAttrReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1299 val
* var_v
/* var v: TransformVisitor */;
1300 val
* var
/* : ASTBuilder */;
1301 val
* var1
/* : ABlockExpr */;
1302 val
* var_nblock
/* var nblock: ABlockExpr */;
1303 val
* var2
/* : AExpr */;
1304 val
* var3
/* : nullable MAttribute */;
1305 val
* var_attribute
/* var attribute: MAttribute */;
1306 val
* var4
/* : ASTBuilder */;
1307 val
* var5
/* : AExpr */;
1308 val
* var6
/* : AVarExpr */;
1309 val
* var7
/* : AAttrExpr */;
1310 val
* var_nread
/* var nread: AAttrExpr */;
1311 val
* var8
/* : ASTBuilder */;
1312 val
* var9
/* : nullable CallSite */;
1313 val
* var10
/* : MMethod */;
1314 val
* var11
/* : AExpr */;
1315 val
* var12
/* : Array[AExpr] */;
1316 long var13
/* : Int */;
1317 val
* var14
/* : NativeArray[AExpr] */;
1318 val
* var15
/* : ACallExpr */;
1319 val
* var_nnewvalue
/* var nnewvalue: ACallExpr */;
1320 val
* var16
/* : ASTBuilder */;
1321 val
* var17
/* : AExpr */;
1322 val
* var18
/* : AVarExpr */;
1323 val
* var19
/* : AAttrAssignExpr */;
1324 val
* var_nwrite
/* var nwrite: AAttrAssignExpr */;
1326 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1327 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_astbuilder__ASTBuilder__make_block
]))(var
) /* make_block on <var:ASTBuilder>*/;
1329 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
1330 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var2
) /* add on <var_nblock:ABlockExpr>*/;
1331 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrReassignExpr>*/;
1333 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1334 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 306);
1337 var_attribute
= var3
;
1338 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1339 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
1340 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var5
) /* make_var_read on <var5:AExpr>*/;
1341 var7
= ((val
* (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_astbuilder__ASTBuilder__make_attr_read
]))(var4
, var6
, var_attribute
) /* make_attr_read on <var4:ASTBuilder>*/;
1343 var8
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1344 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AAttrReassignExpr>*/;
1346 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1347 fprintf(stderr
, " (%s:%d)\n", "src/transform.nit", 309);
1350 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var9
) /* mproperty on <var9:nullable CallSite>*/;
1352 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrReassignExpr>*/;
1353 var12
= NEW_array__Array(&type_array__Arrayparser_nodes__AExpr
);
1354 { /* var12 = array_instance Array[AExpr] */
1356 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArrayparser_nodes__AExpr
);
1357 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var11
;
1358 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[AExpr]>*/;
1359 CHECK_NEW_array__Array(var12
);
1361 var15
= ((val
* (*)(val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_astbuilder__ASTBuilder__make_call
]))(var8
, var_nread
, var10
, var12
) /* make_call on <var8:ASTBuilder>*/;
1362 var_nnewvalue
= var15
;
1363 var16
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_transform__TransformVisitor__builder
]))(var_v
) /* builder on <var_v:TransformVisitor>*/;
1364 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
1365 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_astbuilder__AExpr__make_var_read
]))(var17
) /* make_var_read on <var17:AExpr>*/;
1366 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>*/;
1368 ((void (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var_nblock
, var_nwrite
) /* add on <var_nblock:ABlockExpr>*/;
1369 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_nblock
) /* replace_with on <self:AAttrReassignExpr>*/;
1372 /* method transform#AAttrReassignExpr#accept_transform_visitor for (self: Object, TransformVisitor) */
1373 void VIRTUAL_transform__AAttrReassignExpr__accept_transform_visitor(val
* self
, val
* p0
) {
1374 transform__AAttrReassignExpr__accept_transform_visitor(self
, p0
);