1 #include "nit__astbuilder.sep.0.h"
2 /* method astbuilder#ASTBuilder#mmodule for (self: ASTBuilder): MModule */
3 val
* nit___nit__ASTBuilder___mmodule(val
* self
) {
4 val
* var
/* : MModule */;
5 val
* var1
/* : MModule */;
6 var1
= self
->attrs
[COLOR_nit__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", FILE_nit__astbuilder
, 25);
16 /* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */
17 void nit___nit__ASTBuilder___mmodule_61d(val
* self
, val
* p0
) {
18 self
->attrs
[COLOR_nit__astbuilder__ASTBuilder___mmodule
].val
= p0
; /* _mmodule on <self:ASTBuilder> */
21 /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */
22 val
* nit___nit__ASTBuilder___anchor(val
* self
) {
23 val
* var
/* : nullable MClassType */;
24 val
* var1
/* : nullable MClassType */;
25 var1
= self
->attrs
[COLOR_nit__astbuilder__ASTBuilder___anchor
].val
; /* _anchor on <self:ASTBuilder> */
30 /* method astbuilder#ASTBuilder#anchor= for (self: ASTBuilder, nullable MClassType) */
31 void nit___nit__ASTBuilder___anchor_61d(val
* self
, val
* p0
) {
32 self
->attrs
[COLOR_nit__astbuilder__ASTBuilder___anchor
].val
= p0
; /* _anchor on <self:ASTBuilder> */
35 /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntExpr */
36 val
* nit___nit__ASTBuilder___make_int(val
* self
, long p0
) {
37 val
* var
/* : AIntExpr */;
38 long var_value
/* var value: Int */;
39 val
* var1
/* : ADecIntExpr */;
40 val
* var2
/* : MModule */;
41 val
* var4
/* : MModule */;
42 val
* var5
/* : MClassType */;
44 var1
= NEW_nit__ADecIntExpr(&type_nit__ADecIntExpr
);
46 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
47 var4
= self
->attrs
[COLOR_nit__astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
48 if (unlikely(var4
== NULL
)) {
49 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
50 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 25);
58 var5
= nit__model___MModule___int_type(var2
);
61 nit__astbuilder___ADecIntExpr___make(var1
, var_value
, var5
); /* Direct call astbuilder#ADecIntExpr#make on <var1:ADecIntExpr>*/
68 /* method astbuilder#ASTBuilder#make_new for (self: ASTBuilder, CallSite, nullable Array[AExpr]): ANewExpr */
69 val
* nit___nit__ASTBuilder___make_new(val
* self
, val
* p0
, val
* p1
) {
70 val
* var
/* : ANewExpr */;
71 val
* var_callsite
/* var callsite: CallSite */;
72 val
* var_args
/* var args: nullable Array[AExpr] */;
73 val
* var1
/* : ANewExpr */;
76 var1
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
78 nit__astbuilder___ANewExpr___make(var1
, var_callsite
, var_args
); /* Direct call astbuilder#ANewExpr#make on <var1:ANewExpr>*/
85 /* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */
86 val
* nit___nit__ASTBuilder___make_call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
87 val
* var
/* : ACallExpr */;
88 val
* var_recv
/* var recv: AExpr */;
89 val
* var_callsite
/* var callsite: CallSite */;
90 val
* var_args
/* var args: nullable Array[AExpr] */;
91 val
* var1
/* : ACallExpr */;
95 var1
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
97 nit__astbuilder___ACallExpr___make(var1
, var_recv
, var_callsite
, var_args
); /* Direct call astbuilder#ACallExpr#make on <var1:ACallExpr>*/
104 /* method astbuilder#ASTBuilder#make_block for (self: ASTBuilder): ABlockExpr */
105 val
* nit___nit__ASTBuilder___make_block(val
* self
) {
106 val
* var
/* : ABlockExpr */;
107 val
* var1
/* : ABlockExpr */;
108 var1
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
110 nit__astbuilder___ABlockExpr___make(var1
); /* Direct call astbuilder#ABlockExpr#make on <var1:ABlockExpr>*/
117 /* method astbuilder#ASTBuilder#make_loop for (self: ASTBuilder): ALoopExpr */
118 val
* nit___nit__ASTBuilder___make_loop(val
* self
) {
119 val
* var
/* : ALoopExpr */;
120 val
* var1
/* : ALoopExpr */;
121 var1
= NEW_nit__ALoopExpr(&type_nit__ALoopExpr
);
123 nit__astbuilder___ALoopExpr___make(var1
); /* Direct call astbuilder#ALoopExpr#make on <var1:ALoopExpr>*/
130 /* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable, MType): AVarExpr */
131 val
* nit___nit__ASTBuilder___make_var_read(val
* self
, val
* p0
, val
* p1
) {
132 val
* var
/* : AVarExpr */;
133 val
* var_variable
/* var variable: Variable */;
134 val
* var_mtype
/* var mtype: MType */;
135 val
* var1
/* : AVarExpr */;
138 var1
= NEW_nit__AVarExpr(&type_nit__AVarExpr
);
140 nit__astbuilder___AVarExpr___make(var1
, var_variable
, var_mtype
); /* Direct call astbuilder#AVarExpr#make on <var1:AVarExpr>*/
147 /* method astbuilder#ASTBuilder#make_var_assign for (self: ASTBuilder, Variable, AExpr): AVarAssignExpr */
148 val
* nit___nit__ASTBuilder___make_var_assign(val
* self
, val
* p0
, val
* p1
) {
149 val
* var
/* : AVarAssignExpr */;
150 val
* var_variable
/* var variable: Variable */;
151 val
* var_value
/* var value: AExpr */;
152 val
* var1
/* : AVarAssignExpr */;
155 var1
= NEW_nit__AVarAssignExpr(&type_nit__AVarAssignExpr
);
157 nit__astbuilder___AVarAssignExpr___make(var1
, var_variable
, var_value
); /* Direct call astbuilder#AVarAssignExpr#make on <var1:AVarAssignExpr>*/
164 /* method astbuilder#ASTBuilder#make_attr_read for (self: ASTBuilder, AExpr, MAttribute): AAttrExpr */
165 val
* nit___nit__ASTBuilder___make_attr_read(val
* self
, val
* p0
, val
* p1
) {
166 val
* var
/* : AAttrExpr */;
167 val
* var_recv
/* var recv: AExpr */;
168 val
* var_attribute
/* var attribute: MAttribute */;
169 val
* var1
/* : MPropDef */;
170 val
* var3
/* : MPropDef */;
171 val
* var4
/* : nullable MType */;
172 val
* var6
/* : nullable MType */;
173 val
* var7
/* : nullable MType */;
174 val
* var8
/* : nullable MClassType */;
175 val
* var10
/* : nullable MClassType */;
176 val
* var11
/* : MModule */;
177 val
* var13
/* : MModule */;
178 val
* var14
/* : MType */;
179 val
* var_mtype
/* var mtype: MType */;
180 val
* var15
/* : AAttrExpr */;
184 { /* Inline model#MProperty#intro (var_attribute) on <var_attribute:MAttribute> */
185 var3
= var_attribute
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_attribute:MAttribute> */
186 if (unlikely(var3
== NULL
)) {
187 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
188 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
196 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
197 var6
= var1
->attrs
[COLOR_nit__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
203 var7
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_nit__typing__AExpr__mtype
]))(var_recv
); /* mtype on <var_recv:AExpr>*/
205 if (unlikely(var7
== NULL
)) {
206 PRINT_ERROR("Runtime error: %s", "Cast failed");
207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 77);
211 { /* Inline astbuilder#ASTBuilder#anchor (self) on <self:ASTBuilder> */
212 var10
= self
->attrs
[COLOR_nit__astbuilder__ASTBuilder___anchor
].val
; /* _anchor on <self:ASTBuilder> */
218 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
219 var13
= self
->attrs
[COLOR_nit__astbuilder__ASTBuilder___mmodule
].val
; /* _mmodule on <self:ASTBuilder> */
220 if (unlikely(var13
== NULL
)) {
221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 25);
230 PRINT_ERROR("Runtime error: %s", "Receiver is null");
231 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 77);
234 var14
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var4
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var4
, var7
, var8
, var11
, 1); /* resolve_for on <var4:nullable MType>*/
237 var15
= NEW_nit__AAttrExpr(&type_nit__AAttrExpr
);
239 nit__astbuilder___AAttrExpr___make(var15
, var_recv
, var_attribute
, var_mtype
); /* Direct call astbuilder#AAttrExpr#make on <var15:AAttrExpr>*/
246 /* method astbuilder#ASTBuilder#make_attr_assign for (self: ASTBuilder, AExpr, MAttribute, AExpr): AAttrAssignExpr */
247 val
* nit___nit__ASTBuilder___make_attr_assign(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
248 val
* var
/* : AAttrAssignExpr */;
249 val
* var_recv
/* var recv: AExpr */;
250 val
* var_attribute
/* var attribute: MAttribute */;
251 val
* var_value
/* var value: AExpr */;
252 val
* var1
/* : AAttrAssignExpr */;
256 var1
= NEW_nit__AAttrAssignExpr(&type_nit__AAttrAssignExpr
);
258 nit__astbuilder___AAttrAssignExpr___make(var1
, var_recv
, var_attribute
, var_value
); /* Direct call astbuilder#AAttrAssignExpr#make on <var1:AAttrAssignExpr>*/
265 /* method astbuilder#ASTBuilder#make_do for (self: ASTBuilder): ADoExpr */
266 val
* nit___nit__ASTBuilder___make_do(val
* self
) {
267 val
* var
/* : ADoExpr */;
268 val
* var1
/* : ADoExpr */;
269 var1
= NEW_nit__ADoExpr(&type_nit__ADoExpr
);
271 nit__astbuilder___ADoExpr___make(var1
); /* Direct call astbuilder#ADoExpr#make on <var1:ADoExpr>*/
278 /* method astbuilder#ASTBuilder#make_break for (self: ASTBuilder, EscapeMark): ABreakExpr */
279 val
* nit___nit__ASTBuilder___make_break(val
* self
, val
* p0
) {
280 val
* var
/* : ABreakExpr */;
281 val
* var_escapemark
/* var escapemark: EscapeMark */;
282 val
* var1
/* : ABreakExpr */;
284 var1
= NEW_nit__ABreakExpr(&type_nit__ABreakExpr
);
286 nit__astbuilder___ABreakExpr___make(var1
, var_escapemark
); /* Direct call astbuilder#ABreakExpr#make on <var1:ABreakExpr>*/
293 /* method astbuilder#ASTBuilder#make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */
294 val
* nit___nit__ASTBuilder___make_if(val
* self
, val
* p0
, val
* p1
) {
295 val
* var
/* : AIfExpr */;
296 val
* var_condition
/* var condition: AExpr */;
297 val
* var_mtype
/* var mtype: nullable MType */;
298 val
* var1
/* : AIfExpr */;
301 var1
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
303 nit__astbuilder___AIfExpr___make(var1
, var_condition
, var_mtype
); /* Direct call astbuilder#AIfExpr#make on <var1:AIfExpr>*/
310 /* method astbuilder#ASTBuilder#init for (self: ASTBuilder) */
311 void nit___nit__ASTBuilder___standard__kernel__Object__init(val
* self
) {
313 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__ASTBuilder___standard__kernel__Object__init
]))(self
); /* init on <self:ASTBuilder>*/
317 /* method astbuilder#AExpr#make_var_read for (self: AExpr): AVarExpr */
318 val
* nit__astbuilder___AExpr___make_var_read(val
* self
) {
319 val
* var
/* : AVarExpr */;
320 val
* var1
/* : nullable Variable */;
321 val
* var3
/* : nullable Variable */;
322 val
* var_variable
/* var variable: nullable Variable */;
323 short int var4
/* : Bool */;
324 short int var5
/* : Bool */;
325 val
* var_other
/* var other: nullable Object */;
326 short int var7
/* : Bool */;
327 short int var9
/* : Bool */;
328 val
* var10
/* : nullable ANode */;
329 val
* var12
/* : nullable ANode */;
330 short int var13
/* : Bool */;
331 short int var14
/* : Bool */;
332 val
* var_other16
/* var other: nullable Object */;
333 short int var17
/* : Bool */;
334 short int var18
/* : Bool */;
335 val
* var19
/* : AExpr */;
336 val
* var_place
/* var place: AExpr */;
337 val
* var20
/* : Variable */;
339 val
* var21
/* : String */;
340 char* var22
/* : NativeString */;
341 val
* var23
/* : FlatString */;
342 val
* var24
/* : nullable MType */;
343 val
* var26
/* : AVarAssignExpr */;
344 val
* var_nvar
/* var nvar: AVarAssignExpr */;
345 val
* var28
/* : AVarExpr */;
346 val
* var29
/* : nullable MType */;
347 val
* var31
/* : nullable MType */;
349 { /* Inline astbuilder#AExpr#variable_cache (self) on <self:AExpr> */
350 var3
= self
->attrs
[COLOR_nit__astbuilder__AExpr___variable_cache
].val
; /* _variable_cache on <self:AExpr> */
356 if (var_variable
== NULL
) {
357 var4
= 1; /* is null */
359 var4
= 0; /* arg is null but recv is not */
362 { /* Inline kernel#Object#== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
363 var_other
= ((val
*)NULL
);
365 { /* Inline kernel#Object#is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
366 var9
= var_variable
== var_other
;
380 { /* Inline parser_nodes#ANode#parent (self) on <self:AExpr> */
381 var12
= self
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
; /* _parent on <self:AExpr> */
387 var13
= 0; /* is null */
389 var13
= 1; /* arg is null and recv is not */
392 { /* Inline kernel#Object#!= (var10,((val*)NULL)) on <var10:nullable ANode> */
393 var_other16
= ((val
*)NULL
);
395 var17
= ((short int(*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var10
, var_other16
); /* == on <var10:nullable ANode(ANode)>*/
404 if (unlikely(!var13
)) {
405 PRINT_ERROR("Runtime error: %s", "Assert failed");
406 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 117);
410 var19
= nit__astbuilder___AExpr___detach_with_placeholder(self
);
413 var20
= NEW_nit__Variable(&type_nit__Variable
);
414 if (likely(varonce
!=NULL
)) {
418 var23
= standard___standard__NativeString___to_s_with_length(var22
, 0l);
423 ((void(*)(val
* self
, val
* p0
))(var20
->class->vft
[COLOR_nit__scope__Variable__name_61d
]))(var20
, var21
); /* name= on <var20:Variable>*/
426 ((void(*)(val
* self
))(var20
->class->vft
[COLOR_standard__kernel__Object__init
]))(var20
); /* init on <var20:Variable>*/
428 var_variable
= var20
;
430 var24
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__typing__AExpr__mtype
]))(self
); /* mtype on <self:AExpr>*/
433 { /* Inline typing#Variable#declared_type= (var_variable,var24) on <var_variable:nullable Variable(Variable)> */
434 var_variable
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
= var24
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
438 var26
= NEW_nit__AVarAssignExpr(&type_nit__AVarAssignExpr
);
440 nit__astbuilder___AVarAssignExpr___make(var26
, var_variable
, self
); /* Direct call astbuilder#AVarAssignExpr#make on <var26:AVarAssignExpr>*/
444 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(var_place
, var_nvar
); /* Direct call transform#AExpr#replace_with on <var_place:AExpr>*/
447 { /* Inline astbuilder#AExpr#variable_cache= (self,var_variable) on <self:AExpr> */
448 self
->attrs
[COLOR_nit__astbuilder__AExpr___variable_cache
].val
= var_variable
; /* _variable_cache on <self:AExpr> */
454 var28
= NEW_nit__AVarExpr(&type_nit__AVarExpr
);
456 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
457 var31
= var_variable
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:nullable Variable(Variable)> */
462 if (unlikely(var29
== NULL
)) {
463 PRINT_ERROR("Runtime error: %s", "Cast failed");
464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 125);
468 nit__astbuilder___AVarExpr___make(var28
, var_variable
, var29
); /* Direct call astbuilder#AVarExpr#make on <var28:AVarExpr>*/
475 /* method astbuilder#AExpr#variable_cache for (self: AExpr): nullable Variable */
476 val
* nit__astbuilder___AExpr___variable_cache(val
* self
) {
477 val
* var
/* : nullable Variable */;
478 val
* var1
/* : nullable Variable */;
479 var1
= self
->attrs
[COLOR_nit__astbuilder__AExpr___variable_cache
].val
; /* _variable_cache on <self:AExpr> */
484 /* method astbuilder#AExpr#variable_cache= for (self: AExpr, nullable Variable) */
485 void nit__astbuilder___AExpr___variable_cache_61d(val
* self
, val
* p0
) {
486 self
->attrs
[COLOR_nit__astbuilder__AExpr___variable_cache
].val
= p0
; /* _variable_cache on <self:AExpr> */
489 /* method astbuilder#AExpr#detach_with_placeholder for (self: AExpr): AExpr */
490 val
* nit__astbuilder___AExpr___detach_with_placeholder(val
* self
) {
491 val
* var
/* : AExpr */;
492 val
* var1
/* : APlaceholderExpr */;
493 val
* var_h
/* var h: APlaceholderExpr */;
494 var1
= NEW_nit__APlaceholderExpr(&type_nit__APlaceholderExpr
);
496 nit___nit__APlaceholderExpr___make(var1
); /* Direct call astbuilder#APlaceholderExpr#make on <var1:APlaceholderExpr>*/
500 nit__transform___AExpr___nit__parser_nodes__ANode__replace_with(self
, var_h
); /* Direct call transform#AExpr#replace_with on <self:AExpr>*/
507 /* method astbuilder#AExpr#add for (self: AExpr, AExpr) */
508 void nit__astbuilder___AExpr___add(val
* self
, val
* p0
) {
509 val
* var_expr
/* var expr: AExpr */;
510 val
* var
/* : Sys */;
511 val
* var1
/* : NativeArray[String] */;
513 static val
* varonce2
;
514 val
* var3
/* : String */;
515 char* var4
/* : NativeString */;
516 val
* var5
/* : FlatString */;
517 val
* var6
/* : String */;
518 val
* var7
/* : String */;
521 if (unlikely(varonce
==NULL
)) {
522 var1
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
523 if (likely(varonce2
!=NULL
)) {
526 var4
= "add not implemented in ";
527 var5
= standard___standard__NativeString___to_s_with_length(var4
, 23l);
531 ((struct instance_standard__NativeArray
*)var1
)->values
[0]=var3
;
537 var6
= standard__string___Object___inspect(self
);
539 ((struct instance_standard__NativeArray
*)var1
)->values
[1]=var6
;
541 var7
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
545 standard__file___Sys___print(var
, var7
); /* Direct call file#Sys#print on <var:Sys>*/
547 PRINT_ERROR("Runtime error: %s", "Aborted");
548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 160);
552 /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */
553 void nit___nit__APlaceholderExpr___make(val
* self
) {
555 { /* Inline kernel#Object#init (self) on <self:APlaceholderExpr> */
561 /* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */
562 void nit__astbuilder___ABlockExpr___make(val
* self
) {
564 { /* Inline kernel#Object#init (self) on <self:ABlockExpr> */
569 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ABlockExpr> */
570 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ABlockExpr> */
576 /* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */
577 void nit__astbuilder___ABlockExpr___AExpr__add(val
* self
, val
* p0
) {
578 val
* var_expr
/* var expr: AExpr */;
579 val
* var
/* : ANodes[AExpr] */;
580 val
* var2
/* : ANodes[AExpr] */;
583 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
584 var2
= self
->attrs
[COLOR_nit__parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <self:ABlockExpr> */
585 if (unlikely(var2
== NULL
)) {
586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1758);
595 standard___standard__Sequence___SimpleCollection__add(var
, var_expr
); /* Direct call abstract_collection#Sequence#add on <var:ANodes[AExpr]>*/
599 /* method astbuilder#ALoopExpr#make for (self: ALoopExpr) */
600 void nit__astbuilder___ALoopExpr___make(val
* self
) {
601 val
* var
/* : TKwloop */;
602 val
* var4
/* : ABlockExpr */;
603 val
* var6
/* : nullable AExpr */;
604 val
* var8
/* : nullable AExpr */;
606 { /* Inline kernel#Object#init (self) on <self:ALoopExpr> */
610 var
= NEW_nit__TKwloop(&type_nit__TKwloop
);
612 { /* Inline kernel#Object#init (var) on <var:TKwloop> */
616 self
->attrs
[COLOR_nit__parser_nodes__ALoopExpr___n_kwloop
].val
= var
; /* _n_kwloop on <self:ALoopExpr> */
618 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ALoopExpr> */
619 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ALoopExpr> */
623 var4
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
625 { /* Inline kernel#Object#init (var4) on <var4:ABlockExpr> */
630 nit__parser_prod___ALoopExpr___n_block_61d(self
, var4
); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
633 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
634 var8
= self
->attrs
[COLOR_nit__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
640 PRINT_ERROR("Runtime error: %s", "Receiver is null");
641 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 196);
644 { /* Inline typing#AExpr#is_typed= (var6,1) on <var6:nullable AExpr> */
645 if (unlikely(var6
== NULL
)) {
646 PRINT_ERROR("Runtime error: %s", "Receiver is null");
647 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 792);
650 var6
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <var6:nullable AExpr> */
656 /* method astbuilder#ALoopExpr#add for (self: ALoopExpr, AExpr) */
657 void nit__astbuilder___ALoopExpr___AExpr__add(val
* self
, val
* p0
) {
658 val
* var_expr
/* var expr: AExpr */;
659 val
* var
/* : nullable AExpr */;
660 val
* var2
/* : nullable AExpr */;
663 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
664 var2
= self
->attrs
[COLOR_nit__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
670 PRINT_ERROR("Runtime error: %s", "Receiver is null");
671 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 201);
674 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__astbuilder__AExpr__add
]))(var
, var_expr
); /* add on <var:nullable AExpr>*/
678 /* method astbuilder#ADoExpr#make for (self: ADoExpr) */
679 void nit__astbuilder___ADoExpr___make(val
* self
) {
680 val
* var
/* : TKwdo */;
681 val
* var4
/* : ABlockExpr */;
682 val
* var6
/* : nullable AExpr */;
683 val
* var8
/* : nullable AExpr */;
685 { /* Inline kernel#Object#init (self) on <self:ADoExpr> */
689 var
= NEW_nit__TKwdo(&type_nit__TKwdo
);
691 { /* Inline kernel#Object#init (var) on <var:TKwdo> */
695 self
->attrs
[COLOR_nit__parser_nodes__ADoExpr___n_kwdo
].val
= var
; /* _n_kwdo on <self:ADoExpr> */
697 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ADoExpr> */
698 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ADoExpr> */
702 var4
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
704 { /* Inline kernel#Object#init (var4) on <var4:ABlockExpr> */
709 nit__parser_prod___ADoExpr___n_block_61d(self
, var4
); /* Direct call parser_prod#ADoExpr#n_block= on <self:ADoExpr>*/
712 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
713 var8
= self
->attrs
[COLOR_nit__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
719 PRINT_ERROR("Runtime error: %s", "Receiver is null");
720 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 211);
723 { /* Inline typing#AExpr#is_typed= (var6,1) on <var6:nullable AExpr> */
724 if (unlikely(var6
== NULL
)) {
725 PRINT_ERROR("Runtime error: %s", "Receiver is null");
726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 792);
729 var6
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <var6:nullable AExpr> */
735 /* method astbuilder#ADoExpr#add for (self: ADoExpr, AExpr) */
736 void nit__astbuilder___ADoExpr___AExpr__add(val
* self
, val
* p0
) {
737 val
* var_expr
/* var expr: AExpr */;
738 val
* var
/* : nullable AExpr */;
739 val
* var2
/* : nullable AExpr */;
742 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
743 var2
= self
->attrs
[COLOR_nit__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
749 PRINT_ERROR("Runtime error: %s", "Receiver is null");
750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 227);
753 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__astbuilder__AExpr__add
]))(var
, var_expr
); /* add on <var:nullable AExpr>*/
757 /* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */
758 void nit__astbuilder___ABreakExpr___make(val
* self
, val
* p0
) {
759 val
* var_escapemark
/* var escapemark: EscapeMark */;
760 val
* var
/* : TKwbreak */;
761 val
* var4
/* : Array[AEscapeExpr] */;
762 val
* var6
/* : Array[AEscapeExpr] */;
764 { /* Inline kernel#Object#init (self) on <self:ABreakExpr> */
769 var
= NEW_nit__TKwbreak(&type_nit__TKwbreak
);
771 { /* Inline kernel#Object#init (var) on <var:TKwbreak> */
775 self
->attrs
[COLOR_nit__parser_nodes__ABreakExpr___n_kwbreak
].val
= var
; /* _n_kwbreak on <self:ABreakExpr> */
777 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:ABreakExpr> */
778 self
->attrs
[COLOR_nit__scope__AEscapeExpr___escapemark
].val
= var_escapemark
; /* _escapemark on <self:ABreakExpr> */
783 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:EscapeMark> */
784 var6
= var_escapemark
->attrs
[COLOR_nit__scope__EscapeMark___escapes
].val
; /* _escapes on <var_escapemark:EscapeMark> */
785 if (unlikely(var6
== NULL
)) {
786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 58);
795 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var4
, self
); /* Direct call array#Array#add on <var4:Array[AEscapeExpr]>*/
798 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ABreakExpr> */
799 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ABreakExpr> */
805 /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */
806 void nit__astbuilder___AIfExpr___make(val
* self
, val
* p0
, val
* p1
) {
807 val
* var_condition
/* var condition: AExpr */;
808 val
* var_mtype
/* var mtype: nullable MType */;
809 val
* var
/* : TKwif */;
810 val
* var3
/* : AExpr */;
811 val
* var5
/* : TKwthen */;
812 val
* var7
/* : ABlockExpr */;
813 val
* var8
/* : TKwelse */;
814 val
* var10
/* : ABlockExpr */;
816 { /* Inline kernel#Object#init (self) on <self:AIfExpr> */
822 var
= NEW_nit__TKwif(&type_nit__TKwif
);
824 { /* Inline kernel#Object#init (var) on <var:TKwif> */
828 self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_kwif
].val
= var
; /* _n_kwif on <self:AIfExpr> */
829 self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_expr
].val
= var_condition
; /* _n_expr on <self:AIfExpr> */
830 var3
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
831 if (unlikely(var3
== NULL
)) {
832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
833 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 246);
837 { /* Inline parser_nodes#ANode#parent= (var3,self) on <var3:AExpr> */
838 var3
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var3:AExpr> */
842 var5
= NEW_nit__TKwthen(&type_nit__TKwthen
);
844 { /* Inline kernel#Object#init (var5) on <var5:TKwthen> */
848 self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_kwthen
].val
= var5
; /* _n_kwthen on <self:AIfExpr> */
849 var7
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
851 nit__astbuilder___ABlockExpr___make(var7
); /* Direct call astbuilder#ABlockExpr#make on <var7:ABlockExpr>*/
853 self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_then
].val
= var7
; /* _n_then on <self:AIfExpr> */
854 var8
= NEW_nit__TKwelse(&type_nit__TKwelse
);
856 { /* Inline kernel#Object#init (var8) on <var8:TKwelse> */
860 self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_kwelse
].val
= var8
; /* _n_kwelse on <self:AIfExpr> */
861 var10
= NEW_nit__ABlockExpr(&type_nit__ABlockExpr
);
863 nit__astbuilder___ABlockExpr___make(var10
); /* Direct call astbuilder#ABlockExpr#make on <var10:ABlockExpr>*/
865 self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_else
].val
= var10
; /* _n_else on <self:AIfExpr> */
867 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AIfExpr> */
868 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AIfExpr> */
873 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AIfExpr> */
874 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:AIfExpr> */
880 /* method astbuilder#AType#make for (self: AType) */
881 void nit__astbuilder___AType___make(val
* self
) {
882 val
* var
/* : TClassid */;
884 { /* Inline kernel#Object#init (self) on <self:AType> */
888 var
= NEW_nit__TClassid(&type_nit__TClassid
);
890 { /* Inline kernel#Object#init (var) on <var:TClassid> */
894 self
->attrs
[COLOR_nit__parser_nodes__AType___n_id
].val
= var
; /* _n_id on <self:AType> */
897 /* method astbuilder#ADecIntExpr#make for (self: ADecIntExpr, Int, MType) */
898 void nit__astbuilder___ADecIntExpr___make(val
* self
, long p0
, val
* p1
) {
899 long var_value
/* var value: Int */;
900 val
* var_t
/* var t: MType */;
901 val
* var
/* : nullable Int */;
902 val
* var3
/* : TNumber */;
904 { /* Inline kernel#Object#init (self) on <self:ADecIntExpr> */
911 { /* Inline literal#AIntExpr#value= (self,var_value) on <self:ADecIntExpr> */
912 var
= (val
*)(var_value
<<2|1);
913 self
->attrs
[COLOR_nit__literal__AIntExpr___value
].val
= var
; /* _value on <self:ADecIntExpr> */
917 var3
= NEW_nit__TNumber(&type_nit__TNumber
);
919 { /* Inline kernel#Object#init (var3) on <var3:TNumber> */
923 self
->attrs
[COLOR_nit__parser_nodes__ADecIntExpr___n_number
].val
= var3
; /* _n_number on <self:ADecIntExpr> */
925 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:ADecIntExpr> */
926 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:ADecIntExpr> */
932 /* method astbuilder#ANewExpr#make for (self: ANewExpr, CallSite, nullable Array[AExpr]) */
933 void nit__astbuilder___ANewExpr___make(val
* self
, val
* p0
, val
* p1
) {
934 val
* var_callsite
/* var callsite: CallSite */;
935 val
* var_args
/* var args: nullable Array[AExpr] */;
936 val
* var
/* : TKwnew */;
937 val
* var3
/* : AType */;
938 val
* var4
/* : AListExprs */;
939 short int var6
/* : Bool */;
940 short int var7
/* : Bool */;
941 val
* var_other
/* var other: nullable Object */;
942 short int var9
/* : Bool */;
943 short int var10
/* : Bool */;
944 val
* var11
/* : AExprs */;
945 val
* var13
/* : AExprs */;
946 val
* var14
/* : ANodes[AExpr] */;
947 val
* var16
/* : ANodes[AExpr] */;
948 val
* var18
/* : MType */;
949 val
* var20
/* : MType */;
950 short int var21
/* : Bool */;
953 const char* var_class_name
;
954 val
* var23
/* : MMethod */;
955 val
* var25
/* : MMethod */;
956 short int var26
/* : Bool */;
957 short int var28
/* : Bool */;
958 val
* var29
/* : MSignature */;
959 val
* var31
/* : MSignature */;
960 val
* var32
/* : nullable MType */;
961 val
* var34
/* : nullable MType */;
962 val
* var36
/* : MType */;
963 val
* var38
/* : MType */;
965 { /* Inline kernel#Object#init (self) on <self:ANewExpr> */
971 var
= NEW_nit__TKwnew(&type_nit__TKwnew
);
973 { /* Inline kernel#Object#init (var) on <var:TKwnew> */
977 self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_kwnew
].val
= var
; /* _n_kwnew on <self:ANewExpr> */
978 var3
= NEW_nit__AType(&type_nit__AType
);
980 nit__astbuilder___AType___make(var3
); /* Direct call astbuilder#AType#make on <var3:AType>*/
982 self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_type
].val
= var3
; /* _n_type on <self:ANewExpr> */
983 var4
= NEW_nit__AListExprs(&type_nit__AListExprs
);
985 { /* Inline kernel#Object#init (var4) on <var4:AListExprs> */
989 self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
= var4
; /* _n_args on <self:ANewExpr> */
990 if (var_args
== NULL
) {
991 var6
= 0; /* is null */
993 var6
= 1; /* arg is null and recv is not */
996 { /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
997 var_other
= ((val
*)NULL
);
999 var9
= ((short int(*)(val
* self
, val
* p0
))(var_args
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_args
, var_other
); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
1010 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
1011 var13
= self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
1012 if (unlikely(var13
== NULL
)) {
1013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1014 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2261);
1018 RET_LABEL12
:(void)0;
1022 { /* Inline parser_nodes#AExprs#n_exprs (var11) on <var11:AExprs> */
1023 var16
= var11
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var11:AExprs> */
1024 if (unlikely(var16
== NULL
)) {
1025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1026 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
1030 RET_LABEL15
:(void)0;
1034 standard___standard__SimpleCollection___add_all(var14
, var_args
); /* Direct call abstract_collection#SimpleCollection#add_all on <var14:ANodes[AExpr]>*/
1039 { /* Inline typing#ANewExpr#callsite= (self,var_callsite) on <self:ANewExpr> */
1040 self
->attrs
[COLOR_nit__typing__ANewExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ANewExpr> */
1041 RET_LABEL17
:(void)0;
1045 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1046 var20
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___recv
].val
; /* _recv on <var_callsite:CallSite> */
1047 if (unlikely(var20
== NULL
)) {
1048 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1049 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 610);
1053 RET_LABEL19
:(void)0;
1056 /* <var18:MType> isa MClassType */
1057 cltype
= type_nit__MClassType
.color
;
1058 idtype
= type_nit__MClassType
.id
;
1059 if(cltype
>= var18
->type
->table_size
) {
1062 var21
= var18
->type
->type_table
[cltype
] == idtype
;
1064 if (unlikely(!var21
)) {
1065 var_class_name
= var18
== NULL ?
"null" : var18
->type
->name
;
1066 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
1067 PRINT_ERROR(" (%s:%d)\n", FILE_nit__astbuilder
, 282);
1071 { /* Inline typing#ANewExpr#recvtype= (self,var18) on <self:ANewExpr> */
1072 self
->attrs
[COLOR_nit__typing__ANewExpr___recvtype
].val
= var18
; /* _recvtype on <self:ANewExpr> */
1073 RET_LABEL22
:(void)0;
1077 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
1078 var25
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
1079 if (unlikely(var25
== NULL
)) {
1080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1081 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 624);
1085 RET_LABEL24
:(void)0;
1089 { /* Inline model#MMethod#is_new (var23) on <var23:MMethod> */
1090 var28
= var23
->attrs
[COLOR_nit__model__MMethod___is_new
].s
; /* _is_new on <var23:MMethod> */
1092 RET_LABEL27
:(void)0;
1097 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1098 var31
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:CallSite> */
1099 if (unlikely(var31
== NULL
)) {
1100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 631);
1105 RET_LABEL30
:(void)0;
1109 { /* Inline model#MSignature#return_mtype (var29) on <var29:MSignature> */
1110 var34
= var29
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var29:MSignature> */
1112 RET_LABEL33
:(void)0;
1116 { /* Inline typing#AExpr#mtype= (self,var32) on <self:ANewExpr> */
1117 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var32
; /* _mtype on <self:ANewExpr> */
1118 RET_LABEL35
:(void)0;
1123 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1124 var38
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___recv
].val
; /* _recv on <var_callsite:CallSite> */
1125 if (unlikely(var38
== NULL
)) {
1126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1127 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 610);
1131 RET_LABEL37
:(void)0;
1135 { /* Inline typing#AExpr#mtype= (self,var36) on <self:ANewExpr> */
1136 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var36
; /* _mtype on <self:ANewExpr> */
1137 RET_LABEL39
:(void)0;
1142 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ANewExpr> */
1143 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ANewExpr> */
1144 RET_LABEL40
:(void)0;
1149 /* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, CallSite, nullable Array[AExpr]) */
1150 void nit__astbuilder___ACallExpr___make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1151 val
* var_recv
/* var recv: AExpr */;
1152 val
* var_callsite
/* var callsite: CallSite */;
1153 val
* var_args
/* var args: nullable Array[AExpr] */;
1154 val
* var
/* : AListExprs */;
1155 val
* var3
/* : TId */;
1156 short int var5
/* : Bool */;
1157 short int var6
/* : Bool */;
1158 val
* var_other
/* var other: nullable Object */;
1159 short int var8
/* : Bool */;
1160 short int var9
/* : Bool */;
1161 val
* var10
/* : AExprs */;
1162 val
* var12
/* : AExprs */;
1163 val
* var13
/* : ANodes[AExpr] */;
1164 val
* var15
/* : ANodes[AExpr] */;
1165 val
* var17
/* : MSignature */;
1166 val
* var19
/* : MSignature */;
1167 val
* var20
/* : nullable MType */;
1168 val
* var22
/* : nullable MType */;
1170 { /* Inline kernel#Object#init (self) on <self:ACallExpr> */
1177 self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:ACallExpr> */
1178 var
= NEW_nit__AListExprs(&type_nit__AListExprs
);
1180 { /* Inline kernel#Object#init (var) on <var:AListExprs> */
1184 self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_args
].val
= var
; /* _n_args on <self:ACallExpr> */
1185 var3
= NEW_nit__TId(&type_nit__TId
);
1187 { /* Inline kernel#Object#init (var3) on <var3:TId> */
1191 self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
= var3
; /* _n_id on <self:ACallExpr> */
1192 if (var_args
== NULL
) {
1193 var5
= 0; /* is null */
1195 var5
= 1; /* arg is null and recv is not */
1198 { /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
1199 var_other
= ((val
*)NULL
);
1201 var8
= ((short int(*)(val
* self
, val
* p0
))(var_args
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_args
, var_other
); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
1212 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallExpr> */
1213 var12
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallExpr> */
1214 if (unlikely(var12
== NULL
)) {
1215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1216 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2295);
1220 RET_LABEL11
:(void)0;
1224 { /* Inline parser_nodes#AExprs#n_exprs (var10) on <var10:AExprs> */
1225 var15
= var10
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var10:AExprs> */
1226 if (unlikely(var15
== NULL
)) {
1227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1228 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
1232 RET_LABEL14
:(void)0;
1236 standard___standard__SimpleCollection___add_all(var13
, var_args
); /* Direct call abstract_collection#SimpleCollection#add_all on <var13:ANodes[AExpr]>*/
1241 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ACallExpr> */
1242 self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ACallExpr> */
1243 RET_LABEL16
:(void)0;
1247 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1248 var19
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:CallSite> */
1249 if (unlikely(var19
== NULL
)) {
1250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1251 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 631);
1255 RET_LABEL18
:(void)0;
1259 { /* Inline model#MSignature#return_mtype (var17) on <var17:MSignature> */
1260 var22
= var17
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var17:MSignature> */
1262 RET_LABEL21
:(void)0;
1266 { /* Inline typing#AExpr#mtype= (self,var20) on <self:ACallExpr> */
1267 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var20
; /* _mtype on <self:ACallExpr> */
1268 RET_LABEL23
:(void)0;
1272 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ACallExpr> */
1273 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ACallExpr> */
1274 RET_LABEL24
:(void)0;
1279 /* method astbuilder#AAttrExpr#make for (self: AAttrExpr, AExpr, MAttribute, MType) */
1280 void nit__astbuilder___AAttrExpr___make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1281 val
* var_recv
/* var recv: AExpr */;
1282 val
* var_attribute
/* var attribute: MAttribute */;
1283 val
* var_t
/* var t: MType */;
1284 val
* var
/* : TAttrid */;
1286 { /* Inline kernel#Object#init (self) on <self:AAttrExpr> */
1293 self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrExpr> */
1295 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1296 var_recv
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_recv:AExpr> */
1300 var
= NEW_nit__TAttrid(&type_nit__TAttrid
);
1302 { /* Inline kernel#Object#init (var) on <var:TAttrid> */
1306 self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrExpr> */
1308 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrExpr> */
1309 self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
= var_attribute
; /* _mproperty on <self:AAttrExpr> */
1314 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AAttrExpr> */
1315 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_t
; /* _mtype on <self:AAttrExpr> */
1321 /* method astbuilder#AAttrAssignExpr#make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */
1322 void nit__astbuilder___AAttrAssignExpr___make(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1323 val
* var_recv
/* var recv: AExpr */;
1324 val
* var_attribute
/* var attribute: MAttribute */;
1325 val
* var_value
/* var value: AExpr */;
1326 val
* var
/* : TAttrid */;
1327 val
* var5
/* : TAssign */;
1328 val
* var8
/* : nullable MType */;
1330 { /* Inline kernel#Object#init (self) on <self:AAttrAssignExpr> */
1337 self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
= var_recv
; /* _n_expr on <self:AAttrAssignExpr> */
1339 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1340 var_recv
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_recv:AExpr> */
1344 var
= NEW_nit__TAttrid(&type_nit__TAttrid
);
1346 { /* Inline kernel#Object#init (var) on <var:TAttrid> */
1350 self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_id
].val
= var
; /* _n_id on <self:AAttrAssignExpr> */
1351 self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AAttrAssignExpr> */
1353 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1354 var_value
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_value:AExpr> */
1358 var5
= NEW_nit__TAssign(&type_nit__TAssign
);
1360 { /* Inline kernel#Object#init (var5) on <var5:TAssign> */
1364 self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign
].val
= var5
; /* _n_assign on <self:AAttrAssignExpr> */
1366 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrAssignExpr> */
1367 self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
= var_attribute
; /* _mproperty on <self:AAttrAssignExpr> */
1372 var8
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_nit__typing__AExpr__mtype
]))(var_value
); /* mtype on <var_value:AExpr>*/
1375 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AAttrAssignExpr> */
1376 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var8
; /* _mtype on <self:AAttrAssignExpr> */
1382 /* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable, MType) */
1383 void nit__astbuilder___AVarExpr___make(val
* self
, val
* p0
, val
* p1
) {
1384 val
* var_v
/* var v: Variable */;
1385 val
* var_mtype
/* var mtype: MType */;
1386 val
* var
/* : TId */;
1388 { /* Inline kernel#Object#init (self) on <self:AVarExpr> */
1394 var
= NEW_nit__TId(&type_nit__TId
);
1396 { /* Inline kernel#Object#init (var) on <var:TId> */
1400 self
->attrs
[COLOR_nit__parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarExpr> */
1402 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarExpr> */
1403 self
->attrs
[COLOR_nit__scope__AVarFormExpr___variable
].val
= var_v
; /* _variable on <self:AVarExpr> */
1408 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AVarExpr> */
1409 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var_mtype
; /* _mtype on <self:AVarExpr> */
1415 /* method astbuilder#AVarAssignExpr#make for (self: AVarAssignExpr, Variable, AExpr) */
1416 void nit__astbuilder___AVarAssignExpr___make(val
* self
, val
* p0
, val
* p1
) {
1417 val
* var_v
/* var v: Variable */;
1418 val
* var_value
/* var value: AExpr */;
1419 val
* var
/* : TId */;
1420 val
* var4
/* : TAssign */;
1421 val
* var7
/* : nullable MType */;
1423 { /* Inline kernel#Object#init (self) on <self:AVarAssignExpr> */
1429 var
= NEW_nit__TId(&type_nit__TId
);
1431 { /* Inline kernel#Object#init (var) on <var:TId> */
1435 self
->attrs
[COLOR_nit__parser_nodes__AVarFormExpr___n_id
].val
= var
; /* _n_id on <self:AVarAssignExpr> */
1436 self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_value
].val
= var_value
; /* _n_value on <self:AVarAssignExpr> */
1438 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1439 var_value
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
= self
; /* _parent on <var_value:AExpr> */
1443 var4
= NEW_nit__TAssign(&type_nit__TAssign
);
1445 { /* Inline kernel#Object#init (var4) on <var4:TAssign> */
1449 self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign
].val
= var4
; /* _n_assign on <self:AVarAssignExpr> */
1451 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarAssignExpr> */
1452 self
->attrs
[COLOR_nit__scope__AVarFormExpr___variable
].val
= var_v
; /* _variable on <self:AVarAssignExpr> */
1457 var7
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_nit__typing__AExpr__mtype
]))(var_value
); /* mtype on <var_value:AExpr>*/
1460 { /* Inline typing#AExpr#mtype= (self,var7) on <self:AVarAssignExpr> */
1461 self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
= var7
; /* _mtype on <self:AVarAssignExpr> */