README: document nit_env.sh
[nit.git] / c_src / nit__nitni_utilities.sep.1.c
1 #include "nit__nitni_utilities.sep.0.h"
2 /* method nitni_utilities#MMethod#build_cname for (self: MMethod, MClassType, MModule, nullable String, SignatureLength): String */
3 val* nit__nitni_utilities___MMethod___build_cname(val* self, val* p0, val* p1, val* p2, val* p3) {
4 val* var /* : String */;
5 val* var_recv_mtype /* var recv_mtype: MClassType */;
6 val* var_from_mmodule /* var from_mmodule: MModule */;
7 val* var_suffix /* var suffix: nullable String */;
8 val* var_length /* var length: SignatureLength */;
9 short int var1 /* : Bool */;
10 short int var3 /* : Bool */;
11 short int var4 /* : Bool */;
12 val* var5 /* : String */;
13 val* var7 /* : String */;
14 static val* varonce;
15 val* var8 /* : String */;
16 char* var9 /* : NativeString */;
17 val* var10 /* : FlatString */;
18 short int var11 /* : Bool */;
19 short int var_ /* var : Bool */;
20 val* var12 /* : String */;
21 val* var14 /* : String */;
22 static val* varonce15;
23 val* var16 /* : String */;
24 char* var17 /* : NativeString */;
25 val* var18 /* : FlatString */;
26 short int var19 /* : Bool */;
27 val* var21 /* : NativeArray[String] */;
28 static val* varonce20;
29 static val* varonce22;
30 val* var23 /* : String */;
31 char* var24 /* : NativeString */;
32 val* var25 /* : FlatString */;
33 val* var26 /* : String */;
34 val* var27 /* : String */;
35 val* var_cname /* var cname: nullable Object */;
36 val* var29 /* : NativeArray[String] */;
37 static val* varonce28;
38 static val* varonce30;
39 val* var31 /* : String */;
40 char* var32 /* : NativeString */;
41 val* var33 /* : FlatString */;
42 static val* varonce34;
43 val* var35 /* : String */;
44 char* var36 /* : NativeString */;
45 val* var37 /* : FlatString */;
46 val* var38 /* : String */;
47 val* var39 /* : String */;
48 val* var40 /* : String */;
49 val* var42 /* : NativeArray[String] */;
50 static val* varonce41;
51 static val* varonce43;
52 val* var44 /* : String */;
53 char* var45 /* : NativeString */;
54 val* var46 /* : FlatString */;
55 val* var47 /* : String */;
56 val* var48 /* : String */;
57 val* var49 /* : String */;
58 short int var50 /* : Bool */;
59 short int var51 /* : Bool */;
60 val* var_other /* var other: nullable Object */;
61 short int var53 /* : Bool */;
62 short int var54 /* : Bool */;
63 val* var56 /* : NativeArray[String] */;
64 static val* varonce55;
65 val* var57 /* : String */;
66 short int var58 /* : Bool */;
67 short int var60 /* : Bool */;
68 val* var62 /* : NativeArray[String] */;
69 static val* varonce61;
70 static val* varonce63;
71 val* var64 /* : String */;
72 char* var65 /* : NativeString */;
73 val* var66 /* : FlatString */;
74 val* var67 /* : String */;
75 val* var69 /* : String */;
76 val* var70 /* : String */;
77 var_recv_mtype = p0;
78 var_from_mmodule = p1;
79 var_suffix = p2;
80 var_length = p3;
81 {
82 { /* Inline model#MMethod#is_init (self) on <self:MMethod> */
83 var3 = self->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on <self:MMethod> */
84 var1 = var3;
85 RET_LABEL2:(void)0;
86 }
87 }
88 if (var1){
89 {
90 { /* Inline model#MProperty#name (self) on <self:MMethod> */
91 var7 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on <self:MMethod> */
92 if (unlikely(var7 == NULL)) {
93 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
94 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933);
95 fatal_exit(1);
96 }
97 var5 = var7;
98 RET_LABEL6:(void)0;
99 }
100 }
101 if (likely(varonce!=NULL)) {
102 var8 = varonce;
103 } else {
104 var9 = "init";
105 var10 = standard___standard__NativeString___to_s_with_length(var9, 4l);
106 var8 = var10;
107 varonce = var8;
108 }
109 {
110 var11 = ((short int(*)(val* self, val* p0))(var5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var5, var8); /* == on <var5:String>*/
111 }
112 var_ = var11;
113 if (var11){
114 var4 = var_;
115 } else {
116 {
117 { /* Inline model#MProperty#name (self) on <self:MMethod> */
118 var14 = self->attrs[COLOR_nit__model__MProperty___name].val; /* _name on <self:MMethod> */
119 if (unlikely(var14 == NULL)) {
120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933);
122 fatal_exit(1);
123 }
124 var12 = var14;
125 RET_LABEL13:(void)0;
126 }
127 }
128 if (likely(varonce15!=NULL)) {
129 var16 = varonce15;
130 } else {
131 var17 = "new";
132 var18 = standard___standard__NativeString___to_s_with_length(var17, 3l);
133 var16 = var18;
134 varonce15 = var16;
135 }
136 {
137 var19 = ((short int(*)(val* self, val* p0))(var12->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var12, var16); /* == on <var12:String>*/
138 }
139 var4 = var19;
140 }
141 if (var4){
142 if (unlikely(varonce20==NULL)) {
143 var21 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
144 if (likely(varonce22!=NULL)) {
145 var23 = varonce22;
146 } else {
147 var24 = "new_";
148 var25 = standard___standard__NativeString___to_s_with_length(var24, 4l);
149 var23 = var25;
150 varonce22 = var23;
151 }
152 ((struct instance_standard__NativeArray*)var21)->values[0]=var23;
153 } else {
154 var21 = varonce20;
155 varonce20 = NULL;
156 }
157 {
158 var26 = ((val*(*)(val* self))(var_recv_mtype->class->vft[COLOR_nit__nitni_base__MType__mangled_cname]))(var_recv_mtype); /* mangled_cname on <var_recv_mtype:MClassType>*/
159 }
160 ((struct instance_standard__NativeArray*)var21)->values[1]=var26;
161 {
162 var27 = ((val*(*)(val* self))(var21->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var21); /* native_to_s on <var21:NativeArray[String]>*/
163 }
164 varonce20 = var21;
165 var_cname = var27;
166 } else {
167 if (unlikely(varonce28==NULL)) {
168 var29 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
169 if (likely(varonce30!=NULL)) {
170 var31 = varonce30;
171 } else {
172 var32 = "new_";
173 var33 = standard___standard__NativeString___to_s_with_length(var32, 4l);
174 var31 = var33;
175 varonce30 = var31;
176 }
177 ((struct instance_standard__NativeArray*)var29)->values[0]=var31;
178 if (likely(varonce34!=NULL)) {
179 var35 = varonce34;
180 } else {
181 var36 = "_";
182 var37 = standard___standard__NativeString___to_s_with_length(var36, 1l);
183 var35 = var37;
184 varonce34 = var35;
185 }
186 ((struct instance_standard__NativeArray*)var29)->values[2]=var35;
187 } else {
188 var29 = varonce28;
189 varonce28 = NULL;
190 }
191 {
192 var38 = ((val*(*)(val* self))(var_recv_mtype->class->vft[COLOR_nit__nitni_base__MType__mangled_cname]))(var_recv_mtype); /* mangled_cname on <var_recv_mtype:MClassType>*/
193 }
194 ((struct instance_standard__NativeArray*)var29)->values[1]=var38;
195 {
196 var39 = nit__nitni_base___MMethod___short_cname(self);
197 }
198 ((struct instance_standard__NativeArray*)var29)->values[3]=var39;
199 {
200 var40 = ((val*(*)(val* self))(var29->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var29); /* native_to_s on <var29:NativeArray[String]>*/
201 }
202 varonce28 = var29;
203 var_cname = var40;
204 }
205 } else {
206 if (unlikely(varonce41==NULL)) {
207 var42 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
208 if (likely(varonce43!=NULL)) {
209 var44 = varonce43;
210 } else {
211 var45 = "_";
212 var46 = standard___standard__NativeString___to_s_with_length(var45, 1l);
213 var44 = var46;
214 varonce43 = var44;
215 }
216 ((struct instance_standard__NativeArray*)var42)->values[1]=var44;
217 } else {
218 var42 = varonce41;
219 varonce41 = NULL;
220 }
221 {
222 var47 = ((val*(*)(val* self))(var_recv_mtype->class->vft[COLOR_nit__nitni_base__MType__mangled_cname]))(var_recv_mtype); /* mangled_cname on <var_recv_mtype:MClassType>*/
223 }
224 ((struct instance_standard__NativeArray*)var42)->values[0]=var47;
225 {
226 var48 = nit__nitni_base___MMethod___short_cname(self);
227 }
228 ((struct instance_standard__NativeArray*)var42)->values[2]=var48;
229 {
230 var49 = ((val*(*)(val* self))(var42->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var42); /* native_to_s on <var42:NativeArray[String]>*/
231 }
232 varonce41 = var42;
233 var_cname = var49;
234 }
235 if (var_suffix == NULL) {
236 var50 = 0; /* is null */
237 } else {
238 var50 = 1; /* arg is null and recv is not */
239 }
240 if (0) {
241 { /* Inline kernel#Object#!= (var_suffix,((val*)NULL)) on <var_suffix:nullable String> */
242 var_other = ((val*)NULL);
243 {
244 var53 = ((short int(*)(val* self, val* p0))(var_suffix->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_suffix, var_other); /* == on <var_suffix:nullable String(String)>*/
245 }
246 var54 = !var53;
247 var51 = var54;
248 goto RET_LABEL52;
249 RET_LABEL52:(void)0;
250 }
251 var50 = var51;
252 }
253 if (var50){
254 if (unlikely(varonce55==NULL)) {
255 var56 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
256 } else {
257 var56 = varonce55;
258 varonce55 = NULL;
259 }
260 ((struct instance_standard__NativeArray*)var56)->values[0]=var_cname;
261 ((struct instance_standard__NativeArray*)var56)->values[1]=var_suffix;
262 {
263 var57 = ((val*(*)(val* self))(var56->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var56); /* native_to_s on <var56:NativeArray[String]>*/
264 }
265 varonce55 = var56;
266 var_cname = var57;
267 } else {
268 }
269 {
270 { /* Inline nitni_utilities#SignatureLength#long (var_length) on <var_length:SignatureLength> */
271 var60 = var_length->attrs[COLOR_nit__nitni_utilities__SignatureLength___long].s; /* _long on <var_length:SignatureLength> */
272 var58 = var60;
273 RET_LABEL59:(void)0;
274 }
275 }
276 if (var58){
277 if (unlikely(varonce61==NULL)) {
278 var62 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
279 if (likely(varonce63!=NULL)) {
280 var64 = varonce63;
281 } else {
282 var65 = "___";
283 var66 = standard___standard__NativeString___to_s_with_length(var65, 3l);
284 var64 = var66;
285 varonce63 = var64;
286 }
287 ((struct instance_standard__NativeArray*)var62)->values[1]=var64;
288 } else {
289 var62 = varonce61;
290 varonce61 = NULL;
291 }
292 {
293 { /* Inline mmodule#MModule#name (var_from_mmodule) on <var_from_mmodule:MModule> */
294 var69 = var_from_mmodule->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <var_from_mmodule:MModule> */
295 if (unlikely(var69 == NULL)) {
296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
298 fatal_exit(1);
299 }
300 var67 = var69;
301 RET_LABEL68:(void)0;
302 }
303 }
304 ((struct instance_standard__NativeArray*)var62)->values[0]=var67;
305 ((struct instance_standard__NativeArray*)var62)->values[2]=var_cname;
306 {
307 var70 = ((val*(*)(val* self))(var62->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var62); /* native_to_s on <var62:NativeArray[String]>*/
308 }
309 varonce61 = var62;
310 var_cname = var70;
311 } else {
312 }
313 var = var_cname;
314 goto RET_LABEL;
315 RET_LABEL:;
316 return var;
317 }
318 /* method nitni_utilities#MMethod#build_csignature for (self: MMethod, MClassType, MModule, nullable String, SignatureLength, CallContext): String */
319 val* nit__nitni_utilities___MMethod___build_csignature(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
320 val* var /* : String */;
321 val* var_recv_mtype /* var recv_mtype: MClassType */;
322 val* var_from_mmodule /* var from_mmodule: MModule */;
323 val* var_suffix /* var suffix: nullable String */;
324 val* var_length /* var length: SignatureLength */;
325 val* var_call_context /* var call_context: CallContext */;
326 val* var1 /* : MPropDef */;
327 val* var_mmethoddef /* var mmethoddef: MMethodDef */;
328 val* var2 /* : nullable MSignature */;
329 val* var4 /* : nullable MSignature */;
330 val* var_signature /* var signature: nullable MSignature */;
331 short int var5 /* : Bool */;
332 short int var6 /* : Bool */;
333 val* var_other /* var other: nullable Object */;
334 short int var8 /* : Bool */;
335 short int var9 /* : Bool */;
336 short int var10 /* : Bool */;
337 short int var12 /* : Bool */;
338 val* var13 /* : String */;
339 val* var_creturn_type /* var creturn_type: nullable Object */;
340 val* var14 /* : nullable MType */;
341 val* var16 /* : nullable MType */;
342 short int var17 /* : Bool */;
343 short int var18 /* : Bool */;
344 short int var20 /* : Bool */;
345 short int var21 /* : Bool */;
346 val* var22 /* : nullable MType */;
347 val* var24 /* : nullable MType */;
348 val* var_ret_mtype /* var ret_mtype: nullable MType */;
349 val* var25 /* : MType */;
350 val* var26 /* : String */;
351 static val* varonce;
352 val* var27 /* : String */;
353 char* var28 /* : NativeString */;
354 val* var29 /* : FlatString */;
355 val* var30 /* : String */;
356 val* var_cname /* var cname: String */;
357 val* var31 /* : List[String] */;
358 val* var_cparams /* var cparams: List[String] */;
359 short int var33 /* : Bool */;
360 short int var35 /* : Bool */;
361 short int var36 /* : Bool */;
362 val* var38 /* : NativeArray[String] */;
363 static val* varonce37;
364 static val* varonce39;
365 val* var40 /* : String */;
366 char* var41 /* : NativeString */;
367 val* var42 /* : FlatString */;
368 val* var43 /* : String */;
369 val* var44 /* : String */;
370 val* var45 /* : Array[MParameter] */;
371 val* var47 /* : Array[MParameter] */;
372 val* var_ /* var : Array[MParameter] */;
373 val* var48 /* : ArrayIterator[nullable Object] */;
374 val* var_49 /* var : ArrayIterator[MParameter] */;
375 short int var50 /* : Bool */;
376 val* var51 /* : nullable Object */;
377 val* var_p /* var p: MParameter */;
378 val* var52 /* : MType */;
379 val* var54 /* : MType */;
380 val* var55 /* : MType */;
381 val* var_param_mtype /* var param_mtype: MType */;
382 val* var57 /* : NativeArray[String] */;
383 static val* varonce56;
384 static val* varonce58;
385 val* var59 /* : String */;
386 char* var60 /* : NativeString */;
387 val* var61 /* : FlatString */;
388 val* var62 /* : String */;
389 val* var63 /* : String */;
390 val* var65 /* : String */;
391 val* var66 /* : String */;
392 val* var68 /* : NativeArray[String] */;
393 static val* varonce67;
394 static val* varonce69;
395 val* var70 /* : String */;
396 char* var71 /* : NativeString */;
397 val* var72 /* : FlatString */;
398 static val* varonce73;
399 val* var74 /* : String */;
400 char* var75 /* : NativeString */;
401 val* var76 /* : FlatString */;
402 static val* varonce77;
403 val* var78 /* : String */;
404 char* var79 /* : NativeString */;
405 val* var80 /* : FlatString */;
406 static val* varonce81;
407 val* var82 /* : String */;
408 char* var83 /* : NativeString */;
409 val* var84 /* : FlatString */;
410 val* var85 /* : String */;
411 val* var86 /* : String */;
412 var_recv_mtype = p0;
413 var_from_mmodule = p1;
414 var_suffix = p2;
415 var_length = p3;
416 var_call_context = p4;
417 {
418 var1 = nit___nit__MProperty___lookup_first_definition(self, var_from_mmodule, var_recv_mtype);
419 }
420 var_mmethoddef = var1;
421 {
422 { /* Inline model#MMethodDef#msignature (var_mmethoddef) on <var_mmethoddef:MMethodDef> */
423 var4 = var_mmethoddef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var_mmethoddef:MMethodDef> */
424 var2 = var4;
425 RET_LABEL3:(void)0;
426 }
427 }
428 var_signature = var2;
429 if (var_signature == NULL) {
430 var5 = 0; /* is null */
431 } else {
432 var5 = 1; /* arg is null and recv is not */
433 }
434 if (0) {
435 { /* Inline kernel#Object#!= (var_signature,((val*)NULL)) on <var_signature:nullable MSignature> */
436 var_other = ((val*)NULL);
437 {
438 var8 = ((short int(*)(val* self, val* p0))(var_signature->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_signature, var_other); /* == on <var_signature:nullable MSignature(MSignature)>*/
439 }
440 var9 = !var8;
441 var6 = var9;
442 goto RET_LABEL7;
443 RET_LABEL7:(void)0;
444 }
445 var5 = var6;
446 }
447 if (unlikely(!var5)) {
448 PRINT_ERROR("Runtime error: %s", "Assert failed");
449 PRINT_ERROR(" (%s:%d)\n", FILE_nit__nitni_utilities, 58);
450 fatal_exit(1);
451 }
452 {
453 { /* Inline model#MMethod#is_init (self) on <self:MMethod> */
454 var12 = self->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on <self:MMethod> */
455 var10 = var12;
456 RET_LABEL11:(void)0;
457 }
458 }
459 if (var10){
460 {
461 var13 = ((val*(*)(val* self, val* p0))(var_call_context->class->vft[COLOR_nit__nitni_utilities__CallContext__name_mtype]))(var_call_context, var_recv_mtype); /* name_mtype on <var_call_context:CallContext>*/
462 }
463 var_creturn_type = var13;
464 } else {
465 {
466 { /* Inline model#MSignature#return_mtype (var_signature) on <var_signature:nullable MSignature(MSignature)> */
467 var16 = var_signature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on <var_signature:nullable MSignature(MSignature)> */
468 var14 = var16;
469 RET_LABEL15:(void)0;
470 }
471 }
472 if (var14 == NULL) {
473 var17 = 0; /* is null */
474 } else {
475 var17 = 1; /* arg is null and recv is not */
476 }
477 if (0) {
478 { /* Inline kernel#Object#!= (var14,((val*)NULL)) on <var14:nullable MType> */
479 var_other = ((val*)NULL);
480 {
481 var20 = ((short int(*)(val* self, val* p0))(var14->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var14, var_other); /* == on <var14:nullable MType(MType)>*/
482 }
483 var21 = !var20;
484 var18 = var21;
485 goto RET_LABEL19;
486 RET_LABEL19:(void)0;
487 }
488 var17 = var18;
489 }
490 if (var17){
491 {
492 { /* Inline model#MSignature#return_mtype (var_signature) on <var_signature:nullable MSignature(MSignature)> */
493 var24 = var_signature->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on <var_signature:nullable MSignature(MSignature)> */
494 var22 = var24;
495 RET_LABEL23:(void)0;
496 }
497 }
498 var_ret_mtype = var22;
499 if (var_ret_mtype == NULL) {
500 PRINT_ERROR("Runtime error: %s", "Receiver is null");
501 PRINT_ERROR(" (%s:%d)\n", FILE_nit__nitni_utilities, 65);
502 fatal_exit(1);
503 } else {
504 var25 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var_ret_mtype->class->vft[COLOR_nit__model__MType__resolve_for]))(var_ret_mtype, var_recv_mtype, var_recv_mtype, var_from_mmodule, 1); /* resolve_for on <var_ret_mtype:nullable MType>*/
505 }
506 var_ret_mtype = var25;
507 {
508 var26 = ((val*(*)(val* self, val* p0))(var_call_context->class->vft[COLOR_nit__nitni_utilities__CallContext__name_mtype]))(var_call_context, var_ret_mtype); /* name_mtype on <var_call_context:CallContext>*/
509 }
510 var_creturn_type = var26;
511 } else {
512 if (likely(varonce!=NULL)) {
513 var27 = varonce;
514 } else {
515 var28 = "void";
516 var29 = standard___standard__NativeString___to_s_with_length(var28, 4l);
517 var27 = var29;
518 varonce = var27;
519 }
520 var_creturn_type = var27;
521 }
522 }
523 {
524 var30 = nit__nitni_utilities___MMethod___build_cname(self, var_recv_mtype, var_from_mmodule, var_suffix, var_length);
525 }
526 var_cname = var30;
527 var31 = NEW_standard__List(&type_standard__List__standard__String);
528 {
529 { /* Inline list#List#init (var31) on <var31:List[String]> */
530 RET_LABEL32:(void)0;
531 }
532 }
533 var_cparams = var31;
534 {
535 { /* Inline model#MMethod#is_init (self) on <self:MMethod> */
536 var35 = self->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on <self:MMethod> */
537 var33 = var35;
538 RET_LABEL34:(void)0;
539 }
540 }
541 var36 = !var33;
542 if (var36){
543 if (unlikely(varonce37==NULL)) {
544 var38 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
545 if (likely(varonce39!=NULL)) {
546 var40 = varonce39;
547 } else {
548 var41 = " self";
549 var42 = standard___standard__NativeString___to_s_with_length(var41, 5l);
550 var40 = var42;
551 varonce39 = var40;
552 }
553 ((struct instance_standard__NativeArray*)var38)->values[1]=var40;
554 } else {
555 var38 = varonce37;
556 varonce37 = NULL;
557 }
558 {
559 var43 = ((val*(*)(val* self, val* p0))(var_call_context->class->vft[COLOR_nit__nitni_utilities__CallContext__name_mtype]))(var_call_context, var_recv_mtype); /* name_mtype on <var_call_context:CallContext>*/
560 }
561 ((struct instance_standard__NativeArray*)var38)->values[0]=var43;
562 {
563 var44 = ((val*(*)(val* self))(var38->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var38); /* native_to_s on <var38:NativeArray[String]>*/
564 }
565 varonce37 = var38;
566 {
567 standard___standard__Sequence___SimpleCollection__add(var_cparams, var44); /* Direct call abstract_collection#Sequence#add on <var_cparams:List[String]>*/
568 }
569 } else {
570 }
571 {
572 { /* Inline model#MSignature#mparameters (var_signature) on <var_signature:nullable MSignature(MSignature)> */
573 var47 = var_signature->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on <var_signature:nullable MSignature(MSignature)> */
574 if (unlikely(var47 == NULL)) {
575 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
576 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756);
577 fatal_exit(1);
578 }
579 var45 = var47;
580 RET_LABEL46:(void)0;
581 }
582 }
583 var_ = var45;
584 {
585 var48 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
586 }
587 var_49 = var48;
588 for(;;) {
589 {
590 var50 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_49);
591 }
592 if (var50){
593 {
594 var51 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_49);
595 }
596 var_p = var51;
597 {
598 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
599 var54 = var_p->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on <var_p:MParameter> */
600 if (unlikely(var54 == NULL)) {
601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
602 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879);
603 fatal_exit(1);
604 }
605 var52 = var54;
606 RET_LABEL53:(void)0;
607 }
608 }
609 {
610 var55 = ((val*(*)(val* self, val* p0, val* p1, val* p2, short int p3))(var52->class->vft[COLOR_nit__model__MType__resolve_for]))(var52, var_recv_mtype, var_recv_mtype, var_from_mmodule, 1); /* resolve_for on <var52:MType>*/
611 }
612 var_param_mtype = var55;
613 if (unlikely(varonce56==NULL)) {
614 var57 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
615 if (likely(varonce58!=NULL)) {
616 var59 = varonce58;
617 } else {
618 var60 = " ";
619 var61 = standard___standard__NativeString___to_s_with_length(var60, 1l);
620 var59 = var61;
621 varonce58 = var59;
622 }
623 ((struct instance_standard__NativeArray*)var57)->values[1]=var59;
624 } else {
625 var57 = varonce56;
626 varonce56 = NULL;
627 }
628 {
629 var62 = ((val*(*)(val* self, val* p0))(var_call_context->class->vft[COLOR_nit__nitni_utilities__CallContext__name_mtype]))(var_call_context, var_param_mtype); /* name_mtype on <var_call_context:CallContext>*/
630 }
631 ((struct instance_standard__NativeArray*)var57)->values[0]=var62;
632 {
633 { /* Inline model#MParameter#name (var_p) on <var_p:MParameter> */
634 var65 = var_p->attrs[COLOR_nit__model__MParameter___name].val; /* _name on <var_p:MParameter> */
635 if (unlikely(var65 == NULL)) {
636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
637 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876);
638 fatal_exit(1);
639 }
640 var63 = var65;
641 RET_LABEL64:(void)0;
642 }
643 }
644 ((struct instance_standard__NativeArray*)var57)->values[2]=var63;
645 {
646 var66 = ((val*(*)(val* self))(var57->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var57); /* native_to_s on <var57:NativeArray[String]>*/
647 }
648 varonce56 = var57;
649 {
650 standard___standard__Sequence___SimpleCollection__add(var_cparams, var66); /* Direct call abstract_collection#Sequence#add on <var_cparams:List[String]>*/
651 }
652 {
653 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_49); /* Direct call array#ArrayIterator#next on <var_49:ArrayIterator[MParameter]>*/
654 }
655 } else {
656 goto BREAK_label;
657 }
658 }
659 BREAK_label: (void)0;
660 {
661 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_49); /* Direct call array#ArrayIterator#finish on <var_49:ArrayIterator[MParameter]>*/
662 }
663 if (unlikely(varonce67==NULL)) {
664 var68 = NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String);
665 if (likely(varonce69!=NULL)) {
666 var70 = varonce69;
667 } else {
668 var71 = " ";
669 var72 = standard___standard__NativeString___to_s_with_length(var71, 1l);
670 var70 = var72;
671 varonce69 = var70;
672 }
673 ((struct instance_standard__NativeArray*)var68)->values[1]=var70;
674 if (likely(varonce73!=NULL)) {
675 var74 = varonce73;
676 } else {
677 var75 = "( ";
678 var76 = standard___standard__NativeString___to_s_with_length(var75, 2l);
679 var74 = var76;
680 varonce73 = var74;
681 }
682 ((struct instance_standard__NativeArray*)var68)->values[3]=var74;
683 if (likely(varonce77!=NULL)) {
684 var78 = varonce77;
685 } else {
686 var79 = " )";
687 var80 = standard___standard__NativeString___to_s_with_length(var79, 2l);
688 var78 = var80;
689 varonce77 = var78;
690 }
691 ((struct instance_standard__NativeArray*)var68)->values[5]=var78;
692 } else {
693 var68 = varonce67;
694 varonce67 = NULL;
695 }
696 ((struct instance_standard__NativeArray*)var68)->values[0]=var_creturn_type;
697 ((struct instance_standard__NativeArray*)var68)->values[2]=var_cname;
698 if (likely(varonce81!=NULL)) {
699 var82 = varonce81;
700 } else {
701 var83 = ", ";
702 var84 = standard___standard__NativeString___to_s_with_length(var83, 2l);
703 var82 = var84;
704 varonce81 = var82;
705 }
706 {
707 var85 = standard__string___Collection___join(var_cparams, var82);
708 }
709 ((struct instance_standard__NativeArray*)var68)->values[4]=var85;
710 {
711 var86 = ((val*(*)(val* self))(var68->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var68); /* native_to_s on <var68:NativeArray[String]>*/
712 }
713 varonce67 = var68;
714 var = var86;
715 goto RET_LABEL;
716 RET_LABEL:;
717 return var;
718 }
719 /* method nitni_utilities#CallContext#name_mtype for (self: CallContext, MType): String */
720 val* nit___nit__CallContext___name_mtype(val* self, val* p0) {
721 val* var /* : String */;
722 val* var_mtype /* var mtype: MType */;
723 val* var1 /* : String */;
724 var_mtype = p0;
725 {
726 var1 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_nit__nitni_base__MType__cname_blind]))(var_mtype); /* cname_blind on <var_mtype:MType>*/
727 }
728 var = var1;
729 goto RET_LABEL;
730 RET_LABEL:;
731 return var;
732 }
733 /* method nitni_utilities#Object#internal_call_context for (self: Object): CallContext */
734 val* nit__nitni_utilities___standard__Object___internal_call_context(val* self) {
735 val* var /* : CallContext */;
736 val* var1 /* : CallContext */;
737 var1 = NEW_nit__CallContext(&type_nit__CallContext);
738 {
739 { /* Inline kernel#Object#init (var1) on <var1:CallContext> */
740 RET_LABEL2:(void)0;
741 }
742 }
743 var = var1;
744 goto RET_LABEL;
745 RET_LABEL:;
746 return var;
747 }
748 /* method nitni_utilities#Object#long_signature for (self: Object): SignatureLength */
749 val* nit__nitni_utilities___standard__Object___long_signature(val* self) {
750 val* var /* : SignatureLength */;
751 static val* varonce;
752 static int varonce_guard;
753 val* var1 /* : SignatureLength */;
754 val* var2 /* : SignatureLength */;
755 if (likely(varonce_guard)) {
756 var1 = varonce;
757 } else {
758 var2 = NEW_nit__SignatureLength(&type_nit__SignatureLength);
759 {
760 ((void(*)(val* self, short int p0))(var2->class->vft[COLOR_nit__nitni_utilities__SignatureLength__long_61d]))(var2, 1); /* long= on <var2:SignatureLength>*/
761 }
762 {
763 ((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on <var2:SignatureLength>*/
764 }
765 var1 = var2;
766 varonce = var1;
767 varonce_guard = 1;
768 }
769 var = var1;
770 goto RET_LABEL;
771 RET_LABEL:;
772 return var;
773 }
774 /* method nitni_utilities#SignatureLength#long for (self: SignatureLength): Bool */
775 short int nit___nit__SignatureLength___long(val* self) {
776 short int var /* : Bool */;
777 short int var1 /* : Bool */;
778 var1 = self->attrs[COLOR_nit__nitni_utilities__SignatureLength___long].s; /* _long on <self:SignatureLength> */
779 var = var1;
780 RET_LABEL:;
781 return var;
782 }
783 /* method nitni_utilities#SignatureLength#long= for (self: SignatureLength, Bool) */
784 void nit___nit__SignatureLength___long_61d(val* self, short int p0) {
785 self->attrs[COLOR_nit__nitni_utilities__SignatureLength___long].s = p0; /* _long on <self:SignatureLength> */
786 RET_LABEL:;
787 }
788 /* method nitni_utilities#SignatureLength#init for (self: SignatureLength) */
789 void nit___nit__SignatureLength___standard__kernel__Object__init(val* self) {
790 {
791 ((void(*)(val* self))(self->class->vft[COLOR_nit___nit__SignatureLength___standard__kernel__Object__init]))(self); /* init on <self:SignatureLength>*/
792 }
793 RET_LABEL:;
794 }