misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__mixin.sep.1.c
1 #include "nit__mixin.sep.0.h"
2 /* method mixin#ToolContext#opt_mixins for (self: ToolContext): OptionArray */
3 val* nit__mixin___ToolContext___opt_mixins(val* self) {
4 val* var /* : OptionArray */;
5 val* var1 /* : OptionArray */;
6 var1 = self->attrs[COLOR_nit__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_nit__mixin, 23);
10 show_backtrace(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method mixin#ToolContext#opt_defines for (self: ToolContext): OptionArray */
17 val* nit__mixin___ToolContext___opt_defines(val* self) {
18 val* var /* : OptionArray */;
19 val* var1 /* : OptionArray */;
20 var1 = self->attrs[COLOR_nit__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_nit__mixin, 25);
24 show_backtrace(1);
25 }
26 var = var1;
27 RET_LABEL:;
28 return var;
29 }
30 /* method mixin#ToolContext#init for (self: ToolContext) */
31 void nit__mixin___ToolContext___standard__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 long var10 /* : Int */;
40 val* var11 /* : NativeArray[Option] */;
41 {
42 ((void (*)(val* self))(self->class->vft[COLOR_nit__mixin___ToolContext___standard__kernel__Object__init]))(self) /* init on <self:ToolContext>*/;
43 }
44 {
45 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
46 var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on <self:ToolContext> */
47 if (unlikely(var2 == NULL)) {
48 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
49 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 270);
50 show_backtrace(1);
51 }
52 var = var2;
53 RET_LABEL1:(void)0;
54 }
55 }
56 {
57 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
58 var5 = self->attrs[COLOR_nit__mixin__ToolContext___opt_mixins].val; /* _opt_mixins on <self:ToolContext> */
59 if (unlikely(var5 == NULL)) {
60 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
61 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin, 23);
62 show_backtrace(1);
63 }
64 var3 = var5;
65 RET_LABEL4:(void)0;
66 }
67 }
68 {
69 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
70 var8 = self->attrs[COLOR_nit__mixin__ToolContext___opt_defines].val; /* _opt_defines on <self:ToolContext> */
71 if (unlikely(var8 == NULL)) {
72 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
73 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin, 25);
74 show_backtrace(1);
75 }
76 var6 = var8;
77 RET_LABEL7:(void)0;
78 }
79 }
80 var9 = NEW_standard__Array(&type_standard__Array__opts__Option);
81 { /* var9 = array_instance Array[Option] */
82 var10 = 2;
83 var11 = NEW_standard__NativeArray(var10, &type_standard__NativeArray__opts__Option);
84 ((struct instance_standard__NativeArray*)var11)->values[0] = (val*) var3;
85 ((struct instance_standard__NativeArray*)var11)->values[1] = (val*) var6;
86 {
87 ((void (*)(val* self, val* p0, long p1))(var9->class->vft[COLOR_standard__array__Array__with_native]))(var9, var11, var10) /* with_native on <var9:Array[Option]>*/;
88 }
89 }
90 {
91 opts___opts__OptionContext___add_option(var, var9); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
92 }
93 RET_LABEL:;
94 }
95 /* method mixin#ToolContext#make_main_module for (self: ToolContext, Array[MModule]): MModule */
96 val* nit__mixin___ToolContext___make_main_module(val* self, val* p0) {
97 val* var /* : MModule */;
98 val* var_mmodules /* var mmodules: Array[MModule] */;
99 val* var1 /* : OptionArray */;
100 val* var3 /* : OptionArray */;
101 val* var4 /* : nullable Object */;
102 val* var6 /* : nullable Object */;
103 val* var_mixins /* var mixins: Array[String] */;
104 short int var7 /* : Bool */;
105 short int var8 /* : Bool */;
106 val* var9 /* : ModelBuilder */;
107 val* var10 /* : OptionArray */;
108 val* var12 /* : OptionArray */;
109 val* var13 /* : nullable Object */;
110 val* var15 /* : nullable Object */;
111 val* var16 /* : Array[MModule] */;
112 val* var17 /* : ModelBuilder */;
113 val* var18 /* : MModule */;
114 val* var_mainmodule /* var mainmodule: MModule */;
115 val* var19 /* : OptionArray */;
116 val* var21 /* : OptionArray */;
117 val* var22 /* : nullable Object */;
118 val* var24 /* : nullable Object */;
119 val* var_defines /* var defines: Array[String] */;
120 short int var25 /* : Bool */;
121 short int var26 /* : Bool */;
122 val* var27 /* : Location */;
123 val* var29 /* : Location */;
124 val* var_location /* var location: Location */;
125 val* var30 /* : Model */;
126 val* var32 /* : Model */;
127 val* var_model /* var model: Model */;
128 val* var33 /* : nullable Object */;
129 short int var34 /* : Bool */;
130 val* var_other /* var other: nullable Object */;
131 short int var36 /* : Bool */;
132 short int var38 /* : Bool */;
133 val* var39 /* : MModule */;
134 val* var40 /* : null */;
135 val* var41 /* : String */;
136 val* var43 /* : String */;
137 static val* varonce;
138 val* var44 /* : String */;
139 char* var45 /* : NativeString */;
140 long var46 /* : Int */;
141 val* var47 /* : FlatString */;
142 val* var48 /* : String */;
143 short int var49 /* : Bool */;
144 val* var51 /* : MClassType */;
145 val* var_recv /* var recv: MClassType */;
146 val* var52 /* : MClassDef */;
147 val* var_mclassdef /* var mclassdef: MClassDef */;
148 val* var_ /* var : Array[String] */;
149 val* var53 /* : ArrayIterator[nullable Object] */;
150 val* var_54 /* var : ArrayIterator[String] */;
151 short int var55 /* : Bool */;
152 val* var56 /* : nullable Object */;
153 val* var_define /* var define: String */;
154 char var57 /* : Char */;
155 val* var58 /* : Array[Text] */;
156 val* var59 /* : Pattern */;
157 val* var_spl /* var spl: Array[String] */;
158 val* var60 /* : nullable Object */;
159 val* var_name /* var name: String */;
160 val* var61 /* : null */;
161 val* var_val /* var val: nullable Object */;
162 long var62 /* : Int */;
163 long var64 /* : Int */;
164 long var65 /* : Int */;
165 short int var66 /* : Bool */;
166 short int var68 /* : Bool */;
167 int cltype;
168 int idtype;
169 const char* var_class_name;
170 short int var69 /* : Bool */;
171 long var70 /* : Int */;
172 val* var71 /* : nullable Object */;
173 val* var72 /* : MClass */;
174 val* var74 /* : MClass */;
175 val* var75 /* : nullable MMethod */;
176 val* var_prop /* var prop: nullable MMethod */;
177 val* var76 /* : null */;
178 short int var77 /* : Bool */;
179 short int var78 /* : Bool */;
180 short int var80 /* : Bool */;
181 short int var82 /* : Bool */;
182 val* var83 /* : null */;
183 static val* varonce84;
184 val* var85 /* : String */;
185 char* var86 /* : NativeString */;
186 long var87 /* : Int */;
187 val* var88 /* : FlatString */;
188 static val* varonce89;
189 val* var90 /* : String */;
190 char* var91 /* : NativeString */;
191 long var92 /* : Int */;
192 val* var93 /* : FlatString */;
193 val* var94 /* : Array[Object] */;
194 long var95 /* : Int */;
195 val* var96 /* : NativeArray[Object] */;
196 val* var97 /* : String */;
197 val* var98 /* : MPropDef */;
198 val* var100 /* : MPropDef */;
199 val* var101 /* : nullable MSignature */;
200 val* var103 /* : nullable MSignature */;
201 val* var104 /* : nullable MType */;
202 val* var106 /* : nullable MType */;
203 val* var_ret /* var ret: nullable MType */;
204 val* var107 /* : null */;
205 short int var108 /* : Bool */;
206 short int var109 /* : Bool */;
207 short int var111 /* : Bool */;
208 short int var113 /* : Bool */;
209 val* var114 /* : null */;
210 static val* varonce115;
211 val* var116 /* : String */;
212 char* var117 /* : NativeString */;
213 long var118 /* : Int */;
214 val* var119 /* : FlatString */;
215 static val* varonce120;
216 val* var121 /* : String */;
217 char* var122 /* : NativeString */;
218 long var123 /* : Int */;
219 val* var124 /* : FlatString */;
220 val* var125 /* : Array[Object] */;
221 long var126 /* : Int */;
222 val* var127 /* : NativeArray[Object] */;
223 val* var128 /* : String */;
224 val* var129 /* : String */;
225 static val* varonce130;
226 val* var131 /* : String */;
227 char* var132 /* : NativeString */;
228 long var133 /* : Int */;
229 val* var134 /* : FlatString */;
230 short int var135 /* : Bool */;
231 short int var136 /* : Bool */;
232 val* var137 /* : null */;
233 short int var138 /* : Bool */;
234 short int var139 /* : Bool */;
235 short int var_140 /* var : Bool */;
236 static val* varonce141;
237 val* var142 /* : String */;
238 char* var143 /* : NativeString */;
239 long var144 /* : Int */;
240 val* var145 /* : FlatString */;
241 short int var146 /* : Bool */;
242 short int var147 /* : Bool */;
243 val* var148 /* : nullable Object */;
244 val* var_v /* var v: nullable Object */;
245 static val* varonce149;
246 val* var150 /* : String */;
247 char* var151 /* : NativeString */;
248 long var152 /* : Int */;
249 val* var153 /* : FlatString */;
250 short int var154 /* : Bool */;
251 short int var155 /* : Bool */;
252 val* var156 /* : nullable Object */;
253 val* var157 /* : null */;
254 static val* varonce158;
255 val* var159 /* : String */;
256 char* var160 /* : NativeString */;
257 long var161 /* : Int */;
258 val* var162 /* : FlatString */;
259 static val* varonce163;
260 val* var164 /* : String */;
261 char* var165 /* : NativeString */;
262 long var166 /* : Int */;
263 val* var167 /* : FlatString */;
264 val* var168 /* : Array[Object] */;
265 long var169 /* : Int */;
266 val* var170 /* : NativeArray[Object] */;
267 val* var171 /* : String */;
268 val* var172 /* : String */;
269 static val* varonce173;
270 val* var174 /* : String */;
271 char* var175 /* : NativeString */;
272 long var176 /* : Int */;
273 val* var177 /* : FlatString */;
274 short int var178 /* : Bool */;
275 short int var179 /* : Bool */;
276 val* var180 /* : null */;
277 short int var181 /* : Bool */;
278 short int var182 /* : Bool */;
279 val* var_other184 /* var other: nullable Object */;
280 short int var185 /* : Bool */;
281 short int var186 /* : Bool */;
282 short int var_187 /* var : Bool */;
283 short int var188 /* : Bool */;
284 long var189 /* : Int */;
285 val* var190 /* : nullable Object */;
286 val* var191 /* : null */;
287 static val* varonce192;
288 val* var193 /* : String */;
289 char* var194 /* : NativeString */;
290 long var195 /* : Int */;
291 val* var196 /* : FlatString */;
292 static val* varonce197;
293 val* var198 /* : String */;
294 char* var199 /* : NativeString */;
295 long var200 /* : Int */;
296 val* var201 /* : FlatString */;
297 val* var202 /* : Array[Object] */;
298 long var203 /* : Int */;
299 val* var204 /* : NativeArray[Object] */;
300 val* var205 /* : String */;
301 val* var206 /* : String */;
302 static val* varonce207;
303 val* var208 /* : String */;
304 char* var209 /* : NativeString */;
305 long var210 /* : Int */;
306 val* var211 /* : FlatString */;
307 short int var212 /* : Bool */;
308 val* var213 /* : null */;
309 short int var214 /* : Bool */;
310 short int var215 /* : Bool */;
311 short int var217 /* : Bool */;
312 short int var218 /* : Bool */;
313 val* var219 /* : null */;
314 static val* varonce220;
315 val* var221 /* : String */;
316 char* var222 /* : NativeString */;
317 long var223 /* : Int */;
318 val* var224 /* : FlatString */;
319 static val* varonce225;
320 val* var226 /* : String */;
321 char* var227 /* : NativeString */;
322 long var228 /* : Int */;
323 val* var229 /* : FlatString */;
324 val* var230 /* : Array[Object] */;
325 long var231 /* : Int */;
326 val* var232 /* : NativeArray[Object] */;
327 val* var233 /* : String */;
328 val* var234 /* : null */;
329 static val* varonce235;
330 val* var236 /* : String */;
331 char* var237 /* : NativeString */;
332 long var238 /* : Int */;
333 val* var239 /* : FlatString */;
334 static val* varonce240;
335 val* var241 /* : String */;
336 char* var242 /* : NativeString */;
337 long var243 /* : Int */;
338 val* var244 /* : FlatString */;
339 static val* varonce245;
340 val* var246 /* : String */;
341 char* var247 /* : NativeString */;
342 long var248 /* : Int */;
343 val* var249 /* : FlatString */;
344 val* var250 /* : Array[Object] */;
345 long var251 /* : Int */;
346 val* var252 /* : NativeArray[Object] */;
347 val* var253 /* : String */;
348 val* var254 /* : MMethodDef */;
349 val* var_pd /* var pd: MMethodDef */;
350 val* var255 /* : MPropDef */;
351 val* var257 /* : MPropDef */;
352 val* var258 /* : nullable MSignature */;
353 val* var260 /* : nullable MSignature */;
354 short int var265 /* : Bool */;
355 var_mmodules = p0;
356 {
357 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
358 var3 = self->attrs[COLOR_nit__mixin__ToolContext___opt_mixins].val; /* _opt_mixins on <self:ToolContext> */
359 if (unlikely(var3 == NULL)) {
360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin, 23);
362 show_backtrace(1);
363 }
364 var1 = var3;
365 RET_LABEL2:(void)0;
366 }
367 }
368 {
369 { /* Inline opts#Option#value (var1) on <var1:OptionArray> */
370 var6 = var1->attrs[COLOR_opts__Option___value].val; /* _value on <var1:OptionArray> */
371 var4 = var6;
372 RET_LABEL5:(void)0;
373 }
374 }
375 var_mixins = var4;
376 {
377 var7 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_mixins);
378 }
379 var8 = !var7;
380 if (var8){
381 {
382 var9 = nit__modelbuilder_base___ToolContext___modelbuilder(self);
383 }
384 {
385 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
386 var12 = self->attrs[COLOR_nit__mixin__ToolContext___opt_mixins].val; /* _opt_mixins on <self:ToolContext> */
387 if (unlikely(var12 == NULL)) {
388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
389 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin, 23);
390 show_backtrace(1);
391 }
392 var10 = var12;
393 RET_LABEL11:(void)0;
394 }
395 }
396 {
397 { /* Inline opts#Option#value (var10) on <var10:OptionArray> */
398 var15 = var10->attrs[COLOR_opts__Option___value].val; /* _value on <var10:OptionArray> */
399 var13 = var15;
400 RET_LABEL14:(void)0;
401 }
402 }
403 {
404 var16 = nit__loader___ModelBuilder___parse(var9, var13);
405 }
406 {
407 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_mmodules, var16); /* Direct call array#Array#add_all on <var_mmodules:Array[MModule]>*/
408 }
409 {
410 var17 = nit__modelbuilder_base___ToolContext___modelbuilder(self);
411 }
412 {
413 nit__modelbuilder___ModelBuilder___run_phases(var17); /* Direct call modelbuilder#ModelBuilder#run_phases on <var17:ModelBuilder>*/
414 }
415 } else {
416 }
417 {
418 var18 = ((val* (*)(val* self, val* p0))(self->class->vft[COLOR_nit__mixin___ToolContext___make_main_module]))(self, p0) /* make_main_module on <self:ToolContext>*/;
419 }
420 var_mainmodule = var18;
421 {
422 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
423 var21 = self->attrs[COLOR_nit__mixin__ToolContext___opt_defines].val; /* _opt_defines on <self:ToolContext> */
424 if (unlikely(var21 == NULL)) {
425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin, 25);
427 show_backtrace(1);
428 }
429 var19 = var21;
430 RET_LABEL20:(void)0;
431 }
432 }
433 {
434 { /* Inline opts#Option#value (var19) on <var19:OptionArray> */
435 var24 = var19->attrs[COLOR_opts__Option___value].val; /* _value on <var19:OptionArray> */
436 var22 = var24;
437 RET_LABEL23:(void)0;
438 }
439 }
440 var_defines = var22;
441 {
442 var25 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_defines);
443 }
444 var26 = !var25;
445 if (var26){
446 {
447 { /* Inline mmodule#MModule#location (var_mainmodule) on <var_mainmodule:MModule> */
448 var29 = var_mainmodule->attrs[COLOR_nit__mmodule__MModule___location].val; /* _location on <var_mainmodule:MModule> */
449 if (unlikely(var29 == NULL)) {
450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
451 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 90);
452 show_backtrace(1);
453 }
454 var27 = var29;
455 RET_LABEL28:(void)0;
456 }
457 }
458 var_location = var27;
459 {
460 { /* Inline mmodule#MModule#model (var_mainmodule) on <var_mainmodule:MModule> */
461 var32 = var_mainmodule->attrs[COLOR_nit__mmodule__MModule___model].val; /* _model on <var_mainmodule:MModule> */
462 if (unlikely(var32 == NULL)) {
463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 73);
465 show_backtrace(1);
466 }
467 var30 = var32;
468 RET_LABEL31:(void)0;
469 }
470 }
471 var_model = var30;
472 {
473 var33 = standard___standard__SequenceRead___Collection__first(var_mmodules);
474 }
475 {
476 { /* Inline kernel#Object#== (var_mainmodule,var33) on <var_mainmodule:MModule> */
477 var_other = var33;
478 {
479 { /* Inline kernel#Object#is_same_instance (var_mainmodule,var_other) on <var_mainmodule:MModule> */
480 var38 = var_mainmodule == var_other;
481 var36 = var38;
482 goto RET_LABEL37;
483 RET_LABEL37:(void)0;
484 }
485 }
486 var34 = var36;
487 goto RET_LABEL35;
488 RET_LABEL35:(void)0;
489 }
490 }
491 if (var34){
492 var39 = NEW_nit__MModule(&type_nit__MModule);
493 var40 = NULL;
494 {
495 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
496 var43 = var_mainmodule->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on <var_mainmodule:MModule> */
497 if (unlikely(var43 == NULL)) {
498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87);
500 show_backtrace(1);
501 }
502 var41 = var43;
503 RET_LABEL42:(void)0;
504 }
505 }
506 if (varonce) {
507 var44 = varonce;
508 } else {
509 var45 = "-d";
510 var46 = 2;
511 var47 = standard___standard__NativeString___to_s_with_length(var45, var46);
512 var44 = var47;
513 varonce = var44;
514 }
515 {
516 var48 = ((val* (*)(val* self, val* p0))(var41->class->vft[COLOR_standard__string__String___43d]))(var41, var44) /* + on <var41:String>*/;
517 }
518 {
519 ((void (*)(val* self, val* p0))(var39->class->vft[COLOR_nit__mmodule__MModule__model_61d]))(var39, var_model) /* model= on <var39:MModule>*/;
520 }
521 {
522 ((void (*)(val* self, val* p0))(var39->class->vft[COLOR_nit__mmodule__MModule__mgroup_61d]))(var39, var40) /* mgroup= on <var39:MModule>*/;
523 }
524 {
525 ((void (*)(val* self, val* p0))(var39->class->vft[COLOR_nit__mmodule__MModule__name_61d]))(var39, var48) /* name= on <var39:MModule>*/;
526 }
527 {
528 ((void (*)(val* self, val* p0))(var39->class->vft[COLOR_nit__mmodule__MModule__location_61d]))(var39, var_location) /* location= on <var39:MModule>*/;
529 }
530 {
531 ((void (*)(val* self))(var39->class->vft[COLOR_standard__kernel__Object__init]))(var39) /* init on <var39:MModule>*/;
532 }
533 var_mainmodule = var39;
534 {
535 nit___nit__MModule___set_imported_mmodules(var_mainmodule, var_mmodules); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mainmodule:MModule>*/
536 }
537 var49 = 1;
538 {
539 { /* Inline mmodule#MModule#is_fictive= (var_mainmodule,var49) on <var_mainmodule:MModule> */
540 var_mainmodule->attrs[COLOR_nit__mmodule__MModule___is_fictive].s = var49; /* _is_fictive on <var_mainmodule:MModule> */
541 RET_LABEL50:(void)0;
542 }
543 }
544 } else {
545 }
546 {
547 var51 = nit__model___MModule___object_type(var_mainmodule);
548 }
549 var_recv = var51;
550 var52 = NEW_nit__MClassDef(&type_nit__MClassDef);
551 {
552 ((void (*)(val* self, val* p0))(var52->class->vft[COLOR_nit__model__MClassDef__mmodule_61d]))(var52, var_mainmodule) /* mmodule= on <var52:MClassDef>*/;
553 }
554 {
555 ((void (*)(val* self, val* p0))(var52->class->vft[COLOR_nit__model__MClassDef__bound_mtype_61d]))(var52, var_recv) /* bound_mtype= on <var52:MClassDef>*/;
556 }
557 {
558 ((void (*)(val* self, val* p0))(var52->class->vft[COLOR_nit__model__MClassDef__location_61d]))(var52, var_location) /* location= on <var52:MClassDef>*/;
559 }
560 {
561 ((void (*)(val* self))(var52->class->vft[COLOR_standard__kernel__Object__init]))(var52) /* init on <var52:MClassDef>*/;
562 }
563 var_mclassdef = var52;
564 {
565 nit___nit__MClassDef___add_in_hierarchy(var_mclassdef); /* Direct call model#MClassDef#add_in_hierarchy on <var_mclassdef:MClassDef>*/
566 }
567 var_ = var_defines;
568 {
569 var53 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
570 }
571 var_54 = var53;
572 for(;;) {
573 {
574 var55 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_54);
575 }
576 if (var55){
577 {
578 var56 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_54);
579 }
580 var_define = var56;
581 var57 = '=';
582 {
583 var59 = BOX_standard__Char(var57); /* autobox from Char to Pattern */
584 var58 = standard__string_search___Text___split_once_on(var_define, var59);
585 }
586 var_spl = var58;
587 {
588 var60 = standard___standard__SequenceRead___Collection__first(var_spl);
589 }
590 var_name = var60;
591 var61 = NULL;
592 var_val = var61;
593 {
594 { /* Inline array#AbstractArrayRead#length (var_spl) on <var_spl:Array[String]> */
595 var64 = var_spl->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_spl:Array[String]> */
596 var62 = var64;
597 RET_LABEL63:(void)0;
598 }
599 }
600 var65 = 1;
601 {
602 { /* Inline kernel#Int#> (var62,var65) on <var62:Int> */
603 /* Covariant cast for argument 0 (i) <var65:Int> isa OTHER */
604 /* <var65:Int> isa OTHER */
605 var68 = 1; /* easy <var65:Int> isa OTHER*/
606 if (unlikely(!var68)) {
607 var_class_name = type_standard__Int.name;
608 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
609 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
610 show_backtrace(1);
611 }
612 var69 = var62 > var65;
613 var66 = var69;
614 goto RET_LABEL67;
615 RET_LABEL67:(void)0;
616 }
617 }
618 if (var66){
619 var70 = 1;
620 {
621 var71 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_spl, var70);
622 }
623 var_val = var71;
624 } else {
625 }
626 {
627 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:MClassType> */
628 var74 = var_recv->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var_recv:MClassType> */
629 if (unlikely(var74 == NULL)) {
630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058);
632 show_backtrace(1);
633 }
634 var72 = var74;
635 RET_LABEL73:(void)0;
636 }
637 }
638 {
639 var75 = nit__model___MModule___try_get_primitive_method(var_mainmodule, var_name, var72);
640 }
641 var_prop = var75;
642 var76 = NULL;
643 if (var_prop == NULL) {
644 var77 = 1; /* is null */
645 } else {
646 var77 = 0; /* arg is null but recv is not */
647 }
648 if (0) {
649 { /* Inline kernel#Object#== (var_prop,var76) on <var_prop:nullable MMethod> */
650 var_other = var76;
651 {
652 { /* Inline kernel#Object#is_same_instance (var_prop,var_other) on <var_prop:nullable MMethod(MMethod)> */
653 var82 = var_prop == var_other;
654 var80 = var82;
655 goto RET_LABEL81;
656 RET_LABEL81:(void)0;
657 }
658 }
659 var78 = var80;
660 goto RET_LABEL79;
661 RET_LABEL79:(void)0;
662 }
663 var77 = var78;
664 }
665 if (var77){
666 var83 = NULL;
667 if (varonce84) {
668 var85 = varonce84;
669 } else {
670 var86 = "Error: --define: no top-level function `";
671 var87 = 40;
672 var88 = standard___standard__NativeString___to_s_with_length(var86, var87);
673 var85 = var88;
674 varonce84 = var85;
675 }
676 if (varonce89) {
677 var90 = varonce89;
678 } else {
679 var91 = "`";
680 var92 = 1;
681 var93 = standard___standard__NativeString___to_s_with_length(var91, var92);
682 var90 = var93;
683 varonce89 = var90;
684 }
685 var94 = NEW_standard__Array(&type_standard__Array__standard__Object);
686 { /* var94 = array_instance Array[Object] */
687 var95 = 3;
688 var96 = NEW_standard__NativeArray(var95, &type_standard__NativeArray__standard__Object);
689 ((struct instance_standard__NativeArray*)var96)->values[0] = (val*) var85;
690 ((struct instance_standard__NativeArray*)var96)->values[1] = (val*) var_name;
691 ((struct instance_standard__NativeArray*)var96)->values[2] = (val*) var90;
692 {
693 ((void (*)(val* self, val* p0, long p1))(var94->class->vft[COLOR_standard__array__Array__with_native]))(var94, var96, var95) /* with_native on <var94:Array[Object]>*/;
694 }
695 }
696 {
697 var97 = ((val* (*)(val* self))(var94->class->vft[COLOR_standard__string__Object__to_s]))(var94) /* to_s on <var94:Array[Object]>*/;
698 }
699 {
700 nit___nit__ToolContext___error(self, var83, var97); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
701 }
702 goto BREAK_label;
703 } else {
704 }
705 {
706 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
707 var100 = var_prop->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on <var_prop:nullable MMethod(MMethod)> */
708 if (unlikely(var100 == NULL)) {
709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
710 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773);
711 show_backtrace(1);
712 }
713 var98 = var100;
714 RET_LABEL99:(void)0;
715 }
716 }
717 {
718 { /* Inline model#MMethodDef#msignature (var98) on <var98:MPropDef(MMethodDef)> */
719 var103 = var98->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var98:MPropDef(MMethodDef)> */
720 var101 = var103;
721 RET_LABEL102:(void)0;
722 }
723 }
724 if (var101 == NULL) {
725 PRINT_ERROR("Runtime error: %s", "Receiver is null");
726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin, 69);
727 show_backtrace(1);
728 } else {
729 { /* Inline model#MSignature#return_mtype (var101) on <var101:nullable MSignature> */
730 if (unlikely(var101 == NULL)) {
731 PRINT_ERROR("Runtime error: %s", "Receiver is null");
732 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1595);
733 show_backtrace(1);
734 }
735 var106 = var101->attrs[COLOR_nit__model__MSignature___return_mtype].val; /* _return_mtype on <var101:nullable MSignature> */
736 var104 = var106;
737 RET_LABEL105:(void)0;
738 }
739 }
740 var_ret = var104;
741 var107 = NULL;
742 if (var_ret == NULL) {
743 var108 = 1; /* is null */
744 } else {
745 var108 = 0; /* arg is null but recv is not */
746 }
747 if (0) {
748 { /* Inline kernel#Object#== (var_ret,var107) on <var_ret:nullable MType> */
749 var_other = var107;
750 {
751 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
752 var113 = var_ret == var_other;
753 var111 = var113;
754 goto RET_LABEL112;
755 RET_LABEL112:(void)0;
756 }
757 }
758 var109 = var111;
759 goto RET_LABEL110;
760 RET_LABEL110:(void)0;
761 }
762 var108 = var109;
763 }
764 if (var108){
765 var114 = NULL;
766 if (varonce115) {
767 var116 = varonce115;
768 } else {
769 var117 = "Error: --define: Method `";
770 var118 = 25;
771 var119 = standard___standard__NativeString___to_s_with_length(var117, var118);
772 var116 = var119;
773 varonce115 = var116;
774 }
775 if (varonce120) {
776 var121 = varonce120;
777 } else {
778 var122 = "` is not a function";
779 var123 = 19;
780 var124 = standard___standard__NativeString___to_s_with_length(var122, var123);
781 var121 = var124;
782 varonce120 = var121;
783 }
784 var125 = NEW_standard__Array(&type_standard__Array__standard__Object);
785 { /* var125 = array_instance Array[Object] */
786 var126 = 3;
787 var127 = NEW_standard__NativeArray(var126, &type_standard__NativeArray__standard__Object);
788 ((struct instance_standard__NativeArray*)var127)->values[0] = (val*) var116;
789 ((struct instance_standard__NativeArray*)var127)->values[1] = (val*) var_prop;
790 ((struct instance_standard__NativeArray*)var127)->values[2] = (val*) var121;
791 {
792 ((void (*)(val* self, val* p0, long p1))(var125->class->vft[COLOR_standard__array__Array__with_native]))(var125, var127, var126) /* with_native on <var125:Array[Object]>*/;
793 }
794 }
795 {
796 var128 = ((val* (*)(val* self))(var125->class->vft[COLOR_standard__string__Object__to_s]))(var125) /* to_s on <var125:Array[Object]>*/;
797 }
798 {
799 nit___nit__ToolContext___error(self, var114, var128); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
800 }
801 goto BREAK_label;
802 } else {
803 {
804 var129 = ((val* (*)(val* self))(var_ret->class->vft[COLOR_standard__string__Object__to_s]))(var_ret) /* to_s on <var_ret:nullable MType(MType)>*/;
805 }
806 if (varonce130) {
807 var131 = varonce130;
808 } else {
809 var132 = "Bool";
810 var133 = 4;
811 var134 = standard___standard__NativeString___to_s_with_length(var132, var133);
812 var131 = var134;
813 varonce130 = var131;
814 }
815 {
816 var135 = ((short int (*)(val* self, val* p0))(var129->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var129, var131) /* == on <var129:String>*/;
817 }
818 if (var135){
819 var137 = NULL;
820 if (var_val == NULL) {
821 var138 = 1; /* is null */
822 } else {
823 var138 = 0; /* arg is null but recv is not */
824 }
825 if (0) {
826 var139 = ((short int (*)(val* self, val* p0))(var_val->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_val, var137) /* == on <var_val:nullable Object(nullable String)>*/;
827 var138 = var139;
828 }
829 var_140 = var138;
830 if (var138){
831 var136 = var_140;
832 } else {
833 if (varonce141) {
834 var142 = varonce141;
835 } else {
836 var143 = "true";
837 var144 = 4;
838 var145 = standard___standard__NativeString___to_s_with_length(var143, var144);
839 var142 = var145;
840 varonce141 = var142;
841 }
842 {
843 var146 = ((short int (*)(val* self, val* p0))(var_val->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_val, var142) /* == on <var_val:nullable Object(String)>*/;
844 }
845 var136 = var146;
846 }
847 if (var136){
848 var147 = 1;
849 var148 = BOX_standard__Bool(var147); /* autobox from Bool to nullable Object */
850 var_v = var148;
851 } else {
852 if (varonce149) {
853 var150 = varonce149;
854 } else {
855 var151 = "false";
856 var152 = 5;
857 var153 = standard___standard__NativeString___to_s_with_length(var151, var152);
858 var150 = var153;
859 varonce149 = var150;
860 }
861 {
862 var154 = ((short int (*)(val* self, val* p0))(var_val->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_val, var150) /* == on <var_val:nullable Object(String)>*/;
863 }
864 if (var154){
865 var155 = 0;
866 var156 = BOX_standard__Bool(var155); /* autobox from Bool to nullable Object */
867 var_v = var156;
868 } else {
869 var157 = NULL;
870 if (varonce158) {
871 var159 = varonce158;
872 } else {
873 var160 = "Error: --define: Method `";
874 var161 = 25;
875 var162 = standard___standard__NativeString___to_s_with_length(var160, var161);
876 var159 = var162;
877 varonce158 = var159;
878 }
879 if (varonce163) {
880 var164 = varonce163;
881 } else {
882 var165 = "` need a Bool.";
883 var166 = 14;
884 var167 = standard___standard__NativeString___to_s_with_length(var165, var166);
885 var164 = var167;
886 varonce163 = var164;
887 }
888 var168 = NEW_standard__Array(&type_standard__Array__standard__Object);
889 { /* var168 = array_instance Array[Object] */
890 var169 = 3;
891 var170 = NEW_standard__NativeArray(var169, &type_standard__NativeArray__standard__Object);
892 ((struct instance_standard__NativeArray*)var170)->values[0] = (val*) var159;
893 ((struct instance_standard__NativeArray*)var170)->values[1] = (val*) var_prop;
894 ((struct instance_standard__NativeArray*)var170)->values[2] = (val*) var164;
895 {
896 ((void (*)(val* self, val* p0, long p1))(var168->class->vft[COLOR_standard__array__Array__with_native]))(var168, var170, var169) /* with_native on <var168:Array[Object]>*/;
897 }
898 }
899 {
900 var171 = ((val* (*)(val* self))(var168->class->vft[COLOR_standard__string__Object__to_s]))(var168) /* to_s on <var168:Array[Object]>*/;
901 }
902 {
903 nit___nit__ToolContext___error(self, var157, var171); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
904 }
905 goto BREAK_label;
906 }
907 }
908 } else {
909 {
910 var172 = ((val* (*)(val* self))(var_ret->class->vft[COLOR_standard__string__Object__to_s]))(var_ret) /* to_s on <var_ret:nullable MType(MType)>*/;
911 }
912 if (varonce173) {
913 var174 = varonce173;
914 } else {
915 var175 = "Int";
916 var176 = 3;
917 var177 = standard___standard__NativeString___to_s_with_length(var175, var176);
918 var174 = var177;
919 varonce173 = var174;
920 }
921 {
922 var178 = ((short int (*)(val* self, val* p0))(var172->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var172, var174) /* == on <var172:String>*/;
923 }
924 if (var178){
925 var180 = NULL;
926 if (var_val == NULL) {
927 var181 = 0; /* is null */
928 } else {
929 var181 = 1; /* arg is null and recv is not */
930 }
931 if (0) {
932 { /* Inline kernel#Object#!= (var_val,var180) on <var_val:nullable Object(nullable String)> */
933 var_other184 = var180;
934 {
935 var185 = ((short int (*)(val* self, val* p0))(var_val->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_val, var_other184) /* == on <var_val:nullable String(String)>*/;
936 }
937 var186 = !var185;
938 var182 = var186;
939 goto RET_LABEL183;
940 RET_LABEL183:(void)0;
941 }
942 var181 = var182;
943 }
944 var_187 = var181;
945 if (var181){
946 {
947 var188 = standard___standard__Text___is_numeric(var_val);
948 }
949 var179 = var188;
950 } else {
951 var179 = var_187;
952 }
953 if (var179){
954 {
955 var189 = standard___standard__Text___to_i(var_val);
956 }
957 var190 = BOX_standard__Int(var189); /* autobox from Int to nullable Object */
958 var_v = var190;
959 } else {
960 var191 = NULL;
961 if (varonce192) {
962 var193 = varonce192;
963 } else {
964 var194 = "Error: --define: Method `";
965 var195 = 25;
966 var196 = standard___standard__NativeString___to_s_with_length(var194, var195);
967 var193 = var196;
968 varonce192 = var193;
969 }
970 if (varonce197) {
971 var198 = varonce197;
972 } else {
973 var199 = "` need a Int.";
974 var200 = 13;
975 var201 = standard___standard__NativeString___to_s_with_length(var199, var200);
976 var198 = var201;
977 varonce197 = var198;
978 }
979 var202 = NEW_standard__Array(&type_standard__Array__standard__Object);
980 { /* var202 = array_instance Array[Object] */
981 var203 = 3;
982 var204 = NEW_standard__NativeArray(var203, &type_standard__NativeArray__standard__Object);
983 ((struct instance_standard__NativeArray*)var204)->values[0] = (val*) var193;
984 ((struct instance_standard__NativeArray*)var204)->values[1] = (val*) var_prop;
985 ((struct instance_standard__NativeArray*)var204)->values[2] = (val*) var198;
986 {
987 ((void (*)(val* self, val* p0, long p1))(var202->class->vft[COLOR_standard__array__Array__with_native]))(var202, var204, var203) /* with_native on <var202:Array[Object]>*/;
988 }
989 }
990 {
991 var205 = ((val* (*)(val* self))(var202->class->vft[COLOR_standard__string__Object__to_s]))(var202) /* to_s on <var202:Array[Object]>*/;
992 }
993 {
994 nit___nit__ToolContext___error(self, var191, var205); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
995 }
996 goto BREAK_label;
997 }
998 } else {
999 {
1000 var206 = ((val* (*)(val* self))(var_ret->class->vft[COLOR_standard__string__Object__to_s]))(var_ret) /* to_s on <var_ret:nullable MType(MType)>*/;
1001 }
1002 if (varonce207) {
1003 var208 = varonce207;
1004 } else {
1005 var209 = "String";
1006 var210 = 6;
1007 var211 = standard___standard__NativeString___to_s_with_length(var209, var210);
1008 var208 = var211;
1009 varonce207 = var208;
1010 }
1011 {
1012 var212 = ((short int (*)(val* self, val* p0))(var206->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var206, var208) /* == on <var206:String>*/;
1013 }
1014 if (var212){
1015 var213 = NULL;
1016 if (var_val == NULL) {
1017 var214 = 0; /* is null */
1018 } else {
1019 var214 = 1; /* arg is null and recv is not */
1020 }
1021 if (0) {
1022 { /* Inline kernel#Object#!= (var_val,var213) on <var_val:nullable Object(nullable String)> */
1023 var_other184 = var213;
1024 {
1025 var217 = ((short int (*)(val* self, val* p0))(var_val->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_val, var_other184) /* == on <var_val:nullable String(String)>*/;
1026 }
1027 var218 = !var217;
1028 var215 = var218;
1029 goto RET_LABEL216;
1030 RET_LABEL216:(void)0;
1031 }
1032 var214 = var215;
1033 }
1034 if (var214){
1035 var_v = var_val;
1036 } else {
1037 var219 = NULL;
1038 if (varonce220) {
1039 var221 = varonce220;
1040 } else {
1041 var222 = "Error: --define: Method `";
1042 var223 = 25;
1043 var224 = standard___standard__NativeString___to_s_with_length(var222, var223);
1044 var221 = var224;
1045 varonce220 = var221;
1046 }
1047 if (varonce225) {
1048 var226 = varonce225;
1049 } else {
1050 var227 = "` need a String.";
1051 var228 = 16;
1052 var229 = standard___standard__NativeString___to_s_with_length(var227, var228);
1053 var226 = var229;
1054 varonce225 = var226;
1055 }
1056 var230 = NEW_standard__Array(&type_standard__Array__standard__Object);
1057 { /* var230 = array_instance Array[Object] */
1058 var231 = 3;
1059 var232 = NEW_standard__NativeArray(var231, &type_standard__NativeArray__standard__Object);
1060 ((struct instance_standard__NativeArray*)var232)->values[0] = (val*) var221;
1061 ((struct instance_standard__NativeArray*)var232)->values[1] = (val*) var_prop;
1062 ((struct instance_standard__NativeArray*)var232)->values[2] = (val*) var226;
1063 {
1064 ((void (*)(val* self, val* p0, long p1))(var230->class->vft[COLOR_standard__array__Array__with_native]))(var230, var232, var231) /* with_native on <var230:Array[Object]>*/;
1065 }
1066 }
1067 {
1068 var233 = ((val* (*)(val* self))(var230->class->vft[COLOR_standard__string__Object__to_s]))(var230) /* to_s on <var230:Array[Object]>*/;
1069 }
1070 {
1071 nit___nit__ToolContext___error(self, var219, var233); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1072 }
1073 goto BREAK_label;
1074 }
1075 } else {
1076 var234 = NULL;
1077 if (varonce235) {
1078 var236 = varonce235;
1079 } else {
1080 var237 = "Error: --define: Method `";
1081 var238 = 25;
1082 var239 = standard___standard__NativeString___to_s_with_length(var237, var238);
1083 var236 = var239;
1084 varonce235 = var236;
1085 }
1086 if (varonce240) {
1087 var241 = varonce240;
1088 } else {
1089 var242 = "` return an unmanaged type ";
1090 var243 = 27;
1091 var244 = standard___standard__NativeString___to_s_with_length(var242, var243);
1092 var241 = var244;
1093 varonce240 = var241;
1094 }
1095 if (varonce245) {
1096 var246 = varonce245;
1097 } else {
1098 var247 = ".";
1099 var248 = 1;
1100 var249 = standard___standard__NativeString___to_s_with_length(var247, var248);
1101 var246 = var249;
1102 varonce245 = var246;
1103 }
1104 var250 = NEW_standard__Array(&type_standard__Array__standard__Object);
1105 { /* var250 = array_instance Array[Object] */
1106 var251 = 5;
1107 var252 = NEW_standard__NativeArray(var251, &type_standard__NativeArray__standard__Object);
1108 ((struct instance_standard__NativeArray*)var252)->values[0] = (val*) var236;
1109 ((struct instance_standard__NativeArray*)var252)->values[1] = (val*) var_prop;
1110 ((struct instance_standard__NativeArray*)var252)->values[2] = (val*) var241;
1111 ((struct instance_standard__NativeArray*)var252)->values[3] = (val*) var_ret;
1112 ((struct instance_standard__NativeArray*)var252)->values[4] = (val*) var246;
1113 {
1114 ((void (*)(val* self, val* p0, long p1))(var250->class->vft[COLOR_standard__array__Array__with_native]))(var250, var252, var251) /* with_native on <var250:Array[Object]>*/;
1115 }
1116 }
1117 {
1118 var253 = ((val* (*)(val* self))(var250->class->vft[COLOR_standard__string__Object__to_s]))(var250) /* to_s on <var250:Array[Object]>*/;
1119 }
1120 {
1121 nit___nit__ToolContext___error(self, var234, var253); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1122 }
1123 goto BREAK_label;
1124 }
1125 }
1126 }
1127 }
1128 var254 = NEW_nit__MMethodDef(&type_nit__MMethodDef);
1129 {
1130 ((void (*)(val* self, val* p0))(var254->class->vft[COLOR_nit__model__MPropDef__mclassdef_61d]))(var254, var_mclassdef) /* mclassdef= on <var254:MMethodDef>*/;
1131 }
1132 {
1133 ((void (*)(val* self, val* p0))(var254->class->vft[COLOR_nit__model__MPropDef__mproperty_61d]))(var254, var_prop) /* mproperty= on <var254:MMethodDef>*/;
1134 }
1135 {
1136 ((void (*)(val* self, val* p0))(var254->class->vft[COLOR_nit__model__MPropDef__location_61d]))(var254, var_location) /* location= on <var254:MMethodDef>*/;
1137 }
1138 {
1139 ((void (*)(val* self))(var254->class->vft[COLOR_standard__kernel__Object__init]))(var254) /* init on <var254:MMethodDef>*/;
1140 }
1141 var_pd = var254;
1142 {
1143 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
1144 var257 = var_prop->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on <var_prop:nullable MMethod(MMethod)> */
1145 if (unlikely(var257 == NULL)) {
1146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773);
1148 show_backtrace(1);
1149 }
1150 var255 = var257;
1151 RET_LABEL256:(void)0;
1152 }
1153 }
1154 {
1155 { /* Inline model#MMethodDef#msignature (var255) on <var255:MPropDef(MMethodDef)> */
1156 var260 = var255->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var255:MPropDef(MMethodDef)> */
1157 var258 = var260;
1158 RET_LABEL259:(void)0;
1159 }
1160 }
1161 {
1162 { /* Inline model#MMethodDef#msignature= (var_pd,var258) on <var_pd:MMethodDef> */
1163 var_pd->attrs[COLOR_nit__model__MMethodDef___msignature].val = var258; /* _msignature on <var_pd:MMethodDef> */
1164 RET_LABEL261:(void)0;
1165 }
1166 }
1167 {
1168 { /* Inline model#MMethodDef#constant_value= (var_pd,var_v) on <var_pd:MMethodDef> */
1169 var_pd->attrs[COLOR_nit__model__MMethodDef___constant_value].val = var_v; /* _constant_value on <var_pd:MMethodDef> */
1170 RET_LABEL262:(void)0;
1171 }
1172 }
1173 BREAK_label: (void)0;
1174 {
1175 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_54); /* Direct call array#ArrayIterator#next on <var_54:ArrayIterator[String]>*/
1176 }
1177 } else {
1178 goto BREAK_label263;
1179 }
1180 }
1181 BREAK_label263: (void)0;
1182 {
1183 { /* Inline abstract_collection#Iterator#finish (var_54) on <var_54:ArrayIterator[String]> */
1184 RET_LABEL264:(void)0;
1185 }
1186 }
1187 {
1188 var265 = nit___nit__ToolContext___check_errors(self);
1189 }
1190 } else {
1191 }
1192 var = var_mainmodule;
1193 goto RET_LABEL;
1194 RET_LABEL:;
1195 return var;
1196 }