README: document nit_env.sh
[nit.git] / c_src / nit__nitni_base.sep.1.c
1 #include "nit__nitni_base.sep.0.h"
2 /* method nitni_base#MMethod#short_cname for (self: MMethod): String */
3 val* nit__nitni_base___MMethod___short_cname(val* self) {
4 val* var /* : String */;
5 val* var1 /* : String */;
6 val* var3 /* : String */;
7 val* var_nit_name /* var nit_name: String */;
8 static val* varonce;
9 val* var4 /* : String */;
10 char* var5 /* : NativeString */;
11 val* var6 /* : FlatString */;
12 short int var7 /* : Bool */;
13 static val* varonce8;
14 val* var9 /* : String */;
15 char* var10 /* : NativeString */;
16 val* var11 /* : FlatString */;
17 static val* varonce12;
18 val* var13 /* : String */;
19 char* var14 /* : NativeString */;
20 val* var15 /* : FlatString */;
21 short int var16 /* : Bool */;
22 static val* varonce17;
23 val* var18 /* : String */;
24 char* var19 /* : NativeString */;
25 val* var20 /* : FlatString */;
26 static val* varonce21;
27 val* var22 /* : String */;
28 char* var23 /* : NativeString */;
29 val* var24 /* : FlatString */;
30 short int var25 /* : Bool */;
31 static val* varonce26;
32 val* var27 /* : String */;
33 char* var28 /* : NativeString */;
34 val* var29 /* : FlatString */;
35 static val* varonce30;
36 val* var31 /* : String */;
37 char* var32 /* : NativeString */;
38 val* var33 /* : FlatString */;
39 short int var34 /* : Bool */;
40 static val* varonce35;
41 val* var36 /* : String */;
42 char* var37 /* : NativeString */;
43 val* var38 /* : FlatString */;
44 static val* varonce39;
45 val* var40 /* : String */;
46 char* var41 /* : NativeString */;
47 val* var42 /* : FlatString */;
48 short int var43 /* : Bool */;
49 static val* varonce44;
50 val* var45 /* : String */;
51 char* var46 /* : NativeString */;
52 val* var47 /* : FlatString */;
53 static val* varonce48;
54 val* var49 /* : String */;
55 char* var50 /* : NativeString */;
56 val* var51 /* : FlatString */;
57 short int var52 /* : Bool */;
58 static val* varonce53;
59 val* var54 /* : String */;
60 char* var55 /* : NativeString */;
61 val* var56 /* : FlatString */;
62 static val* varonce57;
63 val* var58 /* : String */;
64 char* var59 /* : NativeString */;
65 val* var60 /* : FlatString */;
66 short int var61 /* : Bool */;
67 static val* varonce62;
68 val* var63 /* : String */;
69 char* var64 /* : NativeString */;
70 val* var65 /* : FlatString */;
71 static val* varonce66;
72 val* var67 /* : String */;
73 char* var68 /* : NativeString */;
74 val* var69 /* : FlatString */;
75 short int var70 /* : Bool */;
76 static val* varonce71;
77 val* var72 /* : String */;
78 char* var73 /* : NativeString */;
79 val* var74 /* : FlatString */;
80 static val* varonce75;
81 val* var76 /* : String */;
82 char* var77 /* : NativeString */;
83 val* var78 /* : FlatString */;
84 short int var79 /* : Bool */;
85 static val* varonce80;
86 val* var81 /* : String */;
87 char* var82 /* : NativeString */;
88 val* var83 /* : FlatString */;
89 static val* varonce84;
90 val* var85 /* : String */;
91 char* var86 /* : NativeString */;
92 val* var87 /* : FlatString */;
93 short int var88 /* : Bool */;
94 static val* varonce89;
95 val* var90 /* : String */;
96 char* var91 /* : NativeString */;
97 val* var92 /* : FlatString */;
98 static val* varonce93;
99 val* var94 /* : String */;
100 char* var95 /* : NativeString */;
101 val* var96 /* : FlatString */;
102 short int var97 /* : Bool */;
103 static val* varonce98;
104 val* var99 /* : String */;
105 char* var100 /* : NativeString */;
106 val* var101 /* : FlatString */;
107 static val* varonce102;
108 val* var103 /* : String */;
109 char* var104 /* : NativeString */;
110 val* var105 /* : FlatString */;
111 short int var106 /* : Bool */;
112 static val* varonce107;
113 val* var108 /* : String */;
114 char* var109 /* : NativeString */;
115 val* var110 /* : FlatString */;
116 static val* varonce111;
117 val* var112 /* : String */;
118 char* var113 /* : NativeString */;
119 val* var114 /* : FlatString */;
120 short int var115 /* : Bool */;
121 static val* varonce116;
122 val* var117 /* : String */;
123 char* var118 /* : NativeString */;
124 val* var119 /* : FlatString */;
125 static val* varonce120;
126 val* var121 /* : String */;
127 char* var122 /* : NativeString */;
128 val* var123 /* : FlatString */;
129 short int var124 /* : Bool */;
130 static val* varonce125;
131 val* var126 /* : String */;
132 char* var127 /* : NativeString */;
133 val* var128 /* : FlatString */;
134 static val* varonce129;
135 val* var130 /* : String */;
136 char* var131 /* : NativeString */;
137 val* var132 /* : FlatString */;
138 short int var133 /* : Bool */;
139 static val* varonce134;
140 val* var135 /* : String */;
141 char* var136 /* : NativeString */;
142 val* var137 /* : FlatString */;
143 static val* varonce138;
144 val* var139 /* : String */;
145 char* var140 /* : NativeString */;
146 val* var141 /* : FlatString */;
147 short int var142 /* : Bool */;
148 static val* varonce143;
149 val* var144 /* : String */;
150 char* var145 /* : NativeString */;
151 val* var146 /* : FlatString */;
152 static val* varonce147;
153 val* var148 /* : String */;
154 char* var149 /* : NativeString */;
155 val* var150 /* : FlatString */;
156 short int var151 /* : Bool */;
157 static val* varonce152;
158 val* var153 /* : String */;
159 char* var154 /* : NativeString */;
160 val* var155 /* : FlatString */;
161 static val* varonce156;
162 val* var157 /* : String */;
163 char* var158 /* : NativeString */;
164 val* var159 /* : FlatString */;
165 short int var160 /* : Bool */;
166 static val* varonce161;
167 val* var162 /* : String */;
168 char* var163 /* : NativeString */;
169 val* var164 /* : FlatString */;
170 static val* varonce165;
171 val* var166 /* : String */;
172 char* var167 /* : NativeString */;
173 val* var168 /* : FlatString */;
174 short int var169 /* : Bool */;
175 static val* varonce170;
176 val* var171 /* : String */;
177 char* var172 /* : NativeString */;
178 val* var173 /* : FlatString */;
179 static val* varonce174;
180 val* var175 /* : String */;
181 char* var176 /* : NativeString */;
182 val* var177 /* : FlatString */;
183 short int var178 /* : Bool */;
184 static val* varonce179;
185 val* var180 /* : String */;
186 char* var181 /* : NativeString */;
187 val* var182 /* : FlatString */;
188 static val* varonce183;
189 val* var184 /* : String */;
190 char* var185 /* : NativeString */;
191 val* var186 /* : FlatString */;
192 short int var187 /* : Bool */;
193 static val* varonce188;
194 val* var189 /* : String */;
195 char* var190 /* : NativeString */;
196 val* var191 /* : FlatString */;
197 static val* varonce192;
198 val* var193 /* : String */;
199 char* var194 /* : NativeString */;
200 val* var195 /* : FlatString */;
201 short int var196 /* : Bool */;
202 static val* varonce197;
203 val* var198 /* : String */;
204 char* var199 /* : NativeString */;
205 val* var200 /* : FlatString */;
206 static val* varonce201;
207 val* var202 /* : String */;
208 char* var203 /* : NativeString */;
209 val* var204 /* : FlatString */;
210 short int var205 /* : Bool */;
211 static val* varonce206;
212 val* var207 /* : String */;
213 char* var208 /* : NativeString */;
214 val* var209 /* : FlatString */;
215 val* var210 /* : SequenceRead[Char] */;
216 val* var211 /* : nullable Object */;
217 short int var212 /* : Bool */;
218 short int var214 /* : Bool */;
219 uint32_t var215 /* : Char */;
220 val* var217 /* : NativeArray[String] */;
221 static val* varonce216;
222 static val* varonce218;
223 val* var219 /* : String */;
224 char* var220 /* : NativeString */;
225 val* var221 /* : FlatString */;
226 long var222 /* : Int */;
227 long var223 /* : Int */;
228 short int var225 /* : Bool */;
229 int cltype;
230 int idtype;
231 const char* var_class_name;
232 long var226 /* : Int */;
233 val* var227 /* : Text */;
234 val* var228 /* : String */;
235 {
236 { /* Inline model#MProperty#name (self) on <self:MMethod> */
237 var3 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on <self:MMethod> */
238 if (unlikely(var3 == NULL)) {
239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933);
241 fatal_exit(1);
242 }
243 var1 = var3;
244 RET_LABEL2:(void)0;
245 }
246 }
247 var_nit_name = var1;
248 if (likely(varonce!=NULL)) {
249 var4 = varonce;
250 } else {
251 var5 = "+";
252 var6 = standard___standard__NativeString___to_s_with_length(var5, 1l);
253 var4 = var6;
254 varonce = var4;
255 }
256 {
257 var7 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var4); /* == on <var_nit_name:String>*/
258 }
259 if (var7){
260 if (likely(varonce8!=NULL)) {
261 var9 = varonce8;
262 } else {
263 var10 = "_plus";
264 var11 = standard___standard__NativeString___to_s_with_length(var10, 5l);
265 var9 = var11;
266 varonce8 = var9;
267 }
268 var = var9;
269 goto RET_LABEL;
270 } else {
271 }
272 if (likely(varonce12!=NULL)) {
273 var13 = varonce12;
274 } else {
275 var14 = "-";
276 var15 = standard___standard__NativeString___to_s_with_length(var14, 1l);
277 var13 = var15;
278 varonce12 = var13;
279 }
280 {
281 var16 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var13); /* == on <var_nit_name:String>*/
282 }
283 if (var16){
284 if (likely(varonce17!=NULL)) {
285 var18 = varonce17;
286 } else {
287 var19 = "_minus";
288 var20 = standard___standard__NativeString___to_s_with_length(var19, 6l);
289 var18 = var20;
290 varonce17 = var18;
291 }
292 var = var18;
293 goto RET_LABEL;
294 } else {
295 }
296 if (likely(varonce21!=NULL)) {
297 var22 = varonce21;
298 } else {
299 var23 = "unary -";
300 var24 = standard___standard__NativeString___to_s_with_length(var23, 7l);
301 var22 = var24;
302 varonce21 = var22;
303 }
304 {
305 var25 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var22); /* == on <var_nit_name:String>*/
306 }
307 if (var25){
308 if (likely(varonce26!=NULL)) {
309 var27 = varonce26;
310 } else {
311 var28 = "_unary_minus";
312 var29 = standard___standard__NativeString___to_s_with_length(var28, 12l);
313 var27 = var29;
314 varonce26 = var27;
315 }
316 var = var27;
317 goto RET_LABEL;
318 } else {
319 }
320 if (likely(varonce30!=NULL)) {
321 var31 = varonce30;
322 } else {
323 var32 = "unary +";
324 var33 = standard___standard__NativeString___to_s_with_length(var32, 7l);
325 var31 = var33;
326 varonce30 = var31;
327 }
328 {
329 var34 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var31); /* == on <var_nit_name:String>*/
330 }
331 if (var34){
332 if (likely(varonce35!=NULL)) {
333 var36 = varonce35;
334 } else {
335 var37 = "_unary_plus";
336 var38 = standard___standard__NativeString___to_s_with_length(var37, 11l);
337 var36 = var38;
338 varonce35 = var36;
339 }
340 var = var36;
341 goto RET_LABEL;
342 } else {
343 }
344 if (likely(varonce39!=NULL)) {
345 var40 = varonce39;
346 } else {
347 var41 = "unary ~";
348 var42 = standard___standard__NativeString___to_s_with_length(var41, 7l);
349 var40 = var42;
350 varonce39 = var40;
351 }
352 {
353 var43 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var40); /* == on <var_nit_name:String>*/
354 }
355 if (var43){
356 if (likely(varonce44!=NULL)) {
357 var45 = varonce44;
358 } else {
359 var46 = "_unary_tilde";
360 var47 = standard___standard__NativeString___to_s_with_length(var46, 12l);
361 var45 = var47;
362 varonce44 = var45;
363 }
364 var = var45;
365 goto RET_LABEL;
366 } else {
367 }
368 if (likely(varonce48!=NULL)) {
369 var49 = varonce48;
370 } else {
371 var50 = "*";
372 var51 = standard___standard__NativeString___to_s_with_length(var50, 1l);
373 var49 = var51;
374 varonce48 = var49;
375 }
376 {
377 var52 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var49); /* == on <var_nit_name:String>*/
378 }
379 if (var52){
380 if (likely(varonce53!=NULL)) {
381 var54 = varonce53;
382 } else {
383 var55 = "_star";
384 var56 = standard___standard__NativeString___to_s_with_length(var55, 5l);
385 var54 = var56;
386 varonce53 = var54;
387 }
388 var = var54;
389 goto RET_LABEL;
390 } else {
391 }
392 if (likely(varonce57!=NULL)) {
393 var58 = varonce57;
394 } else {
395 var59 = "/";
396 var60 = standard___standard__NativeString___to_s_with_length(var59, 1l);
397 var58 = var60;
398 varonce57 = var58;
399 }
400 {
401 var61 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var58); /* == on <var_nit_name:String>*/
402 }
403 if (var61){
404 if (likely(varonce62!=NULL)) {
405 var63 = varonce62;
406 } else {
407 var64 = "_slash";
408 var65 = standard___standard__NativeString___to_s_with_length(var64, 6l);
409 var63 = var65;
410 varonce62 = var63;
411 }
412 var = var63;
413 goto RET_LABEL;
414 } else {
415 }
416 if (likely(varonce66!=NULL)) {
417 var67 = varonce66;
418 } else {
419 var68 = "%";
420 var69 = standard___standard__NativeString___to_s_with_length(var68, 1l);
421 var67 = var69;
422 varonce66 = var67;
423 }
424 {
425 var70 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var67); /* == on <var_nit_name:String>*/
426 }
427 if (var70){
428 if (likely(varonce71!=NULL)) {
429 var72 = varonce71;
430 } else {
431 var73 = "_percent";
432 var74 = standard___standard__NativeString___to_s_with_length(var73, 8l);
433 var72 = var74;
434 varonce71 = var72;
435 }
436 var = var72;
437 goto RET_LABEL;
438 } else {
439 }
440 if (likely(varonce75!=NULL)) {
441 var76 = varonce75;
442 } else {
443 var77 = "[]";
444 var78 = standard___standard__NativeString___to_s_with_length(var77, 2l);
445 var76 = var78;
446 varonce75 = var76;
447 }
448 {
449 var79 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var76); /* == on <var_nit_name:String>*/
450 }
451 if (var79){
452 if (likely(varonce80!=NULL)) {
453 var81 = varonce80;
454 } else {
455 var82 = "_index";
456 var83 = standard___standard__NativeString___to_s_with_length(var82, 6l);
457 var81 = var83;
458 varonce80 = var81;
459 }
460 var = var81;
461 goto RET_LABEL;
462 } else {
463 }
464 if (likely(varonce84!=NULL)) {
465 var85 = varonce84;
466 } else {
467 var86 = "[]=";
468 var87 = standard___standard__NativeString___to_s_with_length(var86, 3l);
469 var85 = var87;
470 varonce84 = var85;
471 }
472 {
473 var88 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var85); /* == on <var_nit_name:String>*/
474 }
475 if (var88){
476 if (likely(varonce89!=NULL)) {
477 var90 = varonce89;
478 } else {
479 var91 = "_index_assign";
480 var92 = standard___standard__NativeString___to_s_with_length(var91, 13l);
481 var90 = var92;
482 varonce89 = var90;
483 }
484 var = var90;
485 goto RET_LABEL;
486 } else {
487 }
488 if (likely(varonce93!=NULL)) {
489 var94 = varonce93;
490 } else {
491 var95 = "==";
492 var96 = standard___standard__NativeString___to_s_with_length(var95, 2l);
493 var94 = var96;
494 varonce93 = var94;
495 }
496 {
497 var97 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var94); /* == on <var_nit_name:String>*/
498 }
499 if (var97){
500 if (likely(varonce98!=NULL)) {
501 var99 = varonce98;
502 } else {
503 var100 = "_equal";
504 var101 = standard___standard__NativeString___to_s_with_length(var100, 6l);
505 var99 = var101;
506 varonce98 = var99;
507 }
508 var = var99;
509 goto RET_LABEL;
510 } else {
511 }
512 if (likely(varonce102!=NULL)) {
513 var103 = varonce102;
514 } else {
515 var104 = "<";
516 var105 = standard___standard__NativeString___to_s_with_length(var104, 1l);
517 var103 = var105;
518 varonce102 = var103;
519 }
520 {
521 var106 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var103); /* == on <var_nit_name:String>*/
522 }
523 if (var106){
524 if (likely(varonce107!=NULL)) {
525 var108 = varonce107;
526 } else {
527 var109 = "_less";
528 var110 = standard___standard__NativeString___to_s_with_length(var109, 5l);
529 var108 = var110;
530 varonce107 = var108;
531 }
532 var = var108;
533 goto RET_LABEL;
534 } else {
535 }
536 if (likely(varonce111!=NULL)) {
537 var112 = varonce111;
538 } else {
539 var113 = ">";
540 var114 = standard___standard__NativeString___to_s_with_length(var113, 1l);
541 var112 = var114;
542 varonce111 = var112;
543 }
544 {
545 var115 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var112); /* == on <var_nit_name:String>*/
546 }
547 if (var115){
548 if (likely(varonce116!=NULL)) {
549 var117 = varonce116;
550 } else {
551 var118 = "_greater";
552 var119 = standard___standard__NativeString___to_s_with_length(var118, 8l);
553 var117 = var119;
554 varonce116 = var117;
555 }
556 var = var117;
557 goto RET_LABEL;
558 } else {
559 }
560 if (likely(varonce120!=NULL)) {
561 var121 = varonce120;
562 } else {
563 var122 = "<=";
564 var123 = standard___standard__NativeString___to_s_with_length(var122, 2l);
565 var121 = var123;
566 varonce120 = var121;
567 }
568 {
569 var124 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var121); /* == on <var_nit_name:String>*/
570 }
571 if (var124){
572 if (likely(varonce125!=NULL)) {
573 var126 = varonce125;
574 } else {
575 var127 = "_less_or_equal";
576 var128 = standard___standard__NativeString___to_s_with_length(var127, 14l);
577 var126 = var128;
578 varonce125 = var126;
579 }
580 var = var126;
581 goto RET_LABEL;
582 } else {
583 }
584 if (likely(varonce129!=NULL)) {
585 var130 = varonce129;
586 } else {
587 var131 = ">=";
588 var132 = standard___standard__NativeString___to_s_with_length(var131, 2l);
589 var130 = var132;
590 varonce129 = var130;
591 }
592 {
593 var133 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var130); /* == on <var_nit_name:String>*/
594 }
595 if (var133){
596 if (likely(varonce134!=NULL)) {
597 var135 = varonce134;
598 } else {
599 var136 = "_greater_or_equal";
600 var137 = standard___standard__NativeString___to_s_with_length(var136, 17l);
601 var135 = var137;
602 varonce134 = var135;
603 }
604 var = var135;
605 goto RET_LABEL;
606 } else {
607 }
608 if (likely(varonce138!=NULL)) {
609 var139 = varonce138;
610 } else {
611 var140 = "!=";
612 var141 = standard___standard__NativeString___to_s_with_length(var140, 2l);
613 var139 = var141;
614 varonce138 = var139;
615 }
616 {
617 var142 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var139); /* == on <var_nit_name:String>*/
618 }
619 if (var142){
620 if (likely(varonce143!=NULL)) {
621 var144 = varonce143;
622 } else {
623 var145 = "_not_equal";
624 var146 = standard___standard__NativeString___to_s_with_length(var145, 10l);
625 var144 = var146;
626 varonce143 = var144;
627 }
628 var = var144;
629 goto RET_LABEL;
630 } else {
631 }
632 if (likely(varonce147!=NULL)) {
633 var148 = varonce147;
634 } else {
635 var149 = "<<";
636 var150 = standard___standard__NativeString___to_s_with_length(var149, 2l);
637 var148 = var150;
638 varonce147 = var148;
639 }
640 {
641 var151 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var148); /* == on <var_nit_name:String>*/
642 }
643 if (var151){
644 if (likely(varonce152!=NULL)) {
645 var153 = varonce152;
646 } else {
647 var154 = "_left";
648 var155 = standard___standard__NativeString___to_s_with_length(var154, 5l);
649 var153 = var155;
650 varonce152 = var153;
651 }
652 var = var153;
653 goto RET_LABEL;
654 } else {
655 }
656 if (likely(varonce156!=NULL)) {
657 var157 = varonce156;
658 } else {
659 var158 = ">>";
660 var159 = standard___standard__NativeString___to_s_with_length(var158, 2l);
661 var157 = var159;
662 varonce156 = var157;
663 }
664 {
665 var160 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var157); /* == on <var_nit_name:String>*/
666 }
667 if (var160){
668 if (likely(varonce161!=NULL)) {
669 var162 = varonce161;
670 } else {
671 var163 = "_right";
672 var164 = standard___standard__NativeString___to_s_with_length(var163, 6l);
673 var162 = var164;
674 varonce161 = var162;
675 }
676 var = var162;
677 goto RET_LABEL;
678 } else {
679 }
680 if (likely(varonce165!=NULL)) {
681 var166 = varonce165;
682 } else {
683 var167 = "<=>";
684 var168 = standard___standard__NativeString___to_s_with_length(var167, 3l);
685 var166 = var168;
686 varonce165 = var166;
687 }
688 {
689 var169 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var166); /* == on <var_nit_name:String>*/
690 }
691 if (var169){
692 if (likely(varonce170!=NULL)) {
693 var171 = varonce170;
694 } else {
695 var172 = "_starship";
696 var173 = standard___standard__NativeString___to_s_with_length(var172, 9l);
697 var171 = var173;
698 varonce170 = var171;
699 }
700 var = var171;
701 goto RET_LABEL;
702 } else {
703 }
704 if (likely(varonce174!=NULL)) {
705 var175 = varonce174;
706 } else {
707 var176 = "|";
708 var177 = standard___standard__NativeString___to_s_with_length(var176, 1l);
709 var175 = var177;
710 varonce174 = var175;
711 }
712 {
713 var178 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var175); /* == on <var_nit_name:String>*/
714 }
715 if (var178){
716 if (likely(varonce179!=NULL)) {
717 var180 = varonce179;
718 } else {
719 var181 = "_pipe";
720 var182 = standard___standard__NativeString___to_s_with_length(var181, 5l);
721 var180 = var182;
722 varonce179 = var180;
723 }
724 var = var180;
725 goto RET_LABEL;
726 } else {
727 }
728 if (likely(varonce183!=NULL)) {
729 var184 = varonce183;
730 } else {
731 var185 = "^";
732 var186 = standard___standard__NativeString___to_s_with_length(var185, 1l);
733 var184 = var186;
734 varonce183 = var184;
735 }
736 {
737 var187 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var184); /* == on <var_nit_name:String>*/
738 }
739 if (var187){
740 if (likely(varonce188!=NULL)) {
741 var189 = varonce188;
742 } else {
743 var190 = "_caret";
744 var191 = standard___standard__NativeString___to_s_with_length(var190, 6l);
745 var189 = var191;
746 varonce188 = var189;
747 }
748 var = var189;
749 goto RET_LABEL;
750 } else {
751 }
752 if (likely(varonce192!=NULL)) {
753 var193 = varonce192;
754 } else {
755 var194 = "&";
756 var195 = standard___standard__NativeString___to_s_with_length(var194, 1l);
757 var193 = var195;
758 varonce192 = var193;
759 }
760 {
761 var196 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var193); /* == on <var_nit_name:String>*/
762 }
763 if (var196){
764 if (likely(varonce197!=NULL)) {
765 var198 = varonce197;
766 } else {
767 var199 = "_amp";
768 var200 = standard___standard__NativeString___to_s_with_length(var199, 4l);
769 var198 = var200;
770 varonce197 = var198;
771 }
772 var = var198;
773 goto RET_LABEL;
774 } else {
775 }
776 if (likely(varonce201!=NULL)) {
777 var202 = varonce201;
778 } else {
779 var203 = "~";
780 var204 = standard___standard__NativeString___to_s_with_length(var203, 1l);
781 var202 = var204;
782 varonce201 = var202;
783 }
784 {
785 var205 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nit_name, var202); /* == on <var_nit_name:String>*/
786 }
787 if (var205){
788 if (likely(varonce206!=NULL)) {
789 var207 = varonce206;
790 } else {
791 var208 = "_tilde";
792 var209 = standard___standard__NativeString___to_s_with_length(var208, 6l);
793 var207 = var209;
794 varonce206 = var207;
795 }
796 var = var207;
797 goto RET_LABEL;
798 } else {
799 }
800 {
801 var210 = ((val*(*)(val* self))(var_nit_name->class->vft[COLOR_standard__string__Text__chars]))(var_nit_name); /* chars on <var_nit_name:String>*/
802 }
803 {
804 var211 = ((val*(*)(val* self))((((long)var210&3)?class_info[((long)var210&3)]:var210->class)->vft[COLOR_standard__abstract_collection__SequenceRead__last]))(var210); /* last on <var210:SequenceRead[Char]>*/
805 }
806 {
807 { /* Inline kernel#Char#== (var211,'=') on <var211:nullable Object(Char)> */
808 var215 = (uint32_t)((long)(var211)>>2);
809 var214 = (var211 != NULL) && (var215 == '=');
810 var212 = var214;
811 goto RET_LABEL213;
812 RET_LABEL213:(void)0;
813 }
814 }
815 if (var212){
816 if (unlikely(varonce216==NULL)) {
817 var217 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
818 if (likely(varonce218!=NULL)) {
819 var219 = varonce218;
820 } else {
821 var220 = "__assign";
822 var221 = standard___standard__NativeString___to_s_with_length(var220, 8l);
823 var219 = var221;
824 varonce218 = var219;
825 }
826 ((struct instance_standard__NativeArray*)var217)->values[1]=var219;
827 } else {
828 var217 = varonce216;
829 varonce216 = NULL;
830 }
831 {
832 var222 = ((long(*)(val* self))(var_nit_name->class->vft[COLOR_standard__string__Text__length]))(var_nit_name); /* length on <var_nit_name:String>*/
833 }
834 {
835 { /* Inline kernel#Int#- (var222,1l) on <var222:Int> */
836 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
837 /* <1l:Int> isa OTHER */
838 var225 = 1; /* easy <1l:Int> isa OTHER*/
839 if (unlikely(!var225)) {
840 var_class_name = type_standard__Int.name;
841 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
842 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
843 fatal_exit(1);
844 }
845 var226 = var222 - 1l;
846 var223 = var226;
847 goto RET_LABEL224;
848 RET_LABEL224:(void)0;
849 }
850 }
851 {
852 var227 = ((val*(*)(val* self, long p0, long p1))(var_nit_name->class->vft[COLOR_standard__string__Text__substring]))(var_nit_name, 0l, var223); /* substring on <var_nit_name:String>*/
853 }
854 ((struct instance_standard__NativeArray*)var217)->values[0]=var227;
855 {
856 var228 = ((val*(*)(val* self))(var217->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var217); /* native_to_s on <var217:NativeArray[String]>*/
857 }
858 varonce216 = var217;
859 var = var228;
860 goto RET_LABEL;
861 } else {
862 }
863 var = var_nit_name;
864 goto RET_LABEL;
865 RET_LABEL:;
866 return var;
867 }
868 /* method nitni_base#MType#cname for (self: MType): String */
869 val* nit__nitni_base___MType___cname(val* self) {
870 val* var /* : String */;
871 const char* var_class_name;
872 var_class_name = self == NULL ? "null" : self->type->name;
873 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "cname", var_class_name);
874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__nitni_base, 67);
875 fatal_exit(1);
876 RET_LABEL:;
877 return var;
878 }
879 /* method nitni_base#MType#cname_blind for (self: MType): String */
880 val* nit__nitni_base___MType___cname_blind(val* self) {
881 val* var /* : String */;
882 static val* varonce;
883 val* var1 /* : String */;
884 char* var2 /* : NativeString */;
885 val* var3 /* : FlatString */;
886 if (likely(varonce!=NULL)) {
887 var1 = varonce;
888 } else {
889 var2 = "struct nitni_instance *";
890 var3 = standard___standard__NativeString___to_s_with_length(var2, 23l);
891 var1 = var3;
892 varonce = var1;
893 }
894 var = var1;
895 goto RET_LABEL;
896 RET_LABEL:;
897 return var;
898 }
899 /* method nitni_base#MType#mangled_cname for (self: MType): String */
900 val* nit__nitni_base___MType___mangled_cname(val* self) {
901 val* var /* : String */;
902 const char* var_class_name;
903 var_class_name = self == NULL ? "null" : self->type->name;
904 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "mangled_cname", var_class_name);
905 PRINT_ERROR(" (%s:%d)\n", FILE_nit__nitni_base, 76);
906 fatal_exit(1);
907 RET_LABEL:;
908 return var;
909 }
910 /* method nitni_base#MType#is_cprimitive for (self: MType): Bool */
911 short int nit__nitni_base___MType___is_cprimitive(val* self) {
912 short int var /* : Bool */;
913 const char* var_class_name;
914 var_class_name = self == NULL ? "null" : self->type->name;
915 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "is_cprimitive", var_class_name);
916 PRINT_ERROR(" (%s:%d)\n", FILE_nit__nitni_base, 81);
917 fatal_exit(1);
918 RET_LABEL:;
919 return var;
920 }
921 /* method nitni_base#MClassType#cname for (self: MClassType): String */
922 val* nit__nitni_base___MClassType___MType__cname(val* self) {
923 val* var /* : String */;
924 val* var1 /* : MClass */;
925 val* var3 /* : MClass */;
926 val* var4 /* : String */;
927 val* var6 /* : String */;
928 val* var_name /* var name: String */;
929 static val* varonce;
930 val* var7 /* : String */;
931 char* var8 /* : NativeString */;
932 val* var9 /* : FlatString */;
933 short int var10 /* : Bool */;
934 static val* varonce11;
935 val* var12 /* : String */;
936 char* var13 /* : NativeString */;
937 val* var14 /* : FlatString */;
938 static val* varonce15;
939 val* var16 /* : String */;
940 char* var17 /* : NativeString */;
941 val* var18 /* : FlatString */;
942 short int var19 /* : Bool */;
943 static val* varonce20;
944 val* var21 /* : String */;
945 char* var22 /* : NativeString */;
946 val* var23 /* : FlatString */;
947 static val* varonce24;
948 val* var25 /* : String */;
949 char* var26 /* : NativeString */;
950 val* var27 /* : FlatString */;
951 short int var28 /* : Bool */;
952 static val* varonce29;
953 val* var30 /* : String */;
954 char* var31 /* : NativeString */;
955 val* var32 /* : FlatString */;
956 static val* varonce33;
957 val* var34 /* : String */;
958 char* var35 /* : NativeString */;
959 val* var36 /* : FlatString */;
960 short int var37 /* : Bool */;
961 static val* varonce38;
962 val* var39 /* : String */;
963 char* var40 /* : NativeString */;
964 val* var41 /* : FlatString */;
965 static val* varonce42;
966 val* var43 /* : String */;
967 char* var44 /* : NativeString */;
968 val* var45 /* : FlatString */;
969 short int var46 /* : Bool */;
970 static val* varonce47;
971 val* var48 /* : String */;
972 char* var49 /* : NativeString */;
973 val* var50 /* : FlatString */;
974 static val* varonce51;
975 val* var52 /* : String */;
976 char* var53 /* : NativeString */;
977 val* var54 /* : FlatString */;
978 short int var55 /* : Bool */;
979 static val* varonce56;
980 val* var57 /* : String */;
981 char* var58 /* : NativeString */;
982 val* var59 /* : FlatString */;
983 val* var60 /* : MClass */;
984 val* var62 /* : MClass */;
985 val* var63 /* : MClassKind */;
986 val* var65 /* : MClassKind */;
987 val* var66 /* : Sys */;
988 val* var67 /* : MClassKind */;
989 short int var68 /* : Bool */;
990 val* var_other /* var other: nullable Object */;
991 short int var70 /* : Bool */;
992 short int var72 /* : Bool */;
993 val* var73 /* : MClass */;
994 val* var75 /* : MClass */;
995 val* var76 /* : nullable String */;
996 val* var_ctype /* var ctype: nullable String */;
997 short int var77 /* : Bool */;
998 short int var78 /* : Bool */;
999 val* var_other80 /* var other: nullable Object */;
1000 short int var81 /* : Bool */;
1001 short int var82 /* : Bool */;
1002 val* var83 /* : String */;
1003 {
1004 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1005 var3 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1006 if (unlikely(var3 == NULL)) {
1007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1008 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1009 fatal_exit(1);
1010 }
1011 var1 = var3;
1012 RET_LABEL2:(void)0;
1013 }
1014 }
1015 {
1016 { /* Inline model#MClass#name (var1) on <var1:MClass> */
1017 var6 = var1->attrs[COLOR_nit__model__MClass___name].val; /* _name on <var1:MClass> */
1018 if (unlikely(var6 == NULL)) {
1019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1020 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362);
1021 fatal_exit(1);
1022 }
1023 var4 = var6;
1024 RET_LABEL5:(void)0;
1025 }
1026 }
1027 var_name = var4;
1028 if (likely(varonce!=NULL)) {
1029 var7 = varonce;
1030 } else {
1031 var8 = "Bool";
1032 var9 = standard___standard__NativeString___to_s_with_length(var8, 4l);
1033 var7 = var9;
1034 varonce = var7;
1035 }
1036 {
1037 var10 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
1038 }
1039 if (var10){
1040 if (likely(varonce11!=NULL)) {
1041 var12 = varonce11;
1042 } else {
1043 var13 = "int";
1044 var14 = standard___standard__NativeString___to_s_with_length(var13, 3l);
1045 var12 = var14;
1046 varonce11 = var12;
1047 }
1048 var = var12;
1049 goto RET_LABEL;
1050 } else {
1051 }
1052 if (likely(varonce15!=NULL)) {
1053 var16 = varonce15;
1054 } else {
1055 var17 = "Char";
1056 var18 = standard___standard__NativeString___to_s_with_length(var17, 4l);
1057 var16 = var18;
1058 varonce15 = var16;
1059 }
1060 {
1061 var19 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var16); /* == on <var_name:String>*/
1062 }
1063 if (var19){
1064 if (likely(varonce20!=NULL)) {
1065 var21 = varonce20;
1066 } else {
1067 var22 = "uint32_t";
1068 var23 = standard___standard__NativeString___to_s_with_length(var22, 8l);
1069 var21 = var23;
1070 varonce20 = var21;
1071 }
1072 var = var21;
1073 goto RET_LABEL;
1074 } else {
1075 }
1076 if (likely(varonce24!=NULL)) {
1077 var25 = varonce24;
1078 } else {
1079 var26 = "Float";
1080 var27 = standard___standard__NativeString___to_s_with_length(var26, 5l);
1081 var25 = var27;
1082 varonce24 = var25;
1083 }
1084 {
1085 var28 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var25); /* == on <var_name:String>*/
1086 }
1087 if (var28){
1088 if (likely(varonce29!=NULL)) {
1089 var30 = varonce29;
1090 } else {
1091 var31 = "double";
1092 var32 = standard___standard__NativeString___to_s_with_length(var31, 6l);
1093 var30 = var32;
1094 varonce29 = var30;
1095 }
1096 var = var30;
1097 goto RET_LABEL;
1098 } else {
1099 }
1100 if (likely(varonce33!=NULL)) {
1101 var34 = varonce33;
1102 } else {
1103 var35 = "Int";
1104 var36 = standard___standard__NativeString___to_s_with_length(var35, 3l);
1105 var34 = var36;
1106 varonce33 = var34;
1107 }
1108 {
1109 var37 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var34); /* == on <var_name:String>*/
1110 }
1111 if (var37){
1112 if (likely(varonce38!=NULL)) {
1113 var39 = varonce38;
1114 } else {
1115 var40 = "long";
1116 var41 = standard___standard__NativeString___to_s_with_length(var40, 4l);
1117 var39 = var41;
1118 varonce38 = var39;
1119 }
1120 var = var39;
1121 goto RET_LABEL;
1122 } else {
1123 }
1124 if (likely(varonce42!=NULL)) {
1125 var43 = varonce42;
1126 } else {
1127 var44 = "Byte";
1128 var45 = standard___standard__NativeString___to_s_with_length(var44, 4l);
1129 var43 = var45;
1130 varonce42 = var43;
1131 }
1132 {
1133 var46 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var43); /* == on <var_name:String>*/
1134 }
1135 if (var46){
1136 if (likely(varonce47!=NULL)) {
1137 var48 = varonce47;
1138 } else {
1139 var49 = "unsigned char";
1140 var50 = standard___standard__NativeString___to_s_with_length(var49, 13l);
1141 var48 = var50;
1142 varonce47 = var48;
1143 }
1144 var = var48;
1145 goto RET_LABEL;
1146 } else {
1147 }
1148 if (likely(varonce51!=NULL)) {
1149 var52 = varonce51;
1150 } else {
1151 var53 = "NativeString";
1152 var54 = standard___standard__NativeString___to_s_with_length(var53, 12l);
1153 var52 = var54;
1154 varonce51 = var52;
1155 }
1156 {
1157 var55 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var52); /* == on <var_name:String>*/
1158 }
1159 if (var55){
1160 if (likely(varonce56!=NULL)) {
1161 var57 = varonce56;
1162 } else {
1163 var58 = "char*";
1164 var59 = standard___standard__NativeString___to_s_with_length(var58, 5l);
1165 var57 = var59;
1166 varonce56 = var57;
1167 }
1168 var = var57;
1169 goto RET_LABEL;
1170 } else {
1171 }
1172 {
1173 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1174 var62 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1175 if (unlikely(var62 == NULL)) {
1176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1178 fatal_exit(1);
1179 }
1180 var60 = var62;
1181 RET_LABEL61:(void)0;
1182 }
1183 }
1184 {
1185 { /* Inline model#MClass#kind (var60) on <var60:MClass> */
1186 var65 = var60->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var60:MClass> */
1187 if (unlikely(var65 == NULL)) {
1188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1189 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
1190 fatal_exit(1);
1191 }
1192 var63 = var65;
1193 RET_LABEL64:(void)0;
1194 }
1195 }
1196 var66 = glob_sys;
1197 {
1198 var67 = nit__model___standard__Sys___extern_kind(var66);
1199 }
1200 {
1201 { /* Inline kernel#Object#== (var63,var67) on <var63:MClassKind> */
1202 var_other = var67;
1203 {
1204 { /* Inline kernel#Object#is_same_instance (var63,var_other) on <var63:MClassKind> */
1205 var72 = var63 == var_other;
1206 var70 = var72;
1207 goto RET_LABEL71;
1208 RET_LABEL71:(void)0;
1209 }
1210 }
1211 var68 = var70;
1212 goto RET_LABEL69;
1213 RET_LABEL69:(void)0;
1214 }
1215 }
1216 if (var68){
1217 {
1218 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1219 var75 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1220 if (unlikely(var75 == NULL)) {
1221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1223 fatal_exit(1);
1224 }
1225 var73 = var75;
1226 RET_LABEL74:(void)0;
1227 }
1228 }
1229 {
1230 var76 = nit__extern_classes___MClass___ctype(var73);
1231 }
1232 var_ctype = var76;
1233 if (var_ctype == NULL) {
1234 var77 = 0; /* is null */
1235 } else {
1236 var77 = 1; /* arg is null and recv is not */
1237 }
1238 if (0) {
1239 { /* Inline kernel#Object#!= (var_ctype,((val*)NULL)) on <var_ctype:nullable String> */
1240 var_other80 = ((val*)NULL);
1241 {
1242 var81 = ((short int(*)(val* self, val* p0))(var_ctype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ctype, var_other80); /* == on <var_ctype:nullable String(String)>*/
1243 }
1244 var82 = !var81;
1245 var78 = var82;
1246 goto RET_LABEL79;
1247 RET_LABEL79:(void)0;
1248 }
1249 var77 = var78;
1250 }
1251 if (unlikely(!var77)) {
1252 PRINT_ERROR("Runtime error: %s", "Assert failed");
1253 PRINT_ERROR(" (%s:%d)\n", FILE_nit__nitni_base, 100);
1254 fatal_exit(1);
1255 }
1256 var = var_ctype;
1257 goto RET_LABEL;
1258 } else {
1259 }
1260 {
1261 var83 = nit__light_only___MClassType___cname_normal_class(self);
1262 }
1263 var = var83;
1264 goto RET_LABEL;
1265 RET_LABEL:;
1266 return var;
1267 }
1268 /* method nitni_base#MClassType#cname_blind for (self: MClassType): String */
1269 val* nit__nitni_base___MClassType___MType__cname_blind(val* self) {
1270 val* var /* : String */;
1271 val* var1 /* : MClass */;
1272 val* var3 /* : MClass */;
1273 val* var4 /* : String */;
1274 val* var6 /* : String */;
1275 val* var_name /* var name: String */;
1276 static val* varonce;
1277 val* var7 /* : String */;
1278 char* var8 /* : NativeString */;
1279 val* var9 /* : FlatString */;
1280 short int var10 /* : Bool */;
1281 static val* varonce11;
1282 val* var12 /* : String */;
1283 char* var13 /* : NativeString */;
1284 val* var14 /* : FlatString */;
1285 static val* varonce15;
1286 val* var16 /* : String */;
1287 char* var17 /* : NativeString */;
1288 val* var18 /* : FlatString */;
1289 short int var19 /* : Bool */;
1290 static val* varonce20;
1291 val* var21 /* : String */;
1292 char* var22 /* : NativeString */;
1293 val* var23 /* : FlatString */;
1294 static val* varonce24;
1295 val* var25 /* : String */;
1296 char* var26 /* : NativeString */;
1297 val* var27 /* : FlatString */;
1298 short int var28 /* : Bool */;
1299 static val* varonce29;
1300 val* var30 /* : String */;
1301 char* var31 /* : NativeString */;
1302 val* var32 /* : FlatString */;
1303 static val* varonce33;
1304 val* var34 /* : String */;
1305 char* var35 /* : NativeString */;
1306 val* var36 /* : FlatString */;
1307 short int var37 /* : Bool */;
1308 static val* varonce38;
1309 val* var39 /* : String */;
1310 char* var40 /* : NativeString */;
1311 val* var41 /* : FlatString */;
1312 static val* varonce42;
1313 val* var43 /* : String */;
1314 char* var44 /* : NativeString */;
1315 val* var45 /* : FlatString */;
1316 short int var46 /* : Bool */;
1317 static val* varonce47;
1318 val* var48 /* : String */;
1319 char* var49 /* : NativeString */;
1320 val* var50 /* : FlatString */;
1321 static val* varonce51;
1322 val* var52 /* : String */;
1323 char* var53 /* : NativeString */;
1324 val* var54 /* : FlatString */;
1325 short int var55 /* : Bool */;
1326 static val* varonce56;
1327 val* var57 /* : String */;
1328 char* var58 /* : NativeString */;
1329 val* var59 /* : FlatString */;
1330 val* var60 /* : MClass */;
1331 val* var62 /* : MClass */;
1332 val* var63 /* : MClassKind */;
1333 val* var65 /* : MClassKind */;
1334 val* var66 /* : Sys */;
1335 val* var67 /* : MClassKind */;
1336 short int var68 /* : Bool */;
1337 val* var_other /* var other: nullable Object */;
1338 short int var70 /* : Bool */;
1339 short int var72 /* : Bool */;
1340 static val* varonce73;
1341 val* var74 /* : String */;
1342 char* var75 /* : NativeString */;
1343 val* var76 /* : FlatString */;
1344 val* var77 /* : String */;
1345 {
1346 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1347 var3 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1348 if (unlikely(var3 == NULL)) {
1349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1351 fatal_exit(1);
1352 }
1353 var1 = var3;
1354 RET_LABEL2:(void)0;
1355 }
1356 }
1357 {
1358 { /* Inline model#MClass#name (var1) on <var1:MClass> */
1359 var6 = var1->attrs[COLOR_nit__model__MClass___name].val; /* _name on <var1:MClass> */
1360 if (unlikely(var6 == NULL)) {
1361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1362 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362);
1363 fatal_exit(1);
1364 }
1365 var4 = var6;
1366 RET_LABEL5:(void)0;
1367 }
1368 }
1369 var_name = var4;
1370 if (likely(varonce!=NULL)) {
1371 var7 = varonce;
1372 } else {
1373 var8 = "Bool";
1374 var9 = standard___standard__NativeString___to_s_with_length(var8, 4l);
1375 var7 = var9;
1376 varonce = var7;
1377 }
1378 {
1379 var10 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
1380 }
1381 if (var10){
1382 if (likely(varonce11!=NULL)) {
1383 var12 = varonce11;
1384 } else {
1385 var13 = "int";
1386 var14 = standard___standard__NativeString___to_s_with_length(var13, 3l);
1387 var12 = var14;
1388 varonce11 = var12;
1389 }
1390 var = var12;
1391 goto RET_LABEL;
1392 } else {
1393 }
1394 if (likely(varonce15!=NULL)) {
1395 var16 = varonce15;
1396 } else {
1397 var17 = "Char";
1398 var18 = standard___standard__NativeString___to_s_with_length(var17, 4l);
1399 var16 = var18;
1400 varonce15 = var16;
1401 }
1402 {
1403 var19 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var16); /* == on <var_name:String>*/
1404 }
1405 if (var19){
1406 if (likely(varonce20!=NULL)) {
1407 var21 = varonce20;
1408 } else {
1409 var22 = "uint32_t";
1410 var23 = standard___standard__NativeString___to_s_with_length(var22, 8l);
1411 var21 = var23;
1412 varonce20 = var21;
1413 }
1414 var = var21;
1415 goto RET_LABEL;
1416 } else {
1417 }
1418 if (likely(varonce24!=NULL)) {
1419 var25 = varonce24;
1420 } else {
1421 var26 = "Float";
1422 var27 = standard___standard__NativeString___to_s_with_length(var26, 5l);
1423 var25 = var27;
1424 varonce24 = var25;
1425 }
1426 {
1427 var28 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var25); /* == on <var_name:String>*/
1428 }
1429 if (var28){
1430 if (likely(varonce29!=NULL)) {
1431 var30 = varonce29;
1432 } else {
1433 var31 = "double";
1434 var32 = standard___standard__NativeString___to_s_with_length(var31, 6l);
1435 var30 = var32;
1436 varonce29 = var30;
1437 }
1438 var = var30;
1439 goto RET_LABEL;
1440 } else {
1441 }
1442 if (likely(varonce33!=NULL)) {
1443 var34 = varonce33;
1444 } else {
1445 var35 = "Int";
1446 var36 = standard___standard__NativeString___to_s_with_length(var35, 3l);
1447 var34 = var36;
1448 varonce33 = var34;
1449 }
1450 {
1451 var37 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var34); /* == on <var_name:String>*/
1452 }
1453 if (var37){
1454 if (likely(varonce38!=NULL)) {
1455 var39 = varonce38;
1456 } else {
1457 var40 = "long";
1458 var41 = standard___standard__NativeString___to_s_with_length(var40, 4l);
1459 var39 = var41;
1460 varonce38 = var39;
1461 }
1462 var = var39;
1463 goto RET_LABEL;
1464 } else {
1465 }
1466 if (likely(varonce42!=NULL)) {
1467 var43 = varonce42;
1468 } else {
1469 var44 = "Byte";
1470 var45 = standard___standard__NativeString___to_s_with_length(var44, 4l);
1471 var43 = var45;
1472 varonce42 = var43;
1473 }
1474 {
1475 var46 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var43); /* == on <var_name:String>*/
1476 }
1477 if (var46){
1478 if (likely(varonce47!=NULL)) {
1479 var48 = varonce47;
1480 } else {
1481 var49 = "unsigned char";
1482 var50 = standard___standard__NativeString___to_s_with_length(var49, 13l);
1483 var48 = var50;
1484 varonce47 = var48;
1485 }
1486 var = var48;
1487 goto RET_LABEL;
1488 } else {
1489 }
1490 if (likely(varonce51!=NULL)) {
1491 var52 = varonce51;
1492 } else {
1493 var53 = "NativeString";
1494 var54 = standard___standard__NativeString___to_s_with_length(var53, 12l);
1495 var52 = var54;
1496 varonce51 = var52;
1497 }
1498 {
1499 var55 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_name, var52); /* == on <var_name:String>*/
1500 }
1501 if (var55){
1502 if (likely(varonce56!=NULL)) {
1503 var57 = varonce56;
1504 } else {
1505 var58 = "char*";
1506 var59 = standard___standard__NativeString___to_s_with_length(var58, 5l);
1507 var57 = var59;
1508 varonce56 = var57;
1509 }
1510 var = var57;
1511 goto RET_LABEL;
1512 } else {
1513 }
1514 {
1515 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1516 var62 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1517 if (unlikely(var62 == NULL)) {
1518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1519 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1520 fatal_exit(1);
1521 }
1522 var60 = var62;
1523 RET_LABEL61:(void)0;
1524 }
1525 }
1526 {
1527 { /* Inline model#MClass#kind (var60) on <var60:MClass> */
1528 var65 = var60->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var60:MClass> */
1529 if (unlikely(var65 == NULL)) {
1530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1531 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
1532 fatal_exit(1);
1533 }
1534 var63 = var65;
1535 RET_LABEL64:(void)0;
1536 }
1537 }
1538 var66 = glob_sys;
1539 {
1540 var67 = nit__model___standard__Sys___extern_kind(var66);
1541 }
1542 {
1543 { /* Inline kernel#Object#== (var63,var67) on <var63:MClassKind> */
1544 var_other = var67;
1545 {
1546 { /* Inline kernel#Object#is_same_instance (var63,var_other) on <var63:MClassKind> */
1547 var72 = var63 == var_other;
1548 var70 = var72;
1549 goto RET_LABEL71;
1550 RET_LABEL71:(void)0;
1551 }
1552 }
1553 var68 = var70;
1554 goto RET_LABEL69;
1555 RET_LABEL69:(void)0;
1556 }
1557 }
1558 if (var68){
1559 if (likely(varonce73!=NULL)) {
1560 var74 = varonce73;
1561 } else {
1562 var75 = "void*";
1563 var76 = standard___standard__NativeString___to_s_with_length(var75, 5l);
1564 var74 = var76;
1565 varonce73 = var74;
1566 }
1567 var = var74;
1568 goto RET_LABEL;
1569 } else {
1570 }
1571 {
1572 var77 = ((val*(*)(val* self))(self->class->vft[COLOR_nit__nitni_base___MClassType___MType__cname_blind]))(self); /* cname_blind on <self:MClassType>*/
1573 }
1574 var = var77;
1575 goto RET_LABEL;
1576 RET_LABEL:;
1577 return var;
1578 }
1579 /* method nitni_base#MClassType#mangled_cname for (self: MClassType): String */
1580 val* nit__nitni_base___MClassType___MType__mangled_cname(val* self) {
1581 val* var /* : String */;
1582 val* var1 /* : MClass */;
1583 val* var3 /* : MClass */;
1584 val* var4 /* : String */;
1585 val* var6 /* : String */;
1586 {
1587 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1588 var3 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1589 if (unlikely(var3 == NULL)) {
1590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1592 fatal_exit(1);
1593 }
1594 var1 = var3;
1595 RET_LABEL2:(void)0;
1596 }
1597 }
1598 {
1599 { /* Inline model#MClass#name (var1) on <var1:MClass> */
1600 var6 = var1->attrs[COLOR_nit__model__MClass___name].val; /* _name on <var1:MClass> */
1601 if (unlikely(var6 == NULL)) {
1602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362);
1604 fatal_exit(1);
1605 }
1606 var4 = var6;
1607 RET_LABEL5:(void)0;
1608 }
1609 }
1610 var = var4;
1611 goto RET_LABEL;
1612 RET_LABEL:;
1613 return var;
1614 }
1615 /* method nitni_base#MClassType#is_cprimitive for (self: MClassType): Bool */
1616 short int nit__nitni_base___MClassType___MType__is_cprimitive(val* self) {
1617 short int var /* : Bool */;
1618 short int var1 /* : Bool */;
1619 val* var2 /* : MClass */;
1620 val* var4 /* : MClass */;
1621 val* var5 /* : MClassKind */;
1622 val* var7 /* : MClassKind */;
1623 val* var8 /* : Sys */;
1624 val* var9 /* : MClassKind */;
1625 short int var10 /* : Bool */;
1626 val* var_other /* var other: nullable Object */;
1627 short int var12 /* : Bool */;
1628 short int var14 /* : Bool */;
1629 short int var_ /* var : Bool */;
1630 static val* varonce;
1631 static int varonce_guard;
1632 val* var15 /* : Array[String] */;
1633 val* var16 /* : Array[String] */;
1634 val* var_17 /* var : Array[String] */;
1635 static val* varonce18;
1636 val* var19 /* : String */;
1637 char* var20 /* : NativeString */;
1638 val* var21 /* : FlatString */;
1639 static val* varonce22;
1640 val* var23 /* : String */;
1641 char* var24 /* : NativeString */;
1642 val* var25 /* : FlatString */;
1643 static val* varonce26;
1644 val* var27 /* : String */;
1645 char* var28 /* : NativeString */;
1646 val* var29 /* : FlatString */;
1647 static val* varonce30;
1648 val* var31 /* : String */;
1649 char* var32 /* : NativeString */;
1650 val* var33 /* : FlatString */;
1651 static val* varonce34;
1652 val* var35 /* : String */;
1653 char* var36 /* : NativeString */;
1654 val* var37 /* : FlatString */;
1655 static val* varonce38;
1656 val* var39 /* : String */;
1657 char* var40 /* : NativeString */;
1658 val* var41 /* : FlatString */;
1659 val* var42 /* : MClass */;
1660 val* var44 /* : MClass */;
1661 val* var45 /* : String */;
1662 val* var47 /* : String */;
1663 short int var48 /* : Bool */;
1664 {
1665 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1666 var4 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1667 if (unlikely(var4 == NULL)) {
1668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1669 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1670 fatal_exit(1);
1671 }
1672 var2 = var4;
1673 RET_LABEL3:(void)0;
1674 }
1675 }
1676 {
1677 { /* Inline model#MClass#kind (var2) on <var2:MClass> */
1678 var7 = var2->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var2:MClass> */
1679 if (unlikely(var7 == NULL)) {
1680 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
1682 fatal_exit(1);
1683 }
1684 var5 = var7;
1685 RET_LABEL6:(void)0;
1686 }
1687 }
1688 var8 = glob_sys;
1689 {
1690 var9 = nit__model___standard__Sys___extern_kind(var8);
1691 }
1692 {
1693 { /* Inline kernel#Object#== (var5,var9) on <var5:MClassKind> */
1694 var_other = var9;
1695 {
1696 { /* Inline kernel#Object#is_same_instance (var5,var_other) on <var5:MClassKind> */
1697 var14 = var5 == var_other;
1698 var12 = var14;
1699 goto RET_LABEL13;
1700 RET_LABEL13:(void)0;
1701 }
1702 }
1703 var10 = var12;
1704 goto RET_LABEL11;
1705 RET_LABEL11:(void)0;
1706 }
1707 }
1708 var_ = var10;
1709 if (var10){
1710 var1 = var_;
1711 } else {
1712 if (likely(varonce_guard)) {
1713 var15 = varonce;
1714 } else {
1715 var16 = NEW_standard__Array(&type_standard__Array__standard__String);
1716 {
1717 standard___standard__Array___with_capacity(var16, 6l); /* Direct call array#Array#with_capacity on <var16:Array[String]>*/
1718 }
1719 var_17 = var16;
1720 if (likely(varonce18!=NULL)) {
1721 var19 = varonce18;
1722 } else {
1723 var20 = "Bool";
1724 var21 = standard___standard__NativeString___to_s_with_length(var20, 4l);
1725 var19 = var21;
1726 varonce18 = var19;
1727 }
1728 {
1729 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_17, var19); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
1730 }
1731 if (likely(varonce22!=NULL)) {
1732 var23 = varonce22;
1733 } else {
1734 var24 = "Char";
1735 var25 = standard___standard__NativeString___to_s_with_length(var24, 4l);
1736 var23 = var25;
1737 varonce22 = var23;
1738 }
1739 {
1740 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_17, var23); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
1741 }
1742 if (likely(varonce26!=NULL)) {
1743 var27 = varonce26;
1744 } else {
1745 var28 = "Float";
1746 var29 = standard___standard__NativeString___to_s_with_length(var28, 5l);
1747 var27 = var29;
1748 varonce26 = var27;
1749 }
1750 {
1751 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_17, var27); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
1752 }
1753 if (likely(varonce30!=NULL)) {
1754 var31 = varonce30;
1755 } else {
1756 var32 = "Int";
1757 var33 = standard___standard__NativeString___to_s_with_length(var32, 3l);
1758 var31 = var33;
1759 varonce30 = var31;
1760 }
1761 {
1762 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_17, var31); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
1763 }
1764 if (likely(varonce34!=NULL)) {
1765 var35 = varonce34;
1766 } else {
1767 var36 = "NativeString";
1768 var37 = standard___standard__NativeString___to_s_with_length(var36, 12l);
1769 var35 = var37;
1770 varonce34 = var35;
1771 }
1772 {
1773 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_17, var35); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
1774 }
1775 if (likely(varonce38!=NULL)) {
1776 var39 = varonce38;
1777 } else {
1778 var40 = "Byte";
1779 var41 = standard___standard__NativeString___to_s_with_length(var40, 4l);
1780 var39 = var41;
1781 varonce38 = var39;
1782 }
1783 {
1784 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_17, var39); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
1785 }
1786 var15 = var_17;
1787 varonce = var15;
1788 varonce_guard = 1;
1789 }
1790 {
1791 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1792 var44 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1793 if (unlikely(var44 == NULL)) {
1794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1795 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1796 fatal_exit(1);
1797 }
1798 var42 = var44;
1799 RET_LABEL43:(void)0;
1800 }
1801 }
1802 {
1803 { /* Inline model#MClass#name (var42) on <var42:MClass> */
1804 var47 = var42->attrs[COLOR_nit__model__MClass___name].val; /* _name on <var42:MClass> */
1805 if (unlikely(var47 == NULL)) {
1806 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1807 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362);
1808 fatal_exit(1);
1809 }
1810 var45 = var47;
1811 RET_LABEL46:(void)0;
1812 }
1813 }
1814 {
1815 var48 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var15, var45);
1816 }
1817 var1 = var48;
1818 }
1819 var = var1;
1820 goto RET_LABEL;
1821 RET_LABEL:;
1822 return var;
1823 }
1824 /* method nitni_base#MNullableType#cname for (self: MNullableType): String */
1825 val* nit__nitni_base___MNullableType___MType__cname(val* self) {
1826 val* var /* : String */;
1827 val* var1 /* : String */;
1828 {
1829 var1 = nit__nitni_base___MNullableType___MType__mangled_cname(self);
1830 }
1831 var = var1;
1832 goto RET_LABEL;
1833 RET_LABEL:;
1834 return var;
1835 }
1836 /* method nitni_base#MNullableType#mangled_cname for (self: MNullableType): String */
1837 val* nit__nitni_base___MNullableType___MType__mangled_cname(val* self) {
1838 val* var /* : String */;
1839 val* var1 /* : NativeArray[String] */;
1840 static val* varonce;
1841 static val* varonce2;
1842 val* var3 /* : String */;
1843 char* var4 /* : NativeString */;
1844 val* var5 /* : FlatString */;
1845 val* var6 /* : MType */;
1846 val* var8 /* : MType */;
1847 val* var9 /* : String */;
1848 val* var10 /* : String */;
1849 if (unlikely(varonce==NULL)) {
1850 var1 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
1851 if (likely(varonce2!=NULL)) {
1852 var3 = varonce2;
1853 } else {
1854 var4 = "nullable_";
1855 var5 = standard___standard__NativeString___to_s_with_length(var4, 9l);
1856 var3 = var5;
1857 varonce2 = var3;
1858 }
1859 ((struct instance_standard__NativeArray*)var1)->values[0]=var3;
1860 } else {
1861 var1 = varonce;
1862 varonce = NULL;
1863 }
1864 {
1865 { /* Inline model#MProxyType#mtype (self) on <self:MNullableType> */
1866 var8 = self->attrs[COLOR_nit__model__MProxyType___mtype].val; /* _mtype on <self:MNullableType> */
1867 if (unlikely(var8 == NULL)) {
1868 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1869 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1598);
1870 fatal_exit(1);
1871 }
1872 var6 = var8;
1873 RET_LABEL7:(void)0;
1874 }
1875 }
1876 {
1877 var9 = ((val*(*)(val* self))(var6->class->vft[COLOR_nit__nitni_base__MType__mangled_cname]))(var6); /* mangled_cname on <var6:MType>*/
1878 }
1879 ((struct instance_standard__NativeArray*)var1)->values[1]=var9;
1880 {
1881 var10 = ((val*(*)(val* self))(var1->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
1882 }
1883 varonce = var1;
1884 var = var10;
1885 goto RET_LABEL;
1886 RET_LABEL:;
1887 return var;
1888 }
1889 /* method nitni_base#MNullableType#is_cprimitive for (self: MNullableType): Bool */
1890 short int nit__nitni_base___MNullableType___MType__is_cprimitive(val* self) {
1891 short int var /* : Bool */;
1892 var = 0;
1893 goto RET_LABEL;
1894 RET_LABEL:;
1895 return var;
1896 }
1897 /* method nitni_base#MVirtualType#mangled_cname for (self: MVirtualType): String */
1898 val* nit__nitni_base___MVirtualType___MType__mangled_cname(val* self) {
1899 val* var /* : String */;
1900 val* var1 /* : String */;
1901 {
1902 var1 = nit___nit__MVirtualType___standard__string__Object__to_s(self);
1903 }
1904 var = var1;
1905 goto RET_LABEL;
1906 RET_LABEL:;
1907 return var;
1908 }
1909 /* method nitni_base#MGenericType#cname for (self: MGenericType): String */
1910 val* nit__nitni_base___MGenericType___MType__cname(val* self) {
1911 val* var /* : String */;
1912 val* var1 /* : String */;
1913 {
1914 var1 = nit__nitni_base___MGenericType___MType__mangled_cname(self);
1915 }
1916 var = var1;
1917 goto RET_LABEL;
1918 RET_LABEL:;
1919 return var;
1920 }
1921 /* method nitni_base#MGenericType#mangled_cname for (self: MGenericType): String */
1922 val* nit__nitni_base___MGenericType___MType__mangled_cname(val* self) {
1923 val* var /* : String */;
1924 val* var1 /* : String */;
1925 val* var_base /* var base: String */;
1926 val* var2 /* : Array[String] */;
1927 val* var_params /* var params: Array[String] */;
1928 val* var3 /* : Array[MType] */;
1929 val* var5 /* : Array[MType] */;
1930 val* var_ /* var : Array[MType] */;
1931 val* var6 /* : ArrayIterator[nullable Object] */;
1932 val* var_7 /* var : ArrayIterator[MType] */;
1933 short int var8 /* : Bool */;
1934 val* var9 /* : nullable Object */;
1935 val* var_arg /* var arg: MType */;
1936 val* var10 /* : String */;
1937 val* var11 /* : NativeArray[String] */;
1938 static val* varonce;
1939 static val* varonce12;
1940 val* var13 /* : String */;
1941 char* var14 /* : NativeString */;
1942 val* var15 /* : FlatString */;
1943 static val* varonce16;
1944 val* var17 /* : String */;
1945 char* var18 /* : NativeString */;
1946 val* var19 /* : FlatString */;
1947 val* var20 /* : String */;
1948 val* var21 /* : String */;
1949 {
1950 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nit__nitni_base___MGenericType___MType__mangled_cname]))(self); /* mangled_cname on <self:MGenericType>*/
1951 }
1952 var_base = var1;
1953 var2 = NEW_standard__Array(&type_standard__Array__standard__String);
1954 {
1955 standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[String]>*/
1956 }
1957 var_params = var2;
1958 {
1959 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
1960 var5 = self->attrs[COLOR_nit__model__MGenericType___arguments].val; /* _arguments on <self:MGenericType> */
1961 if (unlikely(var5 == NULL)) {
1962 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
1963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1244);
1964 fatal_exit(1);
1965 }
1966 var3 = var5;
1967 RET_LABEL4:(void)0;
1968 }
1969 }
1970 var_ = var3;
1971 {
1972 var6 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
1973 }
1974 var_7 = var6;
1975 for(;;) {
1976 {
1977 var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7);
1978 }
1979 if (var8){
1980 {
1981 var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7);
1982 }
1983 var_arg = var9;
1984 {
1985 var10 = ((val*(*)(val* self))(var_arg->class->vft[COLOR_nit__nitni_base__MType__mangled_cname]))(var_arg); /* mangled_cname on <var_arg:MType>*/
1986 }
1987 {
1988 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_params, var10); /* Direct call array#Array#add on <var_params:Array[String]>*/
1989 }
1990 {
1991 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[MType]>*/
1992 }
1993 } else {
1994 goto BREAK_label;
1995 }
1996 }
1997 BREAK_label: (void)0;
1998 {
1999 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_7); /* Direct call array#ArrayIterator#finish on <var_7:ArrayIterator[MType]>*/
2000 }
2001 if (unlikely(varonce==NULL)) {
2002 var11 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
2003 if (likely(varonce12!=NULL)) {
2004 var13 = varonce12;
2005 } else {
2006 var14 = "_of_";
2007 var15 = standard___standard__NativeString___to_s_with_length(var14, 4l);
2008 var13 = var15;
2009 varonce12 = var13;
2010 }
2011 ((struct instance_standard__NativeArray*)var11)->values[1]=var13;
2012 } else {
2013 var11 = varonce;
2014 varonce = NULL;
2015 }
2016 ((struct instance_standard__NativeArray*)var11)->values[0]=var_base;
2017 if (likely(varonce16!=NULL)) {
2018 var17 = varonce16;
2019 } else {
2020 var18 = "_";
2021 var19 = standard___standard__NativeString___to_s_with_length(var18, 1l);
2022 var17 = var19;
2023 varonce16 = var17;
2024 }
2025 {
2026 var20 = standard__string___Collection___join(var_params, var17);
2027 }
2028 ((struct instance_standard__NativeArray*)var11)->values[2]=var20;
2029 {
2030 var21 = ((val*(*)(val* self))(var11->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var11); /* native_to_s on <var11:NativeArray[String]>*/
2031 }
2032 varonce = var11;
2033 var = var21;
2034 goto RET_LABEL;
2035 RET_LABEL:;
2036 return var;
2037 }