1 #include "astbuilder.sep.0.h"
2 /* method astbuilder#ASTBuilder#mmodule for (self: ASTBuilder): MModule */
3 val
* astbuilder__ASTBuilder__mmodule(val
* self
) {
4 val
* var
/* : MModule */;
5 val
* var1
/* : MModule */;
6 var1
= self
->attrs
[COLOR_astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25);
16 /* method astbuilder#ASTBuilder#mmodule for (self: Object): MModule */
17 val
* VIRTUAL_astbuilder__ASTBuilder__mmodule(val
* self
) {
18 val
* var
/* : MModule */;
19 val
* var1
/* : MModule */;
20 val
* var3
/* : MModule */;
21 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:Object(ASTBuilder)> */
22 var3
= self
->attrs
[COLOR_astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:Object(ASTBuilder)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
25 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25);
35 /* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */
36 void astbuilder__ASTBuilder__mmodule_61d(val
* self
, val
* p0
) {
37 self
->attrs
[COLOR_astbuilder__ASTBuilder___mmodule
].val
= p0
; /* _mmodule on <self:ASTBuilder> */
40 /* method astbuilder#ASTBuilder#mmodule= for (self: Object, MModule) */
41 void VIRTUAL_astbuilder__ASTBuilder__mmodule_61d(val
* self
, val
* p0
) {
42 { /* Inline astbuilder#ASTBuilder#mmodule= (self,p0) on <self:Object(ASTBuilder)> */
43 self
->attrs
[COLOR_astbuilder__ASTBuilder___mmodule
].val
= p0
; /* _mmodule on <self:Object(ASTBuilder)> */
48 /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */
49 val
* astbuilder__ASTBuilder__anchor(val
* self
) {
50 val
* var
/* : nullable MClassType */;
51 val
* var1
/* : nullable MClassType */;
52 var1
= self
->attrs
[COLOR_astbuilder__ASTBuilder___anchor
].val
; /* _anchor on <self:ASTBuilder> */
57 /* method astbuilder#ASTBuilder#anchor for (self: Object): nullable MClassType */
58 val
* VIRTUAL_astbuilder__ASTBuilder__anchor(val
* self
) {
59 val
* var
/* : nullable MClassType */;
60 val
* var1
/* : nullable MClassType */;
61 val
* var3
/* : nullable MClassType */;
62 { /* Inline astbuilder#ASTBuilder#anchor (self) on <self:Object(ASTBuilder)> */
63 var3
= self
->attrs
[COLOR_astbuilder__ASTBuilder___anchor
].val
; /* _anchor on <self:Object(ASTBuilder)> */
71 /* method astbuilder#ASTBuilder#anchor= for (self: ASTBuilder, nullable MClassType) */
72 void astbuilder__ASTBuilder__anchor_61d(val
* self
, val
* p0
) {
73 self
->attrs
[COLOR_astbuilder__ASTBuilder___anchor
].val
= p0
; /* _anchor on <self:ASTBuilder> */
76 /* method astbuilder#ASTBuilder#anchor= for (self: Object, nullable MClassType) */
77 void VIRTUAL_astbuilder__ASTBuilder__anchor_61d(val
* self
, val
* p0
) {
78 { /* Inline astbuilder#ASTBuilder#anchor= (self,p0) on <self:Object(ASTBuilder)> */
79 self
->attrs
[COLOR_astbuilder__ASTBuilder___anchor
].val
= p0
; /* _anchor on <self:Object(ASTBuilder)> */
84 /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntExpr */
85 val
* astbuilder__ASTBuilder__make_int(val
* self
, long p0
) {
86 val
* var
/* : AIntExpr */;
87 long var_value
/* var value: Int */;
88 val
* var1
/* : ADecIntExpr */;
89 val
* var2
/* : MModule */;
90 val
* var4
/* : MModule */;
92 val
* var5
/* : String */;
93 char* var6
/* : NativeString */;
94 long var7
/* : Int */;
95 val
* var8
/* : FlatString */;
96 val
* var9
/* : MClass */;
97 val
* var10
/* : MClassType */;
98 val
* var12
/* : MClassType */;
100 var1
= NEW_parser_nodes__ADecIntExpr(&type_parser_nodes__ADecIntExpr
);
102 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
103 var4
= self
->attrs
[COLOR_astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
104 if (unlikely(var4
== NULL
)) {
105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
106 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25);
118 var8
= string__NativeString__to_s_with_length(var6
, var7
);
123 var9
= model__MModule__get_primitive_class(var2
, var5
);
126 { /* Inline model#MClass#mclass_type (var9) on <var9:MClass> */
127 var12
= var9
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var9:MClass> */
128 if (unlikely(var12
== NULL
)) {
129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
130 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
138 astbuilder__ADecIntExpr__make(var1
, var_value
, var10
); /* Direct call astbuilder#ADecIntExpr#make on <var1:ADecIntExpr>*/
145 /* method astbuilder#ASTBuilder#make_int for (self: Object, Int): AIntExpr */
146 val
* VIRTUAL_astbuilder__ASTBuilder__make_int(val
* self
, long p0
) {
147 val
* var
/* : AIntExpr */;
148 val
* var1
/* : AIntExpr */;
149 var1
= astbuilder__ASTBuilder__make_int(self
, p0
);
154 /* method astbuilder#ASTBuilder#make_new for (self: ASTBuilder, CallSite, nullable Array[AExpr]): ANewExpr */
155 val
* astbuilder__ASTBuilder__make_new(val
* self
, val
* p0
, val
* p1
) {
156 val
* var
/* : ANewExpr */;
157 val
* var_callsite
/* var callsite: CallSite */;
158 val
* var_args
/* var args: nullable Array[AExpr] */;
159 val
* var1
/* : ANewExpr */;
162 var1
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
164 astbuilder__ANewExpr__make(var1
, var_callsite
, var_args
); /* Direct call astbuilder#ANewExpr#make on <var1:ANewExpr>*/
171 /* method astbuilder#ASTBuilder#make_new for (self: Object, CallSite, nullable Array[AExpr]): ANewExpr */
172 val
* VIRTUAL_astbuilder__ASTBuilder__make_new(val
* self
, val
* p0
, val
* p1
) {
173 val
* var
/* : ANewExpr */;
174 val
* var1
/* : ANewExpr */;
175 var1
= astbuilder__ASTBuilder__make_new(self
, p0
, p1
);
180 /* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */
181 val
* astbuilder__ASTBuilder__make_call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
182 val
* var
/* : ACallExpr */;
183 val
* var_recv
/* var recv: AExpr */;
184 val
* var_callsite
/* var callsite: CallSite */;
185 val
* var_args
/* var args: nullable Array[AExpr] */;
186 val
* var1
/* : ACallExpr */;
190 var1
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
192 astbuilder__ACallExpr__make(var1
, var_recv
, var_callsite
, var_args
); /* Direct call astbuilder#ACallExpr#make on <var1:ACallExpr>*/
199 /* method astbuilder#ASTBuilder#make_call for (self: Object, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */
200 val
* VIRTUAL_astbuilder__ASTBuilder__make_call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
201 val
* var
/* : ACallExpr */;
202 val
* var1
/* : ACallExpr */;
203 var1
= astbuilder__ASTBuilder__make_call(self
, p0
, p1
, p2
);
208 /* method astbuilder#ASTBuilder#make_block for (self: ASTBuilder): ABlockExpr */
209 val
* astbuilder__ASTBuilder__make_block(val
* self
) {
210 val
* var
/* : ABlockExpr */;
211 val
* var1
/* : ABlockExpr */;
212 var1
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
214 astbuilder__ABlockExpr__make(var1
); /* Direct call astbuilder#ABlockExpr#make on <var1:ABlockExpr>*/
221 /* method astbuilder#ASTBuilder#make_block for (self: Object): ABlockExpr */
222 val
* VIRTUAL_astbuilder__ASTBuilder__make_block(val
* self
) {
223 val
* var
/* : ABlockExpr */;
224 val
* var1
/* : ABlockExpr */;
225 var1
= astbuilder__ASTBuilder__make_block(self
);
230 /* method astbuilder#ASTBuilder#make_loop for (self: ASTBuilder): ALoopExpr */
231 val
* astbuilder__ASTBuilder__make_loop(val
* self
) {
232 val
* var
/* : ALoopExpr */;
233 val
* var1
/* : ALoopExpr */;
234 var1
= NEW_parser_nodes__ALoopExpr(&type_parser_nodes__ALoopExpr
);
236 astbuilder__ALoopExpr__make(var1
); /* Direct call astbuilder#ALoopExpr#make on <var1:ALoopExpr>*/
243 /* method astbuilder#ASTBuilder#make_loop for (self: Object): ALoopExpr */
244 val
* VIRTUAL_astbuilder__ASTBuilder__make_loop(val
* self
) {
245 val
* var
/* : ALoopExpr */;
246 val
* var1
/* : ALoopExpr */;
247 var1
= astbuilder__ASTBuilder__make_loop(self
);
252 /* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable, MType): AVarExpr */
253 val
* astbuilder__ASTBuilder__make_var_read(val
* self
, val
* p0
, val
* p1
) {
254 val
* var
/* : AVarExpr */;
255 val
* var_variable
/* var variable: Variable */;
256 val
* var_mtype
/* var mtype: MType */;
257 val
* var1
/* : AVarExpr */;
260 var1
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
262 astbuilder__AVarExpr__make(var1
, var_variable
, var_mtype
); /* Direct call astbuilder#AVarExpr#make on <var1:AVarExpr>*/
269 /* method astbuilder#ASTBuilder#make_var_read for (self: Object, Variable, MType): AVarExpr */
270 val
* VIRTUAL_astbuilder__ASTBuilder__make_var_read(val
* self
, val
* p0
, val
* p1
) {
271 val
* var
/* : AVarExpr */;
272 val
* var1
/* : AVarExpr */;
273 var1
= astbuilder__ASTBuilder__make_var_read(self
, p0
, p1
);
278 /* method astbuilder#ASTBuilder#make_var_assign for (self: ASTBuilder, Variable, AExpr): AVarAssignExpr */
279 val
* astbuilder__ASTBuilder__make_var_assign(val
* self
, val
* p0
, val
* p1
) {
280 val
* var
/* : AVarAssignExpr */;
281 val
* var_variable
/* var variable: Variable */;
282 val
* var_value
/* var value: AExpr */;
283 val
* var1
/* : AVarAssignExpr */;
286 var1
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
288 astbuilder__AVarAssignExpr__make(var1
, var_variable
, var_value
); /* Direct call astbuilder#AVarAssignExpr#make on <var1:AVarAssignExpr>*/
295 /* method astbuilder#ASTBuilder#make_var_assign for (self: Object, Variable, AExpr): AVarAssignExpr */
296 val
* VIRTUAL_astbuilder__ASTBuilder__make_var_assign(val
* self
, val
* p0
, val
* p1
) {
297 val
* var
/* : AVarAssignExpr */;
298 val
* var1
/* : AVarAssignExpr */;
299 var1
= astbuilder__ASTBuilder__make_var_assign(self
, p0
, p1
);
304 /* method astbuilder#ASTBuilder#make_attr_read for (self: ASTBuilder, AExpr, MAttribute): AAttrExpr */
305 val
* astbuilder__ASTBuilder__make_attr_read(val
* self
, val
* p0
, val
* p1
) {
306 val
* var
/* : AAttrExpr */;
307 val
* var_recv
/* var recv: AExpr */;
308 val
* var_attribute
/* var attribute: MAttribute */;
309 val
* var1
/* : MPropDef */;
310 val
* var3
/* : MPropDef */;
311 val
* var4
/* : nullable MType */;
312 val
* var6
/* : nullable MType */;
313 val
* var7
/* : nullable MType */;
314 val
* var8
/* : nullable MClassType */;
315 val
* var10
/* : nullable MClassType */;
316 val
* var11
/* : MModule */;
317 val
* var13
/* : MModule */;
318 short int var14
/* : Bool */;
319 val
* var15
/* : MType */;
320 val
* var_mtype
/* var mtype: MType */;
321 val
* var16
/* : AAttrExpr */;
325 { /* Inline model#MProperty#intro (var_attribute) on <var_attribute:MAttribute> */
326 var3
= var_attribute
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_attribute:MAttribute> */
327 if (unlikely(var3
== NULL
)) {
328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
329 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
337 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
338 var6
= var1
->attrs
[COLOR_model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
344 var7
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_recv
) /* mtype on <var_recv:AExpr>*/;
346 if (unlikely(var7
== NULL
)) {
347 PRINT_ERROR("Runtime error: %s", "Cast failed");
348 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 77);
352 { /* Inline astbuilder#ASTBuilder#anchor (self) on <self:ASTBuilder> */
353 var10
= self
->attrs
[COLOR_astbuilder__ASTBuilder___anchor
].val
; /* _anchor on <self:ASTBuilder> */
359 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
360 var13
= self
->attrs
[COLOR_astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
361 if (unlikely(var13
== NULL
)) {
362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
363 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 25);
372 PRINT_ERROR("Runtime error: %s", "Receiver is null");
373 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 77);
376 var15
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var4
->class->vft
[COLOR_model__MType__resolve_for
]))(var4
, var7
, var8
, var11
, var14
) /* resolve_for on <var4:nullable MType>*/;
379 var16
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
381 astbuilder__AAttrExpr__make(var16
, var_recv
, var_attribute
, var_mtype
); /* Direct call astbuilder#AAttrExpr#make on <var16:AAttrExpr>*/
388 /* method astbuilder#ASTBuilder#make_attr_read for (self: Object, AExpr, MAttribute): AAttrExpr */
389 val
* VIRTUAL_astbuilder__ASTBuilder__make_attr_read(val
* self
, val
* p0
, val
* p1
) {
390 val
* var
/* : AAttrExpr */;
391 val
* var1
/* : AAttrExpr */;
392 var1
= astbuilder__ASTBuilder__make_attr_read(self
, p0
, p1
);
397 /* method astbuilder#ASTBuilder#make_attr_assign for (self: ASTBuilder, AExpr, MAttribute, AExpr): AAttrAssignExpr */
398 val
* astbuilder__ASTBuilder__make_attr_assign(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
399 val
* var
/* : AAttrAssignExpr */;
400 val
* var_recv
/* var recv: AExpr */;
401 val
* var_attribute
/* var attribute: MAttribute */;
402 val
* var_value
/* var value: AExpr */;
403 val
* var1
/* : AAttrAssignExpr */;
407 var1
= NEW_parser_nodes__AAttrAssignExpr(&type_parser_nodes__AAttrAssignExpr
);
409 astbuilder__AAttrAssignExpr__make(var1
, var_recv
, var_attribute
, var_value
); /* Direct call astbuilder#AAttrAssignExpr#make on <var1:AAttrAssignExpr>*/
416 /* method astbuilder#ASTBuilder#make_attr_assign for (self: Object, AExpr, MAttribute, AExpr): AAttrAssignExpr */
417 val
* VIRTUAL_astbuilder__ASTBuilder__make_attr_assign(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
418 val
* var
/* : AAttrAssignExpr */;
419 val
* var1
/* : AAttrAssignExpr */;
420 var1
= astbuilder__ASTBuilder__make_attr_assign(self
, p0
, p1
, p2
);
425 /* method astbuilder#ASTBuilder#make_do for (self: ASTBuilder): ADoExpr */
426 val
* astbuilder__ASTBuilder__make_do(val
* self
) {
427 val
* var
/* : ADoExpr */;
428 val
* var1
/* : ADoExpr */;
429 var1
= NEW_parser_nodes__ADoExpr(&type_parser_nodes__ADoExpr
);
431 astbuilder__ADoExpr__make(var1
); /* Direct call astbuilder#ADoExpr#make on <var1:ADoExpr>*/
438 /* method astbuilder#ASTBuilder#make_do for (self: Object): ADoExpr */
439 val
* VIRTUAL_astbuilder__ASTBuilder__make_do(val
* self
) {
440 val
* var
/* : ADoExpr */;
441 val
* var1
/* : ADoExpr */;
442 var1
= astbuilder__ASTBuilder__make_do(self
);
447 /* method astbuilder#ASTBuilder#make_break for (self: ASTBuilder, EscapeMark): ABreakExpr */
448 val
* astbuilder__ASTBuilder__make_break(val
* self
, val
* p0
) {
449 val
* var
/* : ABreakExpr */;
450 val
* var_escapemark
/* var escapemark: EscapeMark */;
451 val
* var1
/* : ABreakExpr */;
453 var1
= NEW_parser_nodes__ABreakExpr(&type_parser_nodes__ABreakExpr
);
455 astbuilder__ABreakExpr__make(var1
, var_escapemark
); /* Direct call astbuilder#ABreakExpr#make on <var1:ABreakExpr>*/
462 /* method astbuilder#ASTBuilder#make_break for (self: Object, EscapeMark): ABreakExpr */
463 val
* VIRTUAL_astbuilder__ASTBuilder__make_break(val
* self
, val
* p0
) {
464 val
* var
/* : ABreakExpr */;
465 val
* var1
/* : ABreakExpr */;
466 var1
= astbuilder__ASTBuilder__make_break(self
, p0
);
471 /* method astbuilder#ASTBuilder#make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */
472 val
* astbuilder__ASTBuilder__make_if(val
* self
, val
* p0
, val
* p1
) {
473 val
* var
/* : AIfExpr */;
474 val
* var_condition
/* var condition: AExpr */;
475 val
* var_mtype
/* var mtype: nullable MType */;
476 val
* var1
/* : AIfExpr */;
479 var1
= NEW_parser_nodes__AIfExpr(&type_parser_nodes__AIfExpr
);
481 astbuilder__AIfExpr__make(var1
, var_condition
, var_mtype
); /* Direct call astbuilder#AIfExpr#make on <var1:AIfExpr>*/
488 /* method astbuilder#ASTBuilder#make_if for (self: Object, AExpr, nullable MType): AIfExpr */
489 val
* VIRTUAL_astbuilder__ASTBuilder__make_if(val
* self
, val
* p0
, val
* p1
) {
490 val
* var
/* : AIfExpr */;
491 val
* var1
/* : AIfExpr */;
492 var1
= astbuilder__ASTBuilder__make_if(self
, p0
, p1
);
497 /* method astbuilder#ASTBuilder#init for (self: ASTBuilder) */
498 void astbuilder__ASTBuilder__init(val
* self
) {
500 ((void (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__init
]))(self
) /* init on <self:ASTBuilder>*/;
504 /* method astbuilder#ASTBuilder#init for (self: Object) */
505 void VIRTUAL_astbuilder__ASTBuilder__init(val
* self
) {
506 { /* Inline astbuilder#ASTBuilder#init (self) on <self:Object(ASTBuilder)> */
508 ((void (*)(val
*))(self
->class->vft
[COLOR_astbuilder__ASTBuilder__init
]))(self
) /* init on <self:Object(ASTBuilder)>*/;
514 /* method astbuilder#AExpr#make_var_read for (self: AExpr): AVarExpr */
515 val
* astbuilder__AExpr__make_var_read(val
* self
) {
516 val
* var
/* : AVarExpr */;
517 val
* var1
/* : nullable Variable */;
518 val
* var3
/* : nullable Variable */;
519 val
* var_variable
/* var variable: nullable Variable */;
520 val
* var4
/* : null */;
521 short int var5
/* : Bool */;
522 short int var6
/* : Bool */;
523 val
* var_other
/* var other: nullable Object */;
524 short int var8
/* : Bool */;
525 short int var10
/* : Bool */;
526 val
* var11
/* : nullable ANode */;
527 val
* var13
/* : nullable ANode */;
528 val
* var14
/* : null */;
529 short int var15
/* : Bool */;
530 short int var16
/* : Bool */;
531 val
* var_other18
/* var other: nullable Object */;
532 short int var19
/* : Bool */;
533 short int var20
/* : Bool */;
534 short int var21
/* : Bool */;
535 val
* var22
/* : AExpr */;
536 val
* var_place
/* var place: AExpr */;
537 val
* var23
/* : Variable */;
539 val
* var24
/* : String */;
540 char* var25
/* : NativeString */;
541 long var26
/* : Int */;
542 val
* var27
/* : FlatString */;
543 val
* var28
/* : nullable MType */;
544 val
* var30
/* : AVarAssignExpr */;
545 val
* var_nvar
/* var nvar: AVarAssignExpr */;
546 val
* var32
/* : AVarExpr */;
547 val
* var33
/* : nullable MType */;
548 val
* var35
/* : nullable MType */;
550 { /* Inline astbuilder#AExpr#variable_cache (self) on <self:AExpr> */
551 var3
= self
->attrs
[COLOR_astbuilder__AExpr___variable_cache
].val
; /* _variable_cache on <self:AExpr> */
558 if (var_variable
== NULL
) {
559 var5
= 1; /* is null */
561 var5
= 0; /* arg is null but recv is not */
564 { /* Inline kernel#Object#== (var_variable,var4) on <var_variable:nullable Variable> */
567 { /* Inline kernel#Object#is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
568 var10
= var_variable
== var_other
;
582 { /* Inline parser_nodes#ANode#parent (self) on <self:AExpr> */
583 var13
= self
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <self:AExpr> */
590 var15
= 0; /* is null */
592 var15
= 1; /* arg is null and recv is not */
595 { /* Inline kernel#Object#!= (var11,var14) on <var11:nullable ANode> */
598 var20
= ((short int (*)(val
*, val
*))(var11
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var11
, var_other18
) /* == on <var11:nullable ANode(ANode)>*/;
608 if (unlikely(!var15
)) {
609 PRINT_ERROR("Runtime error: %s", "Assert failed");
610 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 117);
614 var22
= astbuilder__AExpr__detach_with_placeholder(self
);
617 var23
= NEW_scope__Variable(&type_scope__Variable
);
623 var27
= string__NativeString__to_s_with_length(var25
, var26
);
628 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_scope__Variable__name_61d
]))(var23
, var24
) /* name= on <var23:Variable>*/;
631 ((void (*)(val
*))(var23
->class->vft
[COLOR_kernel__Object__init
]))(var23
) /* init on <var23:Variable>*/;
633 var_variable
= var23
;
635 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AExpr>*/;
638 { /* Inline typing#Variable#declared_type= (var_variable,var28) on <var_variable:nullable Variable(Variable)> */
639 var_variable
->attrs
[COLOR_typing__Variable___declared_type
].val
= var28
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
643 var30
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
645 astbuilder__AVarAssignExpr__make(var30
, var_variable
, self
); /* Direct call astbuilder#AVarAssignExpr#make on <var30:AVarAssignExpr>*/
649 parser_nodes__Prod__replace_with(var_place
, var_nvar
); /* Direct call parser_nodes#Prod#replace_with on <var_place:AExpr>*/
652 { /* Inline astbuilder#AExpr#variable_cache= (self,var_variable) on <self:AExpr> */
653 self
->attrs
[COLOR_astbuilder__AExpr___variable_cache
].val
= var_variable
; /* _variable_cache on <self:AExpr> */
659 var32
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
661 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
662 var35
= var_variable
->attrs
[COLOR_typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
667 if (unlikely(var33
== NULL
)) {
668 PRINT_ERROR("Runtime error: %s", "Cast failed");
669 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 125);
673 astbuilder__AVarExpr__make(var32
, var_variable
, var33
); /* Direct call astbuilder#AVarExpr#make on <var32:AVarExpr>*/
680 /* method astbuilder#AExpr#make_var_read for (self: Object): AVarExpr */
681 val
* VIRTUAL_astbuilder__AExpr__make_var_read(val
* self
) {
682 val
* var
/* : AVarExpr */;
683 val
* var1
/* : AVarExpr */;
684 var1
= astbuilder__AExpr__make_var_read(self
);
689 /* method astbuilder#AExpr#variable_cache for (self: AExpr): nullable Variable */
690 val
* astbuilder__AExpr__variable_cache(val
* self
) {
691 val
* var
/* : nullable Variable */;
692 val
* var1
/* : nullable Variable */;
693 var1
= self
->attrs
[COLOR_astbuilder__AExpr___variable_cache
].val
; /* _variable_cache on <self:AExpr> */
698 /* method astbuilder#AExpr#variable_cache for (self: Object): nullable Variable */
699 val
* VIRTUAL_astbuilder__AExpr__variable_cache(val
* self
) {
700 val
* var
/* : nullable Variable */;
701 val
* var1
/* : nullable Variable */;
702 val
* var3
/* : nullable Variable */;
703 { /* Inline astbuilder#AExpr#variable_cache (self) on <self:Object(AExpr)> */
704 var3
= self
->attrs
[COLOR_astbuilder__AExpr___variable_cache
].val
; /* _variable_cache on <self:Object(AExpr)> */
712 /* method astbuilder#AExpr#variable_cache= for (self: AExpr, nullable Variable) */
713 void astbuilder__AExpr__variable_cache_61d(val
* self
, val
* p0
) {
714 self
->attrs
[COLOR_astbuilder__AExpr___variable_cache
].val
= p0
; /* _variable_cache on <self:AExpr> */
717 /* method astbuilder#AExpr#variable_cache= for (self: Object, nullable Variable) */
718 void VIRTUAL_astbuilder__AExpr__variable_cache_61d(val
* self
, val
* p0
) {
719 { /* Inline astbuilder#AExpr#variable_cache= (self,p0) on <self:Object(AExpr)> */
720 self
->attrs
[COLOR_astbuilder__AExpr___variable_cache
].val
= p0
; /* _variable_cache on <self:Object(AExpr)> */
725 /* method astbuilder#AExpr#detach_with_placeholder for (self: AExpr): AExpr */
726 val
* astbuilder__AExpr__detach_with_placeholder(val
* self
) {
727 val
* var
/* : AExpr */;
728 val
* var1
/* : APlaceholderExpr */;
729 val
* var_h
/* var h: APlaceholderExpr */;
730 var1
= NEW_astbuilder__APlaceholderExpr(&type_astbuilder__APlaceholderExpr
);
732 astbuilder__APlaceholderExpr__make(var1
); /* Direct call astbuilder#APlaceholderExpr#make on <var1:APlaceholderExpr>*/
736 parser_nodes__Prod__replace_with(self
, var_h
); /* Direct call parser_nodes#Prod#replace_with on <self:AExpr>*/
743 /* method astbuilder#AExpr#detach_with_placeholder for (self: Object): AExpr */
744 val
* VIRTUAL_astbuilder__AExpr__detach_with_placeholder(val
* self
) {
745 val
* var
/* : AExpr */;
746 val
* var1
/* : AExpr */;
747 var1
= astbuilder__AExpr__detach_with_placeholder(self
);
752 /* method astbuilder#AExpr#add for (self: AExpr, AExpr) */
753 void astbuilder__AExpr__add(val
* self
, val
* p0
) {
754 val
* var_expr
/* var expr: AExpr */;
756 val
* var
/* : String */;
757 char* var1
/* : NativeString */;
758 long var2
/* : Int */;
759 val
* var3
/* : FlatString */;
760 val
* var4
/* : String */;
761 val
* var5
/* : Array[Object] */;
762 long var6
/* : Int */;
763 val
* var7
/* : NativeArray[Object] */;
764 val
* var8
/* : String */;
769 var1
= "add not implemented in ";
771 var3
= string__NativeString__to_s_with_length(var1
, var2
);
776 var4
= string__Object__inspect(self
);
778 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
779 { /* var5 = array_instance Array[Object] */
781 var7
= NEW_array__NativeArray(var6
, &type_array__NativeArraykernel__Object
);
782 ((struct instance_array__NativeArray
*)var7
)->values
[0] = (val
*) var
;
783 ((struct instance_array__NativeArray
*)var7
)->values
[1] = (val
*) var4
;
785 ((void (*)(val
*, val
*, long))(var5
->class->vft
[COLOR_array__Array__with_native
]))(var5
, var7
, var6
) /* with_native on <var5:Array[Object]>*/;
789 var8
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_string__Object__to_s
]))(var5
) /* to_s on <var5:Array[Object]>*/;
792 file__Object__print(self
, var8
); /* Direct call file#Object#print on <self:AExpr>*/
794 PRINT_ERROR("Runtime error: %s", "Aborted");
795 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 158);
799 /* method astbuilder#AExpr#add for (self: Object, AExpr) */
800 void VIRTUAL_astbuilder__AExpr__add(val
* self
, val
* p0
) {
801 astbuilder__AExpr__add(self
, p0
); /* Direct call astbuilder#AExpr#add on <self:Object(AExpr)>*/
804 /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */
805 void astbuilder__APlaceholderExpr__make(val
* self
) {
807 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:APlaceholderExpr>*/;
811 /* method astbuilder#APlaceholderExpr#make for (self: Object) */
812 void VIRTUAL_astbuilder__APlaceholderExpr__make(val
* self
) {
813 astbuilder__APlaceholderExpr__make(self
); /* Direct call astbuilder#APlaceholderExpr#make on <self:Object(APlaceholderExpr)>*/
816 /* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */
817 void astbuilder__ABlockExpr__make(val
* self
) {
818 short int var
/* : Bool */;
821 { /* Inline typing#AExpr#is_typed= (self,var) on <self:ABlockExpr> */
822 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var
; /* _is_typed on <self:ABlockExpr> */
828 /* method astbuilder#ABlockExpr#make for (self: Object) */
829 void VIRTUAL_astbuilder__ABlockExpr__make(val
* self
) {
830 astbuilder__ABlockExpr__make(self
); /* Direct call astbuilder#ABlockExpr#make on <self:Object(ABlockExpr)>*/
833 /* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */
834 void astbuilder__ABlockExpr__add(val
* self
, val
* p0
) {
835 val
* var_expr
/* var expr: AExpr */;
836 val
* var
/* : ANodes[AExpr] */;
837 val
* var2
/* : ANodes[AExpr] */;
840 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
841 var2
= self
->attrs
[COLOR_parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
842 if (unlikely(var2
== NULL
)) {
843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
844 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321);
852 abstract_collection__Sequence__add(var
, var_expr
); /* Direct call abstract_collection#Sequence#add on <var:ANodes[AExpr]>*/
856 /* method astbuilder#ABlockExpr#add for (self: Object, AExpr) */
857 void VIRTUAL_astbuilder__ABlockExpr__add(val
* self
, val
* p0
) {
858 astbuilder__ABlockExpr__add(self
, p0
); /* Direct call astbuilder#ABlockExpr#add on <self:Object(ABlockExpr)>*/
861 /* method astbuilder#ALoopExpr#make for (self: ALoopExpr) */
862 void astbuilder__ALoopExpr__make(val
* self
) {
863 val
* var
/* : TKwloop */;
864 short int var1
/* : Bool */;
865 val
* var3
/* : ABlockExpr */;
866 val
* var4
/* : nullable AExpr */;
867 val
* var6
/* : nullable AExpr */;
868 short int var7
/* : Bool */;
869 var
= NEW_parser_nodes__TKwloop(&type_parser_nodes__TKwloop
);
871 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TKwloop>*/;
873 self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_kwloop
].val
= var
; /* _n_kwloop on <self:ALoopExpr> */
876 { /* Inline typing#AExpr#is_typed= (self,var1) on <self:ALoopExpr> */
877 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var1
; /* _is_typed on <self:ALoopExpr> */
881 var3
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
883 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:ABlockExpr>*/;
886 parser_prod__ALoopExpr__n_block_61d(self
, var3
); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
889 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
890 var6
= self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
897 PRINT_ERROR("Runtime error: %s", "Receiver is null");
898 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 194);
901 { /* Inline typing#AExpr#is_typed= (var4,var7) on <var4:nullable AExpr> */
902 if (unlikely(var4
== NULL
)) {
903 PRINT_ERROR("Runtime error: %s", "Receiver is null");
904 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 619);
907 var4
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var7
; /* _is_typed on <var4:nullable AExpr> */
913 /* method astbuilder#ALoopExpr#make for (self: Object) */
914 void VIRTUAL_astbuilder__ALoopExpr__make(val
* self
) {
915 astbuilder__ALoopExpr__make(self
); /* Direct call astbuilder#ALoopExpr#make on <self:Object(ALoopExpr)>*/
918 /* method astbuilder#ALoopExpr#add for (self: ALoopExpr, AExpr) */
919 void astbuilder__ALoopExpr__add(val
* self
, val
* p0
) {
920 val
* var_expr
/* var expr: AExpr */;
921 val
* var
/* : nullable AExpr */;
922 val
* var2
/* : nullable AExpr */;
925 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
926 var2
= self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
932 PRINT_ERROR("Runtime error: %s", "Receiver is null");
933 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 199);
936 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var
, var_expr
) /* add on <var:nullable AExpr>*/;
940 /* method astbuilder#ALoopExpr#add for (self: Object, AExpr) */
941 void VIRTUAL_astbuilder__ALoopExpr__add(val
* self
, val
* p0
) {
942 astbuilder__ALoopExpr__add(self
, p0
); /* Direct call astbuilder#ALoopExpr#add on <self:Object(ALoopExpr)>*/
945 /* method astbuilder#ADoExpr#make for (self: ADoExpr) */
946 void astbuilder__ADoExpr__make(val
* self
) {
947 val
* var
/* : TKwdo */;
948 short int var1
/* : Bool */;
949 val
* var3
/* : ABlockExpr */;
950 val
* var4
/* : nullable AExpr */;
951 val
* var6
/* : nullable AExpr */;
952 short int var7
/* : Bool */;
953 var
= NEW_parser_nodes__TKwdo(&type_parser_nodes__TKwdo
);
955 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TKwdo>*/;
957 self
->attrs
[COLOR_parser_nodes__ADoExpr___n_kwdo
].val
= var
; /* _n_kwdo on <self:ADoExpr> */
960 { /* Inline typing#AExpr#is_typed= (self,var1) on <self:ADoExpr> */
961 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var1
; /* _is_typed on <self:ADoExpr> */
965 var3
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
967 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:ABlockExpr>*/;
970 parser_prod__ADoExpr__n_block_61d(self
, var3
); /* Direct call parser_prod#ADoExpr#n_block= on <self:ADoExpr>*/
973 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
974 var6
= self
->attrs
[COLOR_parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
981 PRINT_ERROR("Runtime error: %s", "Receiver is null");
982 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 209);
985 { /* Inline typing#AExpr#is_typed= (var4,var7) on <var4:nullable AExpr> */
986 if (unlikely(var4
== NULL
)) {
987 PRINT_ERROR("Runtime error: %s", "Receiver is null");
988 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 619);
991 var4
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var7
; /* _is_typed on <var4:nullable AExpr> */
997 /* method astbuilder#ADoExpr#make for (self: Object) */
998 void VIRTUAL_astbuilder__ADoExpr__make(val
* self
) {
999 astbuilder__ADoExpr__make(self
); /* Direct call astbuilder#ADoExpr#make on <self:Object(ADoExpr)>*/
1002 /* method astbuilder#ADoExpr#add for (self: ADoExpr, AExpr) */
1003 void astbuilder__ADoExpr__add(val
* self
, val
* p0
) {
1004 val
* var_expr
/* var expr: AExpr */;
1005 val
* var
/* : nullable AExpr */;
1006 val
* var2
/* : nullable AExpr */;
1009 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
1010 var2
= self
->attrs
[COLOR_parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
1016 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1017 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 225);
1020 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_astbuilder__AExpr__add
]))(var
, var_expr
) /* add on <var:nullable AExpr>*/;
1024 /* method astbuilder#ADoExpr#add for (self: Object, AExpr) */
1025 void VIRTUAL_astbuilder__ADoExpr__add(val
* self
, val
* p0
) {
1026 astbuilder__ADoExpr__add(self
, p0
); /* Direct call astbuilder#ADoExpr#add on <self:Object(ADoExpr)>*/
1029 /* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */
1030 void astbuilder__ABreakExpr__make(val
* self
, val
* p0
) {
1031 val
* var_escapemark
/* var escapemark: EscapeMark */;
1032 val
* var
/* : TKwbreak */;
1033 val
* var2
/* : Array[AEscapeExpr] */;
1034 val
* var4
/* : Array[AEscapeExpr] */;
1035 short int var5
/* : Bool */;
1036 var_escapemark
= p0
;
1037 var
= NEW_parser_nodes__TKwbreak(&type_parser_nodes__TKwbreak
);
1039 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TKwbreak>*/;
1041 self
->attrs
[COLOR_parser_nodes__ABreakExpr___n_kwbreak
].val
= var
; /* _n_kwbreak on <self:ABreakExpr> */
1043 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:ABreakExpr> */
1044 self
->attrs
[COLOR_scope__AEscapeExpr___escapemark
].val
= var_escapemark
; /* _escapemark on <self:ABreakExpr> */
1049 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:EscapeMark> */
1050 var4
= var_escapemark
->attrs
[COLOR_scope__EscapeMark___escapes
].val
; /* _escapes on <var_escapemark:EscapeMark> */
1051 if (unlikely(var4
== NULL
)) {
1052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
1053 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 57);
1061 array__Array__add(var2
, self
); /* Direct call array#Array#add on <var2:Array[AEscapeExpr]>*/
1065 { /* Inline typing#AExpr#is_typed= (self,var5) on <self:ABreakExpr> */
1066 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var5
; /* _is_typed on <self:ABreakExpr> */
1072 /* method astbuilder#ABreakExpr#make for (self: Object, EscapeMark) */
1073 void VIRTUAL_astbuilder__ABreakExpr__make(val
* self
, val
* p0
) {
1074 astbuilder__ABreakExpr__make(self
, p0
); /* Direct call astbuilder#ABreakExpr#make on <self:Object(ABreakExpr)>*/
1077 /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */
1078 void astbuilder__AIfExpr__make(val
* self
, val
* p0
, val
* p1
) {
1079 val
* var_condition
/* var condition: AExpr */;
1080 val
* var_mtype
/* var mtype: nullable MType */;
1081 val
* var
/* : TKwif */;
1082 val
* var1
/* : AExpr */;
1083 val
* var3
/* : ABlockExpr */;
1084 val
* var4
/* : ABlockExpr */;
1085 short int var6
/* : Bool */;
1088 var
= NEW_parser_nodes__TKwif(&type_parser_nodes__TKwif
);
1090 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TKwif>*/;
1092 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_kwif
].val
= var
; /* _n_kwif on <self:AIfExpr> */
1093 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
= var_condition
; /* _n_expr on <self:AIfExpr> */
1094 var1
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
1095 if (unlikely(var1
== NULL
)) {
1096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1097 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 244);
1101 { /* Inline parser_nodes#ANode#parent= (var1,self) on <var1:AExpr> */
1102 var1
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var1:AExpr> */
1106 var3
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1108 astbuilder__ABlockExpr__make(var3
); /* Direct call astbuilder#ABlockExpr#make on <var3:ABlockExpr>*/
1110 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
= var3
; /* _n_then on <self:AIfExpr> */
1111 var4
= NEW_parser_nodes__ABlockExpr(&type_parser_nodes__ABlockExpr
);
1113 astbuilder__ABlockExpr__make(var4
); /* Direct call astbuilder#ABlockExpr#make on <var4:ABlockExpr>*/
1115 self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
= var4
; /* _n_else on <self:AIfExpr> */
1117 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AIfExpr> */
1118 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AIfExpr> */
1124 { /* Inline typing#AExpr#is_typed= (self,var6) on <self:AIfExpr> */
1125 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var6
; /* _is_typed on <self:AIfExpr> */
1131 /* method astbuilder#AIfExpr#make for (self: Object, AExpr, nullable MType) */
1132 void VIRTUAL_astbuilder__AIfExpr__make(val
* self
, val
* p0
, val
* p1
) {
1133 astbuilder__AIfExpr__make(self
, p0
, p1
); /* Direct call astbuilder#AIfExpr#make on <self:Object(AIfExpr)>*/
1136 /* method astbuilder#AType#make for (self: AType) */
1137 void astbuilder__AType__make(val
* self
) {
1138 val
* var
/* : TClassid */;
1139 var
= NEW_parser_nodes__TClassid(&type_parser_nodes__TClassid
);
1141 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TClassid>*/;
1143 self
->attrs
[COLOR_parser_nodes__AType___n_id
].val
= var
; /* _n_id on <self:AType> */
1146 /* method astbuilder#AType#make for (self: Object) */
1147 void VIRTUAL_astbuilder__AType__make(val
* self
) {
1148 astbuilder__AType__make(self
); /* Direct call astbuilder#AType#make on <self:Object(AType)>*/
1151 /* method astbuilder#ADecIntExpr#make for (self: ADecIntExpr, Int, MType) */
1152 void astbuilder__ADecIntExpr__make(val
* self
, long p0
, val
* p1
) {
1153 long var_value
/* var value: Int */;
1154 val
* var_t
/* var t: MType */;
1155 val
* var
/* : nullable Int */;
1156 val
* var2
/* : TNumber */;
1160 { /* Inline literal#AIntExpr#value= (self,var_value) on <self:ADecIntExpr> */
1161 var
= BOX_kernel__Int(var_value
); /* autobox from Int to nullable Int */
1162 self
->attrs
[COLOR_literal__AIntExpr___value
].val
= var
; /* _value on <self:ADecIntExpr> */
1166 var2
= NEW_parser_nodes__TNumber(&type_parser_nodes__TNumber
);
1168 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:TNumber>*/;
1170 self
->attrs
[COLOR_parser_nodes__ADecIntExpr___n_number
].val
= var2
; /* _n_number on <self:ADecIntExpr> */
1172 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:ADecIntExpr> */
1173 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:ADecIntExpr> */
1179 /* method astbuilder#ADecIntExpr#make for (self: Object, Int, MType) */
1180 void VIRTUAL_astbuilder__ADecIntExpr__make(val
* self
, long p0
, val
* p1
) {
1181 astbuilder__ADecIntExpr__make(self
, p0
, p1
); /* Direct call astbuilder#ADecIntExpr#make on <self:Object(ADecIntExpr)>*/
1184 /* method astbuilder#ANewExpr#make for (self: ANewExpr, CallSite, nullable Array[AExpr]) */
1185 void astbuilder__ANewExpr__make(val
* self
, val
* p0
, val
* p1
) {
1186 val
* var_callsite
/* var callsite: CallSite */;
1187 val
* var_args
/* var args: nullable Array[AExpr] */;
1188 val
* var
/* : TKwnew */;
1189 val
* var1
/* : AType */;
1190 val
* var2
/* : AListExprs */;
1191 val
* var3
/* : null */;
1192 short int var4
/* : Bool */;
1193 short int var5
/* : Bool */;
1194 val
* var_other
/* var other: nullable Object */;
1195 short int var7
/* : Bool */;
1196 short int var8
/* : Bool */;
1197 short int var9
/* : Bool */;
1198 val
* var10
/* : AExprs */;
1199 val
* var12
/* : AExprs */;
1200 val
* var13
/* : ANodes[AExpr] */;
1201 val
* var15
/* : ANodes[AExpr] */;
1202 val
* var17
/* : MType */;
1203 val
* var19
/* : MType */;
1204 short int var20
/* : Bool */;
1207 const char* var_class_name
;
1208 val
* var22
/* : MMethod */;
1209 val
* var24
/* : MMethod */;
1210 short int var25
/* : Bool */;
1211 short int var27
/* : Bool */;
1212 val
* var28
/* : MSignature */;
1213 val
* var30
/* : MSignature */;
1214 val
* var31
/* : nullable MType */;
1215 val
* var33
/* : nullable MType */;
1216 val
* var35
/* : MType */;
1217 val
* var37
/* : MType */;
1218 short int var39
/* : Bool */;
1221 var
= NEW_parser_nodes__TKwnew(&type_parser_nodes__TKwnew
);
1223 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TKwnew>*/;
1225 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_kwnew
].val
= var
; /* _n_kwnew on <self:ANewExpr> */
1226 var1
= NEW_parser_nodes__AType(&type_parser_nodes__AType
);
1228 astbuilder__AType__make(var1
); /* Direct call astbuilder#AType#make on <var1:AType>*/
1230 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_type
].val
= var1
; /* _n_type on <self:ANewExpr> */
1231 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
1233 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:AListExprs>*/;
1235 self
->attrs
[COLOR_parser_nodes__ANewExpr___n_args
].val
= var2
; /* _n_args on <self:ANewExpr> */
1237 if (var_args
== NULL
) {
1238 var4
= 0; /* is null */
1240 var4
= 1; /* arg is null and recv is not */
1243 { /* Inline kernel#Object#!= (var_args,var3) on <var_args:nullable Array[AExpr]> */
1246 var8
= ((short int (*)(val
*, val
*))(var_args
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_args
, var_other
) /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/;
1258 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
1259 var12
= self
->attrs
[COLOR_parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
1260 if (unlikely(var12
== NULL
)) {
1261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1262 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1614);
1266 RET_LABEL11
:(void)0;
1270 { /* Inline parser_nodes#AExprs#n_exprs (var10) on <var10:AExprs> */
1271 var15
= var10
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var10:AExprs> */
1272 if (unlikely(var15
== NULL
)) {
1273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1274 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
1278 RET_LABEL14
:(void)0;
1282 abstract_collection__SimpleCollection__add_all(var13
, var_args
); /* Direct call abstract_collection#SimpleCollection#add_all on <var13:ANodes[AExpr]>*/
1287 { /* Inline typing#ANewExpr#callsite= (self,var_callsite) on <self:ANewExpr> */
1288 self
->attrs
[COLOR_typing__ANewExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ANewExpr> */
1289 RET_LABEL16
:(void)0;
1293 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1294 var19
= var_callsite
->attrs
[COLOR_typing__CallSite___recv
].val
; /* _recv on <var_callsite:CallSite> */
1295 if (unlikely(var19
== NULL
)) {
1296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1297 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 469);
1301 RET_LABEL18
:(void)0;
1304 /* <var17:MType> isa MClassType */
1305 cltype
= type_model__MClassType
.color
;
1306 idtype
= type_model__MClassType
.id
;
1307 if(cltype
>= var17
->type
->table_size
) {
1310 var20
= var17
->type
->type_table
[cltype
] == idtype
;
1312 if (unlikely(!var20
)) {
1313 var_class_name
= var17
== NULL ?
"null" : var17
->type
->name
;
1314 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
1315 PRINT_ERROR(" (%s:%d)\n", "astbuilder.nit", 278);
1319 { /* Inline typing#ANewExpr#recvtype= (self,var17) on <self:ANewExpr> */
1320 self
->attrs
[COLOR_typing__ANewExpr___recvtype
].val
= var17
; /* _recvtype on <self:ANewExpr> */
1321 RET_LABEL21
:(void)0;
1325 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
1326 var24
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
1327 if (unlikely(var24
== NULL
)) {
1328 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1329 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
1333 RET_LABEL23
:(void)0;
1337 { /* Inline model#MMethod#is_new (var22) on <var22:MMethod> */
1338 var27
= var22
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <var22:MMethod> */
1340 RET_LABEL26
:(void)0;
1345 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1346 var30
= var_callsite
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:CallSite> */
1347 if (unlikely(var30
== NULL
)) {
1348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1349 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
1353 RET_LABEL29
:(void)0;
1357 { /* Inline model#MSignature#return_mtype (var28) on <var28:MSignature> */
1358 var33
= var28
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var28:MSignature> */
1360 RET_LABEL32
:(void)0;
1364 { /* Inline typing#AExpr#mtype= (self,var31) on <self:ANewExpr> */
1365 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var31
; /* _mtype on <self:ANewExpr> */
1366 RET_LABEL34
:(void)0;
1371 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1372 var37
= var_callsite
->attrs
[COLOR_typing__CallSite___recv
].val
; /* _recv on <var_callsite:CallSite> */
1373 if (unlikely(var37
== NULL
)) {
1374 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1375 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 469);
1379 RET_LABEL36
:(void)0;
1383 { /* Inline typing#AExpr#mtype= (self,var35) on <self:ANewExpr> */
1384 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var35
; /* _mtype on <self:ANewExpr> */
1385 RET_LABEL38
:(void)0;
1391 { /* Inline typing#AExpr#is_typed= (self,var39) on <self:ANewExpr> */
1392 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var39
; /* _is_typed on <self:ANewExpr> */
1393 RET_LABEL40
:(void)0;
1398 /* method astbuilder#ANewExpr#make for (self: Object, CallSite, nullable Array[AExpr]) */
1399 void VIRTUAL_astbuilder__ANewExpr__make(val
* self
, val
* p0
, val
* p1
) {
1400 astbuilder__ANewExpr__make(self
, p0
, p1
); /* Direct call astbuilder#ANewExpr#make on <self:Object(ANewExpr)>*/
1403 /* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, CallSite, nullable Array[AExpr]) */
1404 void astbuilder__ACallExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1405 val
* var_recv
/* var recv: AExpr */;
1406 val
* var_callsite
/* var callsite: CallSite */;
1407 val
* var_args
/* var args: nullable Array[AExpr] */;
1408 val
* var
/* : AListExprs */;
1409 val
* var1
/* : TId */;
1410 val
* var2
/* : null */;
1411 short int var3
/* : Bool */;
1412 short int var4
/* : Bool */;
1413 val
* var_other
/* var other: nullable Object */;
1414 short int var6
/* : Bool */;
1415 short int var7
/* : Bool */;
1416 short int var8
/* : Bool */;
1417 val
* var9
/* : AExprs */;
1418 val
* var11
/* : AExprs */;
1419 val
* var12
/* : ANodes[AExpr] */;
1420 val
* var14
/* : ANodes[AExpr] */;
1421 val
* var16
/* : MSignature */;
1422 val
* var18
/* : MSignature */;
1423 val
* var19
/* : nullable MType */;
1424 val
* var21
/* : nullable MType */;
1425 short int var23
/* : Bool */;
1429 self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:ACallExpr> */
1430 var
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
1432 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:AListExprs>*/;
1434 self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
= var
; /* _n_args on <self:ACallExpr> */
1435 var1
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
1437 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:TId>*/;
1439 self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
= var1
; /* _n_id on <self:ACallExpr> */
1441 if (var_args
== NULL
) {
1442 var3
= 0; /* is null */
1444 var3
= 1; /* arg is null and recv is not */
1447 { /* Inline kernel#Object#!= (var_args,var2) on <var_args:nullable Array[AExpr]> */
1450 var7
= ((short int (*)(val
*, val
*))(var_args
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_args
, var_other
) /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/;
1462 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallExpr> */
1463 var11
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallExpr> */
1464 if (unlikely(var11
== NULL
)) {
1465 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1466 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1647);
1470 RET_LABEL10
:(void)0;
1474 { /* Inline parser_nodes#AExprs#n_exprs (var9) on <var9:AExprs> */
1475 var14
= var9
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var9:AExprs> */
1476 if (unlikely(var14
== NULL
)) {
1477 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1478 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
1482 RET_LABEL13
:(void)0;
1486 abstract_collection__SimpleCollection__add_all(var12
, var_args
); /* Direct call abstract_collection#SimpleCollection#add_all on <var12:ANodes[AExpr]>*/
1491 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ACallExpr> */
1492 self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ACallExpr> */
1493 RET_LABEL15
:(void)0;
1497 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1498 var18
= var_callsite
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:CallSite> */
1499 if (unlikely(var18
== NULL
)) {
1500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1501 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
1505 RET_LABEL17
:(void)0;
1509 { /* Inline model#MSignature#return_mtype (var16) on <var16:MSignature> */
1510 var21
= var16
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var16:MSignature> */
1512 RET_LABEL20
:(void)0;
1516 { /* Inline typing#AExpr#mtype= (self,var19) on <self:ACallExpr> */
1517 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var19
; /* _mtype on <self:ACallExpr> */
1518 RET_LABEL22
:(void)0;
1523 { /* Inline typing#AExpr#is_typed= (self,var23) on <self:ACallExpr> */
1524 self
->attrs
[COLOR_typing__AExpr___is_typed
].s
= var23
; /* _is_typed on <self:ACallExpr> */
1525 RET_LABEL24
:(void)0;
1530 /* method astbuilder#ACallExpr#make for (self: Object, AExpr, CallSite, nullable Array[AExpr]) */
1531 void VIRTUAL_astbuilder__ACallExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1532 astbuilder__ACallExpr__make(self
, p0
, p1
, p2
); /* Direct call astbuilder#ACallExpr#make on <self:Object(ACallExpr)>*/
1535 /* method astbuilder#AAttrExpr#make for (self: AAttrExpr, AExpr, MAttribute, MType) */
1536 void astbuilder__AAttrExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1537 val
* var_recv
/* var recv: AExpr */;
1538 val
* var_attribute
/* var attribute: MAttribute */;
1539 val
* var_t
/* var t: MType */;
1540 val
* var
/* : TAttrid */;
1544 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrExpr> */
1546 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1547 var_recv
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_recv:AExpr> */
1551 var
= NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid
);
1553 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TAttrid>*/;
1555 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrExpr> */
1557 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrExpr> */
1558 self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
= var_attribute
; /* _mproperty on <self:AAttrExpr> */
1563 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AAttrExpr> */
1564 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AAttrExpr> */
1570 /* method astbuilder#AAttrExpr#make for (self: Object, AExpr, MAttribute, MType) */
1571 void VIRTUAL_astbuilder__AAttrExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1572 astbuilder__AAttrExpr__make(self
, p0
, p1
, p2
); /* Direct call astbuilder#AAttrExpr#make on <self:Object(AAttrExpr)>*/
1575 /* method astbuilder#AAttrAssignExpr#make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */
1576 void astbuilder__AAttrAssignExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1577 val
* var_recv
/* var recv: AExpr */;
1578 val
* var_attribute
/* var attribute: MAttribute */;
1579 val
* var_value
/* var value: AExpr */;
1580 val
* var
/* : TAttrid */;
1581 val
* var3
/* : TAssign */;
1582 val
* var5
/* : nullable MType */;
1586 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrAssignExpr> */
1588 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1589 var_recv
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_recv:AExpr> */
1593 var
= NEW_parser_nodes__TAttrid(&type_parser_nodes__TAttrid
);
1595 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TAttrid>*/;
1597 self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrAssignExpr> */
1598 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AAttrAssignExpr> */
1600 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1601 var_value
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_value:AExpr> */
1605 var3
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
1607 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:TAssign>*/;
1609 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_assign
].val
= var3
; /* _n_assign on <self:AAttrAssignExpr> */
1611 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrAssignExpr> */
1612 self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
= var_attribute
; /* _mproperty on <self:AAttrAssignExpr> */
1617 var5
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_value
) /* mtype on <var_value:AExpr>*/;
1620 { /* Inline typing#AExpr#mtype= (self,var5) on <self:AAttrAssignExpr> */
1621 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var5
; /* _mtype on <self:AAttrAssignExpr> */
1627 /* method astbuilder#AAttrAssignExpr#make for (self: Object, AExpr, MAttribute, AExpr) */
1628 void VIRTUAL_astbuilder__AAttrAssignExpr__make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1629 astbuilder__AAttrAssignExpr__make(self
, p0
, p1
, p2
); /* Direct call astbuilder#AAttrAssignExpr#make on <self:Object(AAttrAssignExpr)>*/
1632 /* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable, MType) */
1633 void astbuilder__AVarExpr__make(val
* self
, val
* p0
, val
* p1
) {
1634 val
* var_v
/* var v: Variable */;
1635 val
* var_mtype
/* var mtype: MType */;
1636 val
* var
/* : TId */;
1639 var
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
1641 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TId>*/;
1643 self
->attrs
[COLOR_parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarExpr> */
1645 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarExpr> */
1646 self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
= var_v
; /* _variable on <self:AVarExpr> */
1651 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AVarExpr> */
1652 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AVarExpr> */
1658 /* method astbuilder#AVarExpr#make for (self: Object, Variable, MType) */
1659 void VIRTUAL_astbuilder__AVarExpr__make(val
* self
, val
* p0
, val
* p1
) {
1660 astbuilder__AVarExpr__make(self
, p0
, p1
); /* Direct call astbuilder#AVarExpr#make on <self:Object(AVarExpr)>*/
1663 /* method astbuilder#AVarAssignExpr#make for (self: AVarAssignExpr, Variable, AExpr) */
1664 void astbuilder__AVarAssignExpr__make(val
* self
, val
* p0
, val
* p1
) {
1665 val
* var_v
/* var v: Variable */;
1666 val
* var_value
/* var value: AExpr */;
1667 val
* var
/* : TId */;
1668 val
* var2
/* : TAssign */;
1669 val
* var4
/* : nullable MType */;
1672 var
= NEW_parser_nodes__TId(&type_parser_nodes__TId
);
1674 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:TId>*/;
1676 self
->attrs
[COLOR_parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarAssignExpr> */
1677 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AVarAssignExpr> */
1679 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1680 var_value
->attrs
[COLOR_parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_value:AExpr> */
1684 var2
= NEW_parser_nodes__TAssign(&type_parser_nodes__TAssign
);
1686 ((void (*)(val
*))(var2
->class->vft
[COLOR_kernel__Object__init
]))(var2
) /* init on <var2:TAssign>*/;
1688 self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_assign
].val
= var2
; /* _n_assign on <self:AVarAssignExpr> */
1690 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarAssignExpr> */
1691 self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
= var_v
; /* _variable on <self:AVarAssignExpr> */
1696 var4
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_value
) /* mtype on <var_value:AExpr>*/;
1699 { /* Inline typing#AExpr#mtype= (self,var4) on <self:AVarAssignExpr> */
1700 self
->attrs
[COLOR_typing__AExpr___mtype
].val
= var4
; /* _mtype on <self:AVarAssignExpr> */
1706 /* method astbuilder#AVarAssignExpr#make for (self: Object, Variable, AExpr) */
1707 void VIRTUAL_astbuilder__AVarAssignExpr__make(val
* self
, val
* p0
, val
* p1
) {
1708 astbuilder__AVarAssignExpr__make(self
, p0
, p1
); /* Direct call astbuilder#AVarAssignExpr#make on <self:Object(AVarAssignExpr)>*/