NOTICE: Update author list and years
[nit.git] / c_src / nitc__nitni_base.sep.1.c
1 #include "nitc__nitni_base.sep.0.h"
2 /* method nitni_base#MMethod#short_cname for (self: MMethod): String */
3 val* nitc__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 /* : String */;
12 short int var7 /* : Bool */;
13 static val* varonce8;
14 val* var9 /* : String */;
15 char* var10 /* : NativeString */;
16 val* var11 /* : String */;
17 static val* varonce12;
18 val* var13 /* : String */;
19 char* var14 /* : NativeString */;
20 val* var15 /* : String */;
21 short int var16 /* : Bool */;
22 static val* varonce17;
23 val* var18 /* : String */;
24 char* var19 /* : NativeString */;
25 val* var20 /* : String */;
26 static val* varonce21;
27 val* var22 /* : String */;
28 char* var23 /* : NativeString */;
29 val* var24 /* : String */;
30 short int var25 /* : Bool */;
31 static val* varonce26;
32 val* var27 /* : String */;
33 char* var28 /* : NativeString */;
34 val* var29 /* : String */;
35 static val* varonce30;
36 val* var31 /* : String */;
37 char* var32 /* : NativeString */;
38 val* var33 /* : String */;
39 short int var34 /* : Bool */;
40 static val* varonce35;
41 val* var36 /* : String */;
42 char* var37 /* : NativeString */;
43 val* var38 /* : String */;
44 static val* varonce39;
45 val* var40 /* : String */;
46 char* var41 /* : NativeString */;
47 val* var42 /* : String */;
48 short int var43 /* : Bool */;
49 static val* varonce44;
50 val* var45 /* : String */;
51 char* var46 /* : NativeString */;
52 val* var47 /* : String */;
53 static val* varonce48;
54 val* var49 /* : String */;
55 char* var50 /* : NativeString */;
56 val* var51 /* : String */;
57 short int var52 /* : Bool */;
58 static val* varonce53;
59 val* var54 /* : String */;
60 char* var55 /* : NativeString */;
61 val* var56 /* : String */;
62 static val* varonce57;
63 val* var58 /* : String */;
64 char* var59 /* : NativeString */;
65 val* var60 /* : String */;
66 short int var61 /* : Bool */;
67 static val* varonce62;
68 val* var63 /* : String */;
69 char* var64 /* : NativeString */;
70 val* var65 /* : String */;
71 static val* varonce66;
72 val* var67 /* : String */;
73 char* var68 /* : NativeString */;
74 val* var69 /* : String */;
75 short int var70 /* : Bool */;
76 static val* varonce71;
77 val* var72 /* : String */;
78 char* var73 /* : NativeString */;
79 val* var74 /* : String */;
80 static val* varonce75;
81 val* var76 /* : String */;
82 char* var77 /* : NativeString */;
83 val* var78 /* : String */;
84 short int var79 /* : Bool */;
85 static val* varonce80;
86 val* var81 /* : String */;
87 char* var82 /* : NativeString */;
88 val* var83 /* : String */;
89 static val* varonce84;
90 val* var85 /* : String */;
91 char* var86 /* : NativeString */;
92 val* var87 /* : String */;
93 short int var88 /* : Bool */;
94 static val* varonce89;
95 val* var90 /* : String */;
96 char* var91 /* : NativeString */;
97 val* var92 /* : String */;
98 static val* varonce93;
99 val* var94 /* : String */;
100 char* var95 /* : NativeString */;
101 val* var96 /* : String */;
102 short int var97 /* : Bool */;
103 static val* varonce98;
104 val* var99 /* : String */;
105 char* var100 /* : NativeString */;
106 val* var101 /* : String */;
107 static val* varonce102;
108 val* var103 /* : String */;
109 char* var104 /* : NativeString */;
110 val* var105 /* : String */;
111 short int var106 /* : Bool */;
112 static val* varonce107;
113 val* var108 /* : String */;
114 char* var109 /* : NativeString */;
115 val* var110 /* : String */;
116 static val* varonce111;
117 val* var112 /* : String */;
118 char* var113 /* : NativeString */;
119 val* var114 /* : String */;
120 short int var115 /* : Bool */;
121 static val* varonce116;
122 val* var117 /* : String */;
123 char* var118 /* : NativeString */;
124 val* var119 /* : String */;
125 static val* varonce120;
126 val* var121 /* : String */;
127 char* var122 /* : NativeString */;
128 val* var123 /* : String */;
129 short int var124 /* : Bool */;
130 static val* varonce125;
131 val* var126 /* : String */;
132 char* var127 /* : NativeString */;
133 val* var128 /* : String */;
134 static val* varonce129;
135 val* var130 /* : String */;
136 char* var131 /* : NativeString */;
137 val* var132 /* : String */;
138 short int var133 /* : Bool */;
139 static val* varonce134;
140 val* var135 /* : String */;
141 char* var136 /* : NativeString */;
142 val* var137 /* : String */;
143 static val* varonce138;
144 val* var139 /* : String */;
145 char* var140 /* : NativeString */;
146 val* var141 /* : String */;
147 short int var142 /* : Bool */;
148 static val* varonce143;
149 val* var144 /* : String */;
150 char* var145 /* : NativeString */;
151 val* var146 /* : String */;
152 static val* varonce147;
153 val* var148 /* : String */;
154 char* var149 /* : NativeString */;
155 val* var150 /* : String */;
156 short int var151 /* : Bool */;
157 static val* varonce152;
158 val* var153 /* : String */;
159 char* var154 /* : NativeString */;
160 val* var155 /* : String */;
161 static val* varonce156;
162 val* var157 /* : String */;
163 char* var158 /* : NativeString */;
164 val* var159 /* : String */;
165 short int var160 /* : Bool */;
166 static val* varonce161;
167 val* var162 /* : String */;
168 char* var163 /* : NativeString */;
169 val* var164 /* : String */;
170 static val* varonce165;
171 val* var166 /* : String */;
172 char* var167 /* : NativeString */;
173 val* var168 /* : String */;
174 short int var169 /* : Bool */;
175 static val* varonce170;
176 val* var171 /* : String */;
177 char* var172 /* : NativeString */;
178 val* var173 /* : String */;
179 static val* varonce174;
180 val* var175 /* : String */;
181 char* var176 /* : NativeString */;
182 val* var177 /* : String */;
183 short int var178 /* : Bool */;
184 static val* varonce179;
185 val* var180 /* : String */;
186 char* var181 /* : NativeString */;
187 val* var182 /* : String */;
188 static val* varonce183;
189 val* var184 /* : String */;
190 char* var185 /* : NativeString */;
191 val* var186 /* : String */;
192 short int var187 /* : Bool */;
193 static val* varonce188;
194 val* var189 /* : String */;
195 char* var190 /* : NativeString */;
196 val* var191 /* : String */;
197 static val* varonce192;
198 val* var193 /* : String */;
199 char* var194 /* : NativeString */;
200 val* var195 /* : String */;
201 short int var196 /* : Bool */;
202 static val* varonce197;
203 val* var198 /* : String */;
204 char* var199 /* : NativeString */;
205 val* var200 /* : String */;
206 static val* varonce201;
207 val* var202 /* : String */;
208 char* var203 /* : NativeString */;
209 val* var204 /* : String */;
210 short int var205 /* : Bool */;
211 static val* varonce206;
212 val* var207 /* : String */;
213 char* var208 /* : NativeString */;
214 val* var209 /* : String */;
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 /* : String */;
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_nitc__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_nitc__model, 1951);
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 = core__flat___NativeString___to_s_full(var5, 1l, 1l);
253 var4 = var6;
254 varonce = var4;
255 }
256 {
257 var7 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var10, 5l, 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 = core__flat___NativeString___to_s_full(var14, 1l, 1l);
277 var13 = var15;
278 varonce12 = var13;
279 }
280 {
281 var16 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var19, 6l, 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 = core__flat___NativeString___to_s_full(var23, 7l, 7l);
301 var22 = var24;
302 varonce21 = var22;
303 }
304 {
305 var25 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var28, 12l, 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 = core__flat___NativeString___to_s_full(var32, 7l, 7l);
325 var31 = var33;
326 varonce30 = var31;
327 }
328 {
329 var34 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var37, 11l, 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 = core__flat___NativeString___to_s_full(var41, 7l, 7l);
349 var40 = var42;
350 varonce39 = var40;
351 }
352 {
353 var43 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var46, 12l, 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 = core__flat___NativeString___to_s_full(var50, 1l, 1l);
373 var49 = var51;
374 varonce48 = var49;
375 }
376 {
377 var52 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var55, 5l, 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 = core__flat___NativeString___to_s_full(var59, 1l, 1l);
397 var58 = var60;
398 varonce57 = var58;
399 }
400 {
401 var61 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var64, 6l, 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 = core__flat___NativeString___to_s_full(var68, 1l, 1l);
421 var67 = var69;
422 varonce66 = var67;
423 }
424 {
425 var70 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var73, 8l, 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 = core__flat___NativeString___to_s_full(var77, 2l, 2l);
445 var76 = var78;
446 varonce75 = var76;
447 }
448 {
449 var79 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var82, 6l, 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 = core__flat___NativeString___to_s_full(var86, 3l, 3l);
469 var85 = var87;
470 varonce84 = var85;
471 }
472 {
473 var88 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var91, 13l, 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 = core__flat___NativeString___to_s_full(var95, 2l, 2l);
493 var94 = var96;
494 varonce93 = var94;
495 }
496 {
497 var97 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var100, 6l, 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 = core__flat___NativeString___to_s_full(var104, 1l, 1l);
517 var103 = var105;
518 varonce102 = var103;
519 }
520 {
521 var106 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var109, 5l, 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 = core__flat___NativeString___to_s_full(var113, 1l, 1l);
541 var112 = var114;
542 varonce111 = var112;
543 }
544 {
545 var115 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var118, 8l, 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 = core__flat___NativeString___to_s_full(var122, 2l, 2l);
565 var121 = var123;
566 varonce120 = var121;
567 }
568 {
569 var124 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var127, 14l, 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 = core__flat___NativeString___to_s_full(var131, 2l, 2l);
589 var130 = var132;
590 varonce129 = var130;
591 }
592 {
593 var133 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var136, 17l, 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 = core__flat___NativeString___to_s_full(var140, 2l, 2l);
613 var139 = var141;
614 varonce138 = var139;
615 }
616 {
617 var142 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var145, 10l, 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 = core__flat___NativeString___to_s_full(var149, 2l, 2l);
637 var148 = var150;
638 varonce147 = var148;
639 }
640 {
641 var151 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var154, 5l, 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 = core__flat___NativeString___to_s_full(var158, 2l, 2l);
661 var157 = var159;
662 varonce156 = var157;
663 }
664 {
665 var160 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var163, 6l, 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 = core__flat___NativeString___to_s_full(var167, 3l, 3l);
685 var166 = var168;
686 varonce165 = var166;
687 }
688 {
689 var169 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var172, 9l, 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 = core__flat___NativeString___to_s_full(var176, 1l, 1l);
709 var175 = var177;
710 varonce174 = var175;
711 }
712 {
713 var178 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var181, 5l, 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 = core__flat___NativeString___to_s_full(var185, 1l, 1l);
733 var184 = var186;
734 varonce183 = var184;
735 }
736 {
737 var187 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var190, 6l, 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 = core__flat___NativeString___to_s_full(var194, 1l, 1l);
757 var193 = var195;
758 varonce192 = var193;
759 }
760 {
761 var196 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var199, 4l, 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 = core__flat___NativeString___to_s_full(var203, 1l, 1l);
781 var202 = var204;
782 varonce201 = var202;
783 }
784 {
785 var205 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__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 = core__flat___NativeString___to_s_full(var208, 6l, 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_core__abstract_text__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_core__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 = 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_core__NativeArray(2l, &type_core__NativeArray__core__String);
818 if (likely(varonce218!=NULL)) {
819 var219 = varonce218;
820 } else {
821 var220 = "__assign";
822 var221 = core__flat___NativeString___to_s_full(var220, 8l, 8l);
823 var219 = var221;
824 varonce218 = var219;
825 }
826 ((struct instance_core__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_core__abstract_text__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_core__Int.name;
841 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
842 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
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_core__abstract_text__Text__substring]))(var_nit_name, 0l, var223); /* substring on <var_nit_name:String>*/
853 }
854 ((struct instance_core__NativeArray*)var217)->values[0]=var227;
855 {
856 var228 = ((val*(*)(val* self))(var217->class->vft[COLOR_core__abstract_text__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* nitc__nitni_base___MType___cname(val* self) {
870 val* var /* : String */;
871 val* var1 /* : String */;
872 {
873 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base__MType__cname_normal_class]))(self); /* cname_normal_class on <self:MType>*/
874 }
875 var = var1;
876 goto RET_LABEL;
877 RET_LABEL:;
878 return var;
879 }
880 /* method nitni_base#MType#cname_blind for (self: MType): String */
881 val* nitc__nitni_base___MType___cname_blind(val* self) {
882 val* var /* : String */;
883 static val* varonce;
884 val* var1 /* : String */;
885 char* var2 /* : NativeString */;
886 val* var3 /* : String */;
887 if (likely(varonce!=NULL)) {
888 var1 = varonce;
889 } else {
890 var2 = "struct nitni_instance *";
891 var3 = core__flat___NativeString___to_s_full(var2, 23l, 23l);
892 var1 = var3;
893 varonce = var1;
894 }
895 var = var1;
896 goto RET_LABEL;
897 RET_LABEL:;
898 return var;
899 }
900 /* method nitni_base#MType#mangled_cname for (self: MType): String */
901 val* nitc__nitni_base___MType___mangled_cname(val* self) {
902 val* var /* : String */;
903 const char* var_class_name;
904 var_class_name = self == NULL ? "null" : self->type->name;
905 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "mangled_cname", var_class_name);
906 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__nitni_base, 76);
907 fatal_exit(1);
908 RET_LABEL:;
909 return var;
910 }
911 /* method nitni_base#MType#is_cprimitive for (self: MType): Bool */
912 short int nitc__nitni_base___MType___is_cprimitive(val* self) {
913 short int var /* : Bool */;
914 var = 0;
915 goto RET_LABEL;
916 RET_LABEL:;
917 return var;
918 }
919 /* method nitni_base#MType#cname_normal_class for (self: MType): String */
920 val* nitc__nitni_base___MType___cname_normal_class(val* self) {
921 val* var /* : String */;
922 val* var1 /* : String */;
923 {
924 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(self); /* mangled_cname on <self:MType>*/
925 }
926 var = var1;
927 goto RET_LABEL;
928 RET_LABEL:;
929 return var;
930 }
931 /* method nitni_base#MClassType#cname for (self: MClassType): String */
932 val* nitc__nitni_base___MClassType___MType__cname(val* self) {
933 val* var /* : String */;
934 val* var1 /* : MClass */;
935 val* var3 /* : MClass */;
936 val* var4 /* : String */;
937 val* var6 /* : String */;
938 val* var_name /* var name: String */;
939 static val* varonce;
940 val* var7 /* : String */;
941 char* var8 /* : NativeString */;
942 val* var9 /* : String */;
943 short int var10 /* : Bool */;
944 static val* varonce11;
945 val* var12 /* : String */;
946 char* var13 /* : NativeString */;
947 val* var14 /* : String */;
948 static val* varonce15;
949 val* var16 /* : String */;
950 char* var17 /* : NativeString */;
951 val* var18 /* : String */;
952 short int var19 /* : Bool */;
953 static val* varonce20;
954 val* var21 /* : String */;
955 char* var22 /* : NativeString */;
956 val* var23 /* : String */;
957 static val* varonce24;
958 val* var25 /* : String */;
959 char* var26 /* : NativeString */;
960 val* var27 /* : String */;
961 short int var28 /* : Bool */;
962 static val* varonce29;
963 val* var30 /* : String */;
964 char* var31 /* : NativeString */;
965 val* var32 /* : String */;
966 static val* varonce33;
967 val* var34 /* : String */;
968 char* var35 /* : NativeString */;
969 val* var36 /* : String */;
970 short int var37 /* : Bool */;
971 static val* varonce38;
972 val* var39 /* : String */;
973 char* var40 /* : NativeString */;
974 val* var41 /* : String */;
975 static val* varonce42;
976 val* var43 /* : String */;
977 char* var44 /* : NativeString */;
978 val* var45 /* : String */;
979 short int var46 /* : Bool */;
980 static val* varonce47;
981 val* var48 /* : String */;
982 char* var49 /* : NativeString */;
983 val* var50 /* : String */;
984 static val* varonce51;
985 val* var52 /* : String */;
986 char* var53 /* : NativeString */;
987 val* var54 /* : String */;
988 short int var55 /* : Bool */;
989 static val* varonce56;
990 val* var57 /* : String */;
991 char* var58 /* : NativeString */;
992 val* var59 /* : String */;
993 static val* varonce60;
994 val* var61 /* : String */;
995 char* var62 /* : NativeString */;
996 val* var63 /* : String */;
997 short int var64 /* : Bool */;
998 static val* varonce65;
999 val* var66 /* : String */;
1000 char* var67 /* : NativeString */;
1001 val* var68 /* : String */;
1002 static val* varonce69;
1003 val* var70 /* : String */;
1004 char* var71 /* : NativeString */;
1005 val* var72 /* : String */;
1006 short int var73 /* : Bool */;
1007 static val* varonce74;
1008 val* var75 /* : String */;
1009 char* var76 /* : NativeString */;
1010 val* var77 /* : String */;
1011 static val* varonce78;
1012 val* var79 /* : String */;
1013 char* var80 /* : NativeString */;
1014 val* var81 /* : String */;
1015 short int var82 /* : Bool */;
1016 static val* varonce83;
1017 val* var84 /* : String */;
1018 char* var85 /* : NativeString */;
1019 val* var86 /* : String */;
1020 static val* varonce87;
1021 val* var88 /* : String */;
1022 char* var89 /* : NativeString */;
1023 val* var90 /* : String */;
1024 short int var91 /* : Bool */;
1025 static val* varonce92;
1026 val* var93 /* : String */;
1027 char* var94 /* : NativeString */;
1028 val* var95 /* : String */;
1029 static val* varonce96;
1030 val* var97 /* : String */;
1031 char* var98 /* : NativeString */;
1032 val* var99 /* : String */;
1033 short int var100 /* : Bool */;
1034 static val* varonce101;
1035 val* var102 /* : String */;
1036 char* var103 /* : NativeString */;
1037 val* var104 /* : String */;
1038 val* var105 /* : MClass */;
1039 val* var107 /* : MClass */;
1040 val* var108 /* : MClassKind */;
1041 val* var110 /* : MClassKind */;
1042 val* var111 /* : Sys */;
1043 val* var112 /* : MClassKind */;
1044 short int var113 /* : Bool */;
1045 val* var_other /* var other: nullable Object */;
1046 short int var115 /* : Bool */;
1047 short int var117 /* : Bool */;
1048 val* var118 /* : MClass */;
1049 val* var120 /* : MClass */;
1050 val* var121 /* : nullable String */;
1051 val* var_ctype /* var ctype: nullable String */;
1052 short int var122 /* : Bool */;
1053 short int var123 /* : Bool */;
1054 val* var_other125 /* var other: nullable Object */;
1055 short int var126 /* : Bool */;
1056 short int var127 /* : Bool */;
1057 val* var128 /* : String */;
1058 {
1059 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1060 var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1061 if (unlikely(var3 == NULL)) {
1062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1063 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
1064 fatal_exit(1);
1065 }
1066 var1 = var3;
1067 RET_LABEL2:(void)0;
1068 }
1069 }
1070 {
1071 { /* Inline model#MClass#name (var1) on <var1:MClass> */
1072 var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
1073 if (unlikely(var6 == NULL)) {
1074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1075 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
1076 fatal_exit(1);
1077 }
1078 var4 = var6;
1079 RET_LABEL5:(void)0;
1080 }
1081 }
1082 var_name = var4;
1083 if (likely(varonce!=NULL)) {
1084 var7 = varonce;
1085 } else {
1086 var8 = "Bool";
1087 var9 = core__flat___NativeString___to_s_full(var8, 4l, 4l);
1088 var7 = var9;
1089 varonce = var7;
1090 }
1091 {
1092 var10 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
1093 }
1094 if (var10){
1095 if (likely(varonce11!=NULL)) {
1096 var12 = varonce11;
1097 } else {
1098 var13 = "int";
1099 var14 = core__flat___NativeString___to_s_full(var13, 3l, 3l);
1100 var12 = var14;
1101 varonce11 = var12;
1102 }
1103 var = var12;
1104 goto RET_LABEL;
1105 } else {
1106 }
1107 if (likely(varonce15!=NULL)) {
1108 var16 = varonce15;
1109 } else {
1110 var17 = "Char";
1111 var18 = core__flat___NativeString___to_s_full(var17, 4l, 4l);
1112 var16 = var18;
1113 varonce15 = var16;
1114 }
1115 {
1116 var19 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var16); /* == on <var_name:String>*/
1117 }
1118 if (var19){
1119 if (likely(varonce20!=NULL)) {
1120 var21 = varonce20;
1121 } else {
1122 var22 = "uint32_t";
1123 var23 = core__flat___NativeString___to_s_full(var22, 8l, 8l);
1124 var21 = var23;
1125 varonce20 = var21;
1126 }
1127 var = var21;
1128 goto RET_LABEL;
1129 } else {
1130 }
1131 if (likely(varonce24!=NULL)) {
1132 var25 = varonce24;
1133 } else {
1134 var26 = "Float";
1135 var27 = core__flat___NativeString___to_s_full(var26, 5l, 5l);
1136 var25 = var27;
1137 varonce24 = var25;
1138 }
1139 {
1140 var28 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var25); /* == on <var_name:String>*/
1141 }
1142 if (var28){
1143 if (likely(varonce29!=NULL)) {
1144 var30 = varonce29;
1145 } else {
1146 var31 = "double";
1147 var32 = core__flat___NativeString___to_s_full(var31, 6l, 6l);
1148 var30 = var32;
1149 varonce29 = var30;
1150 }
1151 var = var30;
1152 goto RET_LABEL;
1153 } else {
1154 }
1155 if (likely(varonce33!=NULL)) {
1156 var34 = varonce33;
1157 } else {
1158 var35 = "Int";
1159 var36 = core__flat___NativeString___to_s_full(var35, 3l, 3l);
1160 var34 = var36;
1161 varonce33 = var34;
1162 }
1163 {
1164 var37 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var34); /* == on <var_name:String>*/
1165 }
1166 if (var37){
1167 if (likely(varonce38!=NULL)) {
1168 var39 = varonce38;
1169 } else {
1170 var40 = "long";
1171 var41 = core__flat___NativeString___to_s_full(var40, 4l, 4l);
1172 var39 = var41;
1173 varonce38 = var39;
1174 }
1175 var = var39;
1176 goto RET_LABEL;
1177 } else {
1178 }
1179 if (likely(varonce42!=NULL)) {
1180 var43 = varonce42;
1181 } else {
1182 var44 = "Byte";
1183 var45 = core__flat___NativeString___to_s_full(var44, 4l, 4l);
1184 var43 = var45;
1185 varonce42 = var43;
1186 }
1187 {
1188 var46 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var43); /* == on <var_name:String>*/
1189 }
1190 if (var46){
1191 if (likely(varonce47!=NULL)) {
1192 var48 = varonce47;
1193 } else {
1194 var49 = "unsigned char";
1195 var50 = core__flat___NativeString___to_s_full(var49, 13l, 13l);
1196 var48 = var50;
1197 varonce47 = var48;
1198 }
1199 var = var48;
1200 goto RET_LABEL;
1201 } else {
1202 }
1203 if (likely(varonce51!=NULL)) {
1204 var52 = varonce51;
1205 } else {
1206 var53 = "Int8";
1207 var54 = core__flat___NativeString___to_s_full(var53, 4l, 4l);
1208 var52 = var54;
1209 varonce51 = var52;
1210 }
1211 {
1212 var55 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var52); /* == on <var_name:String>*/
1213 }
1214 if (var55){
1215 if (likely(varonce56!=NULL)) {
1216 var57 = varonce56;
1217 } else {
1218 var58 = "int8_t";
1219 var59 = core__flat___NativeString___to_s_full(var58, 6l, 6l);
1220 var57 = var59;
1221 varonce56 = var57;
1222 }
1223 var = var57;
1224 goto RET_LABEL;
1225 } else {
1226 }
1227 if (likely(varonce60!=NULL)) {
1228 var61 = varonce60;
1229 } else {
1230 var62 = "Int16";
1231 var63 = core__flat___NativeString___to_s_full(var62, 5l, 5l);
1232 var61 = var63;
1233 varonce60 = var61;
1234 }
1235 {
1236 var64 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var61); /* == on <var_name:String>*/
1237 }
1238 if (var64){
1239 if (likely(varonce65!=NULL)) {
1240 var66 = varonce65;
1241 } else {
1242 var67 = "int16_t";
1243 var68 = core__flat___NativeString___to_s_full(var67, 7l, 7l);
1244 var66 = var68;
1245 varonce65 = var66;
1246 }
1247 var = var66;
1248 goto RET_LABEL;
1249 } else {
1250 }
1251 if (likely(varonce69!=NULL)) {
1252 var70 = varonce69;
1253 } else {
1254 var71 = "UInt16";
1255 var72 = core__flat___NativeString___to_s_full(var71, 6l, 6l);
1256 var70 = var72;
1257 varonce69 = var70;
1258 }
1259 {
1260 var73 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var70); /* == on <var_name:String>*/
1261 }
1262 if (var73){
1263 if (likely(varonce74!=NULL)) {
1264 var75 = varonce74;
1265 } else {
1266 var76 = "uint16_t";
1267 var77 = core__flat___NativeString___to_s_full(var76, 8l, 8l);
1268 var75 = var77;
1269 varonce74 = var75;
1270 }
1271 var = var75;
1272 goto RET_LABEL;
1273 } else {
1274 }
1275 if (likely(varonce78!=NULL)) {
1276 var79 = varonce78;
1277 } else {
1278 var80 = "Int32";
1279 var81 = core__flat___NativeString___to_s_full(var80, 5l, 5l);
1280 var79 = var81;
1281 varonce78 = var79;
1282 }
1283 {
1284 var82 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var79); /* == on <var_name:String>*/
1285 }
1286 if (var82){
1287 if (likely(varonce83!=NULL)) {
1288 var84 = varonce83;
1289 } else {
1290 var85 = "int32_t";
1291 var86 = core__flat___NativeString___to_s_full(var85, 7l, 7l);
1292 var84 = var86;
1293 varonce83 = var84;
1294 }
1295 var = var84;
1296 goto RET_LABEL;
1297 } else {
1298 }
1299 if (likely(varonce87!=NULL)) {
1300 var88 = varonce87;
1301 } else {
1302 var89 = "UInt32";
1303 var90 = core__flat___NativeString___to_s_full(var89, 6l, 6l);
1304 var88 = var90;
1305 varonce87 = var88;
1306 }
1307 {
1308 var91 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var88); /* == on <var_name:String>*/
1309 }
1310 if (var91){
1311 if (likely(varonce92!=NULL)) {
1312 var93 = varonce92;
1313 } else {
1314 var94 = "uint32_t";
1315 var95 = core__flat___NativeString___to_s_full(var94, 8l, 8l);
1316 var93 = var95;
1317 varonce92 = var93;
1318 }
1319 var = var93;
1320 goto RET_LABEL;
1321 } else {
1322 }
1323 if (likely(varonce96!=NULL)) {
1324 var97 = varonce96;
1325 } else {
1326 var98 = "NativeString";
1327 var99 = core__flat___NativeString___to_s_full(var98, 12l, 12l);
1328 var97 = var99;
1329 varonce96 = var97;
1330 }
1331 {
1332 var100 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var97); /* == on <var_name:String>*/
1333 }
1334 if (var100){
1335 if (likely(varonce101!=NULL)) {
1336 var102 = varonce101;
1337 } else {
1338 var103 = "char*";
1339 var104 = core__flat___NativeString___to_s_full(var103, 5l, 5l);
1340 var102 = var104;
1341 varonce101 = var102;
1342 }
1343 var = var102;
1344 goto RET_LABEL;
1345 } else {
1346 }
1347 {
1348 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1349 var107 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1350 if (unlikely(var107 == NULL)) {
1351 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1352 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
1353 fatal_exit(1);
1354 }
1355 var105 = var107;
1356 RET_LABEL106:(void)0;
1357 }
1358 }
1359 {
1360 { /* Inline model#MClass#kind (var105) on <var105:MClass> */
1361 var110 = var105->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var105:MClass> */
1362 if (unlikely(var110 == NULL)) {
1363 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1364 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 459);
1365 fatal_exit(1);
1366 }
1367 var108 = var110;
1368 RET_LABEL109:(void)0;
1369 }
1370 }
1371 var111 = glob_sys;
1372 {
1373 var112 = nitc__model___core__Sys___extern_kind(var111);
1374 }
1375 {
1376 { /* Inline kernel#Object#== (var108,var112) on <var108:MClassKind> */
1377 var_other = var112;
1378 {
1379 { /* Inline kernel#Object#is_same_instance (var108,var_other) on <var108:MClassKind> */
1380 var117 = var108 == var_other;
1381 var115 = var117;
1382 goto RET_LABEL116;
1383 RET_LABEL116:(void)0;
1384 }
1385 }
1386 var113 = var115;
1387 goto RET_LABEL114;
1388 RET_LABEL114:(void)0;
1389 }
1390 }
1391 if (var113){
1392 {
1393 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1394 var120 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1395 if (unlikely(var120 == NULL)) {
1396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1397 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
1398 fatal_exit(1);
1399 }
1400 var118 = var120;
1401 RET_LABEL119:(void)0;
1402 }
1403 }
1404 {
1405 var121 = nitc__extern_classes___MClass___ctype(var118);
1406 }
1407 var_ctype = var121;
1408 if (var_ctype == NULL) {
1409 var122 = 0; /* is null */
1410 } else {
1411 var122 = 1; /* arg is null and recv is not */
1412 }
1413 if (0) {
1414 { /* Inline kernel#Object#!= (var_ctype,((val*)NULL)) on <var_ctype:nullable String> */
1415 var_other125 = ((val*)NULL);
1416 {
1417 var126 = ((short int(*)(val* self, val* p0))(var_ctype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ctype, var_other125); /* == on <var_ctype:nullable String(String)>*/
1418 }
1419 var127 = !var126;
1420 var123 = var127;
1421 goto RET_LABEL124;
1422 RET_LABEL124:(void)0;
1423 }
1424 var122 = var123;
1425 }
1426 if (unlikely(!var122)) {
1427 PRINT_ERROR("Runtime error: %s", "Assert failed");
1428 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__nitni_base, 108);
1429 fatal_exit(1);
1430 }
1431 var = var_ctype;
1432 goto RET_LABEL;
1433 } else {
1434 }
1435 {
1436 var128 = nitc__light_only___MClassType___nitc__nitni_base__MType__cname_normal_class(self);
1437 }
1438 var = var128;
1439 goto RET_LABEL;
1440 RET_LABEL:;
1441 return var;
1442 }
1443 /* method nitni_base#MClassType#cname_blind for (self: MClassType): String */
1444 val* nitc__nitni_base___MClassType___MType__cname_blind(val* self) {
1445 val* var /* : String */;
1446 val* var1 /* : MClass */;
1447 val* var3 /* : MClass */;
1448 val* var4 /* : String */;
1449 val* var6 /* : String */;
1450 val* var_name /* var name: String */;
1451 static val* varonce;
1452 val* var7 /* : String */;
1453 char* var8 /* : NativeString */;
1454 val* var9 /* : String */;
1455 short int var10 /* : Bool */;
1456 static val* varonce11;
1457 val* var12 /* : String */;
1458 char* var13 /* : NativeString */;
1459 val* var14 /* : String */;
1460 static val* varonce15;
1461 val* var16 /* : String */;
1462 char* var17 /* : NativeString */;
1463 val* var18 /* : String */;
1464 short int var19 /* : Bool */;
1465 static val* varonce20;
1466 val* var21 /* : String */;
1467 char* var22 /* : NativeString */;
1468 val* var23 /* : String */;
1469 static val* varonce24;
1470 val* var25 /* : String */;
1471 char* var26 /* : NativeString */;
1472 val* var27 /* : String */;
1473 short int var28 /* : Bool */;
1474 static val* varonce29;
1475 val* var30 /* : String */;
1476 char* var31 /* : NativeString */;
1477 val* var32 /* : String */;
1478 static val* varonce33;
1479 val* var34 /* : String */;
1480 char* var35 /* : NativeString */;
1481 val* var36 /* : String */;
1482 short int var37 /* : Bool */;
1483 static val* varonce38;
1484 val* var39 /* : String */;
1485 char* var40 /* : NativeString */;
1486 val* var41 /* : String */;
1487 static val* varonce42;
1488 val* var43 /* : String */;
1489 char* var44 /* : NativeString */;
1490 val* var45 /* : String */;
1491 short int var46 /* : Bool */;
1492 static val* varonce47;
1493 val* var48 /* : String */;
1494 char* var49 /* : NativeString */;
1495 val* var50 /* : String */;
1496 static val* varonce51;
1497 val* var52 /* : String */;
1498 char* var53 /* : NativeString */;
1499 val* var54 /* : String */;
1500 short int var55 /* : Bool */;
1501 static val* varonce56;
1502 val* var57 /* : String */;
1503 char* var58 /* : NativeString */;
1504 val* var59 /* : String */;
1505 static val* varonce60;
1506 val* var61 /* : String */;
1507 char* var62 /* : NativeString */;
1508 val* var63 /* : String */;
1509 short int var64 /* : Bool */;
1510 static val* varonce65;
1511 val* var66 /* : String */;
1512 char* var67 /* : NativeString */;
1513 val* var68 /* : String */;
1514 static val* varonce69;
1515 val* var70 /* : String */;
1516 char* var71 /* : NativeString */;
1517 val* var72 /* : String */;
1518 short int var73 /* : Bool */;
1519 static val* varonce74;
1520 val* var75 /* : String */;
1521 char* var76 /* : NativeString */;
1522 val* var77 /* : String */;
1523 static val* varonce78;
1524 val* var79 /* : String */;
1525 char* var80 /* : NativeString */;
1526 val* var81 /* : String */;
1527 short int var82 /* : Bool */;
1528 static val* varonce83;
1529 val* var84 /* : String */;
1530 char* var85 /* : NativeString */;
1531 val* var86 /* : String */;
1532 static val* varonce87;
1533 val* var88 /* : String */;
1534 char* var89 /* : NativeString */;
1535 val* var90 /* : String */;
1536 short int var91 /* : Bool */;
1537 static val* varonce92;
1538 val* var93 /* : String */;
1539 char* var94 /* : NativeString */;
1540 val* var95 /* : String */;
1541 static val* varonce96;
1542 val* var97 /* : String */;
1543 char* var98 /* : NativeString */;
1544 val* var99 /* : String */;
1545 short int var100 /* : Bool */;
1546 static val* varonce101;
1547 val* var102 /* : String */;
1548 char* var103 /* : NativeString */;
1549 val* var104 /* : String */;
1550 val* var105 /* : MClass */;
1551 val* var107 /* : MClass */;
1552 val* var108 /* : MClassKind */;
1553 val* var110 /* : MClassKind */;
1554 val* var111 /* : Sys */;
1555 val* var112 /* : MClassKind */;
1556 short int var113 /* : Bool */;
1557 val* var_other /* var other: nullable Object */;
1558 short int var115 /* : Bool */;
1559 short int var117 /* : Bool */;
1560 static val* varonce118;
1561 val* var119 /* : String */;
1562 char* var120 /* : NativeString */;
1563 val* var121 /* : String */;
1564 val* var122 /* : String */;
1565 {
1566 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1567 var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1568 if (unlikely(var3 == NULL)) {
1569 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1570 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
1571 fatal_exit(1);
1572 }
1573 var1 = var3;
1574 RET_LABEL2:(void)0;
1575 }
1576 }
1577 {
1578 { /* Inline model#MClass#name (var1) on <var1:MClass> */
1579 var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
1580 if (unlikely(var6 == NULL)) {
1581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1582 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
1583 fatal_exit(1);
1584 }
1585 var4 = var6;
1586 RET_LABEL5:(void)0;
1587 }
1588 }
1589 var_name = var4;
1590 if (likely(varonce!=NULL)) {
1591 var7 = varonce;
1592 } else {
1593 var8 = "Bool";
1594 var9 = core__flat___NativeString___to_s_full(var8, 4l, 4l);
1595 var7 = var9;
1596 varonce = var7;
1597 }
1598 {
1599 var10 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
1600 }
1601 if (var10){
1602 if (likely(varonce11!=NULL)) {
1603 var12 = varonce11;
1604 } else {
1605 var13 = "int";
1606 var14 = core__flat___NativeString___to_s_full(var13, 3l, 3l);
1607 var12 = var14;
1608 varonce11 = var12;
1609 }
1610 var = var12;
1611 goto RET_LABEL;
1612 } else {
1613 }
1614 if (likely(varonce15!=NULL)) {
1615 var16 = varonce15;
1616 } else {
1617 var17 = "Char";
1618 var18 = core__flat___NativeString___to_s_full(var17, 4l, 4l);
1619 var16 = var18;
1620 varonce15 = var16;
1621 }
1622 {
1623 var19 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var16); /* == on <var_name:String>*/
1624 }
1625 if (var19){
1626 if (likely(varonce20!=NULL)) {
1627 var21 = varonce20;
1628 } else {
1629 var22 = "uint32_t";
1630 var23 = core__flat___NativeString___to_s_full(var22, 8l, 8l);
1631 var21 = var23;
1632 varonce20 = var21;
1633 }
1634 var = var21;
1635 goto RET_LABEL;
1636 } else {
1637 }
1638 if (likely(varonce24!=NULL)) {
1639 var25 = varonce24;
1640 } else {
1641 var26 = "Float";
1642 var27 = core__flat___NativeString___to_s_full(var26, 5l, 5l);
1643 var25 = var27;
1644 varonce24 = var25;
1645 }
1646 {
1647 var28 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var25); /* == on <var_name:String>*/
1648 }
1649 if (var28){
1650 if (likely(varonce29!=NULL)) {
1651 var30 = varonce29;
1652 } else {
1653 var31 = "double";
1654 var32 = core__flat___NativeString___to_s_full(var31, 6l, 6l);
1655 var30 = var32;
1656 varonce29 = var30;
1657 }
1658 var = var30;
1659 goto RET_LABEL;
1660 } else {
1661 }
1662 if (likely(varonce33!=NULL)) {
1663 var34 = varonce33;
1664 } else {
1665 var35 = "Int";
1666 var36 = core__flat___NativeString___to_s_full(var35, 3l, 3l);
1667 var34 = var36;
1668 varonce33 = var34;
1669 }
1670 {
1671 var37 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var34); /* == on <var_name:String>*/
1672 }
1673 if (var37){
1674 if (likely(varonce38!=NULL)) {
1675 var39 = varonce38;
1676 } else {
1677 var40 = "long";
1678 var41 = core__flat___NativeString___to_s_full(var40, 4l, 4l);
1679 var39 = var41;
1680 varonce38 = var39;
1681 }
1682 var = var39;
1683 goto RET_LABEL;
1684 } else {
1685 }
1686 if (likely(varonce42!=NULL)) {
1687 var43 = varonce42;
1688 } else {
1689 var44 = "Byte";
1690 var45 = core__flat___NativeString___to_s_full(var44, 4l, 4l);
1691 var43 = var45;
1692 varonce42 = var43;
1693 }
1694 {
1695 var46 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var43); /* == on <var_name:String>*/
1696 }
1697 if (var46){
1698 if (likely(varonce47!=NULL)) {
1699 var48 = varonce47;
1700 } else {
1701 var49 = "unsigned char";
1702 var50 = core__flat___NativeString___to_s_full(var49, 13l, 13l);
1703 var48 = var50;
1704 varonce47 = var48;
1705 }
1706 var = var48;
1707 goto RET_LABEL;
1708 } else {
1709 }
1710 if (likely(varonce51!=NULL)) {
1711 var52 = varonce51;
1712 } else {
1713 var53 = "Int8";
1714 var54 = core__flat___NativeString___to_s_full(var53, 4l, 4l);
1715 var52 = var54;
1716 varonce51 = var52;
1717 }
1718 {
1719 var55 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var52); /* == on <var_name:String>*/
1720 }
1721 if (var55){
1722 if (likely(varonce56!=NULL)) {
1723 var57 = varonce56;
1724 } else {
1725 var58 = "int8_t";
1726 var59 = core__flat___NativeString___to_s_full(var58, 6l, 6l);
1727 var57 = var59;
1728 varonce56 = var57;
1729 }
1730 var = var57;
1731 goto RET_LABEL;
1732 } else {
1733 }
1734 if (likely(varonce60!=NULL)) {
1735 var61 = varonce60;
1736 } else {
1737 var62 = "Int16";
1738 var63 = core__flat___NativeString___to_s_full(var62, 5l, 5l);
1739 var61 = var63;
1740 varonce60 = var61;
1741 }
1742 {
1743 var64 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var61); /* == on <var_name:String>*/
1744 }
1745 if (var64){
1746 if (likely(varonce65!=NULL)) {
1747 var66 = varonce65;
1748 } else {
1749 var67 = "int16_t";
1750 var68 = core__flat___NativeString___to_s_full(var67, 7l, 7l);
1751 var66 = var68;
1752 varonce65 = var66;
1753 }
1754 var = var66;
1755 goto RET_LABEL;
1756 } else {
1757 }
1758 if (likely(varonce69!=NULL)) {
1759 var70 = varonce69;
1760 } else {
1761 var71 = "UInt16";
1762 var72 = core__flat___NativeString___to_s_full(var71, 6l, 6l);
1763 var70 = var72;
1764 varonce69 = var70;
1765 }
1766 {
1767 var73 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var70); /* == on <var_name:String>*/
1768 }
1769 if (var73){
1770 if (likely(varonce74!=NULL)) {
1771 var75 = varonce74;
1772 } else {
1773 var76 = "uint16_t";
1774 var77 = core__flat___NativeString___to_s_full(var76, 8l, 8l);
1775 var75 = var77;
1776 varonce74 = var75;
1777 }
1778 var = var75;
1779 goto RET_LABEL;
1780 } else {
1781 }
1782 if (likely(varonce78!=NULL)) {
1783 var79 = varonce78;
1784 } else {
1785 var80 = "Int32";
1786 var81 = core__flat___NativeString___to_s_full(var80, 5l, 5l);
1787 var79 = var81;
1788 varonce78 = var79;
1789 }
1790 {
1791 var82 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var79); /* == on <var_name:String>*/
1792 }
1793 if (var82){
1794 if (likely(varonce83!=NULL)) {
1795 var84 = varonce83;
1796 } else {
1797 var85 = "int32_t";
1798 var86 = core__flat___NativeString___to_s_full(var85, 7l, 7l);
1799 var84 = var86;
1800 varonce83 = var84;
1801 }
1802 var = var84;
1803 goto RET_LABEL;
1804 } else {
1805 }
1806 if (likely(varonce87!=NULL)) {
1807 var88 = varonce87;
1808 } else {
1809 var89 = "UInt32";
1810 var90 = core__flat___NativeString___to_s_full(var89, 6l, 6l);
1811 var88 = var90;
1812 varonce87 = var88;
1813 }
1814 {
1815 var91 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var88); /* == on <var_name:String>*/
1816 }
1817 if (var91){
1818 if (likely(varonce92!=NULL)) {
1819 var93 = varonce92;
1820 } else {
1821 var94 = "uint32_t";
1822 var95 = core__flat___NativeString___to_s_full(var94, 8l, 8l);
1823 var93 = var95;
1824 varonce92 = var93;
1825 }
1826 var = var93;
1827 goto RET_LABEL;
1828 } else {
1829 }
1830 if (likely(varonce96!=NULL)) {
1831 var97 = varonce96;
1832 } else {
1833 var98 = "NativeString";
1834 var99 = core__flat___NativeString___to_s_full(var98, 12l, 12l);
1835 var97 = var99;
1836 varonce96 = var97;
1837 }
1838 {
1839 var100 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var97); /* == on <var_name:String>*/
1840 }
1841 if (var100){
1842 if (likely(varonce101!=NULL)) {
1843 var102 = varonce101;
1844 } else {
1845 var103 = "char*";
1846 var104 = core__flat___NativeString___to_s_full(var103, 5l, 5l);
1847 var102 = var104;
1848 varonce101 = var102;
1849 }
1850 var = var102;
1851 goto RET_LABEL;
1852 } else {
1853 }
1854 {
1855 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1856 var107 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1857 if (unlikely(var107 == NULL)) {
1858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1859 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
1860 fatal_exit(1);
1861 }
1862 var105 = var107;
1863 RET_LABEL106:(void)0;
1864 }
1865 }
1866 {
1867 { /* Inline model#MClass#kind (var105) on <var105:MClass> */
1868 var110 = var105->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var105:MClass> */
1869 if (unlikely(var110 == NULL)) {
1870 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1871 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 459);
1872 fatal_exit(1);
1873 }
1874 var108 = var110;
1875 RET_LABEL109:(void)0;
1876 }
1877 }
1878 var111 = glob_sys;
1879 {
1880 var112 = nitc__model___core__Sys___extern_kind(var111);
1881 }
1882 {
1883 { /* Inline kernel#Object#== (var108,var112) on <var108:MClassKind> */
1884 var_other = var112;
1885 {
1886 { /* Inline kernel#Object#is_same_instance (var108,var_other) on <var108:MClassKind> */
1887 var117 = var108 == var_other;
1888 var115 = var117;
1889 goto RET_LABEL116;
1890 RET_LABEL116:(void)0;
1891 }
1892 }
1893 var113 = var115;
1894 goto RET_LABEL114;
1895 RET_LABEL114:(void)0;
1896 }
1897 }
1898 if (var113){
1899 if (likely(varonce118!=NULL)) {
1900 var119 = varonce118;
1901 } else {
1902 var120 = "void*";
1903 var121 = core__flat___NativeString___to_s_full(var120, 5l, 5l);
1904 var119 = var121;
1905 varonce118 = var119;
1906 }
1907 var = var119;
1908 goto RET_LABEL;
1909 } else {
1910 }
1911 {
1912 var122 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base___MClassType___MType__cname_blind]))(self); /* cname_blind on <self:MClassType>*/
1913 }
1914 var = var122;
1915 goto RET_LABEL;
1916 RET_LABEL:;
1917 return var;
1918 }
1919 /* method nitni_base#MClassType#mangled_cname for (self: MClassType): String */
1920 val* nitc__nitni_base___MClassType___MType__mangled_cname(val* self) {
1921 val* var /* : String */;
1922 val* var1 /* : MClass */;
1923 val* var3 /* : MClass */;
1924 val* var4 /* : String */;
1925 val* var6 /* : String */;
1926 {
1927 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
1928 var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1929 if (unlikely(var3 == NULL)) {
1930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1931 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
1932 fatal_exit(1);
1933 }
1934 var1 = var3;
1935 RET_LABEL2:(void)0;
1936 }
1937 }
1938 {
1939 { /* Inline model#MClass#name (var1) on <var1:MClass> */
1940 var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
1941 if (unlikely(var6 == NULL)) {
1942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1943 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
1944 fatal_exit(1);
1945 }
1946 var4 = var6;
1947 RET_LABEL5:(void)0;
1948 }
1949 }
1950 var = var4;
1951 goto RET_LABEL;
1952 RET_LABEL:;
1953 return var;
1954 }
1955 /* method nitni_base#MClassType#is_cprimitive for (self: MClassType): Bool */
1956 short int nitc__nitni_base___MClassType___MType__is_cprimitive(val* self) {
1957 short int var /* : Bool */;
1958 short int var1 /* : Bool */;
1959 val* var2 /* : MClass */;
1960 val* var4 /* : MClass */;
1961 val* var5 /* : MClassKind */;
1962 val* var7 /* : MClassKind */;
1963 val* var8 /* : Sys */;
1964 val* var9 /* : MClassKind */;
1965 short int var10 /* : Bool */;
1966 val* var_other /* var other: nullable Object */;
1967 short int var12 /* : Bool */;
1968 short int var14 /* : Bool */;
1969 short int var_ /* var : Bool */;
1970 static val* varonce;
1971 static int varonce_guard;
1972 val* var15 /* : Array[String] */;
1973 val* var16 /* : Array[String] */;
1974 val* var_17 /* var : Array[String] */;
1975 static val* varonce18;
1976 val* var19 /* : String */;
1977 char* var20 /* : NativeString */;
1978 val* var21 /* : String */;
1979 static val* varonce22;
1980 val* var23 /* : String */;
1981 char* var24 /* : NativeString */;
1982 val* var25 /* : String */;
1983 static val* varonce26;
1984 val* var27 /* : String */;
1985 char* var28 /* : NativeString */;
1986 val* var29 /* : String */;
1987 static val* varonce30;
1988 val* var31 /* : String */;
1989 char* var32 /* : NativeString */;
1990 val* var33 /* : String */;
1991 static val* varonce34;
1992 val* var35 /* : String */;
1993 char* var36 /* : NativeString */;
1994 val* var37 /* : String */;
1995 static val* varonce38;
1996 val* var39 /* : String */;
1997 char* var40 /* : NativeString */;
1998 val* var41 /* : String */;
1999 static val* varonce42;
2000 val* var43 /* : String */;
2001 char* var44 /* : NativeString */;
2002 val* var45 /* : String */;
2003 static val* varonce46;
2004 val* var47 /* : String */;
2005 char* var48 /* : NativeString */;
2006 val* var49 /* : String */;
2007 static val* varonce50;
2008 val* var51 /* : String */;
2009 char* var52 /* : NativeString */;
2010 val* var53 /* : String */;
2011 static val* varonce54;
2012 val* var55 /* : String */;
2013 char* var56 /* : NativeString */;
2014 val* var57 /* : String */;
2015 static val* varonce58;
2016 val* var59 /* : String */;
2017 char* var60 /* : NativeString */;
2018 val* var61 /* : String */;
2019 val* var62 /* : MClass */;
2020 val* var64 /* : MClass */;
2021 val* var65 /* : String */;
2022 val* var67 /* : String */;
2023 short int var68 /* : Bool */;
2024 {
2025 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
2026 var4 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
2027 if (unlikely(var4 == NULL)) {
2028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2029 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
2030 fatal_exit(1);
2031 }
2032 var2 = var4;
2033 RET_LABEL3:(void)0;
2034 }
2035 }
2036 {
2037 { /* Inline model#MClass#kind (var2) on <var2:MClass> */
2038 var7 = var2->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var2:MClass> */
2039 if (unlikely(var7 == NULL)) {
2040 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2041 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 459);
2042 fatal_exit(1);
2043 }
2044 var5 = var7;
2045 RET_LABEL6:(void)0;
2046 }
2047 }
2048 var8 = glob_sys;
2049 {
2050 var9 = nitc__model___core__Sys___extern_kind(var8);
2051 }
2052 {
2053 { /* Inline kernel#Object#== (var5,var9) on <var5:MClassKind> */
2054 var_other = var9;
2055 {
2056 { /* Inline kernel#Object#is_same_instance (var5,var_other) on <var5:MClassKind> */
2057 var14 = var5 == var_other;
2058 var12 = var14;
2059 goto RET_LABEL13;
2060 RET_LABEL13:(void)0;
2061 }
2062 }
2063 var10 = var12;
2064 goto RET_LABEL11;
2065 RET_LABEL11:(void)0;
2066 }
2067 }
2068 var_ = var10;
2069 if (var10){
2070 var1 = var_;
2071 } else {
2072 if (likely(varonce_guard)) {
2073 var15 = varonce;
2074 } else {
2075 var16 = NEW_core__Array(&type_core__Array__core__String);
2076 {
2077 core___core__Array___with_capacity(var16, 11l); /* Direct call array#Array#with_capacity on <var16:Array[String]>*/
2078 }
2079 var_17 = var16;
2080 if (likely(varonce18!=NULL)) {
2081 var19 = varonce18;
2082 } else {
2083 var20 = "Bool";
2084 var21 = core__flat___NativeString___to_s_full(var20, 4l, 4l);
2085 var19 = var21;
2086 varonce18 = var19;
2087 }
2088 {
2089 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var19); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2090 }
2091 if (likely(varonce22!=NULL)) {
2092 var23 = varonce22;
2093 } else {
2094 var24 = "Char";
2095 var25 = core__flat___NativeString___to_s_full(var24, 4l, 4l);
2096 var23 = var25;
2097 varonce22 = var23;
2098 }
2099 {
2100 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var23); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2101 }
2102 if (likely(varonce26!=NULL)) {
2103 var27 = varonce26;
2104 } else {
2105 var28 = "Float";
2106 var29 = core__flat___NativeString___to_s_full(var28, 5l, 5l);
2107 var27 = var29;
2108 varonce26 = var27;
2109 }
2110 {
2111 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var27); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2112 }
2113 if (likely(varonce30!=NULL)) {
2114 var31 = varonce30;
2115 } else {
2116 var32 = "Int";
2117 var33 = core__flat___NativeString___to_s_full(var32, 3l, 3l);
2118 var31 = var33;
2119 varonce30 = var31;
2120 }
2121 {
2122 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var31); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2123 }
2124 if (likely(varonce34!=NULL)) {
2125 var35 = varonce34;
2126 } else {
2127 var36 = "NativeString";
2128 var37 = core__flat___NativeString___to_s_full(var36, 12l, 12l);
2129 var35 = var37;
2130 varonce34 = var35;
2131 }
2132 {
2133 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var35); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2134 }
2135 if (likely(varonce38!=NULL)) {
2136 var39 = varonce38;
2137 } else {
2138 var40 = "Byte";
2139 var41 = core__flat___NativeString___to_s_full(var40, 4l, 4l);
2140 var39 = var41;
2141 varonce38 = var39;
2142 }
2143 {
2144 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var39); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2145 }
2146 if (likely(varonce42!=NULL)) {
2147 var43 = varonce42;
2148 } else {
2149 var44 = "Int8";
2150 var45 = core__flat___NativeString___to_s_full(var44, 4l, 4l);
2151 var43 = var45;
2152 varonce42 = var43;
2153 }
2154 {
2155 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var43); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2156 }
2157 if (likely(varonce46!=NULL)) {
2158 var47 = varonce46;
2159 } else {
2160 var48 = "Int16";
2161 var49 = core__flat___NativeString___to_s_full(var48, 5l, 5l);
2162 var47 = var49;
2163 varonce46 = var47;
2164 }
2165 {
2166 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var47); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2167 }
2168 if (likely(varonce50!=NULL)) {
2169 var51 = varonce50;
2170 } else {
2171 var52 = "UInt16";
2172 var53 = core__flat___NativeString___to_s_full(var52, 6l, 6l);
2173 var51 = var53;
2174 varonce50 = var51;
2175 }
2176 {
2177 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var51); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2178 }
2179 if (likely(varonce54!=NULL)) {
2180 var55 = varonce54;
2181 } else {
2182 var56 = "Int32";
2183 var57 = core__flat___NativeString___to_s_full(var56, 5l, 5l);
2184 var55 = var57;
2185 varonce54 = var55;
2186 }
2187 {
2188 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var55); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2189 }
2190 if (likely(varonce58!=NULL)) {
2191 var59 = varonce58;
2192 } else {
2193 var60 = "UInt32";
2194 var61 = core__flat___NativeString___to_s_full(var60, 6l, 6l);
2195 var59 = var61;
2196 varonce58 = var59;
2197 }
2198 {
2199 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var59); /* Direct call array#AbstractArray#push on <var_17:Array[String]>*/
2200 }
2201 var15 = var_17;
2202 varonce = var15;
2203 varonce_guard = 1;
2204 }
2205 {
2206 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
2207 var64 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
2208 if (unlikely(var64 == NULL)) {
2209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2210 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
2211 fatal_exit(1);
2212 }
2213 var62 = var64;
2214 RET_LABEL63:(void)0;
2215 }
2216 }
2217 {
2218 { /* Inline model#MClass#name (var62) on <var62:MClass> */
2219 var67 = var62->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var62:MClass> */
2220 if (unlikely(var67 == NULL)) {
2221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2222 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 385);
2223 fatal_exit(1);
2224 }
2225 var65 = var67;
2226 RET_LABEL66:(void)0;
2227 }
2228 }
2229 {
2230 var68 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var15, var65);
2231 }
2232 var1 = var68;
2233 }
2234 var = var1;
2235 goto RET_LABEL;
2236 RET_LABEL:;
2237 return var;
2238 }
2239 /* method nitni_base#MNullableType#mangled_cname for (self: MNullableType): String */
2240 val* nitc__nitni_base___MNullableType___MType__mangled_cname(val* self) {
2241 val* var /* : String */;
2242 val* var1 /* : NativeArray[String] */;
2243 static val* varonce;
2244 static val* varonce2;
2245 val* var3 /* : String */;
2246 char* var4 /* : NativeString */;
2247 val* var5 /* : String */;
2248 val* var6 /* : MType */;
2249 val* var8 /* : MType */;
2250 val* var9 /* : String */;
2251 val* var10 /* : String */;
2252 if (unlikely(varonce==NULL)) {
2253 var1 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String);
2254 if (likely(varonce2!=NULL)) {
2255 var3 = varonce2;
2256 } else {
2257 var4 = "nullable_";
2258 var5 = core__flat___NativeString___to_s_full(var4, 9l, 9l);
2259 var3 = var5;
2260 varonce2 = var3;
2261 }
2262 ((struct instance_core__NativeArray*)var1)->values[0]=var3;
2263 } else {
2264 var1 = varonce;
2265 varonce = NULL;
2266 }
2267 {
2268 { /* Inline model#MProxyType#mtype (self) on <self:MNullableType> */
2269 var8 = self->attrs[COLOR_nitc__model__MProxyType___mtype].val; /* _mtype on <self:MNullableType> */
2270 if (unlikely(var8 == NULL)) {
2271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2272 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1625);
2273 fatal_exit(1);
2274 }
2275 var6 = var8;
2276 RET_LABEL7:(void)0;
2277 }
2278 }
2279 {
2280 var9 = ((val*(*)(val* self))(var6->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(var6); /* mangled_cname on <var6:MType>*/
2281 }
2282 ((struct instance_core__NativeArray*)var1)->values[1]=var9;
2283 {
2284 var10 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
2285 }
2286 varonce = var1;
2287 var = var10;
2288 goto RET_LABEL;
2289 RET_LABEL:;
2290 return var;
2291 }
2292 /* method nitni_base#MFormalType#mangled_cname for (self: MFormalType): String */
2293 val* nitc__nitni_base___MFormalType___MType__mangled_cname(val* self) {
2294 val* var /* : String */;
2295 val* var1 /* : String */;
2296 {
2297 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Object__to_s]))(self); /* to_s on <self:MFormalType>*/
2298 }
2299 var = var1;
2300 goto RET_LABEL;
2301 RET_LABEL:;
2302 return var;
2303 }
2304 /* method nitni_base#MGenericType#mangled_cname for (self: MGenericType): String */
2305 val* nitc__nitni_base___MGenericType___MType__mangled_cname(val* self) {
2306 val* var /* : String */;
2307 val* var1 /* : String */;
2308 val* var_base /* var base: String */;
2309 val* var2 /* : Array[String] */;
2310 val* var_params /* var params: Array[String] */;
2311 val* var3 /* : Array[MType] */;
2312 val* var5 /* : Array[MType] */;
2313 val* var_ /* var : Array[MType] */;
2314 val* var6 /* : IndexedIterator[nullable Object] */;
2315 val* var_7 /* var : IndexedIterator[MType] */;
2316 short int var8 /* : Bool */;
2317 val* var9 /* : nullable Object */;
2318 val* var_arg /* var arg: MType */;
2319 val* var10 /* : String */;
2320 val* var11 /* : NativeArray[String] */;
2321 static val* varonce;
2322 static val* varonce12;
2323 val* var13 /* : String */;
2324 char* var14 /* : NativeString */;
2325 val* var15 /* : String */;
2326 static val* varonce16;
2327 val* var17 /* : String */;
2328 char* var18 /* : NativeString */;
2329 val* var19 /* : String */;
2330 val* var20 /* : String */;
2331 val* var21 /* : String */;
2332 {
2333 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base___MGenericType___MType__mangled_cname]))(self); /* mangled_cname on <self:MGenericType>*/
2334 }
2335 var_base = var1;
2336 var2 = NEW_core__Array(&type_core__Array__core__String);
2337 {
2338 core___core__Array___core__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[String]>*/
2339 }
2340 var_params = var2;
2341 {
2342 { /* Inline model#MGenericType#arguments (self) on <self:MGenericType> */
2343 var5 = self->attrs[COLOR_nitc__model__MGenericType___arguments].val; /* _arguments on <self:MGenericType> */
2344 if (unlikely(var5 == NULL)) {
2345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
2346 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1269);
2347 fatal_exit(1);
2348 }
2349 var3 = var5;
2350 RET_LABEL4:(void)0;
2351 }
2352 }
2353 var_ = var3;
2354 {
2355 var6 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
2356 }
2357 var_7 = var6;
2358 for(;;) {
2359 {
2360 var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:IndexedIterator[MType]>*/
2361 }
2362 if (var8){
2363 } else {
2364 goto BREAK_label;
2365 }
2366 {
2367 var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:IndexedIterator[MType]>*/
2368 }
2369 var_arg = var9;
2370 {
2371 var10 = ((val*(*)(val* self))(var_arg->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(var_arg); /* mangled_cname on <var_arg:MType>*/
2372 }
2373 {
2374 core___core__Array___core__abstract_collection__SimpleCollection__add(var_params, var10); /* Direct call array#Array#add on <var_params:Array[String]>*/
2375 }
2376 {
2377 ((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:IndexedIterator[MType]>*/
2378 }
2379 }
2380 BREAK_label: (void)0;
2381 {
2382 ((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:IndexedIterator[MType]>*/
2383 }
2384 if (unlikely(varonce==NULL)) {
2385 var11 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
2386 if (likely(varonce12!=NULL)) {
2387 var13 = varonce12;
2388 } else {
2389 var14 = "_of_";
2390 var15 = core__flat___NativeString___to_s_full(var14, 4l, 4l);
2391 var13 = var15;
2392 varonce12 = var13;
2393 }
2394 ((struct instance_core__NativeArray*)var11)->values[1]=var13;
2395 } else {
2396 var11 = varonce;
2397 varonce = NULL;
2398 }
2399 ((struct instance_core__NativeArray*)var11)->values[0]=var_base;
2400 if (likely(varonce16!=NULL)) {
2401 var17 = varonce16;
2402 } else {
2403 var18 = "_";
2404 var19 = core__flat___NativeString___to_s_full(var18, 1l, 1l);
2405 var17 = var19;
2406 varonce16 = var17;
2407 }
2408 {
2409 var20 = core__abstract_text___Collection___join(var_params, var17);
2410 }
2411 ((struct instance_core__NativeArray*)var11)->values[2]=var20;
2412 {
2413 var21 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on <var11:NativeArray[String]>*/
2414 }
2415 varonce = var11;
2416 var = var21;
2417 goto RET_LABEL;
2418 RET_LABEL:;
2419 return var;
2420 }