c_src: update Makefile to compile on MacOSX
[nit.git] / c_src / nitni_base.sep.1.c
1 #include "nitni_base.sep.0.h"
2 /* method nitni_base#MMethod#short_cname for (self: MMethod): String */
3 val* nitni_base__MMethod__short_cname(val* self) {
4 val* var /* : String */;
5 val* var1 /* : String */;
6 val* var_nit_name /* var nit_name: String */;
7 static val* varonce;
8 val* var2 /* : String */;
9 char* var3 /* : NativeString */;
10 long var4 /* : Int */;
11 val* var5 /* : String */;
12 short int var6 /* : Bool */;
13 static val* varonce7;
14 val* var8 /* : String */;
15 char* var9 /* : NativeString */;
16 long var10 /* : Int */;
17 val* var11 /* : String */;
18 static val* varonce12;
19 val* var13 /* : String */;
20 char* var14 /* : NativeString */;
21 long var15 /* : Int */;
22 val* var16 /* : String */;
23 short int var17 /* : Bool */;
24 static val* varonce18;
25 val* var19 /* : String */;
26 char* var20 /* : NativeString */;
27 long var21 /* : Int */;
28 val* var22 /* : String */;
29 static val* varonce23;
30 val* var24 /* : String */;
31 char* var25 /* : NativeString */;
32 long var26 /* : Int */;
33 val* var27 /* : String */;
34 short int var28 /* : Bool */;
35 static val* varonce29;
36 val* var30 /* : String */;
37 char* var31 /* : NativeString */;
38 long var32 /* : Int */;
39 val* var33 /* : String */;
40 static val* varonce34;
41 val* var35 /* : String */;
42 char* var36 /* : NativeString */;
43 long var37 /* : Int */;
44 val* var38 /* : String */;
45 short int var39 /* : Bool */;
46 static val* varonce40;
47 val* var41 /* : String */;
48 char* var42 /* : NativeString */;
49 long var43 /* : Int */;
50 val* var44 /* : String */;
51 static val* varonce45;
52 val* var46 /* : String */;
53 char* var47 /* : NativeString */;
54 long var48 /* : Int */;
55 val* var49 /* : String */;
56 short int var50 /* : Bool */;
57 static val* varonce51;
58 val* var52 /* : String */;
59 char* var53 /* : NativeString */;
60 long var54 /* : Int */;
61 val* var55 /* : String */;
62 static val* varonce56;
63 val* var57 /* : String */;
64 char* var58 /* : NativeString */;
65 long var59 /* : Int */;
66 val* var60 /* : String */;
67 short int var61 /* : Bool */;
68 static val* varonce62;
69 val* var63 /* : String */;
70 char* var64 /* : NativeString */;
71 long var65 /* : Int */;
72 val* var66 /* : String */;
73 static val* varonce67;
74 val* var68 /* : String */;
75 char* var69 /* : NativeString */;
76 long var70 /* : Int */;
77 val* var71 /* : String */;
78 short int var72 /* : Bool */;
79 static val* varonce73;
80 val* var74 /* : String */;
81 char* var75 /* : NativeString */;
82 long var76 /* : Int */;
83 val* var77 /* : String */;
84 static val* varonce78;
85 val* var79 /* : String */;
86 char* var80 /* : NativeString */;
87 long var81 /* : Int */;
88 val* var82 /* : String */;
89 short int var83 /* : Bool */;
90 static val* varonce84;
91 val* var85 /* : String */;
92 char* var86 /* : NativeString */;
93 long var87 /* : Int */;
94 val* var88 /* : String */;
95 static val* varonce89;
96 val* var90 /* : String */;
97 char* var91 /* : NativeString */;
98 long var92 /* : Int */;
99 val* var93 /* : String */;
100 short int var94 /* : Bool */;
101 static val* varonce95;
102 val* var96 /* : String */;
103 char* var97 /* : NativeString */;
104 long var98 /* : Int */;
105 val* var99 /* : String */;
106 static val* varonce100;
107 val* var101 /* : String */;
108 char* var102 /* : NativeString */;
109 long var103 /* : Int */;
110 val* var104 /* : String */;
111 short int var105 /* : Bool */;
112 static val* varonce106;
113 val* var107 /* : String */;
114 char* var108 /* : NativeString */;
115 long var109 /* : Int */;
116 val* var110 /* : String */;
117 static val* varonce111;
118 val* var112 /* : String */;
119 char* var113 /* : NativeString */;
120 long var114 /* : Int */;
121 val* var115 /* : String */;
122 short int var116 /* : Bool */;
123 static val* varonce117;
124 val* var118 /* : String */;
125 char* var119 /* : NativeString */;
126 long var120 /* : Int */;
127 val* var121 /* : String */;
128 static val* varonce122;
129 val* var123 /* : String */;
130 char* var124 /* : NativeString */;
131 long var125 /* : Int */;
132 val* var126 /* : String */;
133 short int var127 /* : Bool */;
134 static val* varonce128;
135 val* var129 /* : String */;
136 char* var130 /* : NativeString */;
137 long var131 /* : Int */;
138 val* var132 /* : String */;
139 static val* varonce133;
140 val* var134 /* : String */;
141 char* var135 /* : NativeString */;
142 long var136 /* : Int */;
143 val* var137 /* : String */;
144 short int var138 /* : Bool */;
145 static val* varonce139;
146 val* var140 /* : String */;
147 char* var141 /* : NativeString */;
148 long var142 /* : Int */;
149 val* var143 /* : String */;
150 static val* varonce144;
151 val* var145 /* : String */;
152 char* var146 /* : NativeString */;
153 long var147 /* : Int */;
154 val* var148 /* : String */;
155 short int var149 /* : Bool */;
156 static val* varonce150;
157 val* var151 /* : String */;
158 char* var152 /* : NativeString */;
159 long var153 /* : Int */;
160 val* var154 /* : String */;
161 static val* varonce155;
162 val* var156 /* : String */;
163 char* var157 /* : NativeString */;
164 long var158 /* : Int */;
165 val* var159 /* : String */;
166 short int var160 /* : Bool */;
167 static val* varonce161;
168 val* var162 /* : String */;
169 char* var163 /* : NativeString */;
170 long var164 /* : Int */;
171 val* var165 /* : String */;
172 static val* varonce166;
173 val* var167 /* : String */;
174 char* var168 /* : NativeString */;
175 long var169 /* : Int */;
176 val* var170 /* : String */;
177 short int var171 /* : Bool */;
178 static val* varonce172;
179 val* var173 /* : String */;
180 char* var174 /* : NativeString */;
181 long var175 /* : Int */;
182 val* var176 /* : String */;
183 val* var177 /* : nullable Object */;
184 char var178 /* : Char */;
185 short int var179 /* : Bool */;
186 short int var181 /* : Bool */;
187 char var182 /* : Char */;
188 val* var183 /* : Array[Object] */;
189 long var184 /* : Int */;
190 val* var_ /* var : Array[Object] */;
191 static val* varonce185;
192 val* var186 /* : String */;
193 char* var187 /* : NativeString */;
194 long var188 /* : Int */;
195 val* var189 /* : String */;
196 long var190 /* : Int */;
197 long var191 /* : Int */;
198 long var192 /* : Int */;
199 long var193 /* : Int */;
200 long var195 /* : Int */;
201 val* var196 /* : String */;
202 static val* varonce197;
203 val* var198 /* : String */;
204 char* var199 /* : NativeString */;
205 long var200 /* : Int */;
206 val* var201 /* : String */;
207 val* var202 /* : String */;
208 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model__MProperty__name]))(self) /* name on <self:MMethod>*/;
209 var_nit_name = var1;
210 if (varonce) {
211 var2 = varonce;
212 } else {
213 var3 = "+";
214 var4 = 1;
215 var5 = string__NativeString__to_s_with_length(var3, var4);
216 var2 = var5;
217 varonce = var2;
218 }
219 var6 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var2) /* == on <var_nit_name:String>*/;
220 if (var6){
221 if (varonce7) {
222 var8 = varonce7;
223 } else {
224 var9 = "_plus";
225 var10 = 5;
226 var11 = string__NativeString__to_s_with_length(var9, var10);
227 var8 = var11;
228 varonce7 = var8;
229 }
230 var = var8;
231 goto RET_LABEL;
232 } else {
233 }
234 if (varonce12) {
235 var13 = varonce12;
236 } else {
237 var14 = "-";
238 var15 = 1;
239 var16 = string__NativeString__to_s_with_length(var14, var15);
240 var13 = var16;
241 varonce12 = var13;
242 }
243 var17 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var13) /* == on <var_nit_name:String>*/;
244 if (var17){
245 if (varonce18) {
246 var19 = varonce18;
247 } else {
248 var20 = "_minus";
249 var21 = 6;
250 var22 = string__NativeString__to_s_with_length(var20, var21);
251 var19 = var22;
252 varonce18 = var19;
253 }
254 var = var19;
255 goto RET_LABEL;
256 } else {
257 }
258 if (varonce23) {
259 var24 = varonce23;
260 } else {
261 var25 = "*";
262 var26 = 1;
263 var27 = string__NativeString__to_s_with_length(var25, var26);
264 var24 = var27;
265 varonce23 = var24;
266 }
267 var28 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var24) /* == on <var_nit_name:String>*/;
268 if (var28){
269 if (varonce29) {
270 var30 = varonce29;
271 } else {
272 var31 = "_star";
273 var32 = 5;
274 var33 = string__NativeString__to_s_with_length(var31, var32);
275 var30 = var33;
276 varonce29 = var30;
277 }
278 var = var30;
279 goto RET_LABEL;
280 } else {
281 }
282 if (varonce34) {
283 var35 = varonce34;
284 } else {
285 var36 = "/";
286 var37 = 1;
287 var38 = string__NativeString__to_s_with_length(var36, var37);
288 var35 = var38;
289 varonce34 = var35;
290 }
291 var39 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var35) /* == on <var_nit_name:String>*/;
292 if (var39){
293 if (varonce40) {
294 var41 = varonce40;
295 } else {
296 var42 = "_slash";
297 var43 = 6;
298 var44 = string__NativeString__to_s_with_length(var42, var43);
299 var41 = var44;
300 varonce40 = var41;
301 }
302 var = var41;
303 goto RET_LABEL;
304 } else {
305 }
306 if (varonce45) {
307 var46 = varonce45;
308 } else {
309 var47 = "%";
310 var48 = 1;
311 var49 = string__NativeString__to_s_with_length(var47, var48);
312 var46 = var49;
313 varonce45 = var46;
314 }
315 var50 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var46) /* == on <var_nit_name:String>*/;
316 if (var50){
317 if (varonce51) {
318 var52 = varonce51;
319 } else {
320 var53 = "_percent";
321 var54 = 8;
322 var55 = string__NativeString__to_s_with_length(var53, var54);
323 var52 = var55;
324 varonce51 = var52;
325 }
326 var = var52;
327 goto RET_LABEL;
328 } else {
329 }
330 if (varonce56) {
331 var57 = varonce56;
332 } else {
333 var58 = "[]";
334 var59 = 2;
335 var60 = string__NativeString__to_s_with_length(var58, var59);
336 var57 = var60;
337 varonce56 = var57;
338 }
339 var61 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var57) /* == on <var_nit_name:String>*/;
340 if (var61){
341 if (varonce62) {
342 var63 = varonce62;
343 } else {
344 var64 = "_index";
345 var65 = 6;
346 var66 = string__NativeString__to_s_with_length(var64, var65);
347 var63 = var66;
348 varonce62 = var63;
349 }
350 var = var63;
351 goto RET_LABEL;
352 } else {
353 }
354 if (varonce67) {
355 var68 = varonce67;
356 } else {
357 var69 = "[]=";
358 var70 = 3;
359 var71 = string__NativeString__to_s_with_length(var69, var70);
360 var68 = var71;
361 varonce67 = var68;
362 }
363 var72 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var68) /* == on <var_nit_name:String>*/;
364 if (var72){
365 if (varonce73) {
366 var74 = varonce73;
367 } else {
368 var75 = "_index_assign";
369 var76 = 13;
370 var77 = string__NativeString__to_s_with_length(var75, var76);
371 var74 = var77;
372 varonce73 = var74;
373 }
374 var = var74;
375 goto RET_LABEL;
376 } else {
377 }
378 if (varonce78) {
379 var79 = varonce78;
380 } else {
381 var80 = "==";
382 var81 = 2;
383 var82 = string__NativeString__to_s_with_length(var80, var81);
384 var79 = var82;
385 varonce78 = var79;
386 }
387 var83 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var79) /* == on <var_nit_name:String>*/;
388 if (var83){
389 if (varonce84) {
390 var85 = varonce84;
391 } else {
392 var86 = "_equal";
393 var87 = 6;
394 var88 = string__NativeString__to_s_with_length(var86, var87);
395 var85 = var88;
396 varonce84 = var85;
397 }
398 var = var85;
399 goto RET_LABEL;
400 } else {
401 }
402 if (varonce89) {
403 var90 = varonce89;
404 } else {
405 var91 = "<";
406 var92 = 1;
407 var93 = string__NativeString__to_s_with_length(var91, var92);
408 var90 = var93;
409 varonce89 = var90;
410 }
411 var94 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var90) /* == on <var_nit_name:String>*/;
412 if (var94){
413 if (varonce95) {
414 var96 = varonce95;
415 } else {
416 var97 = "_less";
417 var98 = 5;
418 var99 = string__NativeString__to_s_with_length(var97, var98);
419 var96 = var99;
420 varonce95 = var96;
421 }
422 var = var96;
423 goto RET_LABEL;
424 } else {
425 }
426 if (varonce100) {
427 var101 = varonce100;
428 } else {
429 var102 = ">";
430 var103 = 1;
431 var104 = string__NativeString__to_s_with_length(var102, var103);
432 var101 = var104;
433 varonce100 = var101;
434 }
435 var105 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var101) /* == on <var_nit_name:String>*/;
436 if (var105){
437 if (varonce106) {
438 var107 = varonce106;
439 } else {
440 var108 = "_geater";
441 var109 = 7;
442 var110 = string__NativeString__to_s_with_length(var108, var109);
443 var107 = var110;
444 varonce106 = var107;
445 }
446 var = var107;
447 goto RET_LABEL;
448 } else {
449 }
450 if (varonce111) {
451 var112 = varonce111;
452 } else {
453 var113 = "<=";
454 var114 = 2;
455 var115 = string__NativeString__to_s_with_length(var113, var114);
456 var112 = var115;
457 varonce111 = var112;
458 }
459 var116 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var112) /* == on <var_nit_name:String>*/;
460 if (var116){
461 if (varonce117) {
462 var118 = varonce117;
463 } else {
464 var119 = "_less_or_equal";
465 var120 = 14;
466 var121 = string__NativeString__to_s_with_length(var119, var120);
467 var118 = var121;
468 varonce117 = var118;
469 }
470 var = var118;
471 goto RET_LABEL;
472 } else {
473 }
474 if (varonce122) {
475 var123 = varonce122;
476 } else {
477 var124 = ">=";
478 var125 = 2;
479 var126 = string__NativeString__to_s_with_length(var124, var125);
480 var123 = var126;
481 varonce122 = var123;
482 }
483 var127 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var123) /* == on <var_nit_name:String>*/;
484 if (var127){
485 if (varonce128) {
486 var129 = varonce128;
487 } else {
488 var130 = "_greater_or_equal";
489 var131 = 17;
490 var132 = string__NativeString__to_s_with_length(var130, var131);
491 var129 = var132;
492 varonce128 = var129;
493 }
494 var = var129;
495 goto RET_LABEL;
496 } else {
497 }
498 if (varonce133) {
499 var134 = varonce133;
500 } else {
501 var135 = "!=";
502 var136 = 2;
503 var137 = string__NativeString__to_s_with_length(var135, var136);
504 var134 = var137;
505 varonce133 = var134;
506 }
507 var138 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var134) /* == on <var_nit_name:String>*/;
508 if (var138){
509 if (varonce139) {
510 var140 = varonce139;
511 } else {
512 var141 = "_not_equal";
513 var142 = 10;
514 var143 = string__NativeString__to_s_with_length(var141, var142);
515 var140 = var143;
516 varonce139 = var140;
517 }
518 var = var140;
519 goto RET_LABEL;
520 } else {
521 }
522 if (varonce144) {
523 var145 = varonce144;
524 } else {
525 var146 = "<<";
526 var147 = 2;
527 var148 = string__NativeString__to_s_with_length(var146, var147);
528 var145 = var148;
529 varonce144 = var145;
530 }
531 var149 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var145) /* == on <var_nit_name:String>*/;
532 if (var149){
533 if (varonce150) {
534 var151 = varonce150;
535 } else {
536 var152 = "_left";
537 var153 = 5;
538 var154 = string__NativeString__to_s_with_length(var152, var153);
539 var151 = var154;
540 varonce150 = var151;
541 }
542 var = var151;
543 goto RET_LABEL;
544 } else {
545 }
546 if (varonce155) {
547 var156 = varonce155;
548 } else {
549 var157 = ">>";
550 var158 = 2;
551 var159 = string__NativeString__to_s_with_length(var157, var158);
552 var156 = var159;
553 varonce155 = var156;
554 }
555 var160 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var156) /* == on <var_nit_name:String>*/;
556 if (var160){
557 if (varonce161) {
558 var162 = varonce161;
559 } else {
560 var163 = "_right";
561 var164 = 6;
562 var165 = string__NativeString__to_s_with_length(var163, var164);
563 var162 = var165;
564 varonce161 = var162;
565 }
566 var = var162;
567 goto RET_LABEL;
568 } else {
569 }
570 if (varonce166) {
571 var167 = varonce166;
572 } else {
573 var168 = "<=>";
574 var169 = 3;
575 var170 = string__NativeString__to_s_with_length(var168, var169);
576 var167 = var170;
577 varonce166 = var167;
578 }
579 var171 = ((short int (*)(val*, val*))(var_nit_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_nit_name, var167) /* == on <var_nit_name:String>*/;
580 if (var171){
581 if (varonce172) {
582 var173 = varonce172;
583 } else {
584 var174 = "_starship";
585 var175 = 9;
586 var176 = string__NativeString__to_s_with_length(var174, var175);
587 var173 = var176;
588 varonce172 = var173;
589 }
590 var = var173;
591 goto RET_LABEL;
592 } else {
593 }
594 var177 = ((val* (*)(val*))(var_nit_name->class->vft[COLOR_abstract_collection__SequenceRead__last]))(var_nit_name) /* last on <var_nit_name:String>*/;
595 var178 = '=';
596 { /* Inline kernel#Char#== (var177,var178) */
597 var181 = (var177 != NULL) && (var177->class == &class_kernel__Char);
598 if (var181) {
599 var182 = ((struct instance_kernel__Char*)var177)->value; /* autounbox from nullable Object to Char */;
600 var181 = (var182 == var178);
601 }
602 var179 = var181;
603 goto RET_LABEL180;
604 RET_LABEL180:(void)0;
605 }
606 if (var179){
607 var183 = NEW_array__Array(&type_array__Arraykernel__Object);
608 var184 = 3;
609 ((void (*)(val*, long))(var183->class->vft[COLOR_array__Array__with_capacity]))(var183, var184) /* with_capacity on <var183:Array[Object]>*/;
610 var_ = var183;
611 if (varonce185) {
612 var186 = varonce185;
613 } else {
614 var187 = "";
615 var188 = 0;
616 var189 = string__NativeString__to_s_with_length(var187, var188);
617 var186 = var189;
618 varonce185 = var186;
619 }
620 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var186) /* add on <var_:Array[Object]>*/;
621 var190 = 0;
622 var191 = ((long (*)(val*))(var_nit_name->class->vft[COLOR_abstract_collection__Collection__length]))(var_nit_name) /* length on <var_nit_name:String>*/;
623 var192 = 1;
624 { /* Inline kernel#Int#- (var191,var192) */
625 var195 = var191 - var192;
626 var193 = var195;
627 goto RET_LABEL194;
628 RET_LABEL194:(void)0;
629 }
630 var196 = ((val* (*)(val*, long, long))(var_nit_name->class->vft[COLOR_string__AbstractString__substring]))(var_nit_name, var190, var193) /* substring on <var_nit_name:String>*/;
631 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var196) /* add on <var_:Array[Object]>*/;
632 if (varonce197) {
633 var198 = varonce197;
634 } else {
635 var199 = "__assign";
636 var200 = 8;
637 var201 = string__NativeString__to_s_with_length(var199, var200);
638 var198 = var201;
639 varonce197 = var198;
640 }
641 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var198) /* add on <var_:Array[Object]>*/;
642 var202 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on <var_:Array[Object]>*/;
643 var = var202;
644 goto RET_LABEL;
645 } else {
646 }
647 var = var_nit_name;
648 goto RET_LABEL;
649 RET_LABEL:;
650 return var;
651 }
652 /* method nitni_base#MMethod#short_cname for (self: Object): String */
653 val* VIRTUAL_nitni_base__MMethod__short_cname(val* self) {
654 val* var /* : String */;
655 val* var1 /* : String */;
656 var1 = nitni_base__MMethod__short_cname(self);
657 var = var1;
658 RET_LABEL:;
659 return var;
660 }
661 /* method nitni_base#AModule#cname for (self: AModule): String */
662 val* nitni_base__AModule__cname(val* self) {
663 val* var /* : String */;
664 val* var1 /* : nullable MModule */;
665 val* var2 /* : String */;
666 var1 = ((val* (*)(val*))(self->class->vft[COLOR_modelbuilder__AModule__mmodule]))(self) /* mmodule on <self:AModule>*/;
667 if (var1 == NULL) {
668 fprintf(stderr, "Runtime error: %s", "Receiver is null");
669 fprintf(stderr, " (%s:%d)\n", "src/nitni/nitni_base.nit", 55);
670 show_backtrace(1);
671 } else {
672 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_mmodule__MModule__name]))(var1) /* name on <var1:nullable MModule>*/;
673 }
674 var = var2;
675 goto RET_LABEL;
676 RET_LABEL:;
677 return var;
678 }
679 /* method nitni_base#AModule#cname for (self: Object): String */
680 val* VIRTUAL_nitni_base__AModule__cname(val* self) {
681 val* var /* : String */;
682 val* var1 /* : String */;
683 var1 = nitni_base__AModule__cname(self);
684 var = var1;
685 RET_LABEL:;
686 return var;
687 }
688 /* method nitni_base#MMethodDef#cname for (self: MMethodDef): String */
689 val* nitni_base__MMethodDef__cname(val* self) {
690 val* var /* : String */;
691 val* var1 /* : Array[Object] */;
692 long var2 /* : Int */;
693 val* var_ /* var : Array[Object] */;
694 static val* varonce;
695 val* var3 /* : String */;
696 char* var4 /* : NativeString */;
697 long var5 /* : Int */;
698 val* var6 /* : String */;
699 val* var7 /* : MClassDef */;
700 val* var8 /* : MClass */;
701 val* var9 /* : String */;
702 static val* varonce10;
703 val* var11 /* : String */;
704 char* var12 /* : NativeString */;
705 long var13 /* : Int */;
706 val* var14 /* : String */;
707 val* var15 /* : MProperty */;
708 val* var16 /* : String */;
709 static val* varonce17;
710 val* var18 /* : String */;
711 char* var19 /* : NativeString */;
712 long var20 /* : Int */;
713 val* var21 /* : String */;
714 val* var22 /* : String */;
715 var1 = NEW_array__Array(&type_array__Arraykernel__Object);
716 var2 = 5;
717 ((void (*)(val*, long))(var1->class->vft[COLOR_array__Array__with_capacity]))(var1, var2) /* with_capacity on <var1:Array[Object]>*/;
718 var_ = var1;
719 if (varonce) {
720 var3 = varonce;
721 } else {
722 var4 = "";
723 var5 = 0;
724 var6 = string__NativeString__to_s_with_length(var4, var5);
725 var3 = var6;
726 varonce = var3;
727 }
728 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var3) /* add on <var_:Array[Object]>*/;
729 var7 = ((val* (*)(val*))(self->class->vft[COLOR_model__MPropDef__mclassdef]))(self) /* mclassdef on <self:MMethodDef>*/;
730 var8 = ((val* (*)(val*))(var7->class->vft[COLOR_model__MClassDef__mclass]))(var7) /* mclass on <var7:MClassDef>*/;
731 var9 = ((val* (*)(val*))(var8->class->vft[COLOR_model__MClass__name]))(var8) /* name on <var8:MClass>*/;
732 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var9) /* add on <var_:Array[Object]>*/;
733 if (varonce10) {
734 var11 = varonce10;
735 } else {
736 var12 = "_";
737 var13 = 1;
738 var14 = string__NativeString__to_s_with_length(var12, var13);
739 var11 = var14;
740 varonce10 = var11;
741 }
742 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var11) /* add on <var_:Array[Object]>*/;
743 var15 = ((val* (*)(val*))(self->class->vft[COLOR_model__MPropDef__mproperty]))(self) /* mproperty on <self:MMethodDef>*/;
744 var16 = ((val* (*)(val*))(var15->class->vft[COLOR_nitni_base__MMethod__short_cname]))(var15) /* short_cname on <var15:MProperty(MMethod)>*/;
745 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var16) /* add on <var_:Array[Object]>*/;
746 if (varonce17) {
747 var18 = varonce17;
748 } else {
749 var19 = "";
750 var20 = 0;
751 var21 = string__NativeString__to_s_with_length(var19, var20);
752 var18 = var21;
753 varonce17 = var18;
754 }
755 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var18) /* add on <var_:Array[Object]>*/;
756 var22 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on <var_:Array[Object]>*/;
757 var = var22;
758 goto RET_LABEL;
759 RET_LABEL:;
760 return var;
761 }
762 /* method nitni_base#MMethodDef#cname for (self: Object): String */
763 val* VIRTUAL_nitni_base__MMethodDef__cname(val* self) {
764 val* var /* : String */;
765 val* var1 /* : String */;
766 var1 = nitni_base__MMethodDef__cname(self);
767 var = var1;
768 RET_LABEL:;
769 return var;
770 }
771 /* method nitni_base#MType#cname for (self: MType): String */
772 val* nitni_base__MType__cname(val* self) {
773 val* var /* : String */;
774 const char* var_class_name;
775 var_class_name = self == NULL ? "null" : self->type->name;
776 fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "cname", var_class_name);
777 fprintf(stderr, " (%s:%d)\n", "src/nitni/nitni_base.nit", 65);
778 show_backtrace(1);
779 RET_LABEL:;
780 return var;
781 }
782 /* method nitni_base#MType#cname for (self: Object): String */
783 val* VIRTUAL_nitni_base__MType__cname(val* self) {
784 val* var /* : String */;
785 val* var1 /* : String */;
786 var1 = nitni_base__MType__cname(self);
787 var = var1;
788 RET_LABEL:;
789 return var;
790 }
791 /* method nitni_base#MType#cname_blind for (self: MType): String */
792 val* nitni_base__MType__cname_blind(val* self) {
793 val* var /* : String */;
794 const char* var_class_name;
795 var_class_name = self == NULL ? "null" : self->type->name;
796 fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "cname_blind", var_class_name);
797 fprintf(stderr, " (%s:%d)\n", "src/nitni/nitni_base.nit", 70);
798 show_backtrace(1);
799 RET_LABEL:;
800 return var;
801 }
802 /* method nitni_base#MType#cname_blind for (self: Object): String */
803 val* VIRTUAL_nitni_base__MType__cname_blind(val* self) {
804 val* var /* : String */;
805 val* var1 /* : String */;
806 var1 = nitni_base__MType__cname_blind(self);
807 var = var1;
808 RET_LABEL:;
809 return var;
810 }
811 /* method nitni_base#MType#mangled_cname for (self: MType): String */
812 val* nitni_base__MType__mangled_cname(val* self) {
813 val* var /* : String */;
814 const char* var_class_name;
815 var_class_name = self == NULL ? "null" : self->type->name;
816 fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "mangled_cname", var_class_name);
817 fprintf(stderr, " (%s:%d)\n", "src/nitni/nitni_base.nit", 74);
818 show_backtrace(1);
819 RET_LABEL:;
820 return var;
821 }
822 /* method nitni_base#MType#mangled_cname for (self: Object): String */
823 val* VIRTUAL_nitni_base__MType__mangled_cname(val* self) {
824 val* var /* : String */;
825 val* var1 /* : String */;
826 var1 = nitni_base__MType__mangled_cname(self);
827 var = var1;
828 RET_LABEL:;
829 return var;
830 }
831 /* method nitni_base#MType#is_cprimitive for (self: MType): Bool */
832 short int nitni_base__MType__is_cprimitive(val* self) {
833 short int var /* : Bool */;
834 const char* var_class_name;
835 var_class_name = self == NULL ? "null" : self->type->name;
836 fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "is_cprimitive", var_class_name);
837 fprintf(stderr, " (%s:%d)\n", "src/nitni/nitni_base.nit", 79);
838 show_backtrace(1);
839 RET_LABEL:;
840 return var;
841 }
842 /* method nitni_base#MType#is_cprimitive for (self: Object): Bool */
843 short int VIRTUAL_nitni_base__MType__is_cprimitive(val* self) {
844 short int var /* : Bool */;
845 short int var1 /* : Bool */;
846 var1 = nitni_base__MType__is_cprimitive(self);
847 var = var1;
848 RET_LABEL:;
849 return var;
850 }
851 /* method nitni_base#MClassType#cname for (self: MClassType): String */
852 val* nitni_base__MClassType__cname(val* self) {
853 val* var /* : String */;
854 val* var1 /* : MClass */;
855 val* var2 /* : String */;
856 val* var_name /* var name: String */;
857 static val* varonce;
858 val* var3 /* : String */;
859 char* var4 /* : NativeString */;
860 long var5 /* : Int */;
861 val* var6 /* : String */;
862 short int var7 /* : Bool */;
863 static val* varonce8;
864 val* var9 /* : String */;
865 char* var10 /* : NativeString */;
866 long var11 /* : Int */;
867 val* var12 /* : String */;
868 static val* varonce13;
869 val* var14 /* : String */;
870 char* var15 /* : NativeString */;
871 long var16 /* : Int */;
872 val* var17 /* : String */;
873 short int var18 /* : Bool */;
874 static val* varonce19;
875 val* var20 /* : String */;
876 char* var21 /* : NativeString */;
877 long var22 /* : Int */;
878 val* var23 /* : String */;
879 static val* varonce24;
880 val* var25 /* : String */;
881 char* var26 /* : NativeString */;
882 long var27 /* : Int */;
883 val* var28 /* : String */;
884 short int var29 /* : Bool */;
885 static val* varonce30;
886 val* var31 /* : String */;
887 char* var32 /* : NativeString */;
888 long var33 /* : Int */;
889 val* var34 /* : String */;
890 static val* varonce35;
891 val* var36 /* : String */;
892 char* var37 /* : NativeString */;
893 long var38 /* : Int */;
894 val* var39 /* : String */;
895 short int var40 /* : Bool */;
896 static val* varonce41;
897 val* var42 /* : String */;
898 char* var43 /* : NativeString */;
899 long var44 /* : Int */;
900 val* var45 /* : String */;
901 static val* varonce46;
902 val* var47 /* : String */;
903 char* var48 /* : NativeString */;
904 long var49 /* : Int */;
905 val* var50 /* : String */;
906 short int var51 /* : Bool */;
907 static val* varonce52;
908 val* var53 /* : String */;
909 char* var54 /* : NativeString */;
910 long var55 /* : Int */;
911 val* var56 /* : String */;
912 val* var57 /* : MClass */;
913 val* var58 /* : MClassKind */;
914 val* var59 /* : MClassKind */;
915 short int var60 /* : Bool */;
916 val* var61 /* : MClass */;
917 val* var62 /* : nullable String */;
918 val* var_ctype /* var ctype: nullable String */;
919 val* var63 /* : null */;
920 short int var64 /* : Bool */;
921 val* var65 /* : String */;
922 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
923 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_model__MClass__name]))(var1) /* name on <var1:MClass>*/;
924 var_name = var2;
925 if (varonce) {
926 var3 = varonce;
927 } else {
928 var4 = "Bool";
929 var5 = 4;
930 var6 = string__NativeString__to_s_with_length(var4, var5);
931 var3 = var6;
932 varonce = var3;
933 }
934 var7 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var3) /* == on <var_name:String>*/;
935 if (var7){
936 if (varonce8) {
937 var9 = varonce8;
938 } else {
939 var10 = "int";
940 var11 = 3;
941 var12 = string__NativeString__to_s_with_length(var10, var11);
942 var9 = var12;
943 varonce8 = var9;
944 }
945 var = var9;
946 goto RET_LABEL;
947 } else {
948 }
949 if (varonce13) {
950 var14 = varonce13;
951 } else {
952 var15 = "Char";
953 var16 = 4;
954 var17 = string__NativeString__to_s_with_length(var15, var16);
955 var14 = var17;
956 varonce13 = var14;
957 }
958 var18 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var14) /* == on <var_name:String>*/;
959 if (var18){
960 if (varonce19) {
961 var20 = varonce19;
962 } else {
963 var21 = "char";
964 var22 = 4;
965 var23 = string__NativeString__to_s_with_length(var21, var22);
966 var20 = var23;
967 varonce19 = var20;
968 }
969 var = var20;
970 goto RET_LABEL;
971 } else {
972 }
973 if (varonce24) {
974 var25 = varonce24;
975 } else {
976 var26 = "Float";
977 var27 = 5;
978 var28 = string__NativeString__to_s_with_length(var26, var27);
979 var25 = var28;
980 varonce24 = var25;
981 }
982 var29 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var25) /* == on <var_name:String>*/;
983 if (var29){
984 if (varonce30) {
985 var31 = varonce30;
986 } else {
987 var32 = "double";
988 var33 = 6;
989 var34 = string__NativeString__to_s_with_length(var32, var33);
990 var31 = var34;
991 varonce30 = var31;
992 }
993 var = var31;
994 goto RET_LABEL;
995 } else {
996 }
997 if (varonce35) {
998 var36 = varonce35;
999 } else {
1000 var37 = "Int";
1001 var38 = 3;
1002 var39 = string__NativeString__to_s_with_length(var37, var38);
1003 var36 = var39;
1004 varonce35 = var36;
1005 }
1006 var40 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var36) /* == on <var_name:String>*/;
1007 if (var40){
1008 if (varonce41) {
1009 var42 = varonce41;
1010 } else {
1011 var43 = "int";
1012 var44 = 3;
1013 var45 = string__NativeString__to_s_with_length(var43, var44);
1014 var42 = var45;
1015 varonce41 = var42;
1016 }
1017 var = var42;
1018 goto RET_LABEL;
1019 } else {
1020 }
1021 if (varonce46) {
1022 var47 = varonce46;
1023 } else {
1024 var48 = "NativeString";
1025 var49 = 12;
1026 var50 = string__NativeString__to_s_with_length(var48, var49);
1027 var47 = var50;
1028 varonce46 = var47;
1029 }
1030 var51 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var47) /* == on <var_name:String>*/;
1031 if (var51){
1032 if (varonce52) {
1033 var53 = varonce52;
1034 } else {
1035 var54 = "char*";
1036 var55 = 5;
1037 var56 = string__NativeString__to_s_with_length(var54, var55);
1038 var53 = var56;
1039 varonce52 = var53;
1040 }
1041 var = var53;
1042 goto RET_LABEL;
1043 } else {
1044 }
1045 var57 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
1046 var58 = ((val* (*)(val*))(var57->class->vft[COLOR_model__MClass__kind]))(var57) /* kind on <var57:MClass>*/;
1047 var59 = ((val* (*)(val*))(self->class->vft[COLOR_model__Object__extern_kind]))(self) /* extern_kind on <self:MClassType>*/;
1048 var60 = ((short int (*)(val*, val*))(var58->class->vft[COLOR_kernel__Object___61d_61d]))(var58, var59) /* == on <var58:MClassKind>*/;
1049 if (var60){
1050 var61 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
1051 var62 = ((val* (*)(val*))(var61->class->vft[COLOR_nitni_base__MClass__ctype]))(var61) /* ctype on <var61:MClass>*/;
1052 var_ctype = var62;
1053 var63 = NULL;
1054 if (var_ctype == NULL) {
1055 var64 = 0; /* is null */
1056 } else {
1057 var64 = 1; /* arg is null and recv is not */
1058 }
1059 if (!var64) {
1060 fprintf(stderr, "Runtime error: %s", "Assert failed");
1061 fprintf(stderr, " (%s:%d)\n", "src/nitni/nitni_base.nit", 96);
1062 show_backtrace(1);
1063 }
1064 var = var_ctype;
1065 goto RET_LABEL;
1066 } else {
1067 }
1068 var65 = ((val* (*)(val*))(self->class->vft[COLOR_nitni_base__MType__mangled_cname]))(self) /* mangled_cname on <self:MClassType>*/;
1069 var = var65;
1070 goto RET_LABEL;
1071 RET_LABEL:;
1072 return var;
1073 }
1074 /* method nitni_base#MClassType#cname for (self: Object): String */
1075 val* VIRTUAL_nitni_base__MClassType__cname(val* self) {
1076 val* var /* : String */;
1077 val* var1 /* : String */;
1078 var1 = nitni_base__MClassType__cname(self);
1079 var = var1;
1080 RET_LABEL:;
1081 return var;
1082 }
1083 /* method nitni_base#MClassType#cname_blind for (self: MClassType): String */
1084 val* nitni_base__MClassType__cname_blind(val* self) {
1085 val* var /* : String */;
1086 val* var1 /* : MClass */;
1087 val* var2 /* : String */;
1088 val* var_name /* var name: String */;
1089 static val* varonce;
1090 val* var3 /* : String */;
1091 char* var4 /* : NativeString */;
1092 long var5 /* : Int */;
1093 val* var6 /* : String */;
1094 short int var7 /* : Bool */;
1095 static val* varonce8;
1096 val* var9 /* : String */;
1097 char* var10 /* : NativeString */;
1098 long var11 /* : Int */;
1099 val* var12 /* : String */;
1100 static val* varonce13;
1101 val* var14 /* : String */;
1102 char* var15 /* : NativeString */;
1103 long var16 /* : Int */;
1104 val* var17 /* : String */;
1105 short int var18 /* : Bool */;
1106 static val* varonce19;
1107 val* var20 /* : String */;
1108 char* var21 /* : NativeString */;
1109 long var22 /* : Int */;
1110 val* var23 /* : String */;
1111 static val* varonce24;
1112 val* var25 /* : String */;
1113 char* var26 /* : NativeString */;
1114 long var27 /* : Int */;
1115 val* var28 /* : String */;
1116 short int var29 /* : Bool */;
1117 static val* varonce30;
1118 val* var31 /* : String */;
1119 char* var32 /* : NativeString */;
1120 long var33 /* : Int */;
1121 val* var34 /* : String */;
1122 static val* varonce35;
1123 val* var36 /* : String */;
1124 char* var37 /* : NativeString */;
1125 long var38 /* : Int */;
1126 val* var39 /* : String */;
1127 short int var40 /* : Bool */;
1128 static val* varonce41;
1129 val* var42 /* : String */;
1130 char* var43 /* : NativeString */;
1131 long var44 /* : Int */;
1132 val* var45 /* : String */;
1133 static val* varonce46;
1134 val* var47 /* : String */;
1135 char* var48 /* : NativeString */;
1136 long var49 /* : Int */;
1137 val* var50 /* : String */;
1138 short int var51 /* : Bool */;
1139 static val* varonce52;
1140 val* var53 /* : String */;
1141 char* var54 /* : NativeString */;
1142 long var55 /* : Int */;
1143 val* var56 /* : String */;
1144 val* var57 /* : MClass */;
1145 val* var58 /* : MClassKind */;
1146 val* var59 /* : MClassKind */;
1147 short int var60 /* : Bool */;
1148 static val* varonce61;
1149 val* var62 /* : String */;
1150 char* var63 /* : NativeString */;
1151 long var64 /* : Int */;
1152 val* var65 /* : String */;
1153 static val* varonce66;
1154 val* var67 /* : String */;
1155 char* var68 /* : NativeString */;
1156 long var69 /* : Int */;
1157 val* var70 /* : String */;
1158 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
1159 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_model__MClass__name]))(var1) /* name on <var1:MClass>*/;
1160 var_name = var2;
1161 if (varonce) {
1162 var3 = varonce;
1163 } else {
1164 var4 = "Bool";
1165 var5 = 4;
1166 var6 = string__NativeString__to_s_with_length(var4, var5);
1167 var3 = var6;
1168 varonce = var3;
1169 }
1170 var7 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var3) /* == on <var_name:String>*/;
1171 if (var7){
1172 if (varonce8) {
1173 var9 = varonce8;
1174 } else {
1175 var10 = "int";
1176 var11 = 3;
1177 var12 = string__NativeString__to_s_with_length(var10, var11);
1178 var9 = var12;
1179 varonce8 = var9;
1180 }
1181 var = var9;
1182 goto RET_LABEL;
1183 } else {
1184 }
1185 if (varonce13) {
1186 var14 = varonce13;
1187 } else {
1188 var15 = "Char";
1189 var16 = 4;
1190 var17 = string__NativeString__to_s_with_length(var15, var16);
1191 var14 = var17;
1192 varonce13 = var14;
1193 }
1194 var18 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var14) /* == on <var_name:String>*/;
1195 if (var18){
1196 if (varonce19) {
1197 var20 = varonce19;
1198 } else {
1199 var21 = "char";
1200 var22 = 4;
1201 var23 = string__NativeString__to_s_with_length(var21, var22);
1202 var20 = var23;
1203 varonce19 = var20;
1204 }
1205 var = var20;
1206 goto RET_LABEL;
1207 } else {
1208 }
1209 if (varonce24) {
1210 var25 = varonce24;
1211 } else {
1212 var26 = "Float";
1213 var27 = 5;
1214 var28 = string__NativeString__to_s_with_length(var26, var27);
1215 var25 = var28;
1216 varonce24 = var25;
1217 }
1218 var29 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var25) /* == on <var_name:String>*/;
1219 if (var29){
1220 if (varonce30) {
1221 var31 = varonce30;
1222 } else {
1223 var32 = "double";
1224 var33 = 6;
1225 var34 = string__NativeString__to_s_with_length(var32, var33);
1226 var31 = var34;
1227 varonce30 = var31;
1228 }
1229 var = var31;
1230 goto RET_LABEL;
1231 } else {
1232 }
1233 if (varonce35) {
1234 var36 = varonce35;
1235 } else {
1236 var37 = "Int";
1237 var38 = 3;
1238 var39 = string__NativeString__to_s_with_length(var37, var38);
1239 var36 = var39;
1240 varonce35 = var36;
1241 }
1242 var40 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var36) /* == on <var_name:String>*/;
1243 if (var40){
1244 if (varonce41) {
1245 var42 = varonce41;
1246 } else {
1247 var43 = "int";
1248 var44 = 3;
1249 var45 = string__NativeString__to_s_with_length(var43, var44);
1250 var42 = var45;
1251 varonce41 = var42;
1252 }
1253 var = var42;
1254 goto RET_LABEL;
1255 } else {
1256 }
1257 if (varonce46) {
1258 var47 = varonce46;
1259 } else {
1260 var48 = "NativeString";
1261 var49 = 12;
1262 var50 = string__NativeString__to_s_with_length(var48, var49);
1263 var47 = var50;
1264 varonce46 = var47;
1265 }
1266 var51 = ((short int (*)(val*, val*))(var_name->class->vft[COLOR_kernel__Object___61d_61d]))(var_name, var47) /* == on <var_name:String>*/;
1267 if (var51){
1268 if (varonce52) {
1269 var53 = varonce52;
1270 } else {
1271 var54 = "char*";
1272 var55 = 5;
1273 var56 = string__NativeString__to_s_with_length(var54, var55);
1274 var53 = var56;
1275 varonce52 = var53;
1276 }
1277 var = var53;
1278 goto RET_LABEL;
1279 } else {
1280 }
1281 var57 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
1282 var58 = ((val* (*)(val*))(var57->class->vft[COLOR_model__MClass__kind]))(var57) /* kind on <var57:MClass>*/;
1283 var59 = ((val* (*)(val*))(self->class->vft[COLOR_model__Object__extern_kind]))(self) /* extern_kind on <self:MClassType>*/;
1284 var60 = ((short int (*)(val*, val*))(var58->class->vft[COLOR_kernel__Object___61d_61d]))(var58, var59) /* == on <var58:MClassKind>*/;
1285 if (var60){
1286 if (varonce61) {
1287 var62 = varonce61;
1288 } else {
1289 var63 = "void*";
1290 var64 = 5;
1291 var65 = string__NativeString__to_s_with_length(var63, var64);
1292 var62 = var65;
1293 varonce61 = var62;
1294 }
1295 var = var62;
1296 goto RET_LABEL;
1297 } else {
1298 }
1299 if (varonce66) {
1300 var67 = varonce66;
1301 } else {
1302 var68 = "struct nitni_instance *";
1303 var69 = 23;
1304 var70 = string__NativeString__to_s_with_length(var68, var69);
1305 var67 = var70;
1306 varonce66 = var67;
1307 }
1308 var = var67;
1309 goto RET_LABEL;
1310 RET_LABEL:;
1311 return var;
1312 }
1313 /* method nitni_base#MClassType#cname_blind for (self: Object): String */
1314 val* VIRTUAL_nitni_base__MClassType__cname_blind(val* self) {
1315 val* var /* : String */;
1316 val* var1 /* : String */;
1317 var1 = nitni_base__MClassType__cname_blind(self);
1318 var = var1;
1319 RET_LABEL:;
1320 return var;
1321 }
1322 /* method nitni_base#MClassType#mangled_cname for (self: MClassType): String */
1323 val* nitni_base__MClassType__mangled_cname(val* self) {
1324 val* var /* : String */;
1325 val* var1 /* : MClass */;
1326 val* var2 /* : String */;
1327 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
1328 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_model__MClass__name]))(var1) /* name on <var1:MClass>*/;
1329 var = var2;
1330 goto RET_LABEL;
1331 RET_LABEL:;
1332 return var;
1333 }
1334 /* method nitni_base#MClassType#mangled_cname for (self: Object): String */
1335 val* VIRTUAL_nitni_base__MClassType__mangled_cname(val* self) {
1336 val* var /* : String */;
1337 val* var1 /* : String */;
1338 var1 = nitni_base__MClassType__mangled_cname(self);
1339 var = var1;
1340 RET_LABEL:;
1341 return var;
1342 }
1343 /* method nitni_base#MClassType#is_cprimitive for (self: MClassType): Bool */
1344 short int nitni_base__MClassType__is_cprimitive(val* self) {
1345 short int var /* : Bool */;
1346 short int var1 /* : Bool */;
1347 val* var2 /* : MClass */;
1348 val* var3 /* : MClassKind */;
1349 val* var4 /* : MClassKind */;
1350 short int var5 /* : Bool */;
1351 short int var_ /* var : Bool */;
1352 static val* varonce;
1353 static int varonce_guard;
1354 val* var6 /* : Array[String] */;
1355 val* var7 /* : Array[String] */;
1356 long var8 /* : Int */;
1357 val* var_9 /* var : Array[String] */;
1358 static val* varonce10;
1359 val* var11 /* : String */;
1360 char* var12 /* : NativeString */;
1361 long var13 /* : Int */;
1362 val* var14 /* : String */;
1363 static val* varonce15;
1364 val* var16 /* : String */;
1365 char* var17 /* : NativeString */;
1366 long var18 /* : Int */;
1367 val* var19 /* : String */;
1368 static val* varonce20;
1369 val* var21 /* : String */;
1370 char* var22 /* : NativeString */;
1371 long var23 /* : Int */;
1372 val* var24 /* : String */;
1373 static val* varonce25;
1374 val* var26 /* : String */;
1375 char* var27 /* : NativeString */;
1376 long var28 /* : Int */;
1377 val* var29 /* : String */;
1378 static val* varonce30;
1379 val* var31 /* : String */;
1380 char* var32 /* : NativeString */;
1381 long var33 /* : Int */;
1382 val* var34 /* : String */;
1383 val* var35 /* : MClass */;
1384 val* var36 /* : String */;
1385 short int var37 /* : Bool */;
1386 var2 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
1387 var3 = ((val* (*)(val*))(var2->class->vft[COLOR_model__MClass__kind]))(var2) /* kind on <var2:MClass>*/;
1388 var4 = ((val* (*)(val*))(self->class->vft[COLOR_model__Object__extern_kind]))(self) /* extern_kind on <self:MClassType>*/;
1389 var5 = ((short int (*)(val*, val*))(var3->class->vft[COLOR_kernel__Object___61d_61d]))(var3, var4) /* == on <var3:MClassKind>*/;
1390 var_ = var5;
1391 if (var5){
1392 var1 = var_;
1393 } else {
1394 if (varonce_guard) {
1395 var6 = varonce;
1396 } else {
1397 var7 = NEW_array__Array(&type_array__Arraystring__String);
1398 var8 = 5;
1399 ((void (*)(val*, long))(var7->class->vft[COLOR_array__Array__with_capacity]))(var7, var8) /* with_capacity on <var7:Array[String]>*/;
1400 var_9 = var7;
1401 if (varonce10) {
1402 var11 = varonce10;
1403 } else {
1404 var12 = "Bool";
1405 var13 = 4;
1406 var14 = string__NativeString__to_s_with_length(var12, var13);
1407 var11 = var14;
1408 varonce10 = var11;
1409 }
1410 ((void (*)(val*, val*))(var_9->class->vft[COLOR_abstract_collection__Sequence__push]))(var_9, var11) /* push on <var_9:Array[String]>*/;
1411 if (varonce15) {
1412 var16 = varonce15;
1413 } else {
1414 var17 = "Char";
1415 var18 = 4;
1416 var19 = string__NativeString__to_s_with_length(var17, var18);
1417 var16 = var19;
1418 varonce15 = var16;
1419 }
1420 ((void (*)(val*, val*))(var_9->class->vft[COLOR_abstract_collection__Sequence__push]))(var_9, var16) /* push on <var_9:Array[String]>*/;
1421 if (varonce20) {
1422 var21 = varonce20;
1423 } else {
1424 var22 = "Float";
1425 var23 = 5;
1426 var24 = string__NativeString__to_s_with_length(var22, var23);
1427 var21 = var24;
1428 varonce20 = var21;
1429 }
1430 ((void (*)(val*, val*))(var_9->class->vft[COLOR_abstract_collection__Sequence__push]))(var_9, var21) /* push on <var_9:Array[String]>*/;
1431 if (varonce25) {
1432 var26 = varonce25;
1433 } else {
1434 var27 = "Int";
1435 var28 = 3;
1436 var29 = string__NativeString__to_s_with_length(var27, var28);
1437 var26 = var29;
1438 varonce25 = var26;
1439 }
1440 ((void (*)(val*, val*))(var_9->class->vft[COLOR_abstract_collection__Sequence__push]))(var_9, var26) /* push on <var_9:Array[String]>*/;
1441 if (varonce30) {
1442 var31 = varonce30;
1443 } else {
1444 var32 = "NativeString";
1445 var33 = 12;
1446 var34 = string__NativeString__to_s_with_length(var32, var33);
1447 var31 = var34;
1448 varonce30 = var31;
1449 }
1450 ((void (*)(val*, val*))(var_9->class->vft[COLOR_abstract_collection__Sequence__push]))(var_9, var31) /* push on <var_9:Array[String]>*/;
1451 var6 = var_9;
1452 varonce = var6;
1453 varonce_guard = 1;
1454 }
1455 var35 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__mclass]))(self) /* mclass on <self:MClassType>*/;
1456 var36 = ((val* (*)(val*))(var35->class->vft[COLOR_model__MClass__name]))(var35) /* name on <var35:MClass>*/;
1457 var37 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__Collection__has]))(var6, var36) /* has on <var6:Array[String]>*/;
1458 var1 = var37;
1459 }
1460 var = var1;
1461 goto RET_LABEL;
1462 RET_LABEL:;
1463 return var;
1464 }
1465 /* method nitni_base#MClassType#is_cprimitive for (self: Object): Bool */
1466 short int VIRTUAL_nitni_base__MClassType__is_cprimitive(val* self) {
1467 short int var /* : Bool */;
1468 short int var1 /* : Bool */;
1469 var1 = nitni_base__MClassType__is_cprimitive(self);
1470 var = var1;
1471 RET_LABEL:;
1472 return var;
1473 }
1474 /* method nitni_base#MNullableType#cname for (self: MNullableType): String */
1475 val* nitni_base__MNullableType__cname(val* self) {
1476 val* var /* : String */;
1477 val* var1 /* : String */;
1478 var1 = ((val* (*)(val*))(self->class->vft[COLOR_nitni_base__MType__mangled_cname]))(self) /* mangled_cname on <self:MNullableType>*/;
1479 var = var1;
1480 goto RET_LABEL;
1481 RET_LABEL:;
1482 return var;
1483 }
1484 /* method nitni_base#MNullableType#cname for (self: Object): String */
1485 val* VIRTUAL_nitni_base__MNullableType__cname(val* self) {
1486 val* var /* : String */;
1487 val* var1 /* : String */;
1488 var1 = nitni_base__MNullableType__cname(self);
1489 var = var1;
1490 RET_LABEL:;
1491 return var;
1492 }
1493 /* method nitni_base#MNullableType#cname_blind for (self: MNullableType): String */
1494 val* nitni_base__MNullableType__cname_blind(val* self) {
1495 val* var /* : String */;
1496 static val* varonce;
1497 val* var1 /* : String */;
1498 char* var2 /* : NativeString */;
1499 long var3 /* : Int */;
1500 val* var4 /* : String */;
1501 if (varonce) {
1502 var1 = varonce;
1503 } else {
1504 var2 = "struct nitni_instance *";
1505 var3 = 23;
1506 var4 = string__NativeString__to_s_with_length(var2, var3);
1507 var1 = var4;
1508 varonce = var1;
1509 }
1510 var = var1;
1511 goto RET_LABEL;
1512 RET_LABEL:;
1513 return var;
1514 }
1515 /* method nitni_base#MNullableType#cname_blind for (self: Object): String */
1516 val* VIRTUAL_nitni_base__MNullableType__cname_blind(val* self) {
1517 val* var /* : String */;
1518 val* var1 /* : String */;
1519 var1 = nitni_base__MNullableType__cname_blind(self);
1520 var = var1;
1521 RET_LABEL:;
1522 return var;
1523 }
1524 /* method nitni_base#MNullableType#mangled_cname for (self: MNullableType): String */
1525 val* nitni_base__MNullableType__mangled_cname(val* self) {
1526 val* var /* : String */;
1527 val* var1 /* : Array[Object] */;
1528 long var2 /* : Int */;
1529 val* var_ /* var : Array[Object] */;
1530 static val* varonce;
1531 val* var3 /* : String */;
1532 char* var4 /* : NativeString */;
1533 long var5 /* : Int */;
1534 val* var6 /* : String */;
1535 val* var7 /* : MType */;
1536 val* var8 /* : String */;
1537 static val* varonce9;
1538 val* var10 /* : String */;
1539 char* var11 /* : NativeString */;
1540 long var12 /* : Int */;
1541 val* var13 /* : String */;
1542 val* var14 /* : String */;
1543 var1 = NEW_array__Array(&type_array__Arraykernel__Object);
1544 var2 = 3;
1545 ((void (*)(val*, long))(var1->class->vft[COLOR_array__Array__with_capacity]))(var1, var2) /* with_capacity on <var1:Array[Object]>*/;
1546 var_ = var1;
1547 if (varonce) {
1548 var3 = varonce;
1549 } else {
1550 var4 = "nullable_";
1551 var5 = 9;
1552 var6 = string__NativeString__to_s_with_length(var4, var5);
1553 var3 = var6;
1554 varonce = var3;
1555 }
1556 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var3) /* add on <var_:Array[Object]>*/;
1557 var7 = ((val* (*)(val*))(self->class->vft[COLOR_model__MNullableType__mtype]))(self) /* mtype on <self:MNullableType>*/;
1558 var8 = ((val* (*)(val*))(var7->class->vft[COLOR_nitni_base__MType__mangled_cname]))(var7) /* mangled_cname on <var7:MType>*/;
1559 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var8) /* add on <var_:Array[Object]>*/;
1560 if (varonce9) {
1561 var10 = varonce9;
1562 } else {
1563 var11 = "";
1564 var12 = 0;
1565 var13 = string__NativeString__to_s_with_length(var11, var12);
1566 var10 = var13;
1567 varonce9 = var10;
1568 }
1569 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var10) /* add on <var_:Array[Object]>*/;
1570 var14 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on <var_:Array[Object]>*/;
1571 var = var14;
1572 goto RET_LABEL;
1573 RET_LABEL:;
1574 return var;
1575 }
1576 /* method nitni_base#MNullableType#mangled_cname for (self: Object): String */
1577 val* VIRTUAL_nitni_base__MNullableType__mangled_cname(val* self) {
1578 val* var /* : String */;
1579 val* var1 /* : String */;
1580 var1 = nitni_base__MNullableType__mangled_cname(self);
1581 var = var1;
1582 RET_LABEL:;
1583 return var;
1584 }
1585 /* method nitni_base#MNullableType#is_cprimitive for (self: MNullableType): Bool */
1586 short int nitni_base__MNullableType__is_cprimitive(val* self) {
1587 short int var /* : Bool */;
1588 short int var1 /* : Bool */;
1589 var1 = 0;
1590 var = var1;
1591 goto RET_LABEL;
1592 RET_LABEL:;
1593 return var;
1594 }
1595 /* method nitni_base#MNullableType#is_cprimitive for (self: Object): Bool */
1596 short int VIRTUAL_nitni_base__MNullableType__is_cprimitive(val* self) {
1597 short int var /* : Bool */;
1598 short int var1 /* : Bool */;
1599 var1 = nitni_base__MNullableType__is_cprimitive(self);
1600 var = var1;
1601 RET_LABEL:;
1602 return var;
1603 }
1604 /* method nitni_base#MVirtualType#mangled_cname for (self: MVirtualType): String */
1605 val* nitni_base__MVirtualType__mangled_cname(val* self) {
1606 val* var /* : String */;
1607 val* var1 /* : String */;
1608 var1 = ((val* (*)(val*))(self->class->vft[COLOR_string__Object__to_s]))(self) /* to_s on <self:MVirtualType>*/;
1609 var = var1;
1610 goto RET_LABEL;
1611 RET_LABEL:;
1612 return var;
1613 }
1614 /* method nitni_base#MVirtualType#mangled_cname for (self: Object): String */
1615 val* VIRTUAL_nitni_base__MVirtualType__mangled_cname(val* self) {
1616 val* var /* : String */;
1617 val* var1 /* : String */;
1618 var1 = nitni_base__MVirtualType__mangled_cname(self);
1619 var = var1;
1620 RET_LABEL:;
1621 return var;
1622 }
1623 /* method nitni_base#MGenericType#cname for (self: MGenericType): String */
1624 val* nitni_base__MGenericType__cname(val* self) {
1625 val* var /* : String */;
1626 val* var1 /* : String */;
1627 var1 = ((val* (*)(val*))(self->class->vft[COLOR_nitni_base__MType__mangled_cname]))(self) /* mangled_cname on <self:MGenericType>*/;
1628 var = var1;
1629 goto RET_LABEL;
1630 RET_LABEL:;
1631 return var;
1632 }
1633 /* method nitni_base#MGenericType#cname for (self: Object): String */
1634 val* VIRTUAL_nitni_base__MGenericType__cname(val* self) {
1635 val* var /* : String */;
1636 val* var1 /* : String */;
1637 var1 = nitni_base__MGenericType__cname(self);
1638 var = var1;
1639 RET_LABEL:;
1640 return var;
1641 }
1642 /* method nitni_base#MGenericType#mangled_cname for (self: MGenericType): String */
1643 val* nitni_base__MGenericType__mangled_cname(val* self) {
1644 val* var /* : String */;
1645 val* var1 /* : String */;
1646 val* var_base /* var base: String */;
1647 val* var2 /* : Array[String] */;
1648 val* var_params /* var params: Array[String] */;
1649 val* var3 /* : Array[MType] */;
1650 val* var4 /* : Iterator[nullable Object] */;
1651 short int var5 /* : Bool */;
1652 val* var6 /* : nullable Object */;
1653 val* var_arg /* var arg: MType */;
1654 val* var7 /* : String */;
1655 val* var8 /* : Array[Object] */;
1656 long var9 /* : Int */;
1657 val* var_ /* var : Array[Object] */;
1658 static val* varonce;
1659 val* var10 /* : String */;
1660 char* var11 /* : NativeString */;
1661 long var12 /* : Int */;
1662 val* var13 /* : String */;
1663 static val* varonce14;
1664 val* var15 /* : String */;
1665 char* var16 /* : NativeString */;
1666 long var17 /* : Int */;
1667 val* var18 /* : String */;
1668 static val* varonce19;
1669 val* var20 /* : String */;
1670 char* var21 /* : NativeString */;
1671 long var22 /* : Int */;
1672 val* var23 /* : String */;
1673 val* var24 /* : String */;
1674 static val* varonce25;
1675 val* var26 /* : String */;
1676 char* var27 /* : NativeString */;
1677 long var28 /* : Int */;
1678 val* var29 /* : String */;
1679 val* var30 /* : String */;
1680 var1 = ((val* (*)(val*))(self->class->vft[COLOR_nitni_base__MGenericType__mangled_cname]))(self) /* mangled_cname on <self:MGenericType>*/;
1681 var_base = var1;
1682 var2 = NEW_array__Array(&type_array__Arraystring__String);
1683 ((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on <var2:Array[String]>*/;
1684 var_params = var2;
1685 var3 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClassType__arguments]))(self) /* arguments on <self:MGenericType>*/;
1686 var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__iterator]))(var3) /* iterator on <var3:Array[MType]>*/;
1687 for(;;) {
1688 var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on <var4:Iterator[nullable Object]>*/;
1689 if(!var5) break;
1690 var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on <var4:Iterator[nullable Object]>*/;
1691 var_arg = var6;
1692 var7 = ((val* (*)(val*))(var_arg->class->vft[COLOR_nitni_base__MType__mangled_cname]))(var_arg) /* mangled_cname on <var_arg:MType>*/;
1693 ((void (*)(val*, val*))(var_params->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_params, var7) /* add on <var_params:Array[String]>*/;
1694 CONTINUE_label: (void)0;
1695 ((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on <var4:Iterator[nullable Object]>*/;
1696 }
1697 BREAK_label: (void)0;
1698 var8 = NEW_array__Array(&type_array__Arraykernel__Object);
1699 var9 = 5;
1700 ((void (*)(val*, long))(var8->class->vft[COLOR_array__Array__with_capacity]))(var8, var9) /* with_capacity on <var8:Array[Object]>*/;
1701 var_ = var8;
1702 if (varonce) {
1703 var10 = varonce;
1704 } else {
1705 var11 = "";
1706 var12 = 0;
1707 var13 = string__NativeString__to_s_with_length(var11, var12);
1708 var10 = var13;
1709 varonce = var10;
1710 }
1711 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var10) /* add on <var_:Array[Object]>*/;
1712 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var_base) /* add on <var_:Array[Object]>*/;
1713 if (varonce14) {
1714 var15 = varonce14;
1715 } else {
1716 var16 = "_of_";
1717 var17 = 4;
1718 var18 = string__NativeString__to_s_with_length(var16, var17);
1719 var15 = var18;
1720 varonce14 = var15;
1721 }
1722 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var15) /* add on <var_:Array[Object]>*/;
1723 if (varonce19) {
1724 var20 = varonce19;
1725 } else {
1726 var21 = "_";
1727 var22 = 1;
1728 var23 = string__NativeString__to_s_with_length(var21, var22);
1729 var20 = var23;
1730 varonce19 = var20;
1731 }
1732 var24 = ((val* (*)(val*, val*))(var_params->class->vft[COLOR_string__Collection__join]))(var_params, var20) /* join on <var_params:Array[String]>*/;
1733 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var24) /* add on <var_:Array[Object]>*/;
1734 if (varonce25) {
1735 var26 = varonce25;
1736 } else {
1737 var27 = "";
1738 var28 = 0;
1739 var29 = string__NativeString__to_s_with_length(var27, var28);
1740 var26 = var29;
1741 varonce25 = var26;
1742 }
1743 ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var26) /* add on <var_:Array[Object]>*/;
1744 var30 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on <var_:Array[Object]>*/;
1745 var = var30;
1746 goto RET_LABEL;
1747 RET_LABEL:;
1748 return var;
1749 }
1750 /* method nitni_base#MGenericType#mangled_cname for (self: Object): String */
1751 val* VIRTUAL_nitni_base__MGenericType__mangled_cname(val* self) {
1752 val* var /* : String */;
1753 val* var1 /* : String */;
1754 var1 = nitni_base__MGenericType__mangled_cname(self);
1755 var = var1;
1756 RET_LABEL:;
1757 return var;
1758 }
1759 /* method nitni_base#MClass#ctype for (self: MClass): nullable String */
1760 val* nitni_base__MClass__ctype(val* self) {
1761 val* var /* : nullable String */;
1762 val* var1 /* : MClassKind */;
1763 val* var2 /* : MClassKind */;
1764 short int var3 /* : Bool */;
1765 static val* varonce;
1766 val* var4 /* : String */;
1767 char* var5 /* : NativeString */;
1768 long var6 /* : Int */;
1769 val* var7 /* : String */;
1770 var1 = ((val* (*)(val*))(self->class->vft[COLOR_model__MClass__kind]))(self) /* kind on <self:MClass>*/;
1771 var2 = ((val* (*)(val*))(self->class->vft[COLOR_model__Object__extern_kind]))(self) /* extern_kind on <self:MClass>*/;
1772 var3 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_kernel__Object___61d_61d]))(var1, var2) /* == on <var1:MClassKind>*/;
1773 if (!var3) {
1774 fprintf(stderr, "Runtime error: %s", "Assert failed");
1775 fprintf(stderr, " (%s:%d)\n", "src/nitni/nitni_base.nit", 146);
1776 show_backtrace(1);
1777 }
1778 if (varonce) {
1779 var4 = varonce;
1780 } else {
1781 var5 = "void*";
1782 var6 = 5;
1783 var7 = string__NativeString__to_s_with_length(var5, var6);
1784 var4 = var7;
1785 varonce = var4;
1786 }
1787 var = var4;
1788 goto RET_LABEL;
1789 RET_LABEL:;
1790 return var;
1791 }
1792 /* method nitni_base#MClass#ctype for (self: Object): nullable String */
1793 val* VIRTUAL_nitni_base__MClass__ctype(val* self) {
1794 val* var /* : nullable String */;
1795 val* var1 /* : nullable String */;
1796 var1 = nitni_base__MClass__ctype(self);
1797 var = var1;
1798 RET_LABEL:;
1799 return var;
1800 }