nit: Added link to `CONTRIBUTING.md` from the README
[nit.git] / c_src / nitc__astbuilder.sep.1.c
1 #include "nitc__astbuilder.sep.0.h"
2 /* method astbuilder#ASTBuilder#mmodule for (self: ASTBuilder): MModule */
3 val* nitc___nitc__ASTBuilder___mmodule(val* self) {
4 val* var /* : MModule */;
5 val* var1 /* : MModule */;
6 var1 = self->attrs[COLOR_nitc__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_nitc__astbuilder, 25);
10 fatal_exit(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method astbuilder#ASTBuilder#mmodule= for (self: ASTBuilder, MModule) */
17 void nitc___nitc__ASTBuilder___mmodule_61d(val* self, val* p0) {
18 self->attrs[COLOR_nitc__astbuilder__ASTBuilder___mmodule].val = p0; /* _mmodule on <self:ASTBuilder> */
19 RET_LABEL:;
20 }
21 /* method astbuilder#ASTBuilder#anchor for (self: ASTBuilder): nullable MClassType */
22 val* nitc___nitc__ASTBuilder___anchor(val* self) {
23 val* var /* : nullable MClassType */;
24 val* var1 /* : nullable MClassType */;
25 var1 = self->attrs[COLOR_nitc__astbuilder__ASTBuilder___anchor].val; /* _anchor on <self:ASTBuilder> */
26 var = var1;
27 RET_LABEL:;
28 return var;
29 }
30 /* method astbuilder#ASTBuilder#anchor= for (self: ASTBuilder, nullable MClassType) */
31 void nitc___nitc__ASTBuilder___anchor_61d(val* self, val* p0) {
32 self->attrs[COLOR_nitc__astbuilder__ASTBuilder___anchor].val = p0; /* _anchor on <self:ASTBuilder> */
33 RET_LABEL:;
34 }
35 /* method astbuilder#ASTBuilder#make_int for (self: ASTBuilder, Int): AIntegerExpr */
36 val* nitc___nitc__ASTBuilder___make_int(val* self, long p0) {
37 val* var /* : AIntegerExpr */;
38 long var_value /* var value: Int */;
39 val* var1 /* : AIntegerExpr */;
40 val* var2 /* : MModule */;
41 val* var4 /* : MModule */;
42 val* var5 /* : MClassType */;
43 var_value = p0;
44 var1 = NEW_nitc__AIntegerExpr(&type_nitc__AIntegerExpr);
45 {
46 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
47 var4 = self->attrs[COLOR_nitc__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_nitc__astbuilder, 25);
51 fatal_exit(1);
52 }
53 var2 = var4;
54 RET_LABEL3:(void)0;
55 }
56 }
57 {
58 var5 = nitc__model___MModule___int_type(var2);
59 }
60 {
61 nitc__astbuilder___AIntegerExpr___make(var1, var_value, var5); /* Direct call astbuilder#AIntegerExpr#make on <var1:AIntegerExpr>*/
62 }
63 var = var1;
64 goto RET_LABEL;
65 RET_LABEL:;
66 return var;
67 }
68 /* method astbuilder#ASTBuilder#make_new for (self: ASTBuilder, CallSite, nullable Array[AExpr]): ANewExpr */
69 val* nitc___nitc__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 */;
74 var_callsite = p0;
75 var_args = p1;
76 var1 = NEW_nitc__ANewExpr(&type_nitc__ANewExpr);
77 {
78 nitc__astbuilder___ANewExpr___make(var1, var_callsite, var_args); /* Direct call astbuilder#ANewExpr#make on <var1:ANewExpr>*/
79 }
80 var = var1;
81 goto RET_LABEL;
82 RET_LABEL:;
83 return var;
84 }
85 /* method astbuilder#ASTBuilder#make_call for (self: ASTBuilder, AExpr, CallSite, nullable Array[AExpr]): ACallExpr */
86 val* nitc___nitc__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 */;
92 var_recv = p0;
93 var_callsite = p1;
94 var_args = p2;
95 var1 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
96 {
97 nitc__astbuilder___ACallExpr___make(var1, var_recv, var_callsite, var_args); /* Direct call astbuilder#ACallExpr#make on <var1:ACallExpr>*/
98 }
99 var = var1;
100 goto RET_LABEL;
101 RET_LABEL:;
102 return var;
103 }
104 /* method astbuilder#ASTBuilder#make_block for (self: ASTBuilder): ABlockExpr */
105 val* nitc___nitc__ASTBuilder___make_block(val* self) {
106 val* var /* : ABlockExpr */;
107 val* var1 /* : ABlockExpr */;
108 var1 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
109 {
110 nitc__astbuilder___ABlockExpr___make(var1); /* Direct call astbuilder#ABlockExpr#make on <var1:ABlockExpr>*/
111 }
112 var = var1;
113 goto RET_LABEL;
114 RET_LABEL:;
115 return var;
116 }
117 /* method astbuilder#ASTBuilder#make_loop for (self: ASTBuilder): ALoopExpr */
118 val* nitc___nitc__ASTBuilder___make_loop(val* self) {
119 val* var /* : ALoopExpr */;
120 val* var1 /* : ALoopExpr */;
121 var1 = NEW_nitc__ALoopExpr(&type_nitc__ALoopExpr);
122 {
123 nitc__astbuilder___ALoopExpr___make(var1); /* Direct call astbuilder#ALoopExpr#make on <var1:ALoopExpr>*/
124 }
125 var = var1;
126 goto RET_LABEL;
127 RET_LABEL:;
128 return var;
129 }
130 /* method astbuilder#ASTBuilder#make_var_read for (self: ASTBuilder, Variable, MType): AVarExpr */
131 val* nitc___nitc__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 */;
136 var_variable = p0;
137 var_mtype = p1;
138 var1 = NEW_nitc__AVarExpr(&type_nitc__AVarExpr);
139 {
140 nitc__astbuilder___AVarExpr___make(var1, var_variable, var_mtype); /* Direct call astbuilder#AVarExpr#make on <var1:AVarExpr>*/
141 }
142 var = var1;
143 goto RET_LABEL;
144 RET_LABEL:;
145 return var;
146 }
147 /* method astbuilder#ASTBuilder#make_var_assign for (self: ASTBuilder, Variable, AExpr): AVarAssignExpr */
148 val* nitc___nitc__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 */;
153 var_variable = p0;
154 var_value = p1;
155 var1 = NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr);
156 {
157 nitc__astbuilder___AVarAssignExpr___make(var1, var_variable, var_value); /* Direct call astbuilder#AVarAssignExpr#make on <var1:AVarAssignExpr>*/
158 }
159 var = var1;
160 goto RET_LABEL;
161 RET_LABEL:;
162 return var;
163 }
164 /* method astbuilder#ASTBuilder#make_attr_read for (self: ASTBuilder, AExpr, MAttribute): AAttrExpr */
165 val* nitc___nitc__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 */;
181 var_recv = p0;
182 var_attribute = p1;
183 {
184 { /* Inline model#MProperty#intro (var_attribute) on <var_attribute:MAttribute> */
185 var3 = var_attribute->attrs[COLOR_nitc__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_nitc__model, 1986);
189 fatal_exit(1);
190 }
191 var1 = var3;
192 RET_LABEL2:(void)0;
193 }
194 }
195 {
196 { /* Inline model#MAttributeDef#static_mtype (var1) on <var1:MPropDef(MAttributeDef)> */
197 var6 = var1->attrs[COLOR_nitc__model__MAttributeDef___static_mtype].val; /* _static_mtype on <var1:MPropDef(MAttributeDef)> */
198 var4 = var6;
199 RET_LABEL5:(void)0;
200 }
201 }
202 {
203 var7 = ((val*(*)(val* self))(var_recv->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var_recv); /* mtype on <var_recv:AExpr>*/
204 }
205 if (unlikely(var7 == NULL)) {
206 PRINT_ERROR("Runtime error: %s", "Cast failed");
207 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 77);
208 fatal_exit(1);
209 }
210 {
211 { /* Inline astbuilder#ASTBuilder#anchor (self) on <self:ASTBuilder> */
212 var10 = self->attrs[COLOR_nitc__astbuilder__ASTBuilder___anchor].val; /* _anchor on <self:ASTBuilder> */
213 var8 = var10;
214 RET_LABEL9:(void)0;
215 }
216 }
217 {
218 { /* Inline astbuilder#ASTBuilder#mmodule (self) on <self:ASTBuilder> */
219 var13 = self->attrs[COLOR_nitc__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_nitc__astbuilder, 25);
223 fatal_exit(1);
224 }
225 var11 = var13;
226 RET_LABEL12:(void)0;
227 }
228 }
229 if (var4 == NULL) {
230 PRINT_ERROR("Runtime error: %s", "Receiver is null");
231 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 77);
232 fatal_exit(1);
233 } else {
234 var14 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var4->class->vft[COLOR_nitc__model__MType__resolve_for]))(var4, var7, var8, var11, 1); /* resolve_for on <var4:nullable MType>*/
235 }
236 var_mtype = var14;
237 var15 = NEW_nitc__AAttrExpr(&type_nitc__AAttrExpr);
238 {
239 nitc__astbuilder___AAttrExpr___make(var15, var_recv, var_attribute, var_mtype); /* Direct call astbuilder#AAttrExpr#make on <var15:AAttrExpr>*/
240 }
241 var = var15;
242 goto RET_LABEL;
243 RET_LABEL:;
244 return var;
245 }
246 /* method astbuilder#ASTBuilder#make_attr_assign for (self: ASTBuilder, AExpr, MAttribute, AExpr): AAttrAssignExpr */
247 val* nitc___nitc__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 */;
253 var_recv = p0;
254 var_attribute = p1;
255 var_value = p2;
256 var1 = NEW_nitc__AAttrAssignExpr(&type_nitc__AAttrAssignExpr);
257 {
258 nitc__astbuilder___AAttrAssignExpr___make(var1, var_recv, var_attribute, var_value); /* Direct call astbuilder#AAttrAssignExpr#make on <var1:AAttrAssignExpr>*/
259 }
260 var = var1;
261 goto RET_LABEL;
262 RET_LABEL:;
263 return var;
264 }
265 /* method astbuilder#ASTBuilder#make_do for (self: ASTBuilder): ADoExpr */
266 val* nitc___nitc__ASTBuilder___make_do(val* self) {
267 val* var /* : ADoExpr */;
268 val* var1 /* : ADoExpr */;
269 var1 = NEW_nitc__ADoExpr(&type_nitc__ADoExpr);
270 {
271 nitc__astbuilder___ADoExpr___make(var1); /* Direct call astbuilder#ADoExpr#make on <var1:ADoExpr>*/
272 }
273 var = var1;
274 goto RET_LABEL;
275 RET_LABEL:;
276 return var;
277 }
278 /* method astbuilder#ASTBuilder#make_break for (self: ASTBuilder, EscapeMark): ABreakExpr */
279 val* nitc___nitc__ASTBuilder___make_break(val* self, val* p0) {
280 val* var /* : ABreakExpr */;
281 val* var_escapemark /* var escapemark: EscapeMark */;
282 val* var1 /* : ABreakExpr */;
283 var_escapemark = p0;
284 var1 = NEW_nitc__ABreakExpr(&type_nitc__ABreakExpr);
285 {
286 nitc__astbuilder___ABreakExpr___make(var1, var_escapemark); /* Direct call astbuilder#ABreakExpr#make on <var1:ABreakExpr>*/
287 }
288 var = var1;
289 goto RET_LABEL;
290 RET_LABEL:;
291 return var;
292 }
293 /* method astbuilder#ASTBuilder#make_if for (self: ASTBuilder, AExpr, nullable MType): AIfExpr */
294 val* nitc___nitc__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 */;
299 var_condition = p0;
300 var_mtype = p1;
301 var1 = NEW_nitc__AIfExpr(&type_nitc__AIfExpr);
302 {
303 nitc__astbuilder___AIfExpr___make(var1, var_condition, var_mtype); /* Direct call astbuilder#AIfExpr#make on <var1:AIfExpr>*/
304 }
305 var = var1;
306 goto RET_LABEL;
307 RET_LABEL:;
308 return var;
309 }
310 /* method astbuilder#ASTBuilder#init for (self: ASTBuilder) */
311 void nitc___nitc__ASTBuilder___core__kernel__Object__init(val* self) {
312 {
313 ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__ASTBuilder___core__kernel__Object__init]))(self); /* init on <self:ASTBuilder>*/
314 }
315 RET_LABEL:;
316 }
317 /* method astbuilder#AExpr#make_var_read for (self: AExpr): AVarExpr */
318 val* nitc__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 */;
338 static val* varonce;
339 val* var21 /* : String */;
340 char* var22 /* : NativeString */;
341 val* var23 /* : String */;
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 */;
348 {
349 { /* Inline astbuilder#AExpr#variable_cache (self) on <self:AExpr> */
350 var3 = self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val; /* _variable_cache on <self:AExpr> */
351 var1 = var3;
352 RET_LABEL2:(void)0;
353 }
354 }
355 var_variable = var1;
356 if (var_variable == NULL) {
357 var4 = 1; /* is null */
358 } else {
359 var4 = 0; /* arg is null but recv is not */
360 }
361 if (0) {
362 { /* Inline kernel#Object#== (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
363 var_other = ((val*)NULL);
364 {
365 { /* Inline kernel#Object#is_same_instance (var_variable,var_other) on <var_variable:nullable Variable(Variable)> */
366 var9 = var_variable == var_other;
367 var7 = var9;
368 goto RET_LABEL8;
369 RET_LABEL8:(void)0;
370 }
371 }
372 var5 = var7;
373 goto RET_LABEL6;
374 RET_LABEL6:(void)0;
375 }
376 var4 = var5;
377 }
378 if (var4){
379 {
380 { /* Inline parser_nodes#ANode#parent (self) on <self:AExpr> */
381 var12 = self->attrs[COLOR_nitc__parser_nodes__ANode___parent].val; /* _parent on <self:AExpr> */
382 var10 = var12;
383 RET_LABEL11:(void)0;
384 }
385 }
386 if (var10 == NULL) {
387 var13 = 0; /* is null */
388 } else {
389 var13 = 1; /* arg is null and recv is not */
390 }
391 if (0) {
392 { /* Inline kernel#Object#!= (var10,((val*)NULL)) on <var10:nullable ANode> */
393 var_other16 = ((val*)NULL);
394 {
395 var17 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_core__kernel__Object___61d_61d]))(var10, var_other16); /* == on <var10:nullable ANode(ANode)>*/
396 }
397 var18 = !var17;
398 var14 = var18;
399 goto RET_LABEL15;
400 RET_LABEL15:(void)0;
401 }
402 var13 = var14;
403 }
404 if (unlikely(!var13)) {
405 PRINT_ERROR("Runtime error: %s", "Assert failed");
406 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 117);
407 fatal_exit(1);
408 }
409 {
410 var19 = nitc__astbuilder___AExpr___detach_with_placeholder(self);
411 }
412 var_place = var19;
413 var20 = NEW_nitc__Variable(&type_nitc__Variable);
414 if (likely(varonce!=NULL)) {
415 var21 = varonce;
416 } else {
417 var22 = "";
418 var23 = core__flat___NativeString___to_s_full(var22, 0l, 0l);
419 var21 = var23;
420 varonce = var21;
421 }
422 {
423 ((void(*)(val* self, val* p0))(var20->class->vft[COLOR_nitc__scope__Variable__name_61d]))(var20, var21); /* name= on <var20:Variable>*/
424 }
425 {
426 ((void(*)(val* self))(var20->class->vft[COLOR_core__kernel__Object__init]))(var20); /* init on <var20:Variable>*/
427 }
428 var_variable = var20;
429 {
430 var24 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__typing__AExpr__mtype]))(self); /* mtype on <self:AExpr>*/
431 }
432 {
433 { /* Inline typing#Variable#declared_type= (var_variable,var24) on <var_variable:nullable Variable(Variable)> */
434 var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val = var24; /* _declared_type on <var_variable:nullable Variable(Variable)> */
435 RET_LABEL25:(void)0;
436 }
437 }
438 var26 = NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr);
439 {
440 nitc__astbuilder___AVarAssignExpr___make(var26, var_variable, self); /* Direct call astbuilder#AVarAssignExpr#make on <var26:AVarAssignExpr>*/
441 }
442 var_nvar = var26;
443 {
444 nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(var_place, var_nvar); /* Direct call transform#AExpr#replace_with on <var_place:AExpr>*/
445 }
446 {
447 { /* Inline astbuilder#AExpr#variable_cache= (self,var_variable) on <self:AExpr> */
448 self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val = var_variable; /* _variable_cache on <self:AExpr> */
449 RET_LABEL27:(void)0;
450 }
451 }
452 } else {
453 }
454 var28 = NEW_nitc__AVarExpr(&type_nitc__AVarExpr);
455 {
456 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:nullable Variable(Variable)> */
457 var31 = var_variable->attrs[COLOR_nitc__typing__Variable___declared_type].val; /* _declared_type on <var_variable:nullable Variable(Variable)> */
458 var29 = var31;
459 RET_LABEL30:(void)0;
460 }
461 }
462 if (unlikely(var29 == NULL)) {
463 PRINT_ERROR("Runtime error: %s", "Cast failed");
464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 125);
465 fatal_exit(1);
466 }
467 {
468 nitc__astbuilder___AVarExpr___make(var28, var_variable, var29); /* Direct call astbuilder#AVarExpr#make on <var28:AVarExpr>*/
469 }
470 var = var28;
471 goto RET_LABEL;
472 RET_LABEL:;
473 return var;
474 }
475 /* method astbuilder#AExpr#variable_cache for (self: AExpr): nullable Variable */
476 val* nitc__astbuilder___AExpr___variable_cache(val* self) {
477 val* var /* : nullable Variable */;
478 val* var1 /* : nullable Variable */;
479 var1 = self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val; /* _variable_cache on <self:AExpr> */
480 var = var1;
481 RET_LABEL:;
482 return var;
483 }
484 /* method astbuilder#AExpr#variable_cache= for (self: AExpr, nullable Variable) */
485 void nitc__astbuilder___AExpr___variable_cache_61d(val* self, val* p0) {
486 self->attrs[COLOR_nitc__astbuilder__AExpr___variable_cache].val = p0; /* _variable_cache on <self:AExpr> */
487 RET_LABEL:;
488 }
489 /* method astbuilder#AExpr#detach_with_placeholder for (self: AExpr): AExpr */
490 val* nitc__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_nitc__APlaceholderExpr(&type_nitc__APlaceholderExpr);
495 {
496 nitc___nitc__APlaceholderExpr___make(var1); /* Direct call astbuilder#APlaceholderExpr#make on <var1:APlaceholderExpr>*/
497 }
498 var_h = var1;
499 {
500 nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(self, var_h); /* Direct call transform#AExpr#replace_with on <self:AExpr>*/
501 }
502 var = var_h;
503 goto RET_LABEL;
504 RET_LABEL:;
505 return var;
506 }
507 /* method astbuilder#AExpr#add for (self: AExpr, AExpr) */
508 void nitc__astbuilder___AExpr___add(val* self, val* p0) {
509 val* var_expr /* var expr: AExpr */;
510 val* var /* : Sys */;
511 val* var1 /* : NativeArray[String] */;
512 static val* varonce;
513 static val* varonce2;
514 val* var3 /* : String */;
515 char* var4 /* : NativeString */;
516 val* var5 /* : String */;
517 val* var6 /* : String */;
518 val* var7 /* : String */;
519 var_expr = p0;
520 var = glob_sys;
521 if (unlikely(varonce==NULL)) {
522 var1 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
523 if (likely(varonce2!=NULL)) {
524 var3 = varonce2;
525 } else {
526 var4 = "add not implemented in ";
527 var5 = core__flat___NativeString___to_s_full(var4, 23l, 23l);
528 var3 = var5;
529 varonce2 = var3;
530 }
531 ((struct instance_core__NativeArray*)var1)->values[0]=var3;
532 } else {
533 var1 = varonce;
534 varonce = NULL;
535 }
536 {
537 var6 = core__abstract_text___Object___inspect(self);
538 }
539 ((struct instance_core__NativeArray*)var1)->values[1]=var6;
540 {
541 var7 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
542 }
543 varonce = var1;
544 {
545 core__file___Sys___print(var, var7); /* Direct call file#Sys#print on <var:Sys>*/
546 }
547 PRINT_ERROR("Runtime error: %s", "Aborted");
548 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 160);
549 fatal_exit(1);
550 RET_LABEL:;
551 }
552 /* method astbuilder#APlaceholderExpr#make for (self: APlaceholderExpr) */
553 void nitc___nitc__APlaceholderExpr___make(val* self) {
554 {
555 { /* Inline kernel#Object#init (self) on <self:APlaceholderExpr> */
556 RET_LABEL1:(void)0;
557 }
558 }
559 RET_LABEL:;
560 }
561 /* method astbuilder#ABlockExpr#make for (self: ABlockExpr) */
562 void nitc__astbuilder___ABlockExpr___make(val* self) {
563 {
564 { /* Inline kernel#Object#init (self) on <self:ABlockExpr> */
565 RET_LABEL1:(void)0;
566 }
567 }
568 {
569 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ABlockExpr> */
570 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ABlockExpr> */
571 RET_LABEL2:(void)0;
572 }
573 }
574 RET_LABEL:;
575 }
576 /* method astbuilder#ABlockExpr#add for (self: ABlockExpr, AExpr) */
577 void nitc__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] */;
581 var_expr = p0;
582 {
583 { /* Inline parser_nodes#ABlockExpr#n_expr (self) on <self:ABlockExpr> */
584 var2 = self->attrs[COLOR_nitc__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_nitc__parser_nodes, 1744);
588 fatal_exit(1);
589 }
590 var = var2;
591 RET_LABEL1:(void)0;
592 }
593 }
594 {
595 core___core__Sequence___SimpleCollection__add(var, var_expr); /* Direct call abstract_collection#Sequence#add on <var:ANodes[AExpr]>*/
596 }
597 RET_LABEL:;
598 }
599 /* method astbuilder#ALoopExpr#make for (self: ALoopExpr) */
600 void nitc__astbuilder___ALoopExpr___make(val* self) {
601 val* var /* : TKwloop */;
602 val* var4 /* : ABlockExpr */;
603 val* var6 /* : nullable AExpr */;
604 val* var8 /* : nullable AExpr */;
605 {
606 { /* Inline kernel#Object#init (self) on <self:ALoopExpr> */
607 RET_LABEL1:(void)0;
608 }
609 }
610 var = NEW_nitc__TKwloop(&type_nitc__TKwloop);
611 {
612 { /* Inline kernel#Object#init (var) on <var:TKwloop> */
613 RET_LABEL2:(void)0;
614 }
615 }
616 self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_kwloop].val = var; /* _n_kwloop on <self:ALoopExpr> */
617 {
618 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ALoopExpr> */
619 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ALoopExpr> */
620 RET_LABEL3:(void)0;
621 }
622 }
623 var4 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
624 {
625 { /* Inline kernel#Object#init (var4) on <var4:ABlockExpr> */
626 RET_LABEL5:(void)0;
627 }
628 }
629 {
630 nitc__parser_prod___ALoopExpr___n_block_61d(self, var4); /* Direct call parser_prod#ALoopExpr#n_block= on <self:ALoopExpr>*/
631 }
632 {
633 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
634 var8 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
635 var6 = var8;
636 RET_LABEL7:(void)0;
637 }
638 }
639 if (var6 == NULL) {
640 PRINT_ERROR("Runtime error: %s", "Receiver is null");
641 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 196);
642 fatal_exit(1);
643 } else {
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_nitc__typing, 841);
648 fatal_exit(1);
649 }
650 var6->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <var6:nullable AExpr> */
651 RET_LABEL9:(void)0;
652 }
653 }
654 RET_LABEL:;
655 }
656 /* method astbuilder#ALoopExpr#add for (self: ALoopExpr, AExpr) */
657 void nitc__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 */;
661 var_expr = p0;
662 {
663 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
664 var2 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
665 var = var2;
666 RET_LABEL1:(void)0;
667 }
668 }
669 if (var == NULL) {
670 PRINT_ERROR("Runtime error: %s", "Receiver is null");
671 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 201);
672 fatal_exit(1);
673 } else {
674 ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__astbuilder__AExpr__add]))(var, var_expr); /* add on <var:nullable AExpr>*/
675 }
676 RET_LABEL:;
677 }
678 /* method astbuilder#ADoExpr#make for (self: ADoExpr) */
679 void nitc__astbuilder___ADoExpr___make(val* self) {
680 val* var /* : TKwdo */;
681 val* var4 /* : ABlockExpr */;
682 val* var6 /* : nullable AExpr */;
683 val* var8 /* : nullable AExpr */;
684 {
685 { /* Inline kernel#Object#init (self) on <self:ADoExpr> */
686 RET_LABEL1:(void)0;
687 }
688 }
689 var = NEW_nitc__TKwdo(&type_nitc__TKwdo);
690 {
691 { /* Inline kernel#Object#init (var) on <var:TKwdo> */
692 RET_LABEL2:(void)0;
693 }
694 }
695 self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_kwdo].val = var; /* _n_kwdo on <self:ADoExpr> */
696 {
697 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ADoExpr> */
698 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ADoExpr> */
699 RET_LABEL3:(void)0;
700 }
701 }
702 var4 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
703 {
704 { /* Inline kernel#Object#init (var4) on <var4:ABlockExpr> */
705 RET_LABEL5:(void)0;
706 }
707 }
708 {
709 nitc__parser_prod___ADoExpr___n_block_61d(self, var4); /* Direct call parser_prod#ADoExpr#n_block= on <self:ADoExpr>*/
710 }
711 {
712 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
713 var8 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
714 var6 = var8;
715 RET_LABEL7:(void)0;
716 }
717 }
718 if (var6 == NULL) {
719 PRINT_ERROR("Runtime error: %s", "Receiver is null");
720 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 211);
721 fatal_exit(1);
722 } else {
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_nitc__typing, 841);
727 fatal_exit(1);
728 }
729 var6->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <var6:nullable AExpr> */
730 RET_LABEL9:(void)0;
731 }
732 }
733 RET_LABEL:;
734 }
735 /* method astbuilder#ADoExpr#add for (self: ADoExpr, AExpr) */
736 void nitc__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 */;
740 var_expr = p0;
741 {
742 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
743 var2 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
744 var = var2;
745 RET_LABEL1:(void)0;
746 }
747 }
748 if (var == NULL) {
749 PRINT_ERROR("Runtime error: %s", "Receiver is null");
750 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 227);
751 fatal_exit(1);
752 } else {
753 ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__astbuilder__AExpr__add]))(var, var_expr); /* add on <var:nullable AExpr>*/
754 }
755 RET_LABEL:;
756 }
757 /* method astbuilder#ABreakExpr#make for (self: ABreakExpr, EscapeMark) */
758 void nitc__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] */;
763 {
764 { /* Inline kernel#Object#init (self) on <self:ABreakExpr> */
765 RET_LABEL1:(void)0;
766 }
767 }
768 var_escapemark = p0;
769 var = NEW_nitc__TKwbreak(&type_nitc__TKwbreak);
770 {
771 { /* Inline kernel#Object#init (var) on <var:TKwbreak> */
772 RET_LABEL2:(void)0;
773 }
774 }
775 self->attrs[COLOR_nitc__parser_nodes__ABreakExpr___n_kwbreak].val = var; /* _n_kwbreak on <self:ABreakExpr> */
776 {
777 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:ABreakExpr> */
778 self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on <self:ABreakExpr> */
779 RET_LABEL3:(void)0;
780 }
781 }
782 {
783 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:EscapeMark> */
784 var6 = var_escapemark->attrs[COLOR_nitc__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_nitc__scope, 59);
788 fatal_exit(1);
789 }
790 var4 = var6;
791 RET_LABEL5:(void)0;
792 }
793 }
794 {
795 core___core__Array___core__abstract_collection__SimpleCollection__add(var4, self); /* Direct call array#Array#add on <var4:Array[AEscapeExpr]>*/
796 }
797 {
798 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ABreakExpr> */
799 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ABreakExpr> */
800 RET_LABEL7:(void)0;
801 }
802 }
803 RET_LABEL:;
804 }
805 /* method astbuilder#AIfExpr#make for (self: AIfExpr, AExpr, nullable MType) */
806 void nitc__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 */;
815 {
816 { /* Inline kernel#Object#init (self) on <self:AIfExpr> */
817 RET_LABEL1:(void)0;
818 }
819 }
820 var_condition = p0;
821 var_mtype = p1;
822 var = NEW_nitc__TKwif(&type_nitc__TKwif);
823 {
824 { /* Inline kernel#Object#init (var) on <var:TKwif> */
825 RET_LABEL2:(void)0;
826 }
827 }
828 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwif].val = var; /* _n_kwif on <self:AIfExpr> */
829 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val = var_condition; /* _n_expr on <self:AIfExpr> */
830 var3 = self->attrs[COLOR_nitc__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_nitc__astbuilder, 246);
834 fatal_exit(1);
835 }
836 {
837 { /* Inline parser_nodes#ANode#parent= (var3,self) on <var3:AExpr> */
838 var3->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var3:AExpr> */
839 RET_LABEL4:(void)0;
840 }
841 }
842 var5 = NEW_nitc__TKwthen(&type_nitc__TKwthen);
843 {
844 { /* Inline kernel#Object#init (var5) on <var5:TKwthen> */
845 RET_LABEL6:(void)0;
846 }
847 }
848 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwthen].val = var5; /* _n_kwthen on <self:AIfExpr> */
849 var7 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
850 {
851 nitc__astbuilder___ABlockExpr___make(var7); /* Direct call astbuilder#ABlockExpr#make on <var7:ABlockExpr>*/
852 }
853 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val = var7; /* _n_then on <self:AIfExpr> */
854 var8 = NEW_nitc__TKwelse(&type_nitc__TKwelse);
855 {
856 { /* Inline kernel#Object#init (var8) on <var8:TKwelse> */
857 RET_LABEL9:(void)0;
858 }
859 }
860 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_kwelse].val = var8; /* _n_kwelse on <self:AIfExpr> */
861 var10 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
862 {
863 nitc__astbuilder___ABlockExpr___make(var10); /* Direct call astbuilder#ABlockExpr#make on <var10:ABlockExpr>*/
864 }
865 self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val = var10; /* _n_else on <self:AIfExpr> */
866 {
867 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AIfExpr> */
868 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_mtype; /* _mtype on <self:AIfExpr> */
869 RET_LABEL11:(void)0;
870 }
871 }
872 {
873 { /* Inline typing#AExpr#is_typed= (self,1) on <self:AIfExpr> */
874 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:AIfExpr> */
875 RET_LABEL12:(void)0;
876 }
877 }
878 RET_LABEL:;
879 }
880 /* method astbuilder#AType#make for (self: AType) */
881 void nitc__astbuilder___AType___make(val* self) {
882 val* var /* : TClassid */;
883 val* var_n_id /* var n_id: TClassid */;
884 val* var3 /* : AQclassid */;
885 val* var_n_qid /* var n_qid: AQclassid */;
886 {
887 { /* Inline kernel#Object#init (self) on <self:AType> */
888 RET_LABEL1:(void)0;
889 }
890 }
891 var = NEW_nitc__TClassid(&type_nitc__TClassid);
892 {
893 { /* Inline kernel#Object#init (var) on <var:TClassid> */
894 RET_LABEL2:(void)0;
895 }
896 }
897 var_n_id = var;
898 var3 = NEW_nitc__AQclassid(&type_nitc__AQclassid);
899 {
900 { /* Inline kernel#Object#init (var3) on <var3:AQclassid> */
901 RET_LABEL4:(void)0;
902 }
903 }
904 var_n_qid = var3;
905 {
906 nitc__parser_prod___AQclassid___n_id_61d(var_n_qid, var_n_id); /* Direct call parser_prod#AQclassid#n_id= on <var_n_qid:AQclassid>*/
907 }
908 self->attrs[COLOR_nitc__parser_nodes__AType___n_qid].val = var_n_qid; /* _n_qid on <self:AType> */
909 RET_LABEL:;
910 }
911 /* method astbuilder#AIntegerExpr#make for (self: AIntegerExpr, Int, MType) */
912 void nitc__astbuilder___AIntegerExpr___make(val* self, long p0, val* p1) {
913 long var_value /* var value: Int */;
914 val* var_t /* var t: MType */;
915 val* var /* : nullable Numeric */;
916 val* var3 /* : TInteger */;
917 {
918 { /* Inline kernel#Object#init (self) on <self:AIntegerExpr> */
919 RET_LABEL1:(void)0;
920 }
921 }
922 var_value = p0;
923 var_t = p1;
924 {
925 { /* Inline literal#AIntegerExpr#value= (self,var_value) on <self:AIntegerExpr> */
926 var = (val*)(var_value<<2|1);
927 self->attrs[COLOR_nitc__literal__AIntegerExpr___value].val = var; /* _value on <self:AIntegerExpr> */
928 RET_LABEL2:(void)0;
929 }
930 }
931 var3 = NEW_nitc__TInteger(&type_nitc__TInteger);
932 {
933 { /* Inline kernel#Object#init (var3) on <var3:TInteger> */
934 RET_LABEL4:(void)0;
935 }
936 }
937 self->attrs[COLOR_nitc__parser_nodes__AIntegerExpr___n_integer].val = var3; /* _n_integer on <self:AIntegerExpr> */
938 {
939 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AIntegerExpr> */
940 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_t; /* _mtype on <self:AIntegerExpr> */
941 RET_LABEL5:(void)0;
942 }
943 }
944 RET_LABEL:;
945 }
946 /* method astbuilder#ANewExpr#make for (self: ANewExpr, CallSite, nullable Array[AExpr]) */
947 void nitc__astbuilder___ANewExpr___make(val* self, val* p0, val* p1) {
948 val* var_callsite /* var callsite: CallSite */;
949 val* var_args /* var args: nullable Array[AExpr] */;
950 val* var /* : TKwnew */;
951 val* var3 /* : AType */;
952 val* var4 /* : AListExprs */;
953 short int var6 /* : Bool */;
954 short int var7 /* : Bool */;
955 val* var_other /* var other: nullable Object */;
956 short int var9 /* : Bool */;
957 short int var10 /* : Bool */;
958 val* var11 /* : AExprs */;
959 val* var13 /* : AExprs */;
960 val* var14 /* : ANodes[AExpr] */;
961 val* var16 /* : ANodes[AExpr] */;
962 val* var18 /* : MType */;
963 val* var20 /* : MType */;
964 short int var21 /* : Bool */;
965 int cltype;
966 int idtype;
967 const char* var_class_name;
968 val* var23 /* : MMethod */;
969 val* var25 /* : MMethod */;
970 short int var26 /* : Bool */;
971 short int var28 /* : Bool */;
972 val* var29 /* : MSignature */;
973 val* var31 /* : MSignature */;
974 val* var32 /* : nullable MType */;
975 val* var34 /* : nullable MType */;
976 val* var36 /* : MType */;
977 val* var38 /* : MType */;
978 {
979 { /* Inline kernel#Object#init (self) on <self:ANewExpr> */
980 RET_LABEL1:(void)0;
981 }
982 }
983 var_callsite = p0;
984 var_args = p1;
985 var = NEW_nitc__TKwnew(&type_nitc__TKwnew);
986 {
987 { /* Inline kernel#Object#init (var) on <var:TKwnew> */
988 RET_LABEL2:(void)0;
989 }
990 }
991 self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_kwnew].val = var; /* _n_kwnew on <self:ANewExpr> */
992 var3 = NEW_nitc__AType(&type_nitc__AType);
993 {
994 nitc__astbuilder___AType___make(var3); /* Direct call astbuilder#AType#make on <var3:AType>*/
995 }
996 self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_type].val = var3; /* _n_type on <self:ANewExpr> */
997 var4 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
998 {
999 { /* Inline kernel#Object#init (var4) on <var4:AListExprs> */
1000 RET_LABEL5:(void)0;
1001 }
1002 }
1003 self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_args].val = var4; /* _n_args on <self:ANewExpr> */
1004 if (var_args == NULL) {
1005 var6 = 0; /* is null */
1006 } else {
1007 var6 = 1; /* arg is null and recv is not */
1008 }
1009 if (0) {
1010 { /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
1011 var_other = ((val*)NULL);
1012 {
1013 var9 = ((short int(*)(val* self, val* p0))(var_args->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_args, var_other); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
1014 }
1015 var10 = !var9;
1016 var7 = var10;
1017 goto RET_LABEL8;
1018 RET_LABEL8:(void)0;
1019 }
1020 var6 = var7;
1021 }
1022 if (var6){
1023 {
1024 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
1025 var13 = self->attrs[COLOR_nitc__parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
1026 if (unlikely(var13 == NULL)) {
1027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1028 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2265);
1029 fatal_exit(1);
1030 }
1031 var11 = var13;
1032 RET_LABEL12:(void)0;
1033 }
1034 }
1035 {
1036 { /* Inline parser_nodes#AExprs#n_exprs (var11) on <var11:AExprs> */
1037 var16 = var11->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var11:AExprs> */
1038 if (unlikely(var16 == NULL)) {
1039 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1040 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2709);
1041 fatal_exit(1);
1042 }
1043 var14 = var16;
1044 RET_LABEL15:(void)0;
1045 }
1046 }
1047 {
1048 core___core__SimpleCollection___add_all(var14, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on <var14:ANodes[AExpr]>*/
1049 }
1050 } else {
1051 }
1052 {
1053 { /* Inline typing#ANewExpr#callsite= (self,var_callsite) on <self:ANewExpr> */
1054 self->attrs[COLOR_nitc__typing__ANewExpr___callsite].val = var_callsite; /* _callsite on <self:ANewExpr> */
1055 RET_LABEL17:(void)0;
1056 }
1057 }
1058 {
1059 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1060 var20 = var_callsite->attrs[COLOR_nitc__typing__CallSite___recv].val; /* _recv on <var_callsite:CallSite> */
1061 if (unlikely(var20 == NULL)) {
1062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1063 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 639);
1064 fatal_exit(1);
1065 }
1066 var18 = var20;
1067 RET_LABEL19:(void)0;
1068 }
1069 }
1070 /* <var18:MType> isa MClassType */
1071 cltype = type_nitc__MClassType.color;
1072 idtype = type_nitc__MClassType.id;
1073 if(cltype >= var18->type->table_size) {
1074 var21 = 0;
1075 } else {
1076 var21 = var18->type->type_table[cltype] == idtype;
1077 }
1078 if (unlikely(!var21)) {
1079 var_class_name = var18 == NULL ? "null" : var18->type->name;
1080 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
1081 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 285);
1082 fatal_exit(1);
1083 }
1084 {
1085 { /* Inline typing#ANewExpr#recvtype= (self,var18) on <self:ANewExpr> */
1086 self->attrs[COLOR_nitc__typing__ANewExpr___recvtype].val = var18; /* _recvtype on <self:ANewExpr> */
1087 RET_LABEL22:(void)0;
1088 }
1089 }
1090 {
1091 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
1092 var25 = var_callsite->attrs[COLOR_nitc__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:CallSite> */
1093 if (unlikely(var25 == NULL)) {
1094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1095 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 653);
1096 fatal_exit(1);
1097 }
1098 var23 = var25;
1099 RET_LABEL24:(void)0;
1100 }
1101 }
1102 {
1103 { /* Inline model#MMethod#is_new (var23) on <var23:MMethod> */
1104 var28 = var23->attrs[COLOR_nitc__model__MMethod___is_new].s; /* _is_new on <var23:MMethod> */
1105 var26 = var28;
1106 RET_LABEL27:(void)0;
1107 }
1108 }
1109 if (var26){
1110 {
1111 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1112 var31 = var_callsite->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on <var_callsite:CallSite> */
1113 if (unlikely(var31 == NULL)) {
1114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1115 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 660);
1116 fatal_exit(1);
1117 }
1118 var29 = var31;
1119 RET_LABEL30:(void)0;
1120 }
1121 }
1122 {
1123 { /* Inline model#MSignature#return_mtype (var29) on <var29:MSignature> */
1124 var34 = var29->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var29:MSignature> */
1125 var32 = var34;
1126 RET_LABEL33:(void)0;
1127 }
1128 }
1129 {
1130 { /* Inline typing#AExpr#mtype= (self,var32) on <self:ANewExpr> */
1131 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var32; /* _mtype on <self:ANewExpr> */
1132 RET_LABEL35:(void)0;
1133 }
1134 }
1135 } else {
1136 {
1137 { /* Inline typing#CallSite#recv (var_callsite) on <var_callsite:CallSite> */
1138 var38 = var_callsite->attrs[COLOR_nitc__typing__CallSite___recv].val; /* _recv on <var_callsite:CallSite> */
1139 if (unlikely(var38 == NULL)) {
1140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _recv");
1141 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 639);
1142 fatal_exit(1);
1143 }
1144 var36 = var38;
1145 RET_LABEL37:(void)0;
1146 }
1147 }
1148 {
1149 { /* Inline typing#AExpr#mtype= (self,var36) on <self:ANewExpr> */
1150 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var36; /* _mtype on <self:ANewExpr> */
1151 RET_LABEL39:(void)0;
1152 }
1153 }
1154 }
1155 {
1156 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ANewExpr> */
1157 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ANewExpr> */
1158 RET_LABEL40:(void)0;
1159 }
1160 }
1161 RET_LABEL:;
1162 }
1163 /* method astbuilder#ACallExpr#make for (self: ACallExpr, AExpr, CallSite, nullable Array[AExpr]) */
1164 void nitc__astbuilder___ACallExpr___make(val* self, val* p0, val* p1, val* p2) {
1165 val* var_recv /* var recv: AExpr */;
1166 val* var_callsite /* var callsite: CallSite */;
1167 val* var_args /* var args: nullable Array[AExpr] */;
1168 val* var /* : AListExprs */;
1169 val* var3 /* : AQid */;
1170 val* var5 /* : AQid */;
1171 val* var6 /* : TId */;
1172 short int var8 /* : Bool */;
1173 short int var9 /* : Bool */;
1174 val* var_other /* var other: nullable Object */;
1175 short int var11 /* : Bool */;
1176 short int var12 /* : Bool */;
1177 val* var13 /* : AExprs */;
1178 val* var15 /* : AExprs */;
1179 val* var16 /* : ANodes[AExpr] */;
1180 val* var18 /* : ANodes[AExpr] */;
1181 val* var20 /* : MSignature */;
1182 val* var22 /* : MSignature */;
1183 val* var23 /* : nullable MType */;
1184 val* var25 /* : nullable MType */;
1185 {
1186 { /* Inline kernel#Object#init (self) on <self:ACallExpr> */
1187 RET_LABEL1:(void)0;
1188 }
1189 }
1190 var_recv = p0;
1191 var_callsite = p1;
1192 var_args = p2;
1193 self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val = var_recv; /* _n_expr on <self:ACallExpr> */
1194 var = NEW_nitc__AListExprs(&type_nitc__AListExprs);
1195 {
1196 { /* Inline kernel#Object#init (var) on <var:AListExprs> */
1197 RET_LABEL2:(void)0;
1198 }
1199 }
1200 self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val = var; /* _n_args on <self:ACallExpr> */
1201 var3 = NEW_nitc__AQid(&type_nitc__AQid);
1202 {
1203 { /* Inline kernel#Object#init (var3) on <var3:AQid> */
1204 RET_LABEL4:(void)0;
1205 }
1206 }
1207 self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val = var3; /* _n_qid on <self:ACallExpr> */
1208 var5 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallExpr> */
1209 if (unlikely(var5 == NULL)) {
1210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
1211 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__astbuilder, 301);
1212 fatal_exit(1);
1213 }
1214 var6 = NEW_nitc__TId(&type_nitc__TId);
1215 {
1216 { /* Inline kernel#Object#init (var6) on <var6:TId> */
1217 RET_LABEL7:(void)0;
1218 }
1219 }
1220 {
1221 nitc__parser_prod___AQid___n_id_61d(var5, var6); /* Direct call parser_prod#AQid#n_id= on <var5:AQid>*/
1222 }
1223 if (var_args == NULL) {
1224 var8 = 0; /* is null */
1225 } else {
1226 var8 = 1; /* arg is null and recv is not */
1227 }
1228 if (0) {
1229 { /* Inline kernel#Object#!= (var_args,((val*)NULL)) on <var_args:nullable Array[AExpr]> */
1230 var_other = ((val*)NULL);
1231 {
1232 var11 = ((short int(*)(val* self, val* p0))(var_args->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_args, var_other); /* == on <var_args:nullable Array[AExpr](Array[AExpr])>*/
1233 }
1234 var12 = !var11;
1235 var9 = var12;
1236 goto RET_LABEL10;
1237 RET_LABEL10:(void)0;
1238 }
1239 var8 = var9;
1240 }
1241 if (var8){
1242 {
1243 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallExpr> */
1244 var15 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
1245 if (unlikely(var15 == NULL)) {
1246 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1247 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2299);
1248 fatal_exit(1);
1249 }
1250 var13 = var15;
1251 RET_LABEL14:(void)0;
1252 }
1253 }
1254 {
1255 { /* Inline parser_nodes#AExprs#n_exprs (var13) on <var13:AExprs> */
1256 var18 = var13->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var13:AExprs> */
1257 if (unlikely(var18 == NULL)) {
1258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
1259 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2709);
1260 fatal_exit(1);
1261 }
1262 var16 = var18;
1263 RET_LABEL17:(void)0;
1264 }
1265 }
1266 {
1267 core___core__SimpleCollection___add_all(var16, var_args); /* Direct call abstract_collection#SimpleCollection#add_all on <var16:ANodes[AExpr]>*/
1268 }
1269 } else {
1270 }
1271 {
1272 { /* Inline typing#ASendExpr#callsite= (self,var_callsite) on <self:ACallExpr> */
1273 self->attrs[COLOR_nitc__typing__ASendExpr___callsite].val = var_callsite; /* _callsite on <self:ACallExpr> */
1274 RET_LABEL19:(void)0;
1275 }
1276 }
1277 {
1278 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:CallSite> */
1279 var22 = var_callsite->attrs[COLOR_nitc__typing__CallSite___msignature].val; /* _msignature on <var_callsite:CallSite> */
1280 if (unlikely(var22 == NULL)) {
1281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1282 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing, 660);
1283 fatal_exit(1);
1284 }
1285 var20 = var22;
1286 RET_LABEL21:(void)0;
1287 }
1288 }
1289 {
1290 { /* Inline model#MSignature#return_mtype (var20) on <var20:MSignature> */
1291 var25 = var20->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var20:MSignature> */
1292 var23 = var25;
1293 RET_LABEL24:(void)0;
1294 }
1295 }
1296 {
1297 { /* Inline typing#AExpr#mtype= (self,var23) on <self:ACallExpr> */
1298 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var23; /* _mtype on <self:ACallExpr> */
1299 RET_LABEL26:(void)0;
1300 }
1301 }
1302 {
1303 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ACallExpr> */
1304 self->attrs[COLOR_nitc__typing__AExpr___is_typed].s = 1; /* _is_typed on <self:ACallExpr> */
1305 RET_LABEL27:(void)0;
1306 }
1307 }
1308 RET_LABEL:;
1309 }
1310 /* method astbuilder#AAttrExpr#make for (self: AAttrExpr, AExpr, MAttribute, MType) */
1311 void nitc__astbuilder___AAttrExpr___make(val* self, val* p0, val* p1, val* p2) {
1312 val* var_recv /* var recv: AExpr */;
1313 val* var_attribute /* var attribute: MAttribute */;
1314 val* var_t /* var t: MType */;
1315 val* var /* : TAttrid */;
1316 {
1317 { /* Inline kernel#Object#init (self) on <self:AAttrExpr> */
1318 RET_LABEL1:(void)0;
1319 }
1320 }
1321 var_recv = p0;
1322 var_attribute = p1;
1323 var_t = p2;
1324 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr].val = var_recv; /* _n_expr on <self:AAttrExpr> */
1325 {
1326 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1327 var_recv->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_recv:AExpr> */
1328 RET_LABEL2:(void)0;
1329 }
1330 }
1331 var = NEW_nitc__TAttrid(&type_nitc__TAttrid);
1332 {
1333 { /* Inline kernel#Object#init (var) on <var:TAttrid> */
1334 RET_LABEL3:(void)0;
1335 }
1336 }
1337 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on <self:AAttrExpr> */
1338 {
1339 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrExpr> */
1340 self->attrs[COLOR_nitc__typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on <self:AAttrExpr> */
1341 RET_LABEL4:(void)0;
1342 }
1343 }
1344 {
1345 { /* Inline typing#AExpr#mtype= (self,var_t) on <self:AAttrExpr> */
1346 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_t; /* _mtype on <self:AAttrExpr> */
1347 RET_LABEL5:(void)0;
1348 }
1349 }
1350 RET_LABEL:;
1351 }
1352 /* method astbuilder#AAttrAssignExpr#make for (self: AAttrAssignExpr, AExpr, MAttribute, AExpr) */
1353 void nitc__astbuilder___AAttrAssignExpr___make(val* self, val* p0, val* p1, val* p2) {
1354 val* var_recv /* var recv: AExpr */;
1355 val* var_attribute /* var attribute: MAttribute */;
1356 val* var_value /* var value: AExpr */;
1357 val* var /* : TAttrid */;
1358 val* var5 /* : TAssign */;
1359 val* var8 /* : nullable MType */;
1360 {
1361 { /* Inline kernel#Object#init (self) on <self:AAttrAssignExpr> */
1362 RET_LABEL1:(void)0;
1363 }
1364 }
1365 var_recv = p0;
1366 var_attribute = p1;
1367 var_value = p2;
1368 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr].val = var_recv; /* _n_expr on <self:AAttrAssignExpr> */
1369 {
1370 { /* Inline parser_nodes#ANode#parent= (var_recv,self) on <var_recv:AExpr> */
1371 var_recv->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_recv:AExpr> */
1372 RET_LABEL2:(void)0;
1373 }
1374 }
1375 var = NEW_nitc__TAttrid(&type_nitc__TAttrid);
1376 {
1377 { /* Inline kernel#Object#init (var) on <var:TAttrid> */
1378 RET_LABEL3:(void)0;
1379 }
1380 }
1381 self->attrs[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id].val = var; /* _n_id on <self:AAttrAssignExpr> */
1382 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val = var_value; /* _n_value on <self:AAttrAssignExpr> */
1383 {
1384 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1385 var_value->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_value:AExpr> */
1386 RET_LABEL4:(void)0;
1387 }
1388 }
1389 var5 = NEW_nitc__TAssign(&type_nitc__TAssign);
1390 {
1391 { /* Inline kernel#Object#init (var5) on <var5:TAssign> */
1392 RET_LABEL6:(void)0;
1393 }
1394 }
1395 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign].val = var5; /* _n_assign on <self:AAttrAssignExpr> */
1396 {
1397 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_attribute) on <self:AAttrAssignExpr> */
1398 self->attrs[COLOR_nitc__typing__AAttrFormExpr___mproperty].val = var_attribute; /* _mproperty on <self:AAttrAssignExpr> */
1399 RET_LABEL7:(void)0;
1400 }
1401 }
1402 {
1403 var8 = ((val*(*)(val* self))(var_value->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var_value); /* mtype on <var_value:AExpr>*/
1404 }
1405 {
1406 { /* Inline typing#AExpr#mtype= (self,var8) on <self:AAttrAssignExpr> */
1407 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var8; /* _mtype on <self:AAttrAssignExpr> */
1408 RET_LABEL9:(void)0;
1409 }
1410 }
1411 RET_LABEL:;
1412 }
1413 /* method astbuilder#AVarExpr#make for (self: AVarExpr, Variable, MType) */
1414 void nitc__astbuilder___AVarExpr___make(val* self, val* p0, val* p1) {
1415 val* var_v /* var v: Variable */;
1416 val* var_mtype /* var mtype: MType */;
1417 val* var /* : TId */;
1418 {
1419 { /* Inline kernel#Object#init (self) on <self:AVarExpr> */
1420 RET_LABEL1:(void)0;
1421 }
1422 }
1423 var_v = p0;
1424 var_mtype = p1;
1425 var = NEW_nitc__TId(&type_nitc__TId);
1426 {
1427 { /* Inline kernel#Object#init (var) on <var:TId> */
1428 RET_LABEL2:(void)0;
1429 }
1430 }
1431 self->attrs[COLOR_nitc__parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on <self:AVarExpr> */
1432 {
1433 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarExpr> */
1434 self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = var_v; /* _variable on <self:AVarExpr> */
1435 RET_LABEL3:(void)0;
1436 }
1437 }
1438 {
1439 { /* Inline typing#AExpr#mtype= (self,var_mtype) on <self:AVarExpr> */
1440 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var_mtype; /* _mtype on <self:AVarExpr> */
1441 RET_LABEL4:(void)0;
1442 }
1443 }
1444 RET_LABEL:;
1445 }
1446 /* method astbuilder#AVarAssignExpr#make for (self: AVarAssignExpr, Variable, AExpr) */
1447 void nitc__astbuilder___AVarAssignExpr___make(val* self, val* p0, val* p1) {
1448 val* var_v /* var v: Variable */;
1449 val* var_value /* var value: AExpr */;
1450 val* var /* : TId */;
1451 val* var4 /* : TAssign */;
1452 val* var7 /* : nullable MType */;
1453 {
1454 { /* Inline kernel#Object#init (self) on <self:AVarAssignExpr> */
1455 RET_LABEL1:(void)0;
1456 }
1457 }
1458 var_v = p0;
1459 var_value = p1;
1460 var = NEW_nitc__TId(&type_nitc__TId);
1461 {
1462 { /* Inline kernel#Object#init (var) on <var:TId> */
1463 RET_LABEL2:(void)0;
1464 }
1465 }
1466 self->attrs[COLOR_nitc__parser_nodes__AVarFormExpr___n_id].val = var; /* _n_id on <self:AVarAssignExpr> */
1467 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val = var_value; /* _n_value on <self:AVarAssignExpr> */
1468 {
1469 { /* Inline parser_nodes#ANode#parent= (var_value,self) on <var_value:AExpr> */
1470 var_value->attrs[COLOR_nitc__parser_nodes__ANode___parent].val = self; /* _parent on <var_value:AExpr> */
1471 RET_LABEL3:(void)0;
1472 }
1473 }
1474 var4 = NEW_nitc__TAssign(&type_nitc__TAssign);
1475 {
1476 { /* Inline kernel#Object#init (var4) on <var4:TAssign> */
1477 RET_LABEL5:(void)0;
1478 }
1479 }
1480 self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign].val = var4; /* _n_assign on <self:AVarAssignExpr> */
1481 {
1482 { /* Inline scope#AVarFormExpr#variable= (self,var_v) on <self:AVarAssignExpr> */
1483 self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = var_v; /* _variable on <self:AVarAssignExpr> */
1484 RET_LABEL6:(void)0;
1485 }
1486 }
1487 {
1488 var7 = ((val*(*)(val* self))(var_value->class->vft[COLOR_nitc__typing__AExpr__mtype]))(var_value); /* mtype on <var_value:AExpr>*/
1489 }
1490 {
1491 { /* Inline typing#AExpr#mtype= (self,var7) on <self:AVarAssignExpr> */
1492 self->attrs[COLOR_nitc__typing__AExpr___mtype].val = var7; /* _mtype on <self:AVarAssignExpr> */
1493 RET_LABEL8:(void)0;
1494 }
1495 }
1496 RET_LABEL:;
1497 }