Merge: doc: fixed some typos and other misc. corrections
[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 /* : CString */;
11 val* var6 /* : String */;
12 val* var7 /* : nullable Int */;
13 val* var8 /* : nullable Int */;
14 val* var9 /* : nullable Bool */;
15 val* var10 /* : nullable Bool */;
16 short int var11 /* : Bool */;
17 static val* varonce12;
18 val* var13 /* : String */;
19 char* var14 /* : CString */;
20 val* var15 /* : String */;
21 val* var16 /* : nullable Int */;
22 val* var17 /* : nullable Int */;
23 val* var18 /* : nullable Bool */;
24 val* var19 /* : nullable Bool */;
25 static val* varonce20;
26 val* var21 /* : String */;
27 char* var22 /* : CString */;
28 val* var23 /* : String */;
29 val* var24 /* : nullable Int */;
30 val* var25 /* : nullable Int */;
31 val* var26 /* : nullable Bool */;
32 val* var27 /* : nullable Bool */;
33 short int var28 /* : Bool */;
34 static val* varonce29;
35 val* var30 /* : String */;
36 char* var31 /* : CString */;
37 val* var32 /* : String */;
38 val* var33 /* : nullable Int */;
39 val* var34 /* : nullable Int */;
40 val* var35 /* : nullable Bool */;
41 val* var36 /* : nullable Bool */;
42 static val* varonce37;
43 val* var38 /* : String */;
44 char* var39 /* : CString */;
45 val* var40 /* : String */;
46 val* var41 /* : nullable Int */;
47 val* var42 /* : nullable Int */;
48 val* var43 /* : nullable Bool */;
49 val* var44 /* : nullable Bool */;
50 short int var45 /* : Bool */;
51 static val* varonce46;
52 val* var47 /* : String */;
53 char* var48 /* : CString */;
54 val* var49 /* : String */;
55 val* var50 /* : nullable Int */;
56 val* var51 /* : nullable Int */;
57 val* var52 /* : nullable Bool */;
58 val* var53 /* : nullable Bool */;
59 static val* varonce54;
60 val* var55 /* : String */;
61 char* var56 /* : CString */;
62 val* var57 /* : String */;
63 val* var58 /* : nullable Int */;
64 val* var59 /* : nullable Int */;
65 val* var60 /* : nullable Bool */;
66 val* var61 /* : nullable Bool */;
67 short int var62 /* : Bool */;
68 static val* varonce63;
69 val* var64 /* : String */;
70 char* var65 /* : CString */;
71 val* var66 /* : String */;
72 val* var67 /* : nullable Int */;
73 val* var68 /* : nullable Int */;
74 val* var69 /* : nullable Bool */;
75 val* var70 /* : nullable Bool */;
76 static val* varonce71;
77 val* var72 /* : String */;
78 char* var73 /* : CString */;
79 val* var74 /* : String */;
80 val* var75 /* : nullable Int */;
81 val* var76 /* : nullable Int */;
82 val* var77 /* : nullable Bool */;
83 val* var78 /* : nullable Bool */;
84 short int var79 /* : Bool */;
85 static val* varonce80;
86 val* var81 /* : String */;
87 char* var82 /* : CString */;
88 val* var83 /* : String */;
89 val* var84 /* : nullable Int */;
90 val* var85 /* : nullable Int */;
91 val* var86 /* : nullable Bool */;
92 val* var87 /* : nullable Bool */;
93 static val* varonce88;
94 val* var89 /* : String */;
95 char* var90 /* : CString */;
96 val* var91 /* : String */;
97 val* var92 /* : nullable Int */;
98 val* var93 /* : nullable Int */;
99 val* var94 /* : nullable Bool */;
100 val* var95 /* : nullable Bool */;
101 short int var96 /* : Bool */;
102 static val* varonce97;
103 val* var98 /* : String */;
104 char* var99 /* : CString */;
105 val* var100 /* : String */;
106 val* var101 /* : nullable Int */;
107 val* var102 /* : nullable Int */;
108 val* var103 /* : nullable Bool */;
109 val* var104 /* : nullable Bool */;
110 static val* varonce105;
111 val* var106 /* : String */;
112 char* var107 /* : CString */;
113 val* var108 /* : String */;
114 val* var109 /* : nullable Int */;
115 val* var110 /* : nullable Int */;
116 val* var111 /* : nullable Bool */;
117 val* var112 /* : nullable Bool */;
118 short int var113 /* : Bool */;
119 static val* varonce114;
120 val* var115 /* : String */;
121 char* var116 /* : CString */;
122 val* var117 /* : String */;
123 val* var118 /* : nullable Int */;
124 val* var119 /* : nullable Int */;
125 val* var120 /* : nullable Bool */;
126 val* var121 /* : nullable Bool */;
127 static val* varonce122;
128 val* var123 /* : String */;
129 char* var124 /* : CString */;
130 val* var125 /* : String */;
131 val* var126 /* : nullable Int */;
132 val* var127 /* : nullable Int */;
133 val* var128 /* : nullable Bool */;
134 val* var129 /* : nullable Bool */;
135 short int var130 /* : Bool */;
136 static val* varonce131;
137 val* var132 /* : String */;
138 char* var133 /* : CString */;
139 val* var134 /* : String */;
140 val* var135 /* : nullable Int */;
141 val* var136 /* : nullable Int */;
142 val* var137 /* : nullable Bool */;
143 val* var138 /* : nullable Bool */;
144 static val* varonce139;
145 val* var140 /* : String */;
146 char* var141 /* : CString */;
147 val* var142 /* : String */;
148 val* var143 /* : nullable Int */;
149 val* var144 /* : nullable Int */;
150 val* var145 /* : nullable Bool */;
151 val* var146 /* : nullable Bool */;
152 short int var147 /* : Bool */;
153 static val* varonce148;
154 val* var149 /* : String */;
155 char* var150 /* : CString */;
156 val* var151 /* : String */;
157 val* var152 /* : nullable Int */;
158 val* var153 /* : nullable Int */;
159 val* var154 /* : nullable Bool */;
160 val* var155 /* : nullable Bool */;
161 static val* varonce156;
162 val* var157 /* : String */;
163 char* var158 /* : CString */;
164 val* var159 /* : String */;
165 val* var160 /* : nullable Int */;
166 val* var161 /* : nullable Int */;
167 val* var162 /* : nullable Bool */;
168 val* var163 /* : nullable Bool */;
169 short int var164 /* : Bool */;
170 static val* varonce165;
171 val* var166 /* : String */;
172 char* var167 /* : CString */;
173 val* var168 /* : String */;
174 val* var169 /* : nullable Int */;
175 val* var170 /* : nullable Int */;
176 val* var171 /* : nullable Bool */;
177 val* var172 /* : nullable Bool */;
178 static val* varonce173;
179 val* var174 /* : String */;
180 char* var175 /* : CString */;
181 val* var176 /* : String */;
182 val* var177 /* : nullable Int */;
183 val* var178 /* : nullable Int */;
184 val* var179 /* : nullable Bool */;
185 val* var180 /* : nullable Bool */;
186 short int var181 /* : Bool */;
187 static val* varonce182;
188 val* var183 /* : String */;
189 char* var184 /* : CString */;
190 val* var185 /* : String */;
191 val* var186 /* : nullable Int */;
192 val* var187 /* : nullable Int */;
193 val* var188 /* : nullable Bool */;
194 val* var189 /* : nullable Bool */;
195 static val* varonce190;
196 val* var191 /* : String */;
197 char* var192 /* : CString */;
198 val* var193 /* : String */;
199 val* var194 /* : nullable Int */;
200 val* var195 /* : nullable Int */;
201 val* var196 /* : nullable Bool */;
202 val* var197 /* : nullable Bool */;
203 short int var198 /* : Bool */;
204 static val* varonce199;
205 val* var200 /* : String */;
206 char* var201 /* : CString */;
207 val* var202 /* : String */;
208 val* var203 /* : nullable Int */;
209 val* var204 /* : nullable Int */;
210 val* var205 /* : nullable Bool */;
211 val* var206 /* : nullable Bool */;
212 static val* varonce207;
213 val* var208 /* : String */;
214 char* var209 /* : CString */;
215 val* var210 /* : String */;
216 val* var211 /* : nullable Int */;
217 val* var212 /* : nullable Int */;
218 val* var213 /* : nullable Bool */;
219 val* var214 /* : nullable Bool */;
220 short int var215 /* : Bool */;
221 static val* varonce216;
222 val* var217 /* : String */;
223 char* var218 /* : CString */;
224 val* var219 /* : String */;
225 val* var220 /* : nullable Int */;
226 val* var221 /* : nullable Int */;
227 val* var222 /* : nullable Bool */;
228 val* var223 /* : nullable Bool */;
229 static val* varonce224;
230 val* var225 /* : String */;
231 char* var226 /* : CString */;
232 val* var227 /* : String */;
233 val* var228 /* : nullable Int */;
234 val* var229 /* : nullable Int */;
235 val* var230 /* : nullable Bool */;
236 val* var231 /* : nullable Bool */;
237 short int var232 /* : Bool */;
238 static val* varonce233;
239 val* var234 /* : String */;
240 char* var235 /* : CString */;
241 val* var236 /* : String */;
242 val* var237 /* : nullable Int */;
243 val* var238 /* : nullable Int */;
244 val* var239 /* : nullable Bool */;
245 val* var240 /* : nullable Bool */;
246 static val* varonce241;
247 val* var242 /* : String */;
248 char* var243 /* : CString */;
249 val* var244 /* : String */;
250 val* var245 /* : nullable Int */;
251 val* var246 /* : nullable Int */;
252 val* var247 /* : nullable Bool */;
253 val* var248 /* : nullable Bool */;
254 short int var249 /* : Bool */;
255 static val* varonce250;
256 val* var251 /* : String */;
257 char* var252 /* : CString */;
258 val* var253 /* : String */;
259 val* var254 /* : nullable Int */;
260 val* var255 /* : nullable Int */;
261 val* var256 /* : nullable Bool */;
262 val* var257 /* : nullable Bool */;
263 static val* varonce258;
264 val* var259 /* : String */;
265 char* var260 /* : CString */;
266 val* var261 /* : String */;
267 val* var262 /* : nullable Int */;
268 val* var263 /* : nullable Int */;
269 val* var264 /* : nullable Bool */;
270 val* var265 /* : nullable Bool */;
271 short int var266 /* : Bool */;
272 static val* varonce267;
273 val* var268 /* : String */;
274 char* var269 /* : CString */;
275 val* var270 /* : String */;
276 val* var271 /* : nullable Int */;
277 val* var272 /* : nullable Int */;
278 val* var273 /* : nullable Bool */;
279 val* var274 /* : nullable Bool */;
280 static val* varonce275;
281 val* var276 /* : String */;
282 char* var277 /* : CString */;
283 val* var278 /* : String */;
284 val* var279 /* : nullable Int */;
285 val* var280 /* : nullable Int */;
286 val* var281 /* : nullable Bool */;
287 val* var282 /* : nullable Bool */;
288 short int var283 /* : Bool */;
289 static val* varonce284;
290 val* var285 /* : String */;
291 char* var286 /* : CString */;
292 val* var287 /* : String */;
293 val* var288 /* : nullable Int */;
294 val* var289 /* : nullable Int */;
295 val* var290 /* : nullable Bool */;
296 val* var291 /* : nullable Bool */;
297 static val* varonce292;
298 val* var293 /* : String */;
299 char* var294 /* : CString */;
300 val* var295 /* : String */;
301 val* var296 /* : nullable Int */;
302 val* var297 /* : nullable Int */;
303 val* var298 /* : nullable Bool */;
304 val* var299 /* : nullable Bool */;
305 short int var300 /* : Bool */;
306 static val* varonce301;
307 val* var302 /* : String */;
308 char* var303 /* : CString */;
309 val* var304 /* : String */;
310 val* var305 /* : nullable Int */;
311 val* var306 /* : nullable Int */;
312 val* var307 /* : nullable Bool */;
313 val* var308 /* : nullable Bool */;
314 static val* varonce309;
315 val* var310 /* : String */;
316 char* var311 /* : CString */;
317 val* var312 /* : String */;
318 val* var313 /* : nullable Int */;
319 val* var314 /* : nullable Int */;
320 val* var315 /* : nullable Bool */;
321 val* var316 /* : nullable Bool */;
322 short int var317 /* : Bool */;
323 static val* varonce318;
324 val* var319 /* : String */;
325 char* var320 /* : CString */;
326 val* var321 /* : String */;
327 val* var322 /* : nullable Int */;
328 val* var323 /* : nullable Int */;
329 val* var324 /* : nullable Bool */;
330 val* var325 /* : nullable Bool */;
331 static val* varonce326;
332 val* var327 /* : String */;
333 char* var328 /* : CString */;
334 val* var329 /* : String */;
335 val* var330 /* : nullable Int */;
336 val* var331 /* : nullable Int */;
337 val* var332 /* : nullable Bool */;
338 val* var333 /* : nullable Bool */;
339 short int var334 /* : Bool */;
340 static val* varonce335;
341 val* var336 /* : String */;
342 char* var337 /* : CString */;
343 val* var338 /* : String */;
344 val* var339 /* : nullable Int */;
345 val* var340 /* : nullable Int */;
346 val* var341 /* : nullable Bool */;
347 val* var342 /* : nullable Bool */;
348 static val* varonce343;
349 val* var344 /* : String */;
350 char* var345 /* : CString */;
351 val* var346 /* : String */;
352 val* var347 /* : nullable Int */;
353 val* var348 /* : nullable Int */;
354 val* var349 /* : nullable Bool */;
355 val* var350 /* : nullable Bool */;
356 short int var351 /* : Bool */;
357 static val* varonce352;
358 val* var353 /* : String */;
359 char* var354 /* : CString */;
360 val* var355 /* : String */;
361 val* var356 /* : nullable Int */;
362 val* var357 /* : nullable Int */;
363 val* var358 /* : nullable Bool */;
364 val* var359 /* : nullable Bool */;
365 static val* varonce360;
366 val* var361 /* : String */;
367 char* var362 /* : CString */;
368 val* var363 /* : String */;
369 val* var364 /* : nullable Int */;
370 val* var365 /* : nullable Int */;
371 val* var366 /* : nullable Bool */;
372 val* var367 /* : nullable Bool */;
373 short int var368 /* : Bool */;
374 static val* varonce369;
375 val* var370 /* : String */;
376 char* var371 /* : CString */;
377 val* var372 /* : String */;
378 val* var373 /* : nullable Int */;
379 val* var374 /* : nullable Int */;
380 val* var375 /* : nullable Bool */;
381 val* var376 /* : nullable Bool */;
382 static val* varonce377;
383 val* var378 /* : String */;
384 char* var379 /* : CString */;
385 val* var380 /* : String */;
386 val* var381 /* : nullable Int */;
387 val* var382 /* : nullable Int */;
388 val* var383 /* : nullable Bool */;
389 val* var384 /* : nullable Bool */;
390 short int var385 /* : Bool */;
391 static val* varonce386;
392 val* var387 /* : String */;
393 char* var388 /* : CString */;
394 val* var389 /* : String */;
395 val* var390 /* : nullable Int */;
396 val* var391 /* : nullable Int */;
397 val* var392 /* : nullable Bool */;
398 val* var393 /* : nullable Bool */;
399 val* var394 /* : SequenceRead[Char] */;
400 val* var395 /* : nullable Object */;
401 short int var396 /* : Bool */;
402 short int var398 /* : Bool */;
403 uint32_t var399 /* : Char */;
404 val* var401 /* : NativeArray[String] */;
405 static val* varonce400;
406 static val* varonce402;
407 val* var403 /* : String */;
408 char* var404 /* : CString */;
409 val* var405 /* : String */;
410 val* var406 /* : nullable Int */;
411 val* var407 /* : nullable Int */;
412 val* var408 /* : nullable Bool */;
413 val* var409 /* : nullable Bool */;
414 long var410 /* : Int */;
415 long var411 /* : Int */;
416 short int var413 /* : Bool */;
417 int cltype;
418 int idtype;
419 const char* var_class_name;
420 long var414 /* : Int */;
421 val* var415 /* : Text */;
422 val* var416 /* : String */;
423 {
424 { /* Inline model$MProperty$name (self) on <self:MMethod> */
425 var3 = self->attrs[COLOR_nitc__model__MProperty___name].val; /* _name on <self:MMethod> */
426 if (unlikely(var3 == NULL)) {
427 if(catchStack.cursor >= 0){
428 longjmp(catchStack.envs[catchStack.cursor], 1);
429 }
430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
431 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2047);
432 fatal_exit(1);
433 }
434 var1 = var3;
435 RET_LABEL2:(void)0;
436 }
437 }
438 var_nit_name = var1;
439 if (likely(varonce!=NULL)) {
440 var4 = varonce;
441 } else {
442 var5 = "+";
443 var7 = (val*)(1l<<2|1);
444 var8 = (val*)(1l<<2|1);
445 var9 = (val*)((long)(0)<<2|3);
446 var10 = (val*)((long)(0)<<2|3);
447 var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
448 var4 = var6;
449 varonce = var4;
450 }
451 {
452 var11 = ((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>*/
453 }
454 if (var11){
455 if (likely(varonce12!=NULL)) {
456 var13 = varonce12;
457 } else {
458 var14 = "_plus";
459 var16 = (val*)(5l<<2|1);
460 var17 = (val*)(5l<<2|1);
461 var18 = (val*)((long)(0)<<2|3);
462 var19 = (val*)((long)(0)<<2|3);
463 var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19);
464 var13 = var15;
465 varonce12 = var13;
466 }
467 var = var13;
468 goto RET_LABEL;
469 } else {
470 }
471 if (likely(varonce20!=NULL)) {
472 var21 = varonce20;
473 } else {
474 var22 = "-";
475 var24 = (val*)(1l<<2|1);
476 var25 = (val*)(1l<<2|1);
477 var26 = (val*)((long)(0)<<2|3);
478 var27 = (val*)((long)(0)<<2|3);
479 var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27);
480 var21 = var23;
481 varonce20 = var21;
482 }
483 {
484 var28 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var21); /* == on <var_nit_name:String>*/
485 }
486 if (var28){
487 if (likely(varonce29!=NULL)) {
488 var30 = varonce29;
489 } else {
490 var31 = "_minus";
491 var33 = (val*)(6l<<2|1);
492 var34 = (val*)(6l<<2|1);
493 var35 = (val*)((long)(0)<<2|3);
494 var36 = (val*)((long)(0)<<2|3);
495 var32 = core__flat___CString___to_s_unsafe(var31, var33, var34, var35, var36);
496 var30 = var32;
497 varonce29 = var30;
498 }
499 var = var30;
500 goto RET_LABEL;
501 } else {
502 }
503 if (likely(varonce37!=NULL)) {
504 var38 = varonce37;
505 } else {
506 var39 = "unary -";
507 var41 = (val*)(7l<<2|1);
508 var42 = (val*)(7l<<2|1);
509 var43 = (val*)((long)(0)<<2|3);
510 var44 = (val*)((long)(0)<<2|3);
511 var40 = core__flat___CString___to_s_unsafe(var39, var41, var42, var43, var44);
512 var38 = var40;
513 varonce37 = var38;
514 }
515 {
516 var45 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var38); /* == on <var_nit_name:String>*/
517 }
518 if (var45){
519 if (likely(varonce46!=NULL)) {
520 var47 = varonce46;
521 } else {
522 var48 = "_unary_minus";
523 var50 = (val*)(12l<<2|1);
524 var51 = (val*)(12l<<2|1);
525 var52 = (val*)((long)(0)<<2|3);
526 var53 = (val*)((long)(0)<<2|3);
527 var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
528 var47 = var49;
529 varonce46 = var47;
530 }
531 var = var47;
532 goto RET_LABEL;
533 } else {
534 }
535 if (likely(varonce54!=NULL)) {
536 var55 = varonce54;
537 } else {
538 var56 = "unary +";
539 var58 = (val*)(7l<<2|1);
540 var59 = (val*)(7l<<2|1);
541 var60 = (val*)((long)(0)<<2|3);
542 var61 = (val*)((long)(0)<<2|3);
543 var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61);
544 var55 = var57;
545 varonce54 = var55;
546 }
547 {
548 var62 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var55); /* == on <var_nit_name:String>*/
549 }
550 if (var62){
551 if (likely(varonce63!=NULL)) {
552 var64 = varonce63;
553 } else {
554 var65 = "_unary_plus";
555 var67 = (val*)(11l<<2|1);
556 var68 = (val*)(11l<<2|1);
557 var69 = (val*)((long)(0)<<2|3);
558 var70 = (val*)((long)(0)<<2|3);
559 var66 = core__flat___CString___to_s_unsafe(var65, var67, var68, var69, var70);
560 var64 = var66;
561 varonce63 = var64;
562 }
563 var = var64;
564 goto RET_LABEL;
565 } else {
566 }
567 if (likely(varonce71!=NULL)) {
568 var72 = varonce71;
569 } else {
570 var73 = "unary ~";
571 var75 = (val*)(7l<<2|1);
572 var76 = (val*)(7l<<2|1);
573 var77 = (val*)((long)(0)<<2|3);
574 var78 = (val*)((long)(0)<<2|3);
575 var74 = core__flat___CString___to_s_unsafe(var73, var75, var76, var77, var78);
576 var72 = var74;
577 varonce71 = var72;
578 }
579 {
580 var79 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var72); /* == on <var_nit_name:String>*/
581 }
582 if (var79){
583 if (likely(varonce80!=NULL)) {
584 var81 = varonce80;
585 } else {
586 var82 = "_unary_tilde";
587 var84 = (val*)(12l<<2|1);
588 var85 = (val*)(12l<<2|1);
589 var86 = (val*)((long)(0)<<2|3);
590 var87 = (val*)((long)(0)<<2|3);
591 var83 = core__flat___CString___to_s_unsafe(var82, var84, var85, var86, var87);
592 var81 = var83;
593 varonce80 = var81;
594 }
595 var = var81;
596 goto RET_LABEL;
597 } else {
598 }
599 if (likely(varonce88!=NULL)) {
600 var89 = varonce88;
601 } else {
602 var90 = "*";
603 var92 = (val*)(1l<<2|1);
604 var93 = (val*)(1l<<2|1);
605 var94 = (val*)((long)(0)<<2|3);
606 var95 = (val*)((long)(0)<<2|3);
607 var91 = core__flat___CString___to_s_unsafe(var90, var92, var93, var94, var95);
608 var89 = var91;
609 varonce88 = var89;
610 }
611 {
612 var96 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var89); /* == on <var_nit_name:String>*/
613 }
614 if (var96){
615 if (likely(varonce97!=NULL)) {
616 var98 = varonce97;
617 } else {
618 var99 = "_star";
619 var101 = (val*)(5l<<2|1);
620 var102 = (val*)(5l<<2|1);
621 var103 = (val*)((long)(0)<<2|3);
622 var104 = (val*)((long)(0)<<2|3);
623 var100 = core__flat___CString___to_s_unsafe(var99, var101, var102, var103, var104);
624 var98 = var100;
625 varonce97 = var98;
626 }
627 var = var98;
628 goto RET_LABEL;
629 } else {
630 }
631 if (likely(varonce105!=NULL)) {
632 var106 = varonce105;
633 } else {
634 var107 = "/";
635 var109 = (val*)(1l<<2|1);
636 var110 = (val*)(1l<<2|1);
637 var111 = (val*)((long)(0)<<2|3);
638 var112 = (val*)((long)(0)<<2|3);
639 var108 = core__flat___CString___to_s_unsafe(var107, var109, var110, var111, var112);
640 var106 = var108;
641 varonce105 = var106;
642 }
643 {
644 var113 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var106); /* == on <var_nit_name:String>*/
645 }
646 if (var113){
647 if (likely(varonce114!=NULL)) {
648 var115 = varonce114;
649 } else {
650 var116 = "_slash";
651 var118 = (val*)(6l<<2|1);
652 var119 = (val*)(6l<<2|1);
653 var120 = (val*)((long)(0)<<2|3);
654 var121 = (val*)((long)(0)<<2|3);
655 var117 = core__flat___CString___to_s_unsafe(var116, var118, var119, var120, var121);
656 var115 = var117;
657 varonce114 = var115;
658 }
659 var = var115;
660 goto RET_LABEL;
661 } else {
662 }
663 if (likely(varonce122!=NULL)) {
664 var123 = varonce122;
665 } else {
666 var124 = "%";
667 var126 = (val*)(1l<<2|1);
668 var127 = (val*)(1l<<2|1);
669 var128 = (val*)((long)(0)<<2|3);
670 var129 = (val*)((long)(0)<<2|3);
671 var125 = core__flat___CString___to_s_unsafe(var124, var126, var127, var128, var129);
672 var123 = var125;
673 varonce122 = var123;
674 }
675 {
676 var130 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var123); /* == on <var_nit_name:String>*/
677 }
678 if (var130){
679 if (likely(varonce131!=NULL)) {
680 var132 = varonce131;
681 } else {
682 var133 = "_percent";
683 var135 = (val*)(8l<<2|1);
684 var136 = (val*)(8l<<2|1);
685 var137 = (val*)((long)(0)<<2|3);
686 var138 = (val*)((long)(0)<<2|3);
687 var134 = core__flat___CString___to_s_unsafe(var133, var135, var136, var137, var138);
688 var132 = var134;
689 varonce131 = var132;
690 }
691 var = var132;
692 goto RET_LABEL;
693 } else {
694 }
695 if (likely(varonce139!=NULL)) {
696 var140 = varonce139;
697 } else {
698 var141 = "[]";
699 var143 = (val*)(2l<<2|1);
700 var144 = (val*)(2l<<2|1);
701 var145 = (val*)((long)(0)<<2|3);
702 var146 = (val*)((long)(0)<<2|3);
703 var142 = core__flat___CString___to_s_unsafe(var141, var143, var144, var145, var146);
704 var140 = var142;
705 varonce139 = var140;
706 }
707 {
708 var147 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var140); /* == on <var_nit_name:String>*/
709 }
710 if (var147){
711 if (likely(varonce148!=NULL)) {
712 var149 = varonce148;
713 } else {
714 var150 = "_index";
715 var152 = (val*)(6l<<2|1);
716 var153 = (val*)(6l<<2|1);
717 var154 = (val*)((long)(0)<<2|3);
718 var155 = (val*)((long)(0)<<2|3);
719 var151 = core__flat___CString___to_s_unsafe(var150, var152, var153, var154, var155);
720 var149 = var151;
721 varonce148 = var149;
722 }
723 var = var149;
724 goto RET_LABEL;
725 } else {
726 }
727 if (likely(varonce156!=NULL)) {
728 var157 = varonce156;
729 } else {
730 var158 = "[]=";
731 var160 = (val*)(3l<<2|1);
732 var161 = (val*)(3l<<2|1);
733 var162 = (val*)((long)(0)<<2|3);
734 var163 = (val*)((long)(0)<<2|3);
735 var159 = core__flat___CString___to_s_unsafe(var158, var160, var161, var162, var163);
736 var157 = var159;
737 varonce156 = var157;
738 }
739 {
740 var164 = ((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>*/
741 }
742 if (var164){
743 if (likely(varonce165!=NULL)) {
744 var166 = varonce165;
745 } else {
746 var167 = "_index_assign";
747 var169 = (val*)(13l<<2|1);
748 var170 = (val*)(13l<<2|1);
749 var171 = (val*)((long)(0)<<2|3);
750 var172 = (val*)((long)(0)<<2|3);
751 var168 = core__flat___CString___to_s_unsafe(var167, var169, var170, var171, var172);
752 var166 = var168;
753 varonce165 = var166;
754 }
755 var = var166;
756 goto RET_LABEL;
757 } else {
758 }
759 if (likely(varonce173!=NULL)) {
760 var174 = varonce173;
761 } else {
762 var175 = "==";
763 var177 = (val*)(2l<<2|1);
764 var178 = (val*)(2l<<2|1);
765 var179 = (val*)((long)(0)<<2|3);
766 var180 = (val*)((long)(0)<<2|3);
767 var176 = core__flat___CString___to_s_unsafe(var175, var177, var178, var179, var180);
768 var174 = var176;
769 varonce173 = var174;
770 }
771 {
772 var181 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var174); /* == on <var_nit_name:String>*/
773 }
774 if (var181){
775 if (likely(varonce182!=NULL)) {
776 var183 = varonce182;
777 } else {
778 var184 = "_equal";
779 var186 = (val*)(6l<<2|1);
780 var187 = (val*)(6l<<2|1);
781 var188 = (val*)((long)(0)<<2|3);
782 var189 = (val*)((long)(0)<<2|3);
783 var185 = core__flat___CString___to_s_unsafe(var184, var186, var187, var188, var189);
784 var183 = var185;
785 varonce182 = var183;
786 }
787 var = var183;
788 goto RET_LABEL;
789 } else {
790 }
791 if (likely(varonce190!=NULL)) {
792 var191 = varonce190;
793 } else {
794 var192 = "<";
795 var194 = (val*)(1l<<2|1);
796 var195 = (val*)(1l<<2|1);
797 var196 = (val*)((long)(0)<<2|3);
798 var197 = (val*)((long)(0)<<2|3);
799 var193 = core__flat___CString___to_s_unsafe(var192, var194, var195, var196, var197);
800 var191 = var193;
801 varonce190 = var191;
802 }
803 {
804 var198 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var191); /* == on <var_nit_name:String>*/
805 }
806 if (var198){
807 if (likely(varonce199!=NULL)) {
808 var200 = varonce199;
809 } else {
810 var201 = "_less";
811 var203 = (val*)(5l<<2|1);
812 var204 = (val*)(5l<<2|1);
813 var205 = (val*)((long)(0)<<2|3);
814 var206 = (val*)((long)(0)<<2|3);
815 var202 = core__flat___CString___to_s_unsafe(var201, var203, var204, var205, var206);
816 var200 = var202;
817 varonce199 = var200;
818 }
819 var = var200;
820 goto RET_LABEL;
821 } else {
822 }
823 if (likely(varonce207!=NULL)) {
824 var208 = varonce207;
825 } else {
826 var209 = ">";
827 var211 = (val*)(1l<<2|1);
828 var212 = (val*)(1l<<2|1);
829 var213 = (val*)((long)(0)<<2|3);
830 var214 = (val*)((long)(0)<<2|3);
831 var210 = core__flat___CString___to_s_unsafe(var209, var211, var212, var213, var214);
832 var208 = var210;
833 varonce207 = var208;
834 }
835 {
836 var215 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var208); /* == on <var_nit_name:String>*/
837 }
838 if (var215){
839 if (likely(varonce216!=NULL)) {
840 var217 = varonce216;
841 } else {
842 var218 = "_greater";
843 var220 = (val*)(8l<<2|1);
844 var221 = (val*)(8l<<2|1);
845 var222 = (val*)((long)(0)<<2|3);
846 var223 = (val*)((long)(0)<<2|3);
847 var219 = core__flat___CString___to_s_unsafe(var218, var220, var221, var222, var223);
848 var217 = var219;
849 varonce216 = var217;
850 }
851 var = var217;
852 goto RET_LABEL;
853 } else {
854 }
855 if (likely(varonce224!=NULL)) {
856 var225 = varonce224;
857 } else {
858 var226 = "<=";
859 var228 = (val*)(2l<<2|1);
860 var229 = (val*)(2l<<2|1);
861 var230 = (val*)((long)(0)<<2|3);
862 var231 = (val*)((long)(0)<<2|3);
863 var227 = core__flat___CString___to_s_unsafe(var226, var228, var229, var230, var231);
864 var225 = var227;
865 varonce224 = var225;
866 }
867 {
868 var232 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var225); /* == on <var_nit_name:String>*/
869 }
870 if (var232){
871 if (likely(varonce233!=NULL)) {
872 var234 = varonce233;
873 } else {
874 var235 = "_less_or_equal";
875 var237 = (val*)(14l<<2|1);
876 var238 = (val*)(14l<<2|1);
877 var239 = (val*)((long)(0)<<2|3);
878 var240 = (val*)((long)(0)<<2|3);
879 var236 = core__flat___CString___to_s_unsafe(var235, var237, var238, var239, var240);
880 var234 = var236;
881 varonce233 = var234;
882 }
883 var = var234;
884 goto RET_LABEL;
885 } else {
886 }
887 if (likely(varonce241!=NULL)) {
888 var242 = varonce241;
889 } else {
890 var243 = ">=";
891 var245 = (val*)(2l<<2|1);
892 var246 = (val*)(2l<<2|1);
893 var247 = (val*)((long)(0)<<2|3);
894 var248 = (val*)((long)(0)<<2|3);
895 var244 = core__flat___CString___to_s_unsafe(var243, var245, var246, var247, var248);
896 var242 = var244;
897 varonce241 = var242;
898 }
899 {
900 var249 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var242); /* == on <var_nit_name:String>*/
901 }
902 if (var249){
903 if (likely(varonce250!=NULL)) {
904 var251 = varonce250;
905 } else {
906 var252 = "_greater_or_equal";
907 var254 = (val*)(17l<<2|1);
908 var255 = (val*)(17l<<2|1);
909 var256 = (val*)((long)(0)<<2|3);
910 var257 = (val*)((long)(0)<<2|3);
911 var253 = core__flat___CString___to_s_unsafe(var252, var254, var255, var256, var257);
912 var251 = var253;
913 varonce250 = var251;
914 }
915 var = var251;
916 goto RET_LABEL;
917 } else {
918 }
919 if (likely(varonce258!=NULL)) {
920 var259 = varonce258;
921 } else {
922 var260 = "!=";
923 var262 = (val*)(2l<<2|1);
924 var263 = (val*)(2l<<2|1);
925 var264 = (val*)((long)(0)<<2|3);
926 var265 = (val*)((long)(0)<<2|3);
927 var261 = core__flat___CString___to_s_unsafe(var260, var262, var263, var264, var265);
928 var259 = var261;
929 varonce258 = var259;
930 }
931 {
932 var266 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var259); /* == on <var_nit_name:String>*/
933 }
934 if (var266){
935 if (likely(varonce267!=NULL)) {
936 var268 = varonce267;
937 } else {
938 var269 = "_not_equal";
939 var271 = (val*)(10l<<2|1);
940 var272 = (val*)(10l<<2|1);
941 var273 = (val*)((long)(0)<<2|3);
942 var274 = (val*)((long)(0)<<2|3);
943 var270 = core__flat___CString___to_s_unsafe(var269, var271, var272, var273, var274);
944 var268 = var270;
945 varonce267 = var268;
946 }
947 var = var268;
948 goto RET_LABEL;
949 } else {
950 }
951 if (likely(varonce275!=NULL)) {
952 var276 = varonce275;
953 } else {
954 var277 = "<<";
955 var279 = (val*)(2l<<2|1);
956 var280 = (val*)(2l<<2|1);
957 var281 = (val*)((long)(0)<<2|3);
958 var282 = (val*)((long)(0)<<2|3);
959 var278 = core__flat___CString___to_s_unsafe(var277, var279, var280, var281, var282);
960 var276 = var278;
961 varonce275 = var276;
962 }
963 {
964 var283 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var276); /* == on <var_nit_name:String>*/
965 }
966 if (var283){
967 if (likely(varonce284!=NULL)) {
968 var285 = varonce284;
969 } else {
970 var286 = "_left";
971 var288 = (val*)(5l<<2|1);
972 var289 = (val*)(5l<<2|1);
973 var290 = (val*)((long)(0)<<2|3);
974 var291 = (val*)((long)(0)<<2|3);
975 var287 = core__flat___CString___to_s_unsafe(var286, var288, var289, var290, var291);
976 var285 = var287;
977 varonce284 = var285;
978 }
979 var = var285;
980 goto RET_LABEL;
981 } else {
982 }
983 if (likely(varonce292!=NULL)) {
984 var293 = varonce292;
985 } else {
986 var294 = ">>";
987 var296 = (val*)(2l<<2|1);
988 var297 = (val*)(2l<<2|1);
989 var298 = (val*)((long)(0)<<2|3);
990 var299 = (val*)((long)(0)<<2|3);
991 var295 = core__flat___CString___to_s_unsafe(var294, var296, var297, var298, var299);
992 var293 = var295;
993 varonce292 = var293;
994 }
995 {
996 var300 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var293); /* == on <var_nit_name:String>*/
997 }
998 if (var300){
999 if (likely(varonce301!=NULL)) {
1000 var302 = varonce301;
1001 } else {
1002 var303 = "_right";
1003 var305 = (val*)(6l<<2|1);
1004 var306 = (val*)(6l<<2|1);
1005 var307 = (val*)((long)(0)<<2|3);
1006 var308 = (val*)((long)(0)<<2|3);
1007 var304 = core__flat___CString___to_s_unsafe(var303, var305, var306, var307, var308);
1008 var302 = var304;
1009 varonce301 = var302;
1010 }
1011 var = var302;
1012 goto RET_LABEL;
1013 } else {
1014 }
1015 if (likely(varonce309!=NULL)) {
1016 var310 = varonce309;
1017 } else {
1018 var311 = "<=>";
1019 var313 = (val*)(3l<<2|1);
1020 var314 = (val*)(3l<<2|1);
1021 var315 = (val*)((long)(0)<<2|3);
1022 var316 = (val*)((long)(0)<<2|3);
1023 var312 = core__flat___CString___to_s_unsafe(var311, var313, var314, var315, var316);
1024 var310 = var312;
1025 varonce309 = var310;
1026 }
1027 {
1028 var317 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var310); /* == on <var_nit_name:String>*/
1029 }
1030 if (var317){
1031 if (likely(varonce318!=NULL)) {
1032 var319 = varonce318;
1033 } else {
1034 var320 = "_starship";
1035 var322 = (val*)(9l<<2|1);
1036 var323 = (val*)(9l<<2|1);
1037 var324 = (val*)((long)(0)<<2|3);
1038 var325 = (val*)((long)(0)<<2|3);
1039 var321 = core__flat___CString___to_s_unsafe(var320, var322, var323, var324, var325);
1040 var319 = var321;
1041 varonce318 = var319;
1042 }
1043 var = var319;
1044 goto RET_LABEL;
1045 } else {
1046 }
1047 if (likely(varonce326!=NULL)) {
1048 var327 = varonce326;
1049 } else {
1050 var328 = "|";
1051 var330 = (val*)(1l<<2|1);
1052 var331 = (val*)(1l<<2|1);
1053 var332 = (val*)((long)(0)<<2|3);
1054 var333 = (val*)((long)(0)<<2|3);
1055 var329 = core__flat___CString___to_s_unsafe(var328, var330, var331, var332, var333);
1056 var327 = var329;
1057 varonce326 = var327;
1058 }
1059 {
1060 var334 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var327); /* == on <var_nit_name:String>*/
1061 }
1062 if (var334){
1063 if (likely(varonce335!=NULL)) {
1064 var336 = varonce335;
1065 } else {
1066 var337 = "_pipe";
1067 var339 = (val*)(5l<<2|1);
1068 var340 = (val*)(5l<<2|1);
1069 var341 = (val*)((long)(0)<<2|3);
1070 var342 = (val*)((long)(0)<<2|3);
1071 var338 = core__flat___CString___to_s_unsafe(var337, var339, var340, var341, var342);
1072 var336 = var338;
1073 varonce335 = var336;
1074 }
1075 var = var336;
1076 goto RET_LABEL;
1077 } else {
1078 }
1079 if (likely(varonce343!=NULL)) {
1080 var344 = varonce343;
1081 } else {
1082 var345 = "^";
1083 var347 = (val*)(1l<<2|1);
1084 var348 = (val*)(1l<<2|1);
1085 var349 = (val*)((long)(0)<<2|3);
1086 var350 = (val*)((long)(0)<<2|3);
1087 var346 = core__flat___CString___to_s_unsafe(var345, var347, var348, var349, var350);
1088 var344 = var346;
1089 varonce343 = var344;
1090 }
1091 {
1092 var351 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var344); /* == on <var_nit_name:String>*/
1093 }
1094 if (var351){
1095 if (likely(varonce352!=NULL)) {
1096 var353 = varonce352;
1097 } else {
1098 var354 = "_caret";
1099 var356 = (val*)(6l<<2|1);
1100 var357 = (val*)(6l<<2|1);
1101 var358 = (val*)((long)(0)<<2|3);
1102 var359 = (val*)((long)(0)<<2|3);
1103 var355 = core__flat___CString___to_s_unsafe(var354, var356, var357, var358, var359);
1104 var353 = var355;
1105 varonce352 = var353;
1106 }
1107 var = var353;
1108 goto RET_LABEL;
1109 } else {
1110 }
1111 if (likely(varonce360!=NULL)) {
1112 var361 = varonce360;
1113 } else {
1114 var362 = "&";
1115 var364 = (val*)(1l<<2|1);
1116 var365 = (val*)(1l<<2|1);
1117 var366 = (val*)((long)(0)<<2|3);
1118 var367 = (val*)((long)(0)<<2|3);
1119 var363 = core__flat___CString___to_s_unsafe(var362, var364, var365, var366, var367);
1120 var361 = var363;
1121 varonce360 = var361;
1122 }
1123 {
1124 var368 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var361); /* == on <var_nit_name:String>*/
1125 }
1126 if (var368){
1127 if (likely(varonce369!=NULL)) {
1128 var370 = varonce369;
1129 } else {
1130 var371 = "_amp";
1131 var373 = (val*)(4l<<2|1);
1132 var374 = (val*)(4l<<2|1);
1133 var375 = (val*)((long)(0)<<2|3);
1134 var376 = (val*)((long)(0)<<2|3);
1135 var372 = core__flat___CString___to_s_unsafe(var371, var373, var374, var375, var376);
1136 var370 = var372;
1137 varonce369 = var370;
1138 }
1139 var = var370;
1140 goto RET_LABEL;
1141 } else {
1142 }
1143 if (likely(varonce377!=NULL)) {
1144 var378 = varonce377;
1145 } else {
1146 var379 = "~";
1147 var381 = (val*)(1l<<2|1);
1148 var382 = (val*)(1l<<2|1);
1149 var383 = (val*)((long)(0)<<2|3);
1150 var384 = (val*)((long)(0)<<2|3);
1151 var380 = core__flat___CString___to_s_unsafe(var379, var381, var382, var383, var384);
1152 var378 = var380;
1153 varonce377 = var378;
1154 }
1155 {
1156 var385 = ((short int(*)(val* self, val* p0))(var_nit_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nit_name, var378); /* == on <var_nit_name:String>*/
1157 }
1158 if (var385){
1159 if (likely(varonce386!=NULL)) {
1160 var387 = varonce386;
1161 } else {
1162 var388 = "_tilde";
1163 var390 = (val*)(6l<<2|1);
1164 var391 = (val*)(6l<<2|1);
1165 var392 = (val*)((long)(0)<<2|3);
1166 var393 = (val*)((long)(0)<<2|3);
1167 var389 = core__flat___CString___to_s_unsafe(var388, var390, var391, var392, var393);
1168 var387 = var389;
1169 varonce386 = var387;
1170 }
1171 var = var387;
1172 goto RET_LABEL;
1173 } else {
1174 }
1175 {
1176 var394 = ((val*(*)(val* self))(var_nit_name->class->vft[COLOR_core__abstract_text__Text__chars]))(var_nit_name); /* chars on <var_nit_name:String>*/
1177 }
1178 {
1179 var395 = ((val*(*)(val* self))((((long)var394&3)?class_info[((long)var394&3)]:var394->class)->vft[COLOR_core__abstract_collection__SequenceRead__last]))(var394); /* last on <var394:SequenceRead[Char]>*/
1180 }
1181 {
1182 { /* Inline kernel$Char$== (var395,'=') on <var395:nullable Object(Char)> */
1183 var399 = (uint32_t)((long)(var395)>>2);
1184 var398 = var399 == '=';
1185 var396 = var398;
1186 goto RET_LABEL397;
1187 RET_LABEL397:(void)0;
1188 }
1189 }
1190 if (var396){
1191 if (unlikely(varonce400==NULL)) {
1192 var401 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String);
1193 if (likely(varonce402!=NULL)) {
1194 var403 = varonce402;
1195 } else {
1196 var404 = "__assign";
1197 var406 = (val*)(8l<<2|1);
1198 var407 = (val*)(8l<<2|1);
1199 var408 = (val*)((long)(0)<<2|3);
1200 var409 = (val*)((long)(0)<<2|3);
1201 var405 = core__flat___CString___to_s_unsafe(var404, var406, var407, var408, var409);
1202 var403 = var405;
1203 varonce402 = var403;
1204 }
1205 ((struct instance_core__NativeArray*)var401)->values[1]=var403;
1206 } else {
1207 var401 = varonce400;
1208 varonce400 = NULL;
1209 }
1210 {
1211 var410 = ((long(*)(val* self))(var_nit_name->class->vft[COLOR_core__abstract_text__Text__length]))(var_nit_name); /* length on <var_nit_name:String>*/
1212 }
1213 {
1214 { /* Inline kernel$Int$- (var410,1l) on <var410:Int> */
1215 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1216 /* <1l:Int> isa OTHER */
1217 var413 = 1; /* easy <1l:Int> isa OTHER*/
1218 if (unlikely(!var413)) {
1219 var_class_name = type_core__Int.name;
1220 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1221 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1222 fatal_exit(1);
1223 }
1224 var414 = var410 - 1l;
1225 var411 = var414;
1226 goto RET_LABEL412;
1227 RET_LABEL412:(void)0;
1228 }
1229 }
1230 {
1231 var415 = ((val*(*)(val* self, long p0, long p1))(var_nit_name->class->vft[COLOR_core__abstract_text__Text__substring]))(var_nit_name, 0l, var411); /* substring on <var_nit_name:String>*/
1232 }
1233 ((struct instance_core__NativeArray*)var401)->values[0]=var415;
1234 {
1235 var416 = ((val*(*)(val* self))(var401->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var401); /* native_to_s on <var401:NativeArray[String]>*/
1236 }
1237 varonce400 = var401;
1238 var = var416;
1239 goto RET_LABEL;
1240 } else {
1241 }
1242 var = var_nit_name;
1243 goto RET_LABEL;
1244 RET_LABEL:;
1245 return var;
1246 }
1247 /* method nitni_base$MType$cname for (self: MType): String */
1248 val* nitc__nitni_base___MType___cname(val* self) {
1249 val* var /* : String */;
1250 val* var1 /* : String */;
1251 {
1252 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base__MType__cname_normal_class]))(self); /* cname_normal_class on <self:MType>*/
1253 }
1254 var = var1;
1255 goto RET_LABEL;
1256 RET_LABEL:;
1257 return var;
1258 }
1259 /* method nitni_base$MType$cname_blind for (self: MType): String */
1260 val* nitc__nitni_base___MType___cname_blind(val* self) {
1261 val* var /* : String */;
1262 static val* varonce;
1263 val* var1 /* : String */;
1264 char* var2 /* : CString */;
1265 val* var3 /* : String */;
1266 val* var4 /* : nullable Int */;
1267 val* var5 /* : nullable Int */;
1268 val* var6 /* : nullable Bool */;
1269 val* var7 /* : nullable Bool */;
1270 if (likely(varonce!=NULL)) {
1271 var1 = varonce;
1272 } else {
1273 var2 = "struct nitni_instance *";
1274 var4 = (val*)(23l<<2|1);
1275 var5 = (val*)(23l<<2|1);
1276 var6 = (val*)((long)(0)<<2|3);
1277 var7 = (val*)((long)(0)<<2|3);
1278 var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
1279 var1 = var3;
1280 varonce = var1;
1281 }
1282 var = var1;
1283 goto RET_LABEL;
1284 RET_LABEL:;
1285 return var;
1286 }
1287 /* method nitni_base$MType$mangled_cname for (self: MType): String */
1288 val* nitc__nitni_base___MType___mangled_cname(val* self) {
1289 val* var /* : String */;
1290 const char* var_class_name;
1291 var_class_name = self == NULL ? "null" : self->type->name;
1292 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "mangled_cname", var_class_name);
1293 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__nitni_base, 76);
1294 fatal_exit(1);
1295 RET_LABEL:;
1296 return var;
1297 }
1298 /* method nitni_base$MType$is_cprimitive for (self: MType): Bool */
1299 short int nitc__nitni_base___MType___is_cprimitive(val* self) {
1300 short int var /* : Bool */;
1301 var = 0;
1302 goto RET_LABEL;
1303 RET_LABEL:;
1304 return var;
1305 }
1306 /* method nitni_base$MType$cname_normal_class for (self: MType): String */
1307 val* nitc__nitni_base___MType___cname_normal_class(val* self) {
1308 val* var /* : String */;
1309 val* var1 /* : String */;
1310 {
1311 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(self); /* mangled_cname on <self:MType>*/
1312 }
1313 var = var1;
1314 goto RET_LABEL;
1315 RET_LABEL:;
1316 return var;
1317 }
1318 /* method nitni_base$MClassType$cname for (self: MClassType): String */
1319 val* nitc__nitni_base___MClassType___MType__cname(val* self) {
1320 val* var /* : String */;
1321 val* var1 /* : MClass */;
1322 val* var3 /* : MClass */;
1323 val* var4 /* : String */;
1324 val* var6 /* : String */;
1325 val* var_name /* var name: String */;
1326 static val* varonce;
1327 val* var7 /* : String */;
1328 char* var8 /* : CString */;
1329 val* var9 /* : String */;
1330 val* var10 /* : nullable Int */;
1331 val* var11 /* : nullable Int */;
1332 val* var12 /* : nullable Bool */;
1333 val* var13 /* : nullable Bool */;
1334 short int var14 /* : Bool */;
1335 static val* varonce15;
1336 val* var16 /* : String */;
1337 char* var17 /* : CString */;
1338 val* var18 /* : String */;
1339 val* var19 /* : nullable Int */;
1340 val* var20 /* : nullable Int */;
1341 val* var21 /* : nullable Bool */;
1342 val* var22 /* : nullable Bool */;
1343 static val* varonce23;
1344 val* var24 /* : String */;
1345 char* var25 /* : CString */;
1346 val* var26 /* : String */;
1347 val* var27 /* : nullable Int */;
1348 val* var28 /* : nullable Int */;
1349 val* var29 /* : nullable Bool */;
1350 val* var30 /* : nullable Bool */;
1351 short int var31 /* : Bool */;
1352 static val* varonce32;
1353 val* var33 /* : String */;
1354 char* var34 /* : CString */;
1355 val* var35 /* : String */;
1356 val* var36 /* : nullable Int */;
1357 val* var37 /* : nullable Int */;
1358 val* var38 /* : nullable Bool */;
1359 val* var39 /* : nullable Bool */;
1360 static val* varonce40;
1361 val* var41 /* : String */;
1362 char* var42 /* : CString */;
1363 val* var43 /* : String */;
1364 val* var44 /* : nullable Int */;
1365 val* var45 /* : nullable Int */;
1366 val* var46 /* : nullable Bool */;
1367 val* var47 /* : nullable Bool */;
1368 short int var48 /* : Bool */;
1369 static val* varonce49;
1370 val* var50 /* : String */;
1371 char* var51 /* : CString */;
1372 val* var52 /* : String */;
1373 val* var53 /* : nullable Int */;
1374 val* var54 /* : nullable Int */;
1375 val* var55 /* : nullable Bool */;
1376 val* var56 /* : nullable Bool */;
1377 static val* varonce57;
1378 val* var58 /* : String */;
1379 char* var59 /* : CString */;
1380 val* var60 /* : String */;
1381 val* var61 /* : nullable Int */;
1382 val* var62 /* : nullable Int */;
1383 val* var63 /* : nullable Bool */;
1384 val* var64 /* : nullable Bool */;
1385 short int var65 /* : Bool */;
1386 static val* varonce66;
1387 val* var67 /* : String */;
1388 char* var68 /* : CString */;
1389 val* var69 /* : String */;
1390 val* var70 /* : nullable Int */;
1391 val* var71 /* : nullable Int */;
1392 val* var72 /* : nullable Bool */;
1393 val* var73 /* : nullable Bool */;
1394 static val* varonce74;
1395 val* var75 /* : String */;
1396 char* var76 /* : CString */;
1397 val* var77 /* : String */;
1398 val* var78 /* : nullable Int */;
1399 val* var79 /* : nullable Int */;
1400 val* var80 /* : nullable Bool */;
1401 val* var81 /* : nullable Bool */;
1402 short int var82 /* : Bool */;
1403 static val* varonce83;
1404 val* var84 /* : String */;
1405 char* var85 /* : CString */;
1406 val* var86 /* : String */;
1407 val* var87 /* : nullable Int */;
1408 val* var88 /* : nullable Int */;
1409 val* var89 /* : nullable Bool */;
1410 val* var90 /* : nullable Bool */;
1411 static val* varonce91;
1412 val* var92 /* : String */;
1413 char* var93 /* : CString */;
1414 val* var94 /* : String */;
1415 val* var95 /* : nullable Int */;
1416 val* var96 /* : nullable Int */;
1417 val* var97 /* : nullable Bool */;
1418 val* var98 /* : nullable Bool */;
1419 short int var99 /* : Bool */;
1420 static val* varonce100;
1421 val* var101 /* : String */;
1422 char* var102 /* : CString */;
1423 val* var103 /* : String */;
1424 val* var104 /* : nullable Int */;
1425 val* var105 /* : nullable Int */;
1426 val* var106 /* : nullable Bool */;
1427 val* var107 /* : nullable Bool */;
1428 static val* varonce108;
1429 val* var109 /* : String */;
1430 char* var110 /* : CString */;
1431 val* var111 /* : String */;
1432 val* var112 /* : nullable Int */;
1433 val* var113 /* : nullable Int */;
1434 val* var114 /* : nullable Bool */;
1435 val* var115 /* : nullable Bool */;
1436 short int var116 /* : Bool */;
1437 static val* varonce117;
1438 val* var118 /* : String */;
1439 char* var119 /* : CString */;
1440 val* var120 /* : String */;
1441 val* var121 /* : nullable Int */;
1442 val* var122 /* : nullable Int */;
1443 val* var123 /* : nullable Bool */;
1444 val* var124 /* : nullable Bool */;
1445 static val* varonce125;
1446 val* var126 /* : String */;
1447 char* var127 /* : CString */;
1448 val* var128 /* : String */;
1449 val* var129 /* : nullable Int */;
1450 val* var130 /* : nullable Int */;
1451 val* var131 /* : nullable Bool */;
1452 val* var132 /* : nullable Bool */;
1453 short int var133 /* : Bool */;
1454 static val* varonce134;
1455 val* var135 /* : String */;
1456 char* var136 /* : CString */;
1457 val* var137 /* : String */;
1458 val* var138 /* : nullable Int */;
1459 val* var139 /* : nullable Int */;
1460 val* var140 /* : nullable Bool */;
1461 val* var141 /* : nullable Bool */;
1462 static val* varonce142;
1463 val* var143 /* : String */;
1464 char* var144 /* : CString */;
1465 val* var145 /* : String */;
1466 val* var146 /* : nullable Int */;
1467 val* var147 /* : nullable Int */;
1468 val* var148 /* : nullable Bool */;
1469 val* var149 /* : nullable Bool */;
1470 short int var150 /* : Bool */;
1471 static val* varonce151;
1472 val* var152 /* : String */;
1473 char* var153 /* : CString */;
1474 val* var154 /* : String */;
1475 val* var155 /* : nullable Int */;
1476 val* var156 /* : nullable Int */;
1477 val* var157 /* : nullable Bool */;
1478 val* var158 /* : nullable Bool */;
1479 static val* varonce159;
1480 val* var160 /* : String */;
1481 char* var161 /* : CString */;
1482 val* var162 /* : String */;
1483 val* var163 /* : nullable Int */;
1484 val* var164 /* : nullable Int */;
1485 val* var165 /* : nullable Bool */;
1486 val* var166 /* : nullable Bool */;
1487 short int var167 /* : Bool */;
1488 static val* varonce168;
1489 val* var169 /* : String */;
1490 char* var170 /* : CString */;
1491 val* var171 /* : String */;
1492 val* var172 /* : nullable Int */;
1493 val* var173 /* : nullable Int */;
1494 val* var174 /* : nullable Bool */;
1495 val* var175 /* : nullable Bool */;
1496 static val* varonce176;
1497 val* var177 /* : String */;
1498 char* var178 /* : CString */;
1499 val* var179 /* : String */;
1500 val* var180 /* : nullable Int */;
1501 val* var181 /* : nullable Int */;
1502 val* var182 /* : nullable Bool */;
1503 val* var183 /* : nullable Bool */;
1504 short int var184 /* : Bool */;
1505 static val* varonce185;
1506 val* var186 /* : String */;
1507 char* var187 /* : CString */;
1508 val* var188 /* : String */;
1509 val* var189 /* : nullable Int */;
1510 val* var190 /* : nullable Int */;
1511 val* var191 /* : nullable Bool */;
1512 val* var192 /* : nullable Bool */;
1513 val* var193 /* : MClass */;
1514 val* var195 /* : MClass */;
1515 val* var196 /* : MClassKind */;
1516 val* var198 /* : MClassKind */;
1517 val* var199 /* : Sys */;
1518 val* var200 /* : MClassKind */;
1519 short int var201 /* : Bool */;
1520 val* var_other /* var other: nullable Object */;
1521 short int var203 /* : Bool */;
1522 short int var205 /* : Bool */;
1523 val* var206 /* : MClass */;
1524 val* var208 /* : MClass */;
1525 val* var209 /* : nullable String */;
1526 val* var_ctype /* var ctype: nullable String */;
1527 short int var210 /* : Bool */;
1528 short int var211 /* : Bool */;
1529 val* var_other213 /* var other: nullable Object */;
1530 short int var214 /* : Bool */;
1531 short int var215 /* : Bool */;
1532 val* var216 /* : String */;
1533 {
1534 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
1535 var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1536 if (unlikely(var3 == NULL)) {
1537 if(catchStack.cursor >= 0){
1538 longjmp(catchStack.envs[catchStack.cursor], 1);
1539 }
1540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1541 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
1542 fatal_exit(1);
1543 }
1544 var1 = var3;
1545 RET_LABEL2:(void)0;
1546 }
1547 }
1548 {
1549 { /* Inline model$MClass$name (var1) on <var1:MClass> */
1550 var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
1551 if (unlikely(var6 == NULL)) {
1552 if(catchStack.cursor >= 0){
1553 longjmp(catchStack.envs[catchStack.cursor], 1);
1554 }
1555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1556 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 396);
1557 fatal_exit(1);
1558 }
1559 var4 = var6;
1560 RET_LABEL5:(void)0;
1561 }
1562 }
1563 var_name = var4;
1564 if (likely(varonce!=NULL)) {
1565 var7 = varonce;
1566 } else {
1567 var8 = "Bool";
1568 var10 = (val*)(4l<<2|1);
1569 var11 = (val*)(4l<<2|1);
1570 var12 = (val*)((long)(0)<<2|3);
1571 var13 = (val*)((long)(0)<<2|3);
1572 var9 = core__flat___CString___to_s_unsafe(var8, var10, var11, var12, var13);
1573 var7 = var9;
1574 varonce = var7;
1575 }
1576 {
1577 var14 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
1578 }
1579 if (var14){
1580 if (likely(varonce15!=NULL)) {
1581 var16 = varonce15;
1582 } else {
1583 var17 = "int";
1584 var19 = (val*)(3l<<2|1);
1585 var20 = (val*)(3l<<2|1);
1586 var21 = (val*)((long)(0)<<2|3);
1587 var22 = (val*)((long)(0)<<2|3);
1588 var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22);
1589 var16 = var18;
1590 varonce15 = var16;
1591 }
1592 var = var16;
1593 goto RET_LABEL;
1594 } else {
1595 }
1596 if (likely(varonce23!=NULL)) {
1597 var24 = varonce23;
1598 } else {
1599 var25 = "Char";
1600 var27 = (val*)(4l<<2|1);
1601 var28 = (val*)(4l<<2|1);
1602 var29 = (val*)((long)(0)<<2|3);
1603 var30 = (val*)((long)(0)<<2|3);
1604 var26 = core__flat___CString___to_s_unsafe(var25, var27, var28, var29, var30);
1605 var24 = var26;
1606 varonce23 = var24;
1607 }
1608 {
1609 var31 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var24); /* == on <var_name:String>*/
1610 }
1611 if (var31){
1612 if (likely(varonce32!=NULL)) {
1613 var33 = varonce32;
1614 } else {
1615 var34 = "uint32_t";
1616 var36 = (val*)(8l<<2|1);
1617 var37 = (val*)(8l<<2|1);
1618 var38 = (val*)((long)(0)<<2|3);
1619 var39 = (val*)((long)(0)<<2|3);
1620 var35 = core__flat___CString___to_s_unsafe(var34, var36, var37, var38, var39);
1621 var33 = var35;
1622 varonce32 = var33;
1623 }
1624 var = var33;
1625 goto RET_LABEL;
1626 } else {
1627 }
1628 if (likely(varonce40!=NULL)) {
1629 var41 = varonce40;
1630 } else {
1631 var42 = "Float";
1632 var44 = (val*)(5l<<2|1);
1633 var45 = (val*)(5l<<2|1);
1634 var46 = (val*)((long)(0)<<2|3);
1635 var47 = (val*)((long)(0)<<2|3);
1636 var43 = core__flat___CString___to_s_unsafe(var42, var44, var45, var46, var47);
1637 var41 = var43;
1638 varonce40 = var41;
1639 }
1640 {
1641 var48 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var41); /* == on <var_name:String>*/
1642 }
1643 if (var48){
1644 if (likely(varonce49!=NULL)) {
1645 var50 = varonce49;
1646 } else {
1647 var51 = "double";
1648 var53 = (val*)(6l<<2|1);
1649 var54 = (val*)(6l<<2|1);
1650 var55 = (val*)((long)(0)<<2|3);
1651 var56 = (val*)((long)(0)<<2|3);
1652 var52 = core__flat___CString___to_s_unsafe(var51, var53, var54, var55, var56);
1653 var50 = var52;
1654 varonce49 = var50;
1655 }
1656 var = var50;
1657 goto RET_LABEL;
1658 } else {
1659 }
1660 if (likely(varonce57!=NULL)) {
1661 var58 = varonce57;
1662 } else {
1663 var59 = "Int";
1664 var61 = (val*)(3l<<2|1);
1665 var62 = (val*)(3l<<2|1);
1666 var63 = (val*)((long)(0)<<2|3);
1667 var64 = (val*)((long)(0)<<2|3);
1668 var60 = core__flat___CString___to_s_unsafe(var59, var61, var62, var63, var64);
1669 var58 = var60;
1670 varonce57 = var58;
1671 }
1672 {
1673 var65 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var58); /* == on <var_name:String>*/
1674 }
1675 if (var65){
1676 if (likely(varonce66!=NULL)) {
1677 var67 = varonce66;
1678 } else {
1679 var68 = "long";
1680 var70 = (val*)(4l<<2|1);
1681 var71 = (val*)(4l<<2|1);
1682 var72 = (val*)((long)(0)<<2|3);
1683 var73 = (val*)((long)(0)<<2|3);
1684 var69 = core__flat___CString___to_s_unsafe(var68, var70, var71, var72, var73);
1685 var67 = var69;
1686 varonce66 = var67;
1687 }
1688 var = var67;
1689 goto RET_LABEL;
1690 } else {
1691 }
1692 if (likely(varonce74!=NULL)) {
1693 var75 = varonce74;
1694 } else {
1695 var76 = "Byte";
1696 var78 = (val*)(4l<<2|1);
1697 var79 = (val*)(4l<<2|1);
1698 var80 = (val*)((long)(0)<<2|3);
1699 var81 = (val*)((long)(0)<<2|3);
1700 var77 = core__flat___CString___to_s_unsafe(var76, var78, var79, var80, var81);
1701 var75 = var77;
1702 varonce74 = var75;
1703 }
1704 {
1705 var82 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var75); /* == on <var_name:String>*/
1706 }
1707 if (var82){
1708 if (likely(varonce83!=NULL)) {
1709 var84 = varonce83;
1710 } else {
1711 var85 = "unsigned char";
1712 var87 = (val*)(13l<<2|1);
1713 var88 = (val*)(13l<<2|1);
1714 var89 = (val*)((long)(0)<<2|3);
1715 var90 = (val*)((long)(0)<<2|3);
1716 var86 = core__flat___CString___to_s_unsafe(var85, var87, var88, var89, var90);
1717 var84 = var86;
1718 varonce83 = var84;
1719 }
1720 var = var84;
1721 goto RET_LABEL;
1722 } else {
1723 }
1724 if (likely(varonce91!=NULL)) {
1725 var92 = varonce91;
1726 } else {
1727 var93 = "Int8";
1728 var95 = (val*)(4l<<2|1);
1729 var96 = (val*)(4l<<2|1);
1730 var97 = (val*)((long)(0)<<2|3);
1731 var98 = (val*)((long)(0)<<2|3);
1732 var94 = core__flat___CString___to_s_unsafe(var93, var95, var96, var97, var98);
1733 var92 = var94;
1734 varonce91 = var92;
1735 }
1736 {
1737 var99 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var92); /* == on <var_name:String>*/
1738 }
1739 if (var99){
1740 if (likely(varonce100!=NULL)) {
1741 var101 = varonce100;
1742 } else {
1743 var102 = "int8_t";
1744 var104 = (val*)(6l<<2|1);
1745 var105 = (val*)(6l<<2|1);
1746 var106 = (val*)((long)(0)<<2|3);
1747 var107 = (val*)((long)(0)<<2|3);
1748 var103 = core__flat___CString___to_s_unsafe(var102, var104, var105, var106, var107);
1749 var101 = var103;
1750 varonce100 = var101;
1751 }
1752 var = var101;
1753 goto RET_LABEL;
1754 } else {
1755 }
1756 if (likely(varonce108!=NULL)) {
1757 var109 = varonce108;
1758 } else {
1759 var110 = "Int16";
1760 var112 = (val*)(5l<<2|1);
1761 var113 = (val*)(5l<<2|1);
1762 var114 = (val*)((long)(0)<<2|3);
1763 var115 = (val*)((long)(0)<<2|3);
1764 var111 = core__flat___CString___to_s_unsafe(var110, var112, var113, var114, var115);
1765 var109 = var111;
1766 varonce108 = var109;
1767 }
1768 {
1769 var116 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var109); /* == on <var_name:String>*/
1770 }
1771 if (var116){
1772 if (likely(varonce117!=NULL)) {
1773 var118 = varonce117;
1774 } else {
1775 var119 = "int16_t";
1776 var121 = (val*)(7l<<2|1);
1777 var122 = (val*)(7l<<2|1);
1778 var123 = (val*)((long)(0)<<2|3);
1779 var124 = (val*)((long)(0)<<2|3);
1780 var120 = core__flat___CString___to_s_unsafe(var119, var121, var122, var123, var124);
1781 var118 = var120;
1782 varonce117 = var118;
1783 }
1784 var = var118;
1785 goto RET_LABEL;
1786 } else {
1787 }
1788 if (likely(varonce125!=NULL)) {
1789 var126 = varonce125;
1790 } else {
1791 var127 = "UInt16";
1792 var129 = (val*)(6l<<2|1);
1793 var130 = (val*)(6l<<2|1);
1794 var131 = (val*)((long)(0)<<2|3);
1795 var132 = (val*)((long)(0)<<2|3);
1796 var128 = core__flat___CString___to_s_unsafe(var127, var129, var130, var131, var132);
1797 var126 = var128;
1798 varonce125 = var126;
1799 }
1800 {
1801 var133 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var126); /* == on <var_name:String>*/
1802 }
1803 if (var133){
1804 if (likely(varonce134!=NULL)) {
1805 var135 = varonce134;
1806 } else {
1807 var136 = "uint16_t";
1808 var138 = (val*)(8l<<2|1);
1809 var139 = (val*)(8l<<2|1);
1810 var140 = (val*)((long)(0)<<2|3);
1811 var141 = (val*)((long)(0)<<2|3);
1812 var137 = core__flat___CString___to_s_unsafe(var136, var138, var139, var140, var141);
1813 var135 = var137;
1814 varonce134 = var135;
1815 }
1816 var = var135;
1817 goto RET_LABEL;
1818 } else {
1819 }
1820 if (likely(varonce142!=NULL)) {
1821 var143 = varonce142;
1822 } else {
1823 var144 = "Int32";
1824 var146 = (val*)(5l<<2|1);
1825 var147 = (val*)(5l<<2|1);
1826 var148 = (val*)((long)(0)<<2|3);
1827 var149 = (val*)((long)(0)<<2|3);
1828 var145 = core__flat___CString___to_s_unsafe(var144, var146, var147, var148, var149);
1829 var143 = var145;
1830 varonce142 = var143;
1831 }
1832 {
1833 var150 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var143); /* == on <var_name:String>*/
1834 }
1835 if (var150){
1836 if (likely(varonce151!=NULL)) {
1837 var152 = varonce151;
1838 } else {
1839 var153 = "int32_t";
1840 var155 = (val*)(7l<<2|1);
1841 var156 = (val*)(7l<<2|1);
1842 var157 = (val*)((long)(0)<<2|3);
1843 var158 = (val*)((long)(0)<<2|3);
1844 var154 = core__flat___CString___to_s_unsafe(var153, var155, var156, var157, var158);
1845 var152 = var154;
1846 varonce151 = var152;
1847 }
1848 var = var152;
1849 goto RET_LABEL;
1850 } else {
1851 }
1852 if (likely(varonce159!=NULL)) {
1853 var160 = varonce159;
1854 } else {
1855 var161 = "UInt32";
1856 var163 = (val*)(6l<<2|1);
1857 var164 = (val*)(6l<<2|1);
1858 var165 = (val*)((long)(0)<<2|3);
1859 var166 = (val*)((long)(0)<<2|3);
1860 var162 = core__flat___CString___to_s_unsafe(var161, var163, var164, var165, var166);
1861 var160 = var162;
1862 varonce159 = var160;
1863 }
1864 {
1865 var167 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var160); /* == on <var_name:String>*/
1866 }
1867 if (var167){
1868 if (likely(varonce168!=NULL)) {
1869 var169 = varonce168;
1870 } else {
1871 var170 = "uint32_t";
1872 var172 = (val*)(8l<<2|1);
1873 var173 = (val*)(8l<<2|1);
1874 var174 = (val*)((long)(0)<<2|3);
1875 var175 = (val*)((long)(0)<<2|3);
1876 var171 = core__flat___CString___to_s_unsafe(var170, var172, var173, var174, var175);
1877 var169 = var171;
1878 varonce168 = var169;
1879 }
1880 var = var169;
1881 goto RET_LABEL;
1882 } else {
1883 }
1884 if (likely(varonce176!=NULL)) {
1885 var177 = varonce176;
1886 } else {
1887 var178 = "CString";
1888 var180 = (val*)(7l<<2|1);
1889 var181 = (val*)(7l<<2|1);
1890 var182 = (val*)((long)(0)<<2|3);
1891 var183 = (val*)((long)(0)<<2|3);
1892 var179 = core__flat___CString___to_s_unsafe(var178, var180, var181, var182, var183);
1893 var177 = var179;
1894 varonce176 = var177;
1895 }
1896 {
1897 var184 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var177); /* == on <var_name:String>*/
1898 }
1899 if (var184){
1900 if (likely(varonce185!=NULL)) {
1901 var186 = varonce185;
1902 } else {
1903 var187 = "char*";
1904 var189 = (val*)(5l<<2|1);
1905 var190 = (val*)(5l<<2|1);
1906 var191 = (val*)((long)(0)<<2|3);
1907 var192 = (val*)((long)(0)<<2|3);
1908 var188 = core__flat___CString___to_s_unsafe(var187, var189, var190, var191, var192);
1909 var186 = var188;
1910 varonce185 = var186;
1911 }
1912 var = var186;
1913 goto RET_LABEL;
1914 } else {
1915 }
1916 {
1917 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
1918 var195 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1919 if (unlikely(var195 == NULL)) {
1920 if(catchStack.cursor >= 0){
1921 longjmp(catchStack.envs[catchStack.cursor], 1);
1922 }
1923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1924 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
1925 fatal_exit(1);
1926 }
1927 var193 = var195;
1928 RET_LABEL194:(void)0;
1929 }
1930 }
1931 {
1932 { /* Inline model$MClass$kind (var193) on <var193:MClass> */
1933 var198 = var193->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var193:MClass> */
1934 if (unlikely(var198 == NULL)) {
1935 if(catchStack.cursor >= 0){
1936 longjmp(catchStack.envs[catchStack.cursor], 1);
1937 }
1938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1939 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 472);
1940 fatal_exit(1);
1941 }
1942 var196 = var198;
1943 RET_LABEL197:(void)0;
1944 }
1945 }
1946 var199 = glob_sys;
1947 {
1948 var200 = nitc__model___core__Sys___extern_kind(var199);
1949 }
1950 {
1951 { /* Inline kernel$Object$== (var196,var200) on <var196:MClassKind> */
1952 var_other = var200;
1953 {
1954 { /* Inline kernel$Object$is_same_instance (var196,var_other) on <var196:MClassKind> */
1955 var205 = var196 == var_other;
1956 var203 = var205;
1957 goto RET_LABEL204;
1958 RET_LABEL204:(void)0;
1959 }
1960 }
1961 var201 = var203;
1962 goto RET_LABEL202;
1963 RET_LABEL202:(void)0;
1964 }
1965 }
1966 if (var201){
1967 {
1968 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
1969 var208 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
1970 if (unlikely(var208 == NULL)) {
1971 if(catchStack.cursor >= 0){
1972 longjmp(catchStack.envs[catchStack.cursor], 1);
1973 }
1974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1975 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
1976 fatal_exit(1);
1977 }
1978 var206 = var208;
1979 RET_LABEL207:(void)0;
1980 }
1981 }
1982 {
1983 var209 = nitc__extern_classes___MClass___ctype(var206);
1984 }
1985 var_ctype = var209;
1986 if (var_ctype == NULL) {
1987 var210 = 0; /* is null */
1988 } else {
1989 var210 = 1; /* arg is null and recv is not */
1990 }
1991 if (0) {
1992 { /* Inline kernel$Object$!= (var_ctype,((val*)NULL)) on <var_ctype:nullable String> */
1993 var_other213 = ((val*)NULL);
1994 {
1995 var214 = ((short int(*)(val* self, val* p0))(var_ctype->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ctype, var_other213); /* == on <var_ctype:nullable String(String)>*/
1996 }
1997 var215 = !var214;
1998 var211 = var215;
1999 goto RET_LABEL212;
2000 RET_LABEL212:(void)0;
2001 }
2002 var210 = var211;
2003 }
2004 if (unlikely(!var210)) {
2005 if(catchStack.cursor >= 0){
2006 longjmp(catchStack.envs[catchStack.cursor], 1);
2007 }
2008 PRINT_ERROR("Runtime error: %s", "Assert failed");
2009 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__nitni_base, 108);
2010 fatal_exit(1);
2011 }
2012 var = var_ctype;
2013 goto RET_LABEL;
2014 } else {
2015 }
2016 {
2017 var216 = nitc__light_only___MClassType___nitc__nitni_base__MType__cname_normal_class(self);
2018 }
2019 var = var216;
2020 goto RET_LABEL;
2021 RET_LABEL:;
2022 return var;
2023 }
2024 /* method nitni_base$MClassType$cname_blind for (self: MClassType): String */
2025 val* nitc__nitni_base___MClassType___MType__cname_blind(val* self) {
2026 val* var /* : String */;
2027 val* var1 /* : MClass */;
2028 val* var3 /* : MClass */;
2029 val* var4 /* : String */;
2030 val* var6 /* : String */;
2031 val* var_name /* var name: String */;
2032 static val* varonce;
2033 val* var7 /* : String */;
2034 char* var8 /* : CString */;
2035 val* var9 /* : String */;
2036 val* var10 /* : nullable Int */;
2037 val* var11 /* : nullable Int */;
2038 val* var12 /* : nullable Bool */;
2039 val* var13 /* : nullable Bool */;
2040 short int var14 /* : Bool */;
2041 static val* varonce15;
2042 val* var16 /* : String */;
2043 char* var17 /* : CString */;
2044 val* var18 /* : String */;
2045 val* var19 /* : nullable Int */;
2046 val* var20 /* : nullable Int */;
2047 val* var21 /* : nullable Bool */;
2048 val* var22 /* : nullable Bool */;
2049 static val* varonce23;
2050 val* var24 /* : String */;
2051 char* var25 /* : CString */;
2052 val* var26 /* : String */;
2053 val* var27 /* : nullable Int */;
2054 val* var28 /* : nullable Int */;
2055 val* var29 /* : nullable Bool */;
2056 val* var30 /* : nullable Bool */;
2057 short int var31 /* : Bool */;
2058 static val* varonce32;
2059 val* var33 /* : String */;
2060 char* var34 /* : CString */;
2061 val* var35 /* : String */;
2062 val* var36 /* : nullable Int */;
2063 val* var37 /* : nullable Int */;
2064 val* var38 /* : nullable Bool */;
2065 val* var39 /* : nullable Bool */;
2066 static val* varonce40;
2067 val* var41 /* : String */;
2068 char* var42 /* : CString */;
2069 val* var43 /* : String */;
2070 val* var44 /* : nullable Int */;
2071 val* var45 /* : nullable Int */;
2072 val* var46 /* : nullable Bool */;
2073 val* var47 /* : nullable Bool */;
2074 short int var48 /* : Bool */;
2075 static val* varonce49;
2076 val* var50 /* : String */;
2077 char* var51 /* : CString */;
2078 val* var52 /* : String */;
2079 val* var53 /* : nullable Int */;
2080 val* var54 /* : nullable Int */;
2081 val* var55 /* : nullable Bool */;
2082 val* var56 /* : nullable Bool */;
2083 static val* varonce57;
2084 val* var58 /* : String */;
2085 char* var59 /* : CString */;
2086 val* var60 /* : String */;
2087 val* var61 /* : nullable Int */;
2088 val* var62 /* : nullable Int */;
2089 val* var63 /* : nullable Bool */;
2090 val* var64 /* : nullable Bool */;
2091 short int var65 /* : Bool */;
2092 static val* varonce66;
2093 val* var67 /* : String */;
2094 char* var68 /* : CString */;
2095 val* var69 /* : String */;
2096 val* var70 /* : nullable Int */;
2097 val* var71 /* : nullable Int */;
2098 val* var72 /* : nullable Bool */;
2099 val* var73 /* : nullable Bool */;
2100 static val* varonce74;
2101 val* var75 /* : String */;
2102 char* var76 /* : CString */;
2103 val* var77 /* : String */;
2104 val* var78 /* : nullable Int */;
2105 val* var79 /* : nullable Int */;
2106 val* var80 /* : nullable Bool */;
2107 val* var81 /* : nullable Bool */;
2108 short int var82 /* : Bool */;
2109 static val* varonce83;
2110 val* var84 /* : String */;
2111 char* var85 /* : CString */;
2112 val* var86 /* : String */;
2113 val* var87 /* : nullable Int */;
2114 val* var88 /* : nullable Int */;
2115 val* var89 /* : nullable Bool */;
2116 val* var90 /* : nullable Bool */;
2117 static val* varonce91;
2118 val* var92 /* : String */;
2119 char* var93 /* : CString */;
2120 val* var94 /* : String */;
2121 val* var95 /* : nullable Int */;
2122 val* var96 /* : nullable Int */;
2123 val* var97 /* : nullable Bool */;
2124 val* var98 /* : nullable Bool */;
2125 short int var99 /* : Bool */;
2126 static val* varonce100;
2127 val* var101 /* : String */;
2128 char* var102 /* : CString */;
2129 val* var103 /* : String */;
2130 val* var104 /* : nullable Int */;
2131 val* var105 /* : nullable Int */;
2132 val* var106 /* : nullable Bool */;
2133 val* var107 /* : nullable Bool */;
2134 static val* varonce108;
2135 val* var109 /* : String */;
2136 char* var110 /* : CString */;
2137 val* var111 /* : String */;
2138 val* var112 /* : nullable Int */;
2139 val* var113 /* : nullable Int */;
2140 val* var114 /* : nullable Bool */;
2141 val* var115 /* : nullable Bool */;
2142 short int var116 /* : Bool */;
2143 static val* varonce117;
2144 val* var118 /* : String */;
2145 char* var119 /* : CString */;
2146 val* var120 /* : String */;
2147 val* var121 /* : nullable Int */;
2148 val* var122 /* : nullable Int */;
2149 val* var123 /* : nullable Bool */;
2150 val* var124 /* : nullable Bool */;
2151 static val* varonce125;
2152 val* var126 /* : String */;
2153 char* var127 /* : CString */;
2154 val* var128 /* : String */;
2155 val* var129 /* : nullable Int */;
2156 val* var130 /* : nullable Int */;
2157 val* var131 /* : nullable Bool */;
2158 val* var132 /* : nullable Bool */;
2159 short int var133 /* : Bool */;
2160 static val* varonce134;
2161 val* var135 /* : String */;
2162 char* var136 /* : CString */;
2163 val* var137 /* : String */;
2164 val* var138 /* : nullable Int */;
2165 val* var139 /* : nullable Int */;
2166 val* var140 /* : nullable Bool */;
2167 val* var141 /* : nullable Bool */;
2168 static val* varonce142;
2169 val* var143 /* : String */;
2170 char* var144 /* : CString */;
2171 val* var145 /* : String */;
2172 val* var146 /* : nullable Int */;
2173 val* var147 /* : nullable Int */;
2174 val* var148 /* : nullable Bool */;
2175 val* var149 /* : nullable Bool */;
2176 short int var150 /* : Bool */;
2177 static val* varonce151;
2178 val* var152 /* : String */;
2179 char* var153 /* : CString */;
2180 val* var154 /* : String */;
2181 val* var155 /* : nullable Int */;
2182 val* var156 /* : nullable Int */;
2183 val* var157 /* : nullable Bool */;
2184 val* var158 /* : nullable Bool */;
2185 static val* varonce159;
2186 val* var160 /* : String */;
2187 char* var161 /* : CString */;
2188 val* var162 /* : String */;
2189 val* var163 /* : nullable Int */;
2190 val* var164 /* : nullable Int */;
2191 val* var165 /* : nullable Bool */;
2192 val* var166 /* : nullable Bool */;
2193 short int var167 /* : Bool */;
2194 static val* varonce168;
2195 val* var169 /* : String */;
2196 char* var170 /* : CString */;
2197 val* var171 /* : String */;
2198 val* var172 /* : nullable Int */;
2199 val* var173 /* : nullable Int */;
2200 val* var174 /* : nullable Bool */;
2201 val* var175 /* : nullable Bool */;
2202 static val* varonce176;
2203 val* var177 /* : String */;
2204 char* var178 /* : CString */;
2205 val* var179 /* : String */;
2206 val* var180 /* : nullable Int */;
2207 val* var181 /* : nullable Int */;
2208 val* var182 /* : nullable Bool */;
2209 val* var183 /* : nullable Bool */;
2210 short int var184 /* : Bool */;
2211 static val* varonce185;
2212 val* var186 /* : String */;
2213 char* var187 /* : CString */;
2214 val* var188 /* : String */;
2215 val* var189 /* : nullable Int */;
2216 val* var190 /* : nullable Int */;
2217 val* var191 /* : nullable Bool */;
2218 val* var192 /* : nullable Bool */;
2219 val* var193 /* : MClass */;
2220 val* var195 /* : MClass */;
2221 val* var196 /* : MClassKind */;
2222 val* var198 /* : MClassKind */;
2223 val* var199 /* : Sys */;
2224 val* var200 /* : MClassKind */;
2225 short int var201 /* : Bool */;
2226 val* var_other /* var other: nullable Object */;
2227 short int var203 /* : Bool */;
2228 short int var205 /* : Bool */;
2229 static val* varonce206;
2230 val* var207 /* : String */;
2231 char* var208 /* : CString */;
2232 val* var209 /* : String */;
2233 val* var210 /* : nullable Int */;
2234 val* var211 /* : nullable Int */;
2235 val* var212 /* : nullable Bool */;
2236 val* var213 /* : nullable Bool */;
2237 val* var214 /* : String */;
2238 {
2239 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
2240 var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
2241 if (unlikely(var3 == NULL)) {
2242 if(catchStack.cursor >= 0){
2243 longjmp(catchStack.envs[catchStack.cursor], 1);
2244 }
2245 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2246 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
2247 fatal_exit(1);
2248 }
2249 var1 = var3;
2250 RET_LABEL2:(void)0;
2251 }
2252 }
2253 {
2254 { /* Inline model$MClass$name (var1) on <var1:MClass> */
2255 var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
2256 if (unlikely(var6 == NULL)) {
2257 if(catchStack.cursor >= 0){
2258 longjmp(catchStack.envs[catchStack.cursor], 1);
2259 }
2260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2261 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 396);
2262 fatal_exit(1);
2263 }
2264 var4 = var6;
2265 RET_LABEL5:(void)0;
2266 }
2267 }
2268 var_name = var4;
2269 if (likely(varonce!=NULL)) {
2270 var7 = varonce;
2271 } else {
2272 var8 = "Bool";
2273 var10 = (val*)(4l<<2|1);
2274 var11 = (val*)(4l<<2|1);
2275 var12 = (val*)((long)(0)<<2|3);
2276 var13 = (val*)((long)(0)<<2|3);
2277 var9 = core__flat___CString___to_s_unsafe(var8, var10, var11, var12, var13);
2278 var7 = var9;
2279 varonce = var7;
2280 }
2281 {
2282 var14 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var7); /* == on <var_name:String>*/
2283 }
2284 if (var14){
2285 if (likely(varonce15!=NULL)) {
2286 var16 = varonce15;
2287 } else {
2288 var17 = "int";
2289 var19 = (val*)(3l<<2|1);
2290 var20 = (val*)(3l<<2|1);
2291 var21 = (val*)((long)(0)<<2|3);
2292 var22 = (val*)((long)(0)<<2|3);
2293 var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22);
2294 var16 = var18;
2295 varonce15 = var16;
2296 }
2297 var = var16;
2298 goto RET_LABEL;
2299 } else {
2300 }
2301 if (likely(varonce23!=NULL)) {
2302 var24 = varonce23;
2303 } else {
2304 var25 = "Char";
2305 var27 = (val*)(4l<<2|1);
2306 var28 = (val*)(4l<<2|1);
2307 var29 = (val*)((long)(0)<<2|3);
2308 var30 = (val*)((long)(0)<<2|3);
2309 var26 = core__flat___CString___to_s_unsafe(var25, var27, var28, var29, var30);
2310 var24 = var26;
2311 varonce23 = var24;
2312 }
2313 {
2314 var31 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var24); /* == on <var_name:String>*/
2315 }
2316 if (var31){
2317 if (likely(varonce32!=NULL)) {
2318 var33 = varonce32;
2319 } else {
2320 var34 = "uint32_t";
2321 var36 = (val*)(8l<<2|1);
2322 var37 = (val*)(8l<<2|1);
2323 var38 = (val*)((long)(0)<<2|3);
2324 var39 = (val*)((long)(0)<<2|3);
2325 var35 = core__flat___CString___to_s_unsafe(var34, var36, var37, var38, var39);
2326 var33 = var35;
2327 varonce32 = var33;
2328 }
2329 var = var33;
2330 goto RET_LABEL;
2331 } else {
2332 }
2333 if (likely(varonce40!=NULL)) {
2334 var41 = varonce40;
2335 } else {
2336 var42 = "Float";
2337 var44 = (val*)(5l<<2|1);
2338 var45 = (val*)(5l<<2|1);
2339 var46 = (val*)((long)(0)<<2|3);
2340 var47 = (val*)((long)(0)<<2|3);
2341 var43 = core__flat___CString___to_s_unsafe(var42, var44, var45, var46, var47);
2342 var41 = var43;
2343 varonce40 = var41;
2344 }
2345 {
2346 var48 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var41); /* == on <var_name:String>*/
2347 }
2348 if (var48){
2349 if (likely(varonce49!=NULL)) {
2350 var50 = varonce49;
2351 } else {
2352 var51 = "double";
2353 var53 = (val*)(6l<<2|1);
2354 var54 = (val*)(6l<<2|1);
2355 var55 = (val*)((long)(0)<<2|3);
2356 var56 = (val*)((long)(0)<<2|3);
2357 var52 = core__flat___CString___to_s_unsafe(var51, var53, var54, var55, var56);
2358 var50 = var52;
2359 varonce49 = var50;
2360 }
2361 var = var50;
2362 goto RET_LABEL;
2363 } else {
2364 }
2365 if (likely(varonce57!=NULL)) {
2366 var58 = varonce57;
2367 } else {
2368 var59 = "Int";
2369 var61 = (val*)(3l<<2|1);
2370 var62 = (val*)(3l<<2|1);
2371 var63 = (val*)((long)(0)<<2|3);
2372 var64 = (val*)((long)(0)<<2|3);
2373 var60 = core__flat___CString___to_s_unsafe(var59, var61, var62, var63, var64);
2374 var58 = var60;
2375 varonce57 = var58;
2376 }
2377 {
2378 var65 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var58); /* == on <var_name:String>*/
2379 }
2380 if (var65){
2381 if (likely(varonce66!=NULL)) {
2382 var67 = varonce66;
2383 } else {
2384 var68 = "long";
2385 var70 = (val*)(4l<<2|1);
2386 var71 = (val*)(4l<<2|1);
2387 var72 = (val*)((long)(0)<<2|3);
2388 var73 = (val*)((long)(0)<<2|3);
2389 var69 = core__flat___CString___to_s_unsafe(var68, var70, var71, var72, var73);
2390 var67 = var69;
2391 varonce66 = var67;
2392 }
2393 var = var67;
2394 goto RET_LABEL;
2395 } else {
2396 }
2397 if (likely(varonce74!=NULL)) {
2398 var75 = varonce74;
2399 } else {
2400 var76 = "Byte";
2401 var78 = (val*)(4l<<2|1);
2402 var79 = (val*)(4l<<2|1);
2403 var80 = (val*)((long)(0)<<2|3);
2404 var81 = (val*)((long)(0)<<2|3);
2405 var77 = core__flat___CString___to_s_unsafe(var76, var78, var79, var80, var81);
2406 var75 = var77;
2407 varonce74 = var75;
2408 }
2409 {
2410 var82 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var75); /* == on <var_name:String>*/
2411 }
2412 if (var82){
2413 if (likely(varonce83!=NULL)) {
2414 var84 = varonce83;
2415 } else {
2416 var85 = "unsigned char";
2417 var87 = (val*)(13l<<2|1);
2418 var88 = (val*)(13l<<2|1);
2419 var89 = (val*)((long)(0)<<2|3);
2420 var90 = (val*)((long)(0)<<2|3);
2421 var86 = core__flat___CString___to_s_unsafe(var85, var87, var88, var89, var90);
2422 var84 = var86;
2423 varonce83 = var84;
2424 }
2425 var = var84;
2426 goto RET_LABEL;
2427 } else {
2428 }
2429 if (likely(varonce91!=NULL)) {
2430 var92 = varonce91;
2431 } else {
2432 var93 = "Int8";
2433 var95 = (val*)(4l<<2|1);
2434 var96 = (val*)(4l<<2|1);
2435 var97 = (val*)((long)(0)<<2|3);
2436 var98 = (val*)((long)(0)<<2|3);
2437 var94 = core__flat___CString___to_s_unsafe(var93, var95, var96, var97, var98);
2438 var92 = var94;
2439 varonce91 = var92;
2440 }
2441 {
2442 var99 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var92); /* == on <var_name:String>*/
2443 }
2444 if (var99){
2445 if (likely(varonce100!=NULL)) {
2446 var101 = varonce100;
2447 } else {
2448 var102 = "int8_t";
2449 var104 = (val*)(6l<<2|1);
2450 var105 = (val*)(6l<<2|1);
2451 var106 = (val*)((long)(0)<<2|3);
2452 var107 = (val*)((long)(0)<<2|3);
2453 var103 = core__flat___CString___to_s_unsafe(var102, var104, var105, var106, var107);
2454 var101 = var103;
2455 varonce100 = var101;
2456 }
2457 var = var101;
2458 goto RET_LABEL;
2459 } else {
2460 }
2461 if (likely(varonce108!=NULL)) {
2462 var109 = varonce108;
2463 } else {
2464 var110 = "Int16";
2465 var112 = (val*)(5l<<2|1);
2466 var113 = (val*)(5l<<2|1);
2467 var114 = (val*)((long)(0)<<2|3);
2468 var115 = (val*)((long)(0)<<2|3);
2469 var111 = core__flat___CString___to_s_unsafe(var110, var112, var113, var114, var115);
2470 var109 = var111;
2471 varonce108 = var109;
2472 }
2473 {
2474 var116 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var109); /* == on <var_name:String>*/
2475 }
2476 if (var116){
2477 if (likely(varonce117!=NULL)) {
2478 var118 = varonce117;
2479 } else {
2480 var119 = "int16_t";
2481 var121 = (val*)(7l<<2|1);
2482 var122 = (val*)(7l<<2|1);
2483 var123 = (val*)((long)(0)<<2|3);
2484 var124 = (val*)((long)(0)<<2|3);
2485 var120 = core__flat___CString___to_s_unsafe(var119, var121, var122, var123, var124);
2486 var118 = var120;
2487 varonce117 = var118;
2488 }
2489 var = var118;
2490 goto RET_LABEL;
2491 } else {
2492 }
2493 if (likely(varonce125!=NULL)) {
2494 var126 = varonce125;
2495 } else {
2496 var127 = "UInt16";
2497 var129 = (val*)(6l<<2|1);
2498 var130 = (val*)(6l<<2|1);
2499 var131 = (val*)((long)(0)<<2|3);
2500 var132 = (val*)((long)(0)<<2|3);
2501 var128 = core__flat___CString___to_s_unsafe(var127, var129, var130, var131, var132);
2502 var126 = var128;
2503 varonce125 = var126;
2504 }
2505 {
2506 var133 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var126); /* == on <var_name:String>*/
2507 }
2508 if (var133){
2509 if (likely(varonce134!=NULL)) {
2510 var135 = varonce134;
2511 } else {
2512 var136 = "uint16_t";
2513 var138 = (val*)(8l<<2|1);
2514 var139 = (val*)(8l<<2|1);
2515 var140 = (val*)((long)(0)<<2|3);
2516 var141 = (val*)((long)(0)<<2|3);
2517 var137 = core__flat___CString___to_s_unsafe(var136, var138, var139, var140, var141);
2518 var135 = var137;
2519 varonce134 = var135;
2520 }
2521 var = var135;
2522 goto RET_LABEL;
2523 } else {
2524 }
2525 if (likely(varonce142!=NULL)) {
2526 var143 = varonce142;
2527 } else {
2528 var144 = "Int32";
2529 var146 = (val*)(5l<<2|1);
2530 var147 = (val*)(5l<<2|1);
2531 var148 = (val*)((long)(0)<<2|3);
2532 var149 = (val*)((long)(0)<<2|3);
2533 var145 = core__flat___CString___to_s_unsafe(var144, var146, var147, var148, var149);
2534 var143 = var145;
2535 varonce142 = var143;
2536 }
2537 {
2538 var150 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var143); /* == on <var_name:String>*/
2539 }
2540 if (var150){
2541 if (likely(varonce151!=NULL)) {
2542 var152 = varonce151;
2543 } else {
2544 var153 = "int32_t";
2545 var155 = (val*)(7l<<2|1);
2546 var156 = (val*)(7l<<2|1);
2547 var157 = (val*)((long)(0)<<2|3);
2548 var158 = (val*)((long)(0)<<2|3);
2549 var154 = core__flat___CString___to_s_unsafe(var153, var155, var156, var157, var158);
2550 var152 = var154;
2551 varonce151 = var152;
2552 }
2553 var = var152;
2554 goto RET_LABEL;
2555 } else {
2556 }
2557 if (likely(varonce159!=NULL)) {
2558 var160 = varonce159;
2559 } else {
2560 var161 = "UInt32";
2561 var163 = (val*)(6l<<2|1);
2562 var164 = (val*)(6l<<2|1);
2563 var165 = (val*)((long)(0)<<2|3);
2564 var166 = (val*)((long)(0)<<2|3);
2565 var162 = core__flat___CString___to_s_unsafe(var161, var163, var164, var165, var166);
2566 var160 = var162;
2567 varonce159 = var160;
2568 }
2569 {
2570 var167 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var160); /* == on <var_name:String>*/
2571 }
2572 if (var167){
2573 if (likely(varonce168!=NULL)) {
2574 var169 = varonce168;
2575 } else {
2576 var170 = "uint32_t";
2577 var172 = (val*)(8l<<2|1);
2578 var173 = (val*)(8l<<2|1);
2579 var174 = (val*)((long)(0)<<2|3);
2580 var175 = (val*)((long)(0)<<2|3);
2581 var171 = core__flat___CString___to_s_unsafe(var170, var172, var173, var174, var175);
2582 var169 = var171;
2583 varonce168 = var169;
2584 }
2585 var = var169;
2586 goto RET_LABEL;
2587 } else {
2588 }
2589 if (likely(varonce176!=NULL)) {
2590 var177 = varonce176;
2591 } else {
2592 var178 = "CString";
2593 var180 = (val*)(7l<<2|1);
2594 var181 = (val*)(7l<<2|1);
2595 var182 = (val*)((long)(0)<<2|3);
2596 var183 = (val*)((long)(0)<<2|3);
2597 var179 = core__flat___CString___to_s_unsafe(var178, var180, var181, var182, var183);
2598 var177 = var179;
2599 varonce176 = var177;
2600 }
2601 {
2602 var184 = ((short int(*)(val* self, val* p0))(var_name->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_name, var177); /* == on <var_name:String>*/
2603 }
2604 if (var184){
2605 if (likely(varonce185!=NULL)) {
2606 var186 = varonce185;
2607 } else {
2608 var187 = "char*";
2609 var189 = (val*)(5l<<2|1);
2610 var190 = (val*)(5l<<2|1);
2611 var191 = (val*)((long)(0)<<2|3);
2612 var192 = (val*)((long)(0)<<2|3);
2613 var188 = core__flat___CString___to_s_unsafe(var187, var189, var190, var191, var192);
2614 var186 = var188;
2615 varonce185 = var186;
2616 }
2617 var = var186;
2618 goto RET_LABEL;
2619 } else {
2620 }
2621 {
2622 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
2623 var195 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
2624 if (unlikely(var195 == NULL)) {
2625 if(catchStack.cursor >= 0){
2626 longjmp(catchStack.envs[catchStack.cursor], 1);
2627 }
2628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2629 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
2630 fatal_exit(1);
2631 }
2632 var193 = var195;
2633 RET_LABEL194:(void)0;
2634 }
2635 }
2636 {
2637 { /* Inline model$MClass$kind (var193) on <var193:MClass> */
2638 var198 = var193->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var193:MClass> */
2639 if (unlikely(var198 == NULL)) {
2640 if(catchStack.cursor >= 0){
2641 longjmp(catchStack.envs[catchStack.cursor], 1);
2642 }
2643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2644 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 472);
2645 fatal_exit(1);
2646 }
2647 var196 = var198;
2648 RET_LABEL197:(void)0;
2649 }
2650 }
2651 var199 = glob_sys;
2652 {
2653 var200 = nitc__model___core__Sys___extern_kind(var199);
2654 }
2655 {
2656 { /* Inline kernel$Object$== (var196,var200) on <var196:MClassKind> */
2657 var_other = var200;
2658 {
2659 { /* Inline kernel$Object$is_same_instance (var196,var_other) on <var196:MClassKind> */
2660 var205 = var196 == var_other;
2661 var203 = var205;
2662 goto RET_LABEL204;
2663 RET_LABEL204:(void)0;
2664 }
2665 }
2666 var201 = var203;
2667 goto RET_LABEL202;
2668 RET_LABEL202:(void)0;
2669 }
2670 }
2671 if (var201){
2672 if (likely(varonce206!=NULL)) {
2673 var207 = varonce206;
2674 } else {
2675 var208 = "void*";
2676 var210 = (val*)(5l<<2|1);
2677 var211 = (val*)(5l<<2|1);
2678 var212 = (val*)((long)(0)<<2|3);
2679 var213 = (val*)((long)(0)<<2|3);
2680 var209 = core__flat___CString___to_s_unsafe(var208, var210, var211, var212, var213);
2681 var207 = var209;
2682 varonce206 = var207;
2683 }
2684 var = var207;
2685 goto RET_LABEL;
2686 } else {
2687 }
2688 {
2689 var214 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base___MClassType___MType__cname_blind]))(self); /* cname_blind on <self:MClassType>*/
2690 }
2691 var = var214;
2692 goto RET_LABEL;
2693 RET_LABEL:;
2694 return var;
2695 }
2696 /* method nitni_base$MClassType$mangled_cname for (self: MClassType): String */
2697 val* nitc__nitni_base___MClassType___MType__mangled_cname(val* self) {
2698 val* var /* : String */;
2699 val* var1 /* : MClass */;
2700 val* var3 /* : MClass */;
2701 val* var4 /* : String */;
2702 val* var6 /* : String */;
2703 {
2704 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
2705 var3 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
2706 if (unlikely(var3 == NULL)) {
2707 if(catchStack.cursor >= 0){
2708 longjmp(catchStack.envs[catchStack.cursor], 1);
2709 }
2710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
2712 fatal_exit(1);
2713 }
2714 var1 = var3;
2715 RET_LABEL2:(void)0;
2716 }
2717 }
2718 {
2719 { /* Inline model$MClass$name (var1) on <var1:MClass> */
2720 var6 = var1->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var1:MClass> */
2721 if (unlikely(var6 == NULL)) {
2722 if(catchStack.cursor >= 0){
2723 longjmp(catchStack.envs[catchStack.cursor], 1);
2724 }
2725 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2726 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 396);
2727 fatal_exit(1);
2728 }
2729 var4 = var6;
2730 RET_LABEL5:(void)0;
2731 }
2732 }
2733 var = var4;
2734 goto RET_LABEL;
2735 RET_LABEL:;
2736 return var;
2737 }
2738 /* method nitni_base$MClassType$is_cprimitive for (self: MClassType): Bool */
2739 short int nitc__nitni_base___MClassType___MType__is_cprimitive(val* self) {
2740 short int var /* : Bool */;
2741 short int var1 /* : Bool */;
2742 val* var2 /* : MClass */;
2743 val* var4 /* : MClass */;
2744 val* var5 /* : MClassKind */;
2745 val* var7 /* : MClassKind */;
2746 val* var8 /* : Sys */;
2747 val* var9 /* : MClassKind */;
2748 short int var10 /* : Bool */;
2749 val* var_other /* var other: nullable Object */;
2750 short int var12 /* : Bool */;
2751 short int var14 /* : Bool */;
2752 short int var_ /* var : Bool */;
2753 static val* varonce;
2754 static int varonce_guard;
2755 val* var15 /* : Array[String] */;
2756 val* var16 /* : Array[String] */;
2757 val* var_17 /* var : Array[String] */;
2758 static val* varonce18;
2759 val* var19 /* : String */;
2760 char* var20 /* : CString */;
2761 val* var21 /* : String */;
2762 val* var22 /* : nullable Int */;
2763 val* var23 /* : nullable Int */;
2764 val* var24 /* : nullable Bool */;
2765 val* var25 /* : nullable Bool */;
2766 static val* varonce26;
2767 val* var27 /* : String */;
2768 char* var28 /* : CString */;
2769 val* var29 /* : String */;
2770 val* var30 /* : nullable Int */;
2771 val* var31 /* : nullable Int */;
2772 val* var32 /* : nullable Bool */;
2773 val* var33 /* : nullable Bool */;
2774 static val* varonce34;
2775 val* var35 /* : String */;
2776 char* var36 /* : CString */;
2777 val* var37 /* : String */;
2778 val* var38 /* : nullable Int */;
2779 val* var39 /* : nullable Int */;
2780 val* var40 /* : nullable Bool */;
2781 val* var41 /* : nullable Bool */;
2782 static val* varonce42;
2783 val* var43 /* : String */;
2784 char* var44 /* : CString */;
2785 val* var45 /* : String */;
2786 val* var46 /* : nullable Int */;
2787 val* var47 /* : nullable Int */;
2788 val* var48 /* : nullable Bool */;
2789 val* var49 /* : nullable Bool */;
2790 static val* varonce50;
2791 val* var51 /* : String */;
2792 char* var52 /* : CString */;
2793 val* var53 /* : String */;
2794 val* var54 /* : nullable Int */;
2795 val* var55 /* : nullable Int */;
2796 val* var56 /* : nullable Bool */;
2797 val* var57 /* : nullable Bool */;
2798 static val* varonce58;
2799 val* var59 /* : String */;
2800 char* var60 /* : CString */;
2801 val* var61 /* : String */;
2802 val* var62 /* : nullable Int */;
2803 val* var63 /* : nullable Int */;
2804 val* var64 /* : nullable Bool */;
2805 val* var65 /* : nullable Bool */;
2806 static val* varonce66;
2807 val* var67 /* : String */;
2808 char* var68 /* : CString */;
2809 val* var69 /* : String */;
2810 val* var70 /* : nullable Int */;
2811 val* var71 /* : nullable Int */;
2812 val* var72 /* : nullable Bool */;
2813 val* var73 /* : nullable Bool */;
2814 static val* varonce74;
2815 val* var75 /* : String */;
2816 char* var76 /* : CString */;
2817 val* var77 /* : String */;
2818 val* var78 /* : nullable Int */;
2819 val* var79 /* : nullable Int */;
2820 val* var80 /* : nullable Bool */;
2821 val* var81 /* : nullable Bool */;
2822 static val* varonce82;
2823 val* var83 /* : String */;
2824 char* var84 /* : CString */;
2825 val* var85 /* : String */;
2826 val* var86 /* : nullable Int */;
2827 val* var87 /* : nullable Int */;
2828 val* var88 /* : nullable Bool */;
2829 val* var89 /* : nullable Bool */;
2830 static val* varonce90;
2831 val* var91 /* : String */;
2832 char* var92 /* : CString */;
2833 val* var93 /* : String */;
2834 val* var94 /* : nullable Int */;
2835 val* var95 /* : nullable Int */;
2836 val* var96 /* : nullable Bool */;
2837 val* var97 /* : nullable Bool */;
2838 static val* varonce98;
2839 val* var99 /* : String */;
2840 char* var100 /* : CString */;
2841 val* var101 /* : String */;
2842 val* var102 /* : nullable Int */;
2843 val* var103 /* : nullable Int */;
2844 val* var104 /* : nullable Bool */;
2845 val* var105 /* : nullable Bool */;
2846 val* var106 /* : MClass */;
2847 val* var108 /* : MClass */;
2848 val* var109 /* : String */;
2849 val* var111 /* : String */;
2850 short int var112 /* : Bool */;
2851 {
2852 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
2853 var4 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
2854 if (unlikely(var4 == NULL)) {
2855 if(catchStack.cursor >= 0){
2856 longjmp(catchStack.envs[catchStack.cursor], 1);
2857 }
2858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2859 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
2860 fatal_exit(1);
2861 }
2862 var2 = var4;
2863 RET_LABEL3:(void)0;
2864 }
2865 }
2866 {
2867 { /* Inline model$MClass$kind (var2) on <var2:MClass> */
2868 var7 = var2->attrs[COLOR_nitc__model__MClass___kind].val; /* _kind on <var2:MClass> */
2869 if (unlikely(var7 == NULL)) {
2870 if(catchStack.cursor >= 0){
2871 longjmp(catchStack.envs[catchStack.cursor], 1);
2872 }
2873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 472);
2875 fatal_exit(1);
2876 }
2877 var5 = var7;
2878 RET_LABEL6:(void)0;
2879 }
2880 }
2881 var8 = glob_sys;
2882 {
2883 var9 = nitc__model___core__Sys___extern_kind(var8);
2884 }
2885 {
2886 { /* Inline kernel$Object$== (var5,var9) on <var5:MClassKind> */
2887 var_other = var9;
2888 {
2889 { /* Inline kernel$Object$is_same_instance (var5,var_other) on <var5:MClassKind> */
2890 var14 = var5 == var_other;
2891 var12 = var14;
2892 goto RET_LABEL13;
2893 RET_LABEL13:(void)0;
2894 }
2895 }
2896 var10 = var12;
2897 goto RET_LABEL11;
2898 RET_LABEL11:(void)0;
2899 }
2900 }
2901 var_ = var10;
2902 if (var10){
2903 var1 = var_;
2904 } else {
2905 if (likely(varonce_guard)) {
2906 var15 = varonce;
2907 } else {
2908 var16 = NEW_core__Array(&type_core__Array__core__String);
2909 {
2910 core___core__Array___with_capacity(var16, 11l); /* Direct call array$Array$with_capacity on <var16:Array[String]>*/
2911 }
2912 var_17 = var16;
2913 if (likely(varonce18!=NULL)) {
2914 var19 = varonce18;
2915 } else {
2916 var20 = "Bool";
2917 var22 = (val*)(4l<<2|1);
2918 var23 = (val*)(4l<<2|1);
2919 var24 = (val*)((long)(0)<<2|3);
2920 var25 = (val*)((long)(0)<<2|3);
2921 var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25);
2922 var19 = var21;
2923 varonce18 = var19;
2924 }
2925 {
2926 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var19); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
2927 }
2928 if (likely(varonce26!=NULL)) {
2929 var27 = varonce26;
2930 } else {
2931 var28 = "Char";
2932 var30 = (val*)(4l<<2|1);
2933 var31 = (val*)(4l<<2|1);
2934 var32 = (val*)((long)(0)<<2|3);
2935 var33 = (val*)((long)(0)<<2|3);
2936 var29 = core__flat___CString___to_s_unsafe(var28, var30, var31, var32, var33);
2937 var27 = var29;
2938 varonce26 = var27;
2939 }
2940 {
2941 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var27); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
2942 }
2943 if (likely(varonce34!=NULL)) {
2944 var35 = varonce34;
2945 } else {
2946 var36 = "Float";
2947 var38 = (val*)(5l<<2|1);
2948 var39 = (val*)(5l<<2|1);
2949 var40 = (val*)((long)(0)<<2|3);
2950 var41 = (val*)((long)(0)<<2|3);
2951 var37 = core__flat___CString___to_s_unsafe(var36, var38, var39, var40, var41);
2952 var35 = var37;
2953 varonce34 = var35;
2954 }
2955 {
2956 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var35); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
2957 }
2958 if (likely(varonce42!=NULL)) {
2959 var43 = varonce42;
2960 } else {
2961 var44 = "Int";
2962 var46 = (val*)(3l<<2|1);
2963 var47 = (val*)(3l<<2|1);
2964 var48 = (val*)((long)(0)<<2|3);
2965 var49 = (val*)((long)(0)<<2|3);
2966 var45 = core__flat___CString___to_s_unsafe(var44, var46, var47, var48, var49);
2967 var43 = var45;
2968 varonce42 = var43;
2969 }
2970 {
2971 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var43); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
2972 }
2973 if (likely(varonce50!=NULL)) {
2974 var51 = varonce50;
2975 } else {
2976 var52 = "CString";
2977 var54 = (val*)(7l<<2|1);
2978 var55 = (val*)(7l<<2|1);
2979 var56 = (val*)((long)(0)<<2|3);
2980 var57 = (val*)((long)(0)<<2|3);
2981 var53 = core__flat___CString___to_s_unsafe(var52, var54, var55, var56, var57);
2982 var51 = var53;
2983 varonce50 = var51;
2984 }
2985 {
2986 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var51); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
2987 }
2988 if (likely(varonce58!=NULL)) {
2989 var59 = varonce58;
2990 } else {
2991 var60 = "Byte";
2992 var62 = (val*)(4l<<2|1);
2993 var63 = (val*)(4l<<2|1);
2994 var64 = (val*)((long)(0)<<2|3);
2995 var65 = (val*)((long)(0)<<2|3);
2996 var61 = core__flat___CString___to_s_unsafe(var60, var62, var63, var64, var65);
2997 var59 = var61;
2998 varonce58 = var59;
2999 }
3000 {
3001 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var59); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
3002 }
3003 if (likely(varonce66!=NULL)) {
3004 var67 = varonce66;
3005 } else {
3006 var68 = "Int8";
3007 var70 = (val*)(4l<<2|1);
3008 var71 = (val*)(4l<<2|1);
3009 var72 = (val*)((long)(0)<<2|3);
3010 var73 = (val*)((long)(0)<<2|3);
3011 var69 = core__flat___CString___to_s_unsafe(var68, var70, var71, var72, var73);
3012 var67 = var69;
3013 varonce66 = var67;
3014 }
3015 {
3016 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var67); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
3017 }
3018 if (likely(varonce74!=NULL)) {
3019 var75 = varonce74;
3020 } else {
3021 var76 = "Int16";
3022 var78 = (val*)(5l<<2|1);
3023 var79 = (val*)(5l<<2|1);
3024 var80 = (val*)((long)(0)<<2|3);
3025 var81 = (val*)((long)(0)<<2|3);
3026 var77 = core__flat___CString___to_s_unsafe(var76, var78, var79, var80, var81);
3027 var75 = var77;
3028 varonce74 = var75;
3029 }
3030 {
3031 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var75); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
3032 }
3033 if (likely(varonce82!=NULL)) {
3034 var83 = varonce82;
3035 } else {
3036 var84 = "UInt16";
3037 var86 = (val*)(6l<<2|1);
3038 var87 = (val*)(6l<<2|1);
3039 var88 = (val*)((long)(0)<<2|3);
3040 var89 = (val*)((long)(0)<<2|3);
3041 var85 = core__flat___CString___to_s_unsafe(var84, var86, var87, var88, var89);
3042 var83 = var85;
3043 varonce82 = var83;
3044 }
3045 {
3046 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var83); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
3047 }
3048 if (likely(varonce90!=NULL)) {
3049 var91 = varonce90;
3050 } else {
3051 var92 = "Int32";
3052 var94 = (val*)(5l<<2|1);
3053 var95 = (val*)(5l<<2|1);
3054 var96 = (val*)((long)(0)<<2|3);
3055 var97 = (val*)((long)(0)<<2|3);
3056 var93 = core__flat___CString___to_s_unsafe(var92, var94, var95, var96, var97);
3057 var91 = var93;
3058 varonce90 = var91;
3059 }
3060 {
3061 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var91); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
3062 }
3063 if (likely(varonce98!=NULL)) {
3064 var99 = varonce98;
3065 } else {
3066 var100 = "UInt32";
3067 var102 = (val*)(6l<<2|1);
3068 var103 = (val*)(6l<<2|1);
3069 var104 = (val*)((long)(0)<<2|3);
3070 var105 = (val*)((long)(0)<<2|3);
3071 var101 = core__flat___CString___to_s_unsafe(var100, var102, var103, var104, var105);
3072 var99 = var101;
3073 varonce98 = var99;
3074 }
3075 {
3076 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_17, var99); /* Direct call array$AbstractArray$push on <var_17:Array[String]>*/
3077 }
3078 var15 = var_17;
3079 varonce = var15;
3080 varonce_guard = 1;
3081 }
3082 {
3083 { /* Inline model$MClassType$mclass (self) on <self:MClassType> */
3084 var108 = self->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <self:MClassType> */
3085 if (unlikely(var108 == NULL)) {
3086 if(catchStack.cursor >= 0){
3087 longjmp(catchStack.envs[catchStack.cursor], 1);
3088 }
3089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3090 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197);
3091 fatal_exit(1);
3092 }
3093 var106 = var108;
3094 RET_LABEL107:(void)0;
3095 }
3096 }
3097 {
3098 { /* Inline model$MClass$name (var106) on <var106:MClass> */
3099 var111 = var106->attrs[COLOR_nitc__model__MClass___name].val; /* _name on <var106:MClass> */
3100 if (unlikely(var111 == NULL)) {
3101 if(catchStack.cursor >= 0){
3102 longjmp(catchStack.envs[catchStack.cursor], 1);
3103 }
3104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3105 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 396);
3106 fatal_exit(1);
3107 }
3108 var109 = var111;
3109 RET_LABEL110:(void)0;
3110 }
3111 }
3112 {
3113 var112 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var15, var109);
3114 }
3115 var1 = var112;
3116 }
3117 var = var1;
3118 goto RET_LABEL;
3119 RET_LABEL:;
3120 return var;
3121 }
3122 /* method nitni_base$MNullableType$mangled_cname for (self: MNullableType): String */
3123 val* nitc__nitni_base___MNullableType___MType__mangled_cname(val* self) {
3124 val* var /* : String */;
3125 val* var1 /* : NativeArray[String] */;
3126 static val* varonce;
3127 static val* varonce2;
3128 val* var3 /* : String */;
3129 char* var4 /* : CString */;
3130 val* var5 /* : String */;
3131 val* var6 /* : nullable Int */;
3132 val* var7 /* : nullable Int */;
3133 val* var8 /* : nullable Bool */;
3134 val* var9 /* : nullable Bool */;
3135 val* var10 /* : MType */;
3136 val* var12 /* : MType */;
3137 val* var13 /* : String */;
3138 val* var14 /* : String */;
3139 if (unlikely(varonce==NULL)) {
3140 var1 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String);
3141 if (likely(varonce2!=NULL)) {
3142 var3 = varonce2;
3143 } else {
3144 var4 = "nullable_";
3145 var6 = (val*)(9l<<2|1);
3146 var7 = (val*)(9l<<2|1);
3147 var8 = (val*)((long)(0)<<2|3);
3148 var9 = (val*)((long)(0)<<2|3);
3149 var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9);
3150 var3 = var5;
3151 varonce2 = var3;
3152 }
3153 ((struct instance_core__NativeArray*)var1)->values[0]=var3;
3154 } else {
3155 var1 = varonce;
3156 varonce = NULL;
3157 }
3158 {
3159 { /* Inline model$MProxyType$mtype (self) on <self:MNullableType> */
3160 var12 = self->attrs[COLOR_nitc__model__MProxyType___mtype].val; /* _mtype on <self:MNullableType> */
3161 if (unlikely(var12 == NULL)) {
3162 if(catchStack.cursor >= 0){
3163 longjmp(catchStack.envs[catchStack.cursor], 1);
3164 }
3165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3166 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1689);
3167 fatal_exit(1);
3168 }
3169 var10 = var12;
3170 RET_LABEL11:(void)0;
3171 }
3172 }
3173 {
3174 var13 = ((val*(*)(val* self))(var10->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(var10); /* mangled_cname on <var10:MType>*/
3175 }
3176 ((struct instance_core__NativeArray*)var1)->values[1]=var13;
3177 {
3178 var14 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on <var1:NativeArray[String]>*/
3179 }
3180 varonce = var1;
3181 var = var14;
3182 goto RET_LABEL;
3183 RET_LABEL:;
3184 return var;
3185 }
3186 /* method nitni_base$MFormalType$mangled_cname for (self: MFormalType): String */
3187 val* nitc__nitni_base___MFormalType___MType__mangled_cname(val* self) {
3188 val* var /* : String */;
3189 val* var1 /* : String */;
3190 {
3191 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Object__to_s]))(self); /* to_s on <self:MFormalType>*/
3192 }
3193 var = var1;
3194 goto RET_LABEL;
3195 RET_LABEL:;
3196 return var;
3197 }
3198 /* method nitni_base$MGenericType$mangled_cname for (self: MGenericType): String */
3199 val* nitc__nitni_base___MGenericType___MType__mangled_cname(val* self) {
3200 val* var /* : String */;
3201 val* var1 /* : String */;
3202 val* var_base /* var base: String */;
3203 val* var2 /* : Array[String] */;
3204 val* var_params /* var params: Array[String] */;
3205 val* var3 /* : Array[MType] */;
3206 val* var5 /* : Array[MType] */;
3207 val* var_ /* var : Array[MType] */;
3208 val* var6 /* : IndexedIterator[nullable Object] */;
3209 val* var_7 /* var : IndexedIterator[MType] */;
3210 short int var8 /* : Bool */;
3211 val* var9 /* : nullable Object */;
3212 val* var_arg /* var arg: MType */;
3213 val* var10 /* : String */;
3214 val* var11 /* : NativeArray[String] */;
3215 static val* varonce;
3216 static val* varonce12;
3217 val* var13 /* : String */;
3218 char* var14 /* : CString */;
3219 val* var15 /* : String */;
3220 val* var16 /* : nullable Int */;
3221 val* var17 /* : nullable Int */;
3222 val* var18 /* : nullable Bool */;
3223 val* var19 /* : nullable Bool */;
3224 static val* varonce20;
3225 val* var21 /* : String */;
3226 char* var22 /* : CString */;
3227 val* var23 /* : String */;
3228 val* var24 /* : nullable Int */;
3229 val* var25 /* : nullable Int */;
3230 val* var26 /* : nullable Bool */;
3231 val* var27 /* : nullable Bool */;
3232 val* var28 /* : String */;
3233 val* var29 /* : String */;
3234 {
3235 var1 = ((val*(*)(val* self))(self->class->vft[COLOR_nitc__nitni_base___MGenericType___MType__mangled_cname]))(self); /* mangled_cname on <self:MGenericType>*/
3236 }
3237 var_base = var1;
3238 var2 = NEW_core__Array(&type_core__Array__core__String);
3239 {
3240 core___core__Array___core__kernel__Object__init(var2); /* Direct call array$Array$init on <var2:Array[String]>*/
3241 }
3242 var_params = var2;
3243 {
3244 { /* Inline model$MGenericType$arguments (self) on <self:MGenericType> */
3245 var5 = self->attrs[COLOR_nitc__model__MGenericType___arguments].val; /* _arguments on <self:MGenericType> */
3246 if (unlikely(var5 == NULL)) {
3247 if(catchStack.cursor >= 0){
3248 longjmp(catchStack.envs[catchStack.cursor], 1);
3249 }
3250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
3251 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1305);
3252 fatal_exit(1);
3253 }
3254 var3 = var5;
3255 RET_LABEL4:(void)0;
3256 }
3257 }
3258 var_ = var3;
3259 {
3260 var6 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
3261 }
3262 var_7 = var6;
3263 for(;;) {
3264 {
3265 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]>*/
3266 }
3267 if (var8){
3268 } else {
3269 goto BREAK_label;
3270 }
3271 {
3272 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]>*/
3273 }
3274 var_arg = var9;
3275 {
3276 var10 = ((val*(*)(val* self))(var_arg->class->vft[COLOR_nitc__nitni_base__MType__mangled_cname]))(var_arg); /* mangled_cname on <var_arg:MType>*/
3277 }
3278 {
3279 core___core__Array___core__abstract_collection__SimpleCollection__add(var_params, var10); /* Direct call array$Array$add on <var_params:Array[String]>*/
3280 }
3281 {
3282 ((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]>*/
3283 }
3284 }
3285 BREAK_label: (void)0;
3286 {
3287 ((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]>*/
3288 }
3289 if (unlikely(varonce==NULL)) {
3290 var11 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
3291 if (likely(varonce12!=NULL)) {
3292 var13 = varonce12;
3293 } else {
3294 var14 = "_of_";
3295 var16 = (val*)(4l<<2|1);
3296 var17 = (val*)(4l<<2|1);
3297 var18 = (val*)((long)(0)<<2|3);
3298 var19 = (val*)((long)(0)<<2|3);
3299 var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19);
3300 var13 = var15;
3301 varonce12 = var13;
3302 }
3303 ((struct instance_core__NativeArray*)var11)->values[1]=var13;
3304 } else {
3305 var11 = varonce;
3306 varonce = NULL;
3307 }
3308 ((struct instance_core__NativeArray*)var11)->values[0]=var_base;
3309 if (likely(varonce20!=NULL)) {
3310 var21 = varonce20;
3311 } else {
3312 var22 = "_";
3313 var24 = (val*)(1l<<2|1);
3314 var25 = (val*)(1l<<2|1);
3315 var26 = (val*)((long)(0)<<2|3);
3316 var27 = (val*)((long)(0)<<2|3);
3317 var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27);
3318 var21 = var23;
3319 varonce20 = var21;
3320 }
3321 {
3322 var28 = core__abstract_text___Collection___join(var_params, var21, ((val*)NULL));
3323 }
3324 ((struct instance_core__NativeArray*)var11)->values[2]=var28;
3325 {
3326 var29 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on <var11:NativeArray[String]>*/
3327 }
3328 varonce = var11;
3329 var = var29;
3330 goto RET_LABEL;
3331 RET_LABEL:;
3332 return var;
3333 }