nitc: let CC, CXX and NO_STACKTRACE use env value
[nit.git] / c_src / nitc__mixin.sep.1.c
1 #include "nitc__mixin.sep.0.h"
2 /* method mixin#ToolContext#opt_mixins for (self: ToolContext): OptionArray */
3 val* nitc__mixin___ToolContext___opt_mixins(val* self) {
4 val* var /* : OptionArray */;
5 val* var1 /* : OptionArray */;
6 var1 = self->attrs[COLOR_nitc__mixin__ToolContext___opt_mixins].val; /* _opt_mixins on <self:ToolContext> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 23);
10 fatal_exit(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method mixin#ToolContext#opt_defines for (self: ToolContext): OptionArray */
17 val* nitc__mixin___ToolContext___opt_defines(val* self) {
18 val* var /* : OptionArray */;
19 val* var1 /* : OptionArray */;
20 var1 = self->attrs[COLOR_nitc__mixin__ToolContext___opt_defines].val; /* _opt_defines on <self:ToolContext> */
21 if (unlikely(var1 == NULL)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
23 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 25);
24 fatal_exit(1);
25 }
26 var = var1;
27 RET_LABEL:;
28 return var;
29 }
30 /* method mixin#ToolContext#init for (self: ToolContext) */
31 void nitc__mixin___ToolContext___core__kernel__Object__init(val* self) {
32 val* var /* : OptionContext */;
33 val* var2 /* : OptionContext */;
34 val* var3 /* : OptionArray */;
35 val* var5 /* : OptionArray */;
36 val* var6 /* : OptionArray */;
37 val* var8 /* : OptionArray */;
38 val* var9 /* : Array[Option] */;
39 val* var10 /* : NativeArray[Option] */;
40 {
41 ((void(*)(val* self))(self->class->vft[COLOR_nitc__mixin___ToolContext___core__kernel__Object__init]))(self); /* init on <self:ToolContext>*/
42 }
43 {
44 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
45 var2 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
46 if (unlikely(var2 == NULL)) {
47 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
48 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342);
49 fatal_exit(1);
50 }
51 var = var2;
52 RET_LABEL1:(void)0;
53 }
54 }
55 {
56 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
57 var5 = self->attrs[COLOR_nitc__mixin__ToolContext___opt_mixins].val; /* _opt_mixins on <self:ToolContext> */
58 if (unlikely(var5 == NULL)) {
59 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
60 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 23);
61 fatal_exit(1);
62 }
63 var3 = var5;
64 RET_LABEL4:(void)0;
65 }
66 }
67 {
68 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
69 var8 = self->attrs[COLOR_nitc__mixin__ToolContext___opt_defines].val; /* _opt_defines on <self:ToolContext> */
70 if (unlikely(var8 == NULL)) {
71 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
72 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 25);
73 fatal_exit(1);
74 }
75 var6 = var8;
76 RET_LABEL7:(void)0;
77 }
78 }
79 var9 = NEW_core__Array(&type_core__Array__opts__Option);
80 { /* var9 = array_instance Array[Option] */
81 var10 = NEW_core__NativeArray(2l, &type_core__NativeArray__opts__Option);
82 ((struct instance_core__NativeArray*)var10)->values[0] = (val*) var3;
83 ((struct instance_core__NativeArray*)var10)->values[1] = (val*) var6;
84 {
85 ((void(*)(val* self, val* p0, long p1))(var9->class->vft[COLOR_core__array__Array__with_native]))(var9, var10, 2l); /* with_native on <var9:Array[Option]>*/
86 }
87 }
88 {
89 opts___opts__OptionContext___add_option(var, var9); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
90 }
91 RET_LABEL:;
92 }
93 /* method mixin#ToolContext#make_main_module for (self: ToolContext, Array[MModule]): MModule */
94 val* nitc__mixin___ToolContext___make_main_module(val* self, val* p0) {
95 val* var /* : MModule */;
96 val* var_mmodules /* var mmodules: Array[MModule] */;
97 val* var1 /* : OptionArray */;
98 val* var3 /* : OptionArray */;
99 val* var4 /* : nullable Object */;
100 val* var6 /* : nullable Object */;
101 val* var_mixins /* var mixins: Array[String] */;
102 short int var7 /* : Bool */;
103 short int var8 /* : Bool */;
104 val* var9 /* : ModelBuilder */;
105 val* var10 /* : OptionArray */;
106 val* var12 /* : OptionArray */;
107 val* var13 /* : nullable Object */;
108 val* var15 /* : nullable Object */;
109 val* var16 /* : Array[MModule] */;
110 val* var17 /* : ModelBuilder */;
111 val* var18 /* : MModule */;
112 val* var_mainmodule /* var mainmodule: MModule */;
113 val* var19 /* : OptionArray */;
114 val* var21 /* : OptionArray */;
115 val* var22 /* : nullable Object */;
116 val* var24 /* : nullable Object */;
117 val* var_defines /* var defines: Array[String] */;
118 short int var25 /* : Bool */;
119 short int var26 /* : Bool */;
120 val* var27 /* : Location */;
121 val* var29 /* : Location */;
122 val* var_location /* var location: Location */;
123 val* var30 /* : Model */;
124 val* var32 /* : Model */;
125 val* var_model /* var model: Model */;
126 val* var33 /* : nullable Object */;
127 short int var34 /* : Bool */;
128 val* var_other /* var other: nullable Object */;
129 short int var36 /* : Bool */;
130 short int var38 /* : Bool */;
131 val* var39 /* : MModule */;
132 val* var40 /* : String */;
133 val* var42 /* : String */;
134 static val* varonce;
135 val* var43 /* : String */;
136 char* var44 /* : NativeString */;
137 val* var45 /* : String */;
138 val* var46 /* : String */;
139 val* var48 /* : nullable MClassType */;
140 val* var_recv /* var recv: nullable MClassType */;
141 short int var49 /* : Bool */;
142 short int var50 /* : Bool */;
143 val* var_other52 /* var other: nullable Object */;
144 short int var53 /* : Bool */;
145 short int var54 /* : Bool */;
146 val* var55 /* : MClassDef */;
147 val* var_mclassdef /* var mclassdef: MClassDef */;
148 val* var_ /* var : Array[String] */;
149 val* var56 /* : IndexedIterator[nullable Object] */;
150 val* var_57 /* var : IndexedIterator[String] */;
151 short int var58 /* : Bool */;
152 val* var59 /* : nullable Object */;
153 val* var_define /* var define: String */;
154 val* var60 /* : Array[Text] */;
155 val* var61 /* : Pattern */;
156 val* var_spl /* var spl: Array[String] */;
157 val* var62 /* : nullable Object */;
158 val* var_name /* var name: String */;
159 val* var_val /* var val: nullable Object */;
160 long var63 /* : Int */;
161 long var65 /* : Int */;
162 short int var66 /* : Bool */;
163 short int var68 /* : Bool */;
164 int cltype;
165 int idtype;
166 const char* var_class_name;
167 short int var69 /* : Bool */;
168 val* var70 /* : nullable Object */;
169 val* var71 /* : MClass */;
170 val* var73 /* : MClass */;
171 val* var74 /* : nullable MMethod */;
172 val* var_prop /* var prop: nullable MMethod */;
173 short int var75 /* : Bool */;
174 short int var76 /* : Bool */;
175 short int var78 /* : Bool */;
176 short int var80 /* : Bool */;
177 val* var82 /* : NativeArray[String] */;
178 static val* varonce81;
179 static val* varonce83;
180 val* var84 /* : String */;
181 char* var85 /* : NativeString */;
182 val* var86 /* : String */;
183 static val* varonce87;
184 val* var88 /* : String */;
185 char* var89 /* : NativeString */;
186 val* var90 /* : String */;
187 val* var91 /* : String */;
188 val* var92 /* : Message */;
189 val* var94 /* : MPropDef */;
190 val* var96 /* : MPropDef */;
191 val* var97 /* : nullable MSignature */;
192 val* var99 /* : nullable MSignature */;
193 val* var100 /* : nullable MType */;
194 val* var102 /* : nullable MType */;
195 val* var_ret /* var ret: nullable MType */;
196 short int var103 /* : Bool */;
197 short int var104 /* : Bool */;
198 short int var106 /* : Bool */;
199 short int var108 /* : Bool */;
200 val* var110 /* : NativeArray[String] */;
201 static val* varonce109;
202 static val* varonce111;
203 val* var112 /* : String */;
204 char* var113 /* : NativeString */;
205 val* var114 /* : String */;
206 static val* varonce115;
207 val* var116 /* : String */;
208 char* var117 /* : NativeString */;
209 val* var118 /* : String */;
210 val* var119 /* : String */;
211 val* var120 /* : String */;
212 val* var121 /* : Message */;
213 val* var122 /* : String */;
214 static val* varonce123;
215 val* var124 /* : String */;
216 char* var125 /* : NativeString */;
217 val* var126 /* : String */;
218 short int var127 /* : Bool */;
219 short int var128 /* : Bool */;
220 short int var129 /* : Bool */;
221 short int var130 /* : Bool */;
222 short int var_131 /* var : Bool */;
223 static val* varonce132;
224 val* var133 /* : String */;
225 char* var134 /* : NativeString */;
226 val* var135 /* : String */;
227 short int var136 /* : Bool */;
228 val* var137 /* : nullable Object */;
229 val* var_v /* var v: nullable Object */;
230 static val* varonce138;
231 val* var139 /* : String */;
232 char* var140 /* : NativeString */;
233 val* var141 /* : String */;
234 short int var142 /* : Bool */;
235 val* var143 /* : nullable Object */;
236 val* var145 /* : NativeArray[String] */;
237 static val* varonce144;
238 static val* varonce146;
239 val* var147 /* : String */;
240 char* var148 /* : NativeString */;
241 val* var149 /* : String */;
242 static val* varonce150;
243 val* var151 /* : String */;
244 char* var152 /* : NativeString */;
245 val* var153 /* : String */;
246 val* var154 /* : String */;
247 val* var155 /* : String */;
248 val* var156 /* : Message */;
249 val* var157 /* : String */;
250 static val* varonce158;
251 val* var159 /* : String */;
252 char* var160 /* : NativeString */;
253 val* var161 /* : String */;
254 short int var162 /* : Bool */;
255 short int var163 /* : Bool */;
256 short int var164 /* : Bool */;
257 short int var165 /* : Bool */;
258 short int var167 /* : Bool */;
259 short int var168 /* : Bool */;
260 short int var_169 /* var : Bool */;
261 short int var170 /* : Bool */;
262 long var171 /* : Int */;
263 val* var172 /* : nullable Object */;
264 val* var174 /* : NativeArray[String] */;
265 static val* varonce173;
266 static val* varonce175;
267 val* var176 /* : String */;
268 char* var177 /* : NativeString */;
269 val* var178 /* : String */;
270 static val* varonce179;
271 val* var180 /* : String */;
272 char* var181 /* : NativeString */;
273 val* var182 /* : String */;
274 val* var183 /* : String */;
275 val* var184 /* : String */;
276 val* var185 /* : Message */;
277 val* var186 /* : String */;
278 static val* varonce187;
279 val* var188 /* : String */;
280 char* var189 /* : NativeString */;
281 val* var190 /* : String */;
282 short int var191 /* : Bool */;
283 short int var192 /* : Bool */;
284 short int var193 /* : Bool */;
285 short int var195 /* : Bool */;
286 short int var196 /* : Bool */;
287 val* var198 /* : NativeArray[String] */;
288 static val* varonce197;
289 static val* varonce199;
290 val* var200 /* : String */;
291 char* var201 /* : NativeString */;
292 val* var202 /* : String */;
293 static val* varonce203;
294 val* var204 /* : String */;
295 char* var205 /* : NativeString */;
296 val* var206 /* : String */;
297 val* var207 /* : String */;
298 val* var208 /* : String */;
299 val* var209 /* : Message */;
300 val* var211 /* : NativeArray[String] */;
301 static val* varonce210;
302 static val* varonce212;
303 val* var213 /* : String */;
304 char* var214 /* : NativeString */;
305 val* var215 /* : String */;
306 static val* varonce216;
307 val* var217 /* : String */;
308 char* var218 /* : NativeString */;
309 val* var219 /* : String */;
310 static val* varonce220;
311 val* var221 /* : String */;
312 char* var222 /* : NativeString */;
313 val* var223 /* : String */;
314 val* var224 /* : String */;
315 val* var225 /* : String */;
316 val* var226 /* : String */;
317 val* var227 /* : Message */;
318 val* var228 /* : MMethodDef */;
319 val* var_pd /* var pd: MMethodDef */;
320 val* var229 /* : MPropDef */;
321 val* var231 /* : MPropDef */;
322 val* var232 /* : nullable MSignature */;
323 val* var234 /* : nullable MSignature */;
324 short int var237 /* : Bool */;
325 var_mmodules = p0;
326 {
327 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
328 var3 = self->attrs[COLOR_nitc__mixin__ToolContext___opt_mixins].val; /* _opt_mixins on <self:ToolContext> */
329 if (unlikely(var3 == NULL)) {
330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
331 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 23);
332 fatal_exit(1);
333 }
334 var1 = var3;
335 RET_LABEL2:(void)0;
336 }
337 }
338 {
339 { /* Inline opts#Option#value (var1) on <var1:OptionArray> */
340 var6 = var1->attrs[COLOR_opts__Option___value].val; /* _value on <var1:OptionArray> */
341 var4 = var6;
342 RET_LABEL5:(void)0;
343 }
344 }
345 var_mixins = var4;
346 {
347 var7 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_mixins);
348 }
349 var8 = !var7;
350 if (var8){
351 {
352 var9 = nitc__modelbuilder_base___ToolContext___modelbuilder(self);
353 }
354 {
355 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
356 var12 = self->attrs[COLOR_nitc__mixin__ToolContext___opt_mixins].val; /* _opt_mixins on <self:ToolContext> */
357 if (unlikely(var12 == NULL)) {
358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
359 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 23);
360 fatal_exit(1);
361 }
362 var10 = var12;
363 RET_LABEL11:(void)0;
364 }
365 }
366 {
367 { /* Inline opts#Option#value (var10) on <var10:OptionArray> */
368 var15 = var10->attrs[COLOR_opts__Option___value].val; /* _value on <var10:OptionArray> */
369 var13 = var15;
370 RET_LABEL14:(void)0;
371 }
372 }
373 {
374 var16 = nitc__loader___ModelBuilder___parse(var9, var13);
375 }
376 {
377 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_mmodules, var16); /* Direct call array#Array#add_all on <var_mmodules:Array[MModule]>*/
378 }
379 {
380 var17 = nitc__modelbuilder_base___ToolContext___modelbuilder(self);
381 }
382 {
383 nitc__modelbuilder___ModelBuilder___run_phases(var17); /* Direct call modelbuilder#ModelBuilder#run_phases on <var17:ModelBuilder>*/
384 }
385 } else {
386 }
387 {
388 var18 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__mixin___ToolContext___make_main_module]))(self, p0); /* make_main_module on <self:ToolContext>*/
389 }
390 var_mainmodule = var18;
391 {
392 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
393 var21 = self->attrs[COLOR_nitc__mixin__ToolContext___opt_defines].val; /* _opt_defines on <self:ToolContext> */
394 if (unlikely(var21 == NULL)) {
395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 25);
397 fatal_exit(1);
398 }
399 var19 = var21;
400 RET_LABEL20:(void)0;
401 }
402 }
403 {
404 { /* Inline opts#Option#value (var19) on <var19:OptionArray> */
405 var24 = var19->attrs[COLOR_opts__Option___value].val; /* _value on <var19:OptionArray> */
406 var22 = var24;
407 RET_LABEL23:(void)0;
408 }
409 }
410 var_defines = var22;
411 {
412 var25 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_defines);
413 }
414 var26 = !var25;
415 if (var26){
416 {
417 { /* Inline mmodule#MModule#location (var_mainmodule) on <var_mainmodule:MModule> */
418 var29 = var_mainmodule->attrs[COLOR_nitc__mmodule__MModule___location].val; /* _location on <var_mainmodule:MModule> */
419 if (unlikely(var29 == NULL)) {
420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
421 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 98);
422 fatal_exit(1);
423 }
424 var27 = var29;
425 RET_LABEL28:(void)0;
426 }
427 }
428 var_location = var27;
429 {
430 { /* Inline mmodule#MModule#model (var_mainmodule) on <var_mainmodule:MModule> */
431 var32 = var_mainmodule->attrs[COLOR_nitc__mmodule__MModule___model].val; /* _model on <var_mainmodule:MModule> */
432 if (unlikely(var32 == NULL)) {
433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
434 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 78);
435 fatal_exit(1);
436 }
437 var30 = var32;
438 RET_LABEL31:(void)0;
439 }
440 }
441 var_model = var30;
442 {
443 var33 = core___core__SequenceRead___Collection__first(var_mmodules);
444 }
445 {
446 { /* Inline kernel#Object#== (var_mainmodule,var33) on <var_mainmodule:MModule> */
447 var_other = var33;
448 {
449 { /* Inline kernel#Object#is_same_instance (var_mainmodule,var_other) on <var_mainmodule:MModule> */
450 var38 = var_mainmodule == var_other;
451 var36 = var38;
452 goto RET_LABEL37;
453 RET_LABEL37:(void)0;
454 }
455 }
456 var34 = var36;
457 goto RET_LABEL35;
458 RET_LABEL35:(void)0;
459 }
460 }
461 if (var34){
462 var39 = NEW_nitc__MModule(&type_nitc__MModule);
463 {
464 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
465 var42 = var_mainmodule->attrs[COLOR_nitc__mmodule__MModule___name].val; /* _name on <var_mainmodule:MModule> */
466 if (unlikely(var42 == NULL)) {
467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
468 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 95);
469 fatal_exit(1);
470 }
471 var40 = var42;
472 RET_LABEL41:(void)0;
473 }
474 }
475 if (likely(varonce!=NULL)) {
476 var43 = varonce;
477 } else {
478 var44 = "-d";
479 var45 = core__flat___NativeString___to_s_full(var44, 2l, 2l);
480 var43 = var45;
481 varonce = var43;
482 }
483 {
484 var46 = ((val*(*)(val* self, val* p0))(var40->class->vft[COLOR_core__abstract_text__String___43d]))(var40, var43); /* + on <var40:String>*/
485 }
486 {
487 ((void(*)(val* self, val* p0))(var39->class->vft[COLOR_nitc__mmodule__MModule__model_61d]))(var39, var_model); /* model= on <var39:MModule>*/
488 }
489 {
490 ((void(*)(val* self, val* p0))(var39->class->vft[COLOR_nitc__mmodule__MModule__mgroup_61d]))(var39, ((val*)NULL)); /* mgroup= on <var39:MModule>*/
491 }
492 {
493 ((void(*)(val* self, val* p0))(var39->class->vft[COLOR_nitc__mmodule__MModule__name_61d]))(var39, var46); /* name= on <var39:MModule>*/
494 }
495 {
496 ((void(*)(val* self, val* p0))(var39->class->vft[COLOR_nitc__mmodule__MModule__location_61d]))(var39, var_location); /* location= on <var39:MModule>*/
497 }
498 {
499 ((void(*)(val* self))(var39->class->vft[COLOR_core__kernel__Object__init]))(var39); /* init on <var39:MModule>*/
500 }
501 var_mainmodule = var39;
502 {
503 nitc___nitc__MModule___set_imported_mmodules(var_mainmodule, var_mmodules); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mainmodule:MModule>*/
504 }
505 {
506 { /* Inline model_base#MEntity#is_fictive= (var_mainmodule,1) on <var_mainmodule:MModule> */
507 var_mainmodule->attrs[COLOR_nitc__model_base__MEntity___is_fictive].s = 1; /* _is_fictive on <var_mainmodule:MModule> */
508 RET_LABEL47:(void)0;
509 }
510 }
511 } else {
512 }
513 {
514 var48 = nitc__model___MModule___sys_type(var_mainmodule);
515 }
516 var_recv = var48;
517 if (var_recv == NULL) {
518 var49 = 0; /* is null */
519 } else {
520 var49 = 1; /* arg is null and recv is not */
521 }
522 if (0) {
523 { /* Inline kernel#Object#!= (var_recv,((val*)NULL)) on <var_recv:nullable MClassType> */
524 var_other52 = ((val*)NULL);
525 {
526 var53 = ((short int(*)(val* self, val* p0))(var_recv->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_recv, var_other52); /* == on <var_recv:nullable MClassType(MClassType)>*/
527 }
528 var54 = !var53;
529 var50 = var54;
530 goto RET_LABEL51;
531 RET_LABEL51:(void)0;
532 }
533 var49 = var50;
534 }
535 if (unlikely(!var49)) {
536 PRINT_ERROR("Runtime error: %s", "Assert failed");
537 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 56);
538 fatal_exit(1);
539 }
540 var55 = NEW_nitc__MClassDef(&type_nitc__MClassDef);
541 {
542 ((void(*)(val* self, val* p0))(var55->class->vft[COLOR_nitc__model__MClassDef__mmodule_61d]))(var55, var_mainmodule); /* mmodule= on <var55:MClassDef>*/
543 }
544 {
545 ((void(*)(val* self, val* p0))(var55->class->vft[COLOR_nitc__model__MClassDef__bound_mtype_61d]))(var55, var_recv); /* bound_mtype= on <var55:MClassDef>*/
546 }
547 {
548 ((void(*)(val* self, val* p0))(var55->class->vft[COLOR_nitc__model__MClassDef__location_61d]))(var55, var_location); /* location= on <var55:MClassDef>*/
549 }
550 {
551 ((void(*)(val* self))(var55->class->vft[COLOR_core__kernel__Object__init]))(var55); /* init on <var55:MClassDef>*/
552 }
553 var_mclassdef = var55;
554 {
555 nitc___nitc__MClassDef___add_in_hierarchy(var_mclassdef); /* Direct call model#MClassDef#add_in_hierarchy on <var_mclassdef:MClassDef>*/
556 }
557 var_ = var_defines;
558 {
559 var56 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
560 }
561 var_57 = var56;
562 for(;;) {
563 {
564 var58 = ((short int(*)(val* self))((((long)var_57&3)?class_info[((long)var_57&3)]:var_57->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_57); /* is_ok on <var_57:IndexedIterator[String]>*/
565 }
566 if (var58){
567 } else {
568 goto BREAK_label;
569 }
570 {
571 var59 = ((val*(*)(val* self))((((long)var_57&3)?class_info[((long)var_57&3)]:var_57->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_57); /* item on <var_57:IndexedIterator[String]>*/
572 }
573 var_define = var59;
574 {
575 var61 = (val*)((long)('=')<<2|2);
576 var60 = core__string_search___Text___split_once_on(var_define, var61);
577 }
578 var_spl = var60;
579 {
580 var62 = core___core__SequenceRead___Collection__first(var_spl);
581 }
582 var_name = var62;
583 var_val = ((val*)NULL);
584 {
585 { /* Inline array#AbstractArrayRead#length (var_spl) on <var_spl:Array[String]> */
586 var65 = var_spl->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_spl:Array[String]> */
587 var63 = var65;
588 RET_LABEL64:(void)0;
589 }
590 }
591 {
592 { /* Inline kernel#Int#> (var63,1l) on <var63:Int> */
593 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
594 /* <1l:Int> isa OTHER */
595 var68 = 1; /* easy <1l:Int> isa OTHER*/
596 if (unlikely(!var68)) {
597 var_class_name = type_core__Int.name;
598 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
599 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
600 fatal_exit(1);
601 }
602 var69 = var63 > 1l;
603 var66 = var69;
604 goto RET_LABEL67;
605 RET_LABEL67:(void)0;
606 }
607 }
608 if (var66){
609 {
610 var70 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_spl, 1l);
611 }
612 var_val = var70;
613 } else {
614 }
615 {
616 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:nullable MClassType(MClassType)> */
617 var73 = var_recv->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on <var_recv:nullable MClassType(MClassType)> */
618 if (unlikely(var73 == NULL)) {
619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
620 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163);
621 fatal_exit(1);
622 }
623 var71 = var73;
624 RET_LABEL72:(void)0;
625 }
626 }
627 {
628 var74 = nitc__model___MModule___try_get_primitive_method(var_mainmodule, var_name, var71);
629 }
630 var_prop = var74;
631 if (var_prop == NULL) {
632 var75 = 1; /* is null */
633 } else {
634 var75 = 0; /* arg is null but recv is not */
635 }
636 if (0) {
637 { /* Inline kernel#Object#== (var_prop,((val*)NULL)) on <var_prop:nullable MMethod> */
638 var_other = ((val*)NULL);
639 {
640 { /* Inline kernel#Object#is_same_instance (var_prop,var_other) on <var_prop:nullable MMethod(MMethod)> */
641 var80 = var_prop == var_other;
642 var78 = var80;
643 goto RET_LABEL79;
644 RET_LABEL79:(void)0;
645 }
646 }
647 var76 = var78;
648 goto RET_LABEL77;
649 RET_LABEL77:(void)0;
650 }
651 var75 = var76;
652 }
653 if (var75){
654 if (unlikely(varonce81==NULL)) {
655 var82 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
656 if (likely(varonce83!=NULL)) {
657 var84 = varonce83;
658 } else {
659 var85 = "Error: --define: no top-level function `";
660 var86 = core__flat___NativeString___to_s_full(var85, 40l, 40l);
661 var84 = var86;
662 varonce83 = var84;
663 }
664 ((struct instance_core__NativeArray*)var82)->values[0]=var84;
665 if (likely(varonce87!=NULL)) {
666 var88 = varonce87;
667 } else {
668 var89 = "`.";
669 var90 = core__flat___NativeString___to_s_full(var89, 2l, 2l);
670 var88 = var90;
671 varonce87 = var88;
672 }
673 ((struct instance_core__NativeArray*)var82)->values[2]=var88;
674 } else {
675 var82 = varonce81;
676 varonce81 = NULL;
677 }
678 ((struct instance_core__NativeArray*)var82)->values[1]=var_name;
679 {
680 var91 = ((val*(*)(val* self))(var82->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var82); /* native_to_s on <var82:NativeArray[String]>*/
681 }
682 varonce81 = var82;
683 {
684 var92 = nitc___nitc__ToolContext___error(self, ((val*)NULL), var91);
685 }
686 goto BREAK_label93;
687 } else {
688 }
689 {
690 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
691 var96 = var_prop->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on <var_prop:nullable MMethod(MMethod)> */
692 if (unlikely(var96 == NULL)) {
693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
694 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1986);
695 fatal_exit(1);
696 }
697 var94 = var96;
698 RET_LABEL95:(void)0;
699 }
700 }
701 {
702 { /* Inline model#MMethodDef#msignature (var94) on <var94:MPropDef(MMethodDef)> */
703 var99 = var94->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var94:MPropDef(MMethodDef)> */
704 var97 = var99;
705 RET_LABEL98:(void)0;
706 }
707 }
708 if (var97 == NULL) {
709 PRINT_ERROR("Runtime error: %s", "Receiver is null");
710 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin, 70);
711 fatal_exit(1);
712 } else {
713 { /* Inline model#MSignature#return_mtype (var97) on <var97:nullable MSignature> */
714 if (unlikely(var97 == NULL)) {
715 PRINT_ERROR("Runtime error: %s", "Receiver is null");
716 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1795);
717 fatal_exit(1);
718 }
719 var102 = var97->attrs[COLOR_nitc__model__MSignature___return_mtype].val; /* _return_mtype on <var97:nullable MSignature> */
720 var100 = var102;
721 RET_LABEL101:(void)0;
722 }
723 }
724 var_ret = var100;
725 if (var_ret == NULL) {
726 var103 = 1; /* is null */
727 } else {
728 var103 = 0; /* arg is null but recv is not */
729 }
730 if (0) {
731 { /* Inline kernel#Object#== (var_ret,((val*)NULL)) on <var_ret:nullable MType> */
732 var_other = ((val*)NULL);
733 {
734 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
735 var108 = var_ret == var_other;
736 var106 = var108;
737 goto RET_LABEL107;
738 RET_LABEL107:(void)0;
739 }
740 }
741 var104 = var106;
742 goto RET_LABEL105;
743 RET_LABEL105:(void)0;
744 }
745 var103 = var104;
746 }
747 if (var103){
748 if (unlikely(varonce109==NULL)) {
749 var110 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
750 if (likely(varonce111!=NULL)) {
751 var112 = varonce111;
752 } else {
753 var113 = "Error: --define: method `";
754 var114 = core__flat___NativeString___to_s_full(var113, 25l, 25l);
755 var112 = var114;
756 varonce111 = var112;
757 }
758 ((struct instance_core__NativeArray*)var110)->values[0]=var112;
759 if (likely(varonce115!=NULL)) {
760 var116 = varonce115;
761 } else {
762 var117 = "` is not a function.";
763 var118 = core__flat___NativeString___to_s_full(var117, 20l, 20l);
764 var116 = var118;
765 varonce115 = var116;
766 }
767 ((struct instance_core__NativeArray*)var110)->values[2]=var116;
768 } else {
769 var110 = varonce109;
770 varonce109 = NULL;
771 }
772 {
773 var119 = ((val*(*)(val* self))(var_prop->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_prop); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
774 }
775 ((struct instance_core__NativeArray*)var110)->values[1]=var119;
776 {
777 var120 = ((val*(*)(val* self))(var110->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var110); /* native_to_s on <var110:NativeArray[String]>*/
778 }
779 varonce109 = var110;
780 {
781 var121 = nitc___nitc__ToolContext___error(self, ((val*)NULL), var120);
782 }
783 goto BREAK_label93;
784 } else {
785 {
786 var122 = ((val*(*)(val* self))(var_ret->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_ret); /* to_s on <var_ret:nullable MType(MType)>*/
787 }
788 if (likely(varonce123!=NULL)) {
789 var124 = varonce123;
790 } else {
791 var125 = "Bool";
792 var126 = core__flat___NativeString___to_s_full(var125, 4l, 4l);
793 var124 = var126;
794 varonce123 = var124;
795 }
796 {
797 var127 = ((short int(*)(val* self, val* p0))(var122->class->vft[COLOR_core__kernel__Object___61d_61d]))(var122, var124); /* == on <var122:String>*/
798 }
799 if (var127){
800 if (var_val == NULL) {
801 var129 = 1; /* is null */
802 } else {
803 var129 = 0; /* arg is null but recv is not */
804 }
805 if (0) {
806 var130 = ((short int(*)(val* self, val* p0))(var_val->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_val, ((val*)NULL)); /* == on <var_val:nullable Object(nullable String)>*/
807 var129 = var130;
808 }
809 var_131 = var129;
810 if (var129){
811 var128 = var_131;
812 } else {
813 if (likely(varonce132!=NULL)) {
814 var133 = varonce132;
815 } else {
816 var134 = "true";
817 var135 = core__flat___NativeString___to_s_full(var134, 4l, 4l);
818 var133 = var135;
819 varonce132 = var133;
820 }
821 {
822 var136 = ((short int(*)(val* self, val* p0))(var_val->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_val, var133); /* == on <var_val:nullable Object(String)>*/
823 }
824 var128 = var136;
825 }
826 if (var128){
827 var137 = (val*)((long)(1)<<2|3);
828 var_v = var137;
829 } else {
830 if (likely(varonce138!=NULL)) {
831 var139 = varonce138;
832 } else {
833 var140 = "false";
834 var141 = core__flat___NativeString___to_s_full(var140, 5l, 5l);
835 var139 = var141;
836 varonce138 = var139;
837 }
838 {
839 var142 = ((short int(*)(val* self, val* p0))(var_val->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_val, var139); /* == on <var_val:nullable Object(String)>*/
840 }
841 if (var142){
842 var143 = (val*)((long)(0)<<2|3);
843 var_v = var143;
844 } else {
845 if (unlikely(varonce144==NULL)) {
846 var145 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
847 if (likely(varonce146!=NULL)) {
848 var147 = varonce146;
849 } else {
850 var148 = "Error: --define: method `";
851 var149 = core__flat___NativeString___to_s_full(var148, 25l, 25l);
852 var147 = var149;
853 varonce146 = var147;
854 }
855 ((struct instance_core__NativeArray*)var145)->values[0]=var147;
856 if (likely(varonce150!=NULL)) {
857 var151 = varonce150;
858 } else {
859 var152 = "` needs a Bool.";
860 var153 = core__flat___NativeString___to_s_full(var152, 15l, 15l);
861 var151 = var153;
862 varonce150 = var151;
863 }
864 ((struct instance_core__NativeArray*)var145)->values[2]=var151;
865 } else {
866 var145 = varonce144;
867 varonce144 = NULL;
868 }
869 {
870 var154 = ((val*(*)(val* self))(var_prop->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_prop); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
871 }
872 ((struct instance_core__NativeArray*)var145)->values[1]=var154;
873 {
874 var155 = ((val*(*)(val* self))(var145->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var145); /* native_to_s on <var145:NativeArray[String]>*/
875 }
876 varonce144 = var145;
877 {
878 var156 = nitc___nitc__ToolContext___error(self, ((val*)NULL), var155);
879 }
880 goto BREAK_label93;
881 }
882 }
883 } else {
884 {
885 var157 = ((val*(*)(val* self))(var_ret->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_ret); /* to_s on <var_ret:nullable MType(MType)>*/
886 }
887 if (likely(varonce158!=NULL)) {
888 var159 = varonce158;
889 } else {
890 var160 = "Int";
891 var161 = core__flat___NativeString___to_s_full(var160, 3l, 3l);
892 var159 = var161;
893 varonce158 = var159;
894 }
895 {
896 var162 = ((short int(*)(val* self, val* p0))(var157->class->vft[COLOR_core__kernel__Object___61d_61d]))(var157, var159); /* == on <var157:String>*/
897 }
898 if (var162){
899 if (var_val == NULL) {
900 var164 = 0; /* is null */
901 } else {
902 var164 = 1; /* arg is null and recv is not */
903 }
904 if (0) {
905 { /* Inline kernel#Object#!= (var_val,((val*)NULL)) on <var_val:nullable Object(nullable String)> */
906 var_other52 = ((val*)NULL);
907 {
908 var167 = ((short int(*)(val* self, val* p0))(var_val->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_val, var_other52); /* == on <var_val:nullable String(String)>*/
909 }
910 var168 = !var167;
911 var165 = var168;
912 goto RET_LABEL166;
913 RET_LABEL166:(void)0;
914 }
915 var164 = var165;
916 }
917 var_169 = var164;
918 if (var164){
919 {
920 var170 = core___core__Text___is_numeric(var_val);
921 }
922 var163 = var170;
923 } else {
924 var163 = var_169;
925 }
926 if (var163){
927 {
928 var171 = core__fixed_ints___Text___to_i(var_val);
929 }
930 var172 = (val*)(var171<<2|1);
931 var_v = var172;
932 } else {
933 if (unlikely(varonce173==NULL)) {
934 var174 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
935 if (likely(varonce175!=NULL)) {
936 var176 = varonce175;
937 } else {
938 var177 = "Error: --define: method `";
939 var178 = core__flat___NativeString___to_s_full(var177, 25l, 25l);
940 var176 = var178;
941 varonce175 = var176;
942 }
943 ((struct instance_core__NativeArray*)var174)->values[0]=var176;
944 if (likely(varonce179!=NULL)) {
945 var180 = varonce179;
946 } else {
947 var181 = "` needs a Int.";
948 var182 = core__flat___NativeString___to_s_full(var181, 14l, 14l);
949 var180 = var182;
950 varonce179 = var180;
951 }
952 ((struct instance_core__NativeArray*)var174)->values[2]=var180;
953 } else {
954 var174 = varonce173;
955 varonce173 = NULL;
956 }
957 {
958 var183 = ((val*(*)(val* self))(var_prop->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_prop); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
959 }
960 ((struct instance_core__NativeArray*)var174)->values[1]=var183;
961 {
962 var184 = ((val*(*)(val* self))(var174->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var174); /* native_to_s on <var174:NativeArray[String]>*/
963 }
964 varonce173 = var174;
965 {
966 var185 = nitc___nitc__ToolContext___error(self, ((val*)NULL), var184);
967 }
968 goto BREAK_label93;
969 }
970 } else {
971 {
972 var186 = ((val*(*)(val* self))(var_ret->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_ret); /* to_s on <var_ret:nullable MType(MType)>*/
973 }
974 if (likely(varonce187!=NULL)) {
975 var188 = varonce187;
976 } else {
977 var189 = "String";
978 var190 = core__flat___NativeString___to_s_full(var189, 6l, 6l);
979 var188 = var190;
980 varonce187 = var188;
981 }
982 {
983 var191 = ((short int(*)(val* self, val* p0))(var186->class->vft[COLOR_core__kernel__Object___61d_61d]))(var186, var188); /* == on <var186:String>*/
984 }
985 if (var191){
986 if (var_val == NULL) {
987 var192 = 0; /* is null */
988 } else {
989 var192 = 1; /* arg is null and recv is not */
990 }
991 if (0) {
992 { /* Inline kernel#Object#!= (var_val,((val*)NULL)) on <var_val:nullable Object(nullable String)> */
993 var_other52 = ((val*)NULL);
994 {
995 var195 = ((short int(*)(val* self, val* p0))(var_val->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_val, var_other52); /* == on <var_val:nullable String(String)>*/
996 }
997 var196 = !var195;
998 var193 = var196;
999 goto RET_LABEL194;
1000 RET_LABEL194:(void)0;
1001 }
1002 var192 = var193;
1003 }
1004 if (var192){
1005 var_v = var_val;
1006 } else {
1007 if (unlikely(varonce197==NULL)) {
1008 var198 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String);
1009 if (likely(varonce199!=NULL)) {
1010 var200 = varonce199;
1011 } else {
1012 var201 = "Error: --define: method `";
1013 var202 = core__flat___NativeString___to_s_full(var201, 25l, 25l);
1014 var200 = var202;
1015 varonce199 = var200;
1016 }
1017 ((struct instance_core__NativeArray*)var198)->values[0]=var200;
1018 if (likely(varonce203!=NULL)) {
1019 var204 = varonce203;
1020 } else {
1021 var205 = "` needs a String.";
1022 var206 = core__flat___NativeString___to_s_full(var205, 17l, 17l);
1023 var204 = var206;
1024 varonce203 = var204;
1025 }
1026 ((struct instance_core__NativeArray*)var198)->values[2]=var204;
1027 } else {
1028 var198 = varonce197;
1029 varonce197 = NULL;
1030 }
1031 {
1032 var207 = ((val*(*)(val* self))(var_prop->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_prop); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
1033 }
1034 ((struct instance_core__NativeArray*)var198)->values[1]=var207;
1035 {
1036 var208 = ((val*(*)(val* self))(var198->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var198); /* native_to_s on <var198:NativeArray[String]>*/
1037 }
1038 varonce197 = var198;
1039 {
1040 var209 = nitc___nitc__ToolContext___error(self, ((val*)NULL), var208);
1041 }
1042 goto BREAK_label93;
1043 }
1044 } else {
1045 if (unlikely(varonce210==NULL)) {
1046 var211 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String);
1047 if (likely(varonce212!=NULL)) {
1048 var213 = varonce212;
1049 } else {
1050 var214 = "Error: --define: method `";
1051 var215 = core__flat___NativeString___to_s_full(var214, 25l, 25l);
1052 var213 = var215;
1053 varonce212 = var213;
1054 }
1055 ((struct instance_core__NativeArray*)var211)->values[0]=var213;
1056 if (likely(varonce216!=NULL)) {
1057 var217 = varonce216;
1058 } else {
1059 var218 = "` returns an unsupported type `";
1060 var219 = core__flat___NativeString___to_s_full(var218, 31l, 31l);
1061 var217 = var219;
1062 varonce216 = var217;
1063 }
1064 ((struct instance_core__NativeArray*)var211)->values[2]=var217;
1065 if (likely(varonce220!=NULL)) {
1066 var221 = varonce220;
1067 } else {
1068 var222 = "`.";
1069 var223 = core__flat___NativeString___to_s_full(var222, 2l, 2l);
1070 var221 = var223;
1071 varonce220 = var221;
1072 }
1073 ((struct instance_core__NativeArray*)var211)->values[4]=var221;
1074 } else {
1075 var211 = varonce210;
1076 varonce210 = NULL;
1077 }
1078 {
1079 var224 = ((val*(*)(val* self))(var_prop->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_prop); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
1080 }
1081 ((struct instance_core__NativeArray*)var211)->values[1]=var224;
1082 {
1083 var225 = ((val*(*)(val* self))(var_ret->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_ret); /* to_s on <var_ret:nullable MType(MType)>*/
1084 }
1085 ((struct instance_core__NativeArray*)var211)->values[3]=var225;
1086 {
1087 var226 = ((val*(*)(val* self))(var211->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var211); /* native_to_s on <var211:NativeArray[String]>*/
1088 }
1089 varonce210 = var211;
1090 {
1091 var227 = nitc___nitc__ToolContext___error(self, ((val*)NULL), var226);
1092 }
1093 goto BREAK_label93;
1094 }
1095 }
1096 }
1097 }
1098 var228 = NEW_nitc__MMethodDef(&type_nitc__MMethodDef);
1099 {
1100 ((void(*)(val* self, val* p0))(var228->class->vft[COLOR_nitc__model__MPropDef__mclassdef_61d]))(var228, var_mclassdef); /* mclassdef= on <var228:MMethodDef>*/
1101 }
1102 {
1103 ((void(*)(val* self, val* p0))(var228->class->vft[COLOR_nitc__model__MPropDef__mproperty_61d]))(var228, var_prop); /* mproperty= on <var228:MMethodDef>*/
1104 }
1105 {
1106 ((void(*)(val* self, val* p0))(var228->class->vft[COLOR_nitc__model__MPropDef__location_61d]))(var228, var_location); /* location= on <var228:MMethodDef>*/
1107 }
1108 {
1109 ((void(*)(val* self))(var228->class->vft[COLOR_core__kernel__Object__init]))(var228); /* init on <var228:MMethodDef>*/
1110 }
1111 var_pd = var228;
1112 {
1113 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
1114 var231 = var_prop->attrs[COLOR_nitc__model__MProperty___intro].val; /* _intro on <var_prop:nullable MMethod(MMethod)> */
1115 if (unlikely(var231 == NULL)) {
1116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1117 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1986);
1118 fatal_exit(1);
1119 }
1120 var229 = var231;
1121 RET_LABEL230:(void)0;
1122 }
1123 }
1124 {
1125 { /* Inline model#MMethodDef#msignature (var229) on <var229:MPropDef(MMethodDef)> */
1126 var234 = var229->attrs[COLOR_nitc__model__MMethodDef___msignature].val; /* _msignature on <var229:MPropDef(MMethodDef)> */
1127 var232 = var234;
1128 RET_LABEL233:(void)0;
1129 }
1130 }
1131 {
1132 { /* Inline model#MMethodDef#msignature= (var_pd,var232) on <var_pd:MMethodDef> */
1133 var_pd->attrs[COLOR_nitc__model__MMethodDef___msignature].val = var232; /* _msignature on <var_pd:MMethodDef> */
1134 RET_LABEL235:(void)0;
1135 }
1136 }
1137 {
1138 { /* Inline model#MMethodDef#constant_value= (var_pd,var_v) on <var_pd:MMethodDef> */
1139 var_pd->attrs[COLOR_nitc__model__MMethodDef___constant_value].val = var_v; /* _constant_value on <var_pd:MMethodDef> */
1140 RET_LABEL236:(void)0;
1141 }
1142 }
1143 BREAK_label93: (void)0;
1144 {
1145 ((void(*)(val* self))((((long)var_57&3)?class_info[((long)var_57&3)]:var_57->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_57); /* next on <var_57:IndexedIterator[String]>*/
1146 }
1147 }
1148 BREAK_label: (void)0;
1149 {
1150 ((void(*)(val* self))((((long)var_57&3)?class_info[((long)var_57&3)]:var_57->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_57); /* finish on <var_57:IndexedIterator[String]>*/
1151 }
1152 {
1153 var237 = nitc___nitc__ToolContext___check_errors(self);
1154 }
1155 } else {
1156 }
1157 var = var_mainmodule;
1158 goto RET_LABEL;
1159 RET_LABEL:;
1160 return var;
1161 }