1 #include "modelbuilder.sep.0.h"
2 /* method modelbuilder#ToolContext#opt_path for (self: ToolContext): OptionArray */
3 val
* modelbuilder__ToolContext__opt_path(val
* self
) {
4 val
* var
/* : OptionArray */;
5 val
* var1
/* : OptionArray */;
6 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_path
].val
; /* _opt_path on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
9 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 33);
16 /* method modelbuilder#ToolContext#opt_path for (self: Object): OptionArray */
17 val
* VIRTUAL_modelbuilder__ToolContext__opt_path(val
* self
) {
18 val
* var
/* : OptionArray */;
19 val
* var1
/* : OptionArray */;
20 val
* var3
/* : OptionArray */;
21 { /* Inline modelbuilder#ToolContext#opt_path (self) on <self:Object(ToolContext)> */
22 var3
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_path
].val
; /* _opt_path on <self:Object(ToolContext)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
25 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 33);
35 /* method modelbuilder#ToolContext#opt_only_metamodel for (self: ToolContext): OptionBool */
36 val
* modelbuilder__ToolContext__opt_only_metamodel(val
* self
) {
37 val
* var
/* : OptionBool */;
38 val
* var1
/* : OptionBool */;
39 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:ToolContext> */
40 if (unlikely(var1
== NULL
)) {
41 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
42 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 36);
49 /* method modelbuilder#ToolContext#opt_only_metamodel for (self: Object): OptionBool */
50 val
* VIRTUAL_modelbuilder__ToolContext__opt_only_metamodel(val
* self
) {
51 val
* var
/* : OptionBool */;
52 val
* var1
/* : OptionBool */;
53 val
* var3
/* : OptionBool */;
54 { /* Inline modelbuilder#ToolContext#opt_only_metamodel (self) on <self:Object(ToolContext)> */
55 var3
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:Object(ToolContext)> */
56 if (unlikely(var3
== NULL
)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
58 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 36);
68 /* method modelbuilder#ToolContext#opt_only_parse for (self: ToolContext): OptionBool */
69 val
* modelbuilder__ToolContext__opt_only_parse(val
* self
) {
70 val
* var
/* : OptionBool */;
71 val
* var1
/* : OptionBool */;
72 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:ToolContext> */
73 if (unlikely(var1
== NULL
)) {
74 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
75 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 39);
82 /* method modelbuilder#ToolContext#opt_only_parse for (self: Object): OptionBool */
83 val
* VIRTUAL_modelbuilder__ToolContext__opt_only_parse(val
* self
) {
84 val
* var
/* : OptionBool */;
85 val
* var1
/* : OptionBool */;
86 val
* var3
/* : OptionBool */;
87 { /* Inline modelbuilder#ToolContext#opt_only_parse (self) on <self:Object(ToolContext)> */
88 var3
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:Object(ToolContext)> */
89 if (unlikely(var3
== NULL
)) {
90 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
91 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 39);
101 /* method modelbuilder#ToolContext#opt_ignore_visibility for (self: ToolContext): OptionBool */
102 val
* modelbuilder__ToolContext__opt_ignore_visibility(val
* self
) {
103 val
* var
/* : OptionBool */;
104 val
* var1
/* : OptionBool */;
105 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_ignore_visibility
].val
; /* _opt_ignore_visibility on <self:ToolContext> */
106 if (unlikely(var1
== NULL
)) {
107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility");
108 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 42);
115 /* method modelbuilder#ToolContext#opt_ignore_visibility for (self: Object): OptionBool */
116 val
* VIRTUAL_modelbuilder__ToolContext__opt_ignore_visibility(val
* self
) {
117 val
* var
/* : OptionBool */;
118 val
* var1
/* : OptionBool */;
119 val
* var3
/* : OptionBool */;
120 { /* Inline modelbuilder#ToolContext#opt_ignore_visibility (self) on <self:Object(ToolContext)> */
121 var3
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_ignore_visibility
].val
; /* _opt_ignore_visibility on <self:Object(ToolContext)> */
122 if (unlikely(var3
== NULL
)) {
123 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility");
124 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 42);
134 /* method modelbuilder#ToolContext#init for (self: ToolContext) */
135 void modelbuilder__ToolContext__init(val
* self
) {
136 val
* var
/* : OptionContext */;
137 val
* var2
/* : OptionContext */;
138 val
* var3
/* : OptionArray */;
139 val
* var5
/* : OptionArray */;
140 val
* var6
/* : OptionBool */;
141 val
* var8
/* : OptionBool */;
142 val
* var9
/* : OptionBool */;
143 val
* var11
/* : OptionBool */;
144 val
* var12
/* : OptionBool */;
145 val
* var14
/* : OptionBool */;
146 val
* var15
/* : Array[Option] */;
147 long var16
/* : Int */;
148 val
* var17
/* : NativeArray[Option] */;
150 ((void (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
153 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
154 var2
= self
->attrs
[COLOR_toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
155 if (unlikely(var2
== NULL
)) {
156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
157 PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231);
165 { /* Inline modelbuilder#ToolContext#opt_path (self) on <self:ToolContext> */
166 var5
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_path
].val
; /* _opt_path on <self:ToolContext> */
167 if (unlikely(var5
== NULL
)) {
168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
169 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 33);
177 { /* Inline modelbuilder#ToolContext#opt_only_parse (self) on <self:ToolContext> */
178 var8
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:ToolContext> */
179 if (unlikely(var8
== NULL
)) {
180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
181 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 39);
189 { /* Inline modelbuilder#ToolContext#opt_only_metamodel (self) on <self:ToolContext> */
190 var11
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:ToolContext> */
191 if (unlikely(var11
== NULL
)) {
192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
193 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 36);
201 { /* Inline modelbuilder#ToolContext#opt_ignore_visibility (self) on <self:ToolContext> */
202 var14
= self
->attrs
[COLOR_modelbuilder__ToolContext___opt_ignore_visibility
].val
; /* _opt_ignore_visibility on <self:ToolContext> */
203 if (unlikely(var14
== NULL
)) {
204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility");
205 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 42);
212 var15
= NEW_array__Array(&type_array__Arrayopts__Option
);
213 { /* var15 = array_instance Array[Option] */
215 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArrayopts__Option
);
216 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var3
;
217 ((struct instance_array__NativeArray
*)var17
)->values
[1] = (val
*) var6
;
218 ((struct instance_array__NativeArray
*)var17
)->values
[2] = (val
*) var9
;
219 ((struct instance_array__NativeArray
*)var17
)->values
[3] = (val
*) var12
;
221 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Option]>*/;
225 opts__OptionContext__add_option(var
, var15
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
229 /* method modelbuilder#ToolContext#init for (self: Object) */
230 void VIRTUAL_modelbuilder__ToolContext__init(val
* self
) {
231 modelbuilder__ToolContext__init(self
); /* Direct call modelbuilder#ToolContext#init on <self:Object(ToolContext)>*/
234 /* method modelbuilder#ToolContext#modelbuilder for (self: ToolContext): ModelBuilder */
235 val
* modelbuilder__ToolContext__modelbuilder(val
* self
) {
236 val
* var
/* : ModelBuilder */;
237 val
* var1
/* : nullable ModelBuilder */;
238 val
* var3
/* : nullable ModelBuilder */;
240 { /* Inline modelbuilder#ToolContext#modelbuilder_real (self) on <self:ToolContext> */
241 var3
= self
->attrs
[COLOR_modelbuilder__ToolContext___modelbuilder_real
].val
; /* _modelbuilder_real on <self:ToolContext> */
246 if (unlikely(var1
== NULL
)) {
247 PRINT_ERROR("Runtime error: %s", "Cast failed");
248 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 52);
256 /* method modelbuilder#ToolContext#modelbuilder for (self: Object): ModelBuilder */
257 val
* VIRTUAL_modelbuilder__ToolContext__modelbuilder(val
* self
) {
258 val
* var
/* : ModelBuilder */;
259 val
* var1
/* : ModelBuilder */;
260 var1
= modelbuilder__ToolContext__modelbuilder(self
);
265 /* method modelbuilder#ToolContext#modelbuilder_real for (self: ToolContext): nullable ModelBuilder */
266 val
* modelbuilder__ToolContext__modelbuilder_real(val
* self
) {
267 val
* var
/* : nullable ModelBuilder */;
268 val
* var1
/* : nullable ModelBuilder */;
269 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___modelbuilder_real
].val
; /* _modelbuilder_real on <self:ToolContext> */
274 /* method modelbuilder#ToolContext#modelbuilder_real for (self: Object): nullable ModelBuilder */
275 val
* VIRTUAL_modelbuilder__ToolContext__modelbuilder_real(val
* self
) {
276 val
* var
/* : nullable ModelBuilder */;
277 val
* var1
/* : nullable ModelBuilder */;
278 val
* var3
/* : nullable ModelBuilder */;
279 { /* Inline modelbuilder#ToolContext#modelbuilder_real (self) on <self:Object(ToolContext)> */
280 var3
= self
->attrs
[COLOR_modelbuilder__ToolContext___modelbuilder_real
].val
; /* _modelbuilder_real on <self:Object(ToolContext)> */
288 /* method modelbuilder#ToolContext#modelbuilder_real= for (self: ToolContext, nullable ModelBuilder) */
289 void modelbuilder__ToolContext__modelbuilder_real_61d(val
* self
, val
* p0
) {
290 self
->attrs
[COLOR_modelbuilder__ToolContext___modelbuilder_real
].val
= p0
; /* _modelbuilder_real on <self:ToolContext> */
293 /* method modelbuilder#ToolContext#modelbuilder_real= for (self: Object, nullable ModelBuilder) */
294 void VIRTUAL_modelbuilder__ToolContext__modelbuilder_real_61d(val
* self
, val
* p0
) {
295 { /* Inline modelbuilder#ToolContext#modelbuilder_real= (self,p0) on <self:Object(ToolContext)> */
296 self
->attrs
[COLOR_modelbuilder__ToolContext___modelbuilder_real
].val
= p0
; /* _modelbuilder_real on <self:Object(ToolContext)> */
301 /* method modelbuilder#ToolContext#make_main_module for (self: ToolContext, Array[MModule]): MModule */
302 val
* modelbuilder__ToolContext__make_main_module(val
* self
, val
* p0
) {
303 val
* var
/* : MModule */;
304 val
* var_mmodules
/* var mmodules: Array[MModule] */;
305 short int var1
/* : Bool */;
306 short int var2
/* : Bool */;
307 long var3
/* : Int */;
308 long var5
/* : Int */;
309 long var6
/* : Int */;
310 short int var7
/* : Bool */;
311 short int var8
/* : Bool */;
312 short int var10
/* : Bool */;
313 val
* var11
/* : nullable Object */;
314 val
* var_mainmodule
/* var mainmodule: nullable Object */;
315 val
* var12
/* : MModule */;
316 val
* var13
/* : ModelBuilder */;
317 val
* var14
/* : Model */;
318 val
* var16
/* : Model */;
319 val
* var17
/* : null */;
320 val
* var18
/* : nullable Object */;
321 val
* var19
/* : String */;
322 val
* var21
/* : String */;
324 val
* var22
/* : String */;
325 char* var23
/* : NativeString */;
326 long var24
/* : Int */;
327 val
* var25
/* : FlatString */;
328 val
* var26
/* : String */;
329 val
* var27
/* : Location */;
330 val
* var28
/* : nullable Object */;
331 val
* var29
/* : Location */;
332 val
* var31
/* : Location */;
333 val
* var32
/* : nullable SourceFile */;
334 val
* var34
/* : nullable SourceFile */;
335 long var35
/* : Int */;
336 long var36
/* : Int */;
337 long var37
/* : Int */;
338 long var38
/* : Int */;
339 short int var39
/* : Bool */;
342 var1
= array__AbstractArrayRead__is_empty(var_mmodules
);
345 if (unlikely(!var2
)) {
346 PRINT_ERROR("Runtime error: %s", "Assert failed");
347 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 59);
351 { /* Inline array#AbstractArrayRead#length (var_mmodules) on <var_mmodules:Array[MModule]> */
352 var5
= var_mmodules
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_mmodules:Array[MModule]> */
359 { /* Inline kernel#Int#== (var3,var6) on <var3:Int> */
360 var10
= var3
== var6
;
369 var11
= abstract_collection__SequenceRead__first(var_mmodules
);
371 var_mainmodule
= var11
;
373 var12
= NEW_mmodule__MModule(&type_mmodule__MModule
);
375 var13
= modelbuilder__ToolContext__modelbuilder(self
);
378 { /* Inline modelbuilder#ModelBuilder#model (var13) on <var13:ModelBuilder> */
379 var16
= var13
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <var13:ModelBuilder> */
380 if (unlikely(var16
== NULL
)) {
381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
382 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
391 var18
= abstract_collection__SequenceRead__first(var_mmodules
);
394 { /* Inline mmodule#MModule#name (var18) on <var18:nullable Object(MModule)> */
395 var21
= var18
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var18:nullable Object(MModule)> */
396 if (unlikely(var21
== NULL
)) {
397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
398 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 78);
410 var25
= string__NativeString__to_s_with_length(var23
, var24
);
415 var26
= string__FlatString___43d(var19
, var22
);
417 var27
= NEW_location__Location(&type_location__Location
);
419 var28
= abstract_collection__SequenceRead__first(var_mmodules
);
422 { /* Inline mmodule#MModule#location (var28) on <var28:nullable Object(MModule)> */
423 var31
= var28
->attrs
[COLOR_mmodule__MModule___location
].val
; /* _location on <var28:nullable Object(MModule)> */
424 if (unlikely(var31
== NULL
)) {
425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
426 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 81);
434 { /* Inline location#Location#file (var29) on <var29:Location> */
435 var34
= var29
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var29:Location> */
445 location__Location__init(var27
, var32
, var35
, var36
, var37
, var38
); /* Direct call location#Location#init on <var27:Location>*/
448 mmodule__MModule__init(var12
, var14
, var17
, var26
, var27
); /* Direct call mmodule#MModule#init on <var12:MModule>*/
450 var_mainmodule
= var12
;
453 { /* Inline mmodule#MModule#is_fictive= (var_mainmodule,var39) on <var_mainmodule:nullable Object(MModule)> */
454 var_mainmodule
->attrs
[COLOR_mmodule__MModule___is_fictive
].s
= var39
; /* _is_fictive on <var_mainmodule:nullable Object(MModule)> */
459 mmodule__MModule__set_imported_mmodules(var_mainmodule
, var_mmodules
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mainmodule:nullable Object(MModule)>*/
462 var
= var_mainmodule
;
467 /* method modelbuilder#ToolContext#make_main_module for (self: Object, Array[MModule]): MModule */
468 val
* VIRTUAL_modelbuilder__ToolContext__make_main_module(val
* self
, val
* p0
) {
469 val
* var
/* : MModule */;
470 val
* var1
/* : MModule */;
471 var1
= modelbuilder__ToolContext__make_main_module(self
, p0
);
476 /* method modelbuilder#ToolContext#run_global_phases for (self: ToolContext, Array[MModule]) */
477 void modelbuilder__ToolContext__run_global_phases(val
* self
, val
* p0
) {
478 val
* var_mmodules
/* var mmodules: Array[MModule] */;
479 val
* var
/* : MModule */;
480 val
* var_mainmodule
/* var mainmodule: MModule */;
481 val
* var1
/* : Sequence[Phase] */;
482 val
* var_
/* var : Sequence[Phase] */;
483 val
* var2
/* : Iterator[nullable Object] */;
484 val
* var_3
/* var : IndexedIterator[Phase] */;
485 short int var4
/* : Bool */;
486 val
* var5
/* : nullable Object */;
487 val
* var_phase
/* var phase: Phase */;
488 short int var6
/* : Bool */;
489 short int var8
/* : Bool */;
492 var
= mixin__ToolContext__make_main_module(self
, var_mmodules
);
494 var_mainmodule
= var
;
496 var1
= phase__ToolContext__phases_list(self
);
500 var2
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Sequence[Phase]>*/;
505 var4
= ((short int (*)(val
*))(var_3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_3
) /* is_ok on <var_3:IndexedIterator[Phase]>*/;
509 var5
= ((val
* (*)(val
*))(var_3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_3
) /* item on <var_3:IndexedIterator[Phase]>*/;
513 { /* Inline phase#Phase#disabled (var_phase) on <var_phase:Phase> */
514 var8
= var_phase
->attrs
[COLOR_phase__Phase___disabled
].s
; /* _disabled on <var_phase:Phase> */
524 ((void (*)(val
*, val
*, val
*))(var_phase
->class->vft
[COLOR_modelbuilder__Phase__process_mainmodule
]))(var_phase
, var_mainmodule
, var_mmodules
) /* process_mainmodule on <var_phase:Phase>*/;
526 BREAK_label
: (void)0;
528 ((void (*)(val
*))(var_3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_3
) /* next on <var_3:IndexedIterator[Phase]>*/;
534 BREAK_label9
: (void)0;
536 { /* Inline abstract_collection#Iterator#finish (var_3) on <var_3:IndexedIterator[Phase]> */
542 /* method modelbuilder#ToolContext#run_global_phases for (self: Object, Array[MModule]) */
543 void VIRTUAL_modelbuilder__ToolContext__run_global_phases(val
* self
, val
* p0
) {
544 modelbuilder__ToolContext__run_global_phases(self
, p0
); /* Direct call modelbuilder#ToolContext#run_global_phases on <self:Object(ToolContext)>*/
547 /* method modelbuilder#Phase#process_mainmodule for (self: Phase, MModule, SequenceRead[MModule]) */
548 void modelbuilder__Phase__process_mainmodule(val
* self
, val
* p0
, val
* p1
) {
549 val
* var_mainmodule
/* var mainmodule: MModule */;
550 val
* var_given_mmodules
/* var given_mmodules: SequenceRead[MModule] */;
552 var_given_mmodules
= p1
;
555 /* method modelbuilder#Phase#process_mainmodule for (self: Object, MModule, SequenceRead[MModule]) */
556 void VIRTUAL_modelbuilder__Phase__process_mainmodule(val
* self
, val
* p0
, val
* p1
) {
557 val
* var_mainmodule
/* var mainmodule: MModule */;
558 val
* var_given_mmodules
/* var given_mmodules: SequenceRead[MModule] */;
559 { /* Inline modelbuilder#Phase#process_mainmodule (self,p0,p1) on <self:Object(Phase)> */
561 var_given_mmodules
= p1
;
566 /* method modelbuilder#ModelBuilder#model for (self: ModelBuilder): Model */
567 val
* modelbuilder__ModelBuilder__model(val
* self
) {
568 val
* var
/* : Model */;
569 val
* var1
/* : Model */;
570 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
571 if (unlikely(var1
== NULL
)) {
572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
573 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
580 /* method modelbuilder#ModelBuilder#model for (self: Object): Model */
581 val
* VIRTUAL_modelbuilder__ModelBuilder__model(val
* self
) {
582 val
* var
/* : Model */;
583 val
* var1
/* : Model */;
584 val
* var3
/* : Model */;
585 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:Object(ModelBuilder)> */
586 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:Object(ModelBuilder)> */
587 if (unlikely(var3
== NULL
)) {
588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
589 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
599 /* method modelbuilder#ModelBuilder#model= for (self: ModelBuilder, Model) */
600 void modelbuilder__ModelBuilder__model_61d(val
* self
, val
* p0
) {
601 self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
= p0
; /* _model on <self:ModelBuilder> */
604 /* method modelbuilder#ModelBuilder#model= for (self: Object, Model) */
605 void VIRTUAL_modelbuilder__ModelBuilder__model_61d(val
* self
, val
* p0
) {
606 { /* Inline modelbuilder#ModelBuilder#model= (self,p0) on <self:Object(ModelBuilder)> */
607 self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
= p0
; /* _model on <self:Object(ModelBuilder)> */
612 /* method modelbuilder#ModelBuilder#toolcontext for (self: ModelBuilder): ToolContext */
613 val
* modelbuilder__ModelBuilder__toolcontext(val
* self
) {
614 val
* var
/* : ToolContext */;
615 val
* var1
/* : ToolContext */;
616 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
617 if (unlikely(var1
== NULL
)) {
618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
619 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
626 /* method modelbuilder#ModelBuilder#toolcontext for (self: Object): ToolContext */
627 val
* VIRTUAL_modelbuilder__ModelBuilder__toolcontext(val
* self
) {
628 val
* var
/* : ToolContext */;
629 val
* var1
/* : ToolContext */;
630 val
* var3
/* : ToolContext */;
631 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:Object(ModelBuilder)> */
632 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:Object(ModelBuilder)> */
633 if (unlikely(var3
== NULL
)) {
634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
635 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
645 /* method modelbuilder#ModelBuilder#toolcontext= for (self: ModelBuilder, ToolContext) */
646 void modelbuilder__ModelBuilder__toolcontext_61d(val
* self
, val
* p0
) {
647 self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
= p0
; /* _toolcontext on <self:ModelBuilder> */
650 /* method modelbuilder#ModelBuilder#toolcontext= for (self: Object, ToolContext) */
651 void VIRTUAL_modelbuilder__ModelBuilder__toolcontext_61d(val
* self
, val
* p0
) {
652 { /* Inline modelbuilder#ModelBuilder#toolcontext= (self,p0) on <self:Object(ModelBuilder)> */
653 self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
= p0
; /* _toolcontext on <self:Object(ModelBuilder)> */
658 /* method modelbuilder#ModelBuilder#run_phases for (self: ModelBuilder) */
659 void modelbuilder__ModelBuilder__run_phases(val
* self
) {
660 val
* var
/* : Model */;
661 val
* var2
/* : Model */;
662 val
* var3
/* : Array[MModule] */;
663 val
* var5
/* : Array[MModule] */;
664 val
* var6
/* : Array[nullable Object] */;
665 val
* var_mmodules
/* var mmodules: Array[MModule] */;
666 val
* var7
/* : Model */;
667 val
* var9
/* : Model */;
668 val
* var10
/* : POSet[MModule] */;
669 val
* var12
/* : POSet[MModule] */;
670 val
* var13
/* : Array[AModule] */;
671 val
* var_nmodules
/* var nmodules: Array[AModule] */;
672 val
* var_
/* var : Array[MModule] */;
673 val
* var14
/* : ArrayIterator[nullable Object] */;
674 val
* var_15
/* var : ArrayIterator[MModule] */;
675 short int var16
/* : Bool */;
676 val
* var17
/* : nullable Object */;
677 val
* var_mm
/* var mm: MModule */;
678 val
* var18
/* : HashMap[MModule, AModule] */;
679 val
* var20
/* : HashMap[MModule, AModule] */;
680 val
* var21
/* : nullable Object */;
681 val
* var23
/* : ToolContext */;
682 val
* var25
/* : ToolContext */;
683 val
* var26
/* : ToolContext */;
684 val
* var28
/* : ToolContext */;
685 val
* var29
/* : OptionBool */;
686 val
* var31
/* : OptionBool */;
687 val
* var32
/* : nullable Object */;
688 val
* var34
/* : nullable Object */;
689 short int var35
/* : Bool */;
690 val
* var36
/* : ToolContext */;
691 val
* var38
/* : ToolContext */;
693 val
* var39
/* : String */;
694 char* var40
/* : NativeString */;
695 long var41
/* : Int */;
696 val
* var42
/* : FlatString */;
697 long var43
/* : Int */;
698 long var44
/* : Int */;
700 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:ModelBuilder> */
701 var2
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
702 if (unlikely(var2
== NULL
)) {
703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
704 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
712 { /* Inline mmodule#Model#mmodules (var) on <var:Model> */
713 var5
= var
->attrs
[COLOR_mmodule__Model___mmodules
].val
; /* _mmodules on <var:Model> */
714 if (unlikely(var5
== NULL
)) {
715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules");
716 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 27);
724 var6
= array__Collection__to_a(var3
);
728 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:ModelBuilder> */
729 var9
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
730 if (unlikely(var9
== NULL
)) {
731 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
732 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
740 { /* Inline mmodule#Model#mmodule_importation_hierarchy (var7) on <var7:Model> */
741 var12
= var7
->attrs
[COLOR_mmodule__Model___mmodule_importation_hierarchy
].val
; /* _mmodule_importation_hierarchy on <var7:Model> */
742 if (unlikely(var12
== NULL
)) {
743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule_importation_hierarchy");
744 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 36);
752 sorter__Comparator__sort(var10
, var_mmodules
); /* Direct call sorter#Comparator#sort on <var10:POSet[MModule]>*/
754 var13
= NEW_array__Array(&type_array__Arrayparser_nodes__AModule
);
756 ((void (*)(val
*))(var13
->class->vft
[COLOR_kernel__Object__init
]))(var13
) /* init on <var13:Array[AModule]>*/;
758 var_nmodules
= var13
;
761 var14
= array__AbstractArrayRead__iterator(var_
);
766 var16
= array__ArrayIterator__is_ok(var_15
);
770 var17
= array__ArrayIterator__item(var_15
);
774 { /* Inline modelbuilder#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
775 var20
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
776 if (unlikely(var20
== NULL
)) {
777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
778 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 728);
786 var21
= hash_collection__HashMap___91d_93d(var18
, var_mm
);
789 array__Array__add(var_nmodules
, var21
); /* Direct call array#Array#add on <var_nmodules:Array[AModule]>*/
792 array__ArrayIterator__next(var_15
); /* Direct call array#ArrayIterator#next on <var_15:ArrayIterator[MModule]>*/
798 BREAK_label
: (void)0;
800 { /* Inline abstract_collection#Iterator#finish (var_15) on <var_15:ArrayIterator[MModule]> */
805 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
806 var25
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
807 if (unlikely(var25
== NULL
)) {
808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
809 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
817 phase__ToolContext__run_phases(var23
, var_nmodules
); /* Direct call phase#ToolContext#run_phases on <var23:ToolContext>*/
820 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
821 var28
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
822 if (unlikely(var28
== NULL
)) {
823 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
824 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
832 { /* Inline modelbuilder#ToolContext#opt_only_metamodel (var26) on <var26:ToolContext> */
833 var31
= var26
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <var26:ToolContext> */
834 if (unlikely(var31
== NULL
)) {
835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
836 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 36);
844 { /* Inline opts#Option#value (var29) on <var29:OptionBool> */
845 var34
= var29
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var29:OptionBool> */
850 var35
= ((struct instance_kernel__Bool
*)var32
)->value
; /* autounbox from nullable Object to Bool */;
853 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
854 var38
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
855 if (unlikely(var38
== NULL
)) {
856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
857 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
867 var40
= "*** ONLY METAMODEL";
869 var42
= string__NativeString__to_s_with_length(var40
, var41
);
875 toolcontext__ToolContext__info(var36
, var39
, var43
); /* Direct call toolcontext#ToolContext#info on <var36:ToolContext>*/
879 { /* Inline kernel#Object#exit (self,var44) on <self:ModelBuilder> */
888 /* method modelbuilder#ModelBuilder#run_phases for (self: Object) */
889 void VIRTUAL_modelbuilder__ModelBuilder__run_phases(val
* self
) {
890 modelbuilder__ModelBuilder__run_phases(self
); /* Direct call modelbuilder#ModelBuilder#run_phases on <self:Object(ModelBuilder)>*/
893 /* method modelbuilder#ModelBuilder#init for (self: ModelBuilder, Model, ToolContext) */
894 void modelbuilder__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
895 val
* var_model
/* var model: Model */;
896 val
* var_toolcontext
/* var toolcontext: ToolContext */;
897 val
* var
/* : nullable ModelBuilder */;
898 val
* var4
/* : nullable ModelBuilder */;
899 val
* var5
/* : null */;
900 short int var6
/* : Bool */;
901 short int var7
/* : Bool */;
902 val
* var_other
/* var other: nullable Object */;
903 short int var9
/* : Bool */;
904 short int var11
/* : Bool */;
905 val
* var13
/* : Array[String] */;
906 val
* var15
/* : Array[String] */;
907 val
* var16
/* : OptionArray */;
908 val
* var18
/* : OptionArray */;
909 val
* var19
/* : nullable Object */;
910 val
* var21
/* : nullable Object */;
912 val
* var22
/* : String */;
913 char* var23
/* : NativeString */;
914 long var24
/* : Int */;
915 val
* var25
/* : FlatString */;
916 val
* var26
/* : String */;
917 val
* var_path_env
/* var path_env: String */;
918 short int var27
/* : Bool */;
919 short int var28
/* : Bool */;
920 val
* var29
/* : Array[String] */;
921 val
* var31
/* : Array[String] */;
922 char var32
/* : Char */;
923 val
* var33
/* : Array[Text] */;
924 val
* var34
/* : Pattern */;
925 val
* var35
/* : nullable String */;
926 val
* var37
/* : nullable String */;
927 val
* var_nit_dir
/* var nit_dir: nullable String */;
928 val
* var38
/* : null */;
929 short int var39
/* : Bool */;
930 short int var40
/* : Bool */;
931 val
* var_other42
/* var other: nullable Object */;
932 short int var43
/* : Bool */;
933 short int var44
/* : Bool */;
934 short int var45
/* : Bool */;
935 static val
* varonce46
;
936 val
* var47
/* : String */;
937 char* var48
/* : NativeString */;
938 long var49
/* : Int */;
939 val
* var50
/* : FlatString */;
940 val
* var51
/* : Array[Object] */;
941 long var52
/* : Int */;
942 val
* var53
/* : NativeArray[Object] */;
943 val
* var54
/* : String */;
944 val
* var_libname
/* var libname: String */;
945 short int var55
/* : Bool */;
946 val
* var56
/* : Array[String] */;
947 val
* var58
/* : Array[String] */;
949 var_toolcontext
= p1
;
951 { /* Inline modelbuilder#ModelBuilder#model= (self,var_model) on <self:ModelBuilder> */
952 self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
= var_model
; /* _model on <self:ModelBuilder> */
957 { /* Inline modelbuilder#ModelBuilder#toolcontext= (self,var_toolcontext) on <self:ModelBuilder> */
958 self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
= var_toolcontext
; /* _toolcontext on <self:ModelBuilder> */
963 { /* Inline modelbuilder#ToolContext#modelbuilder_real (var_toolcontext) on <var_toolcontext:ToolContext> */
964 var4
= var_toolcontext
->attrs
[COLOR_modelbuilder__ToolContext___modelbuilder_real
].val
; /* _modelbuilder_real on <var_toolcontext:ToolContext> */
971 var6
= 1; /* is null */
973 var6
= 0; /* arg is null but recv is not */
976 { /* Inline kernel#Object#== (var,var5) on <var:nullable ModelBuilder> */
979 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable ModelBuilder(ModelBuilder)> */
980 var11
= var
== var_other
;
992 if (unlikely(!var6
)) {
993 PRINT_ERROR("Runtime error: %s", "Assert failed");
994 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 132);
998 { /* Inline modelbuilder#ToolContext#modelbuilder_real= (var_toolcontext,self) on <var_toolcontext:ToolContext> */
999 var_toolcontext
->attrs
[COLOR_modelbuilder__ToolContext___modelbuilder_real
].val
= self
; /* _modelbuilder_real on <var_toolcontext:ToolContext> */
1000 RET_LABEL12
:(void)0;
1004 { /* Inline modelbuilder#ModelBuilder#paths (self) on <self:ModelBuilder> */
1005 var15
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
1006 if (unlikely(var15
== NULL
)) {
1007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
1008 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 300);
1012 RET_LABEL14
:(void)0;
1016 { /* Inline modelbuilder#ToolContext#opt_path (var_toolcontext) on <var_toolcontext:ToolContext> */
1017 var18
= var_toolcontext
->attrs
[COLOR_modelbuilder__ToolContext___opt_path
].val
; /* _opt_path on <var_toolcontext:ToolContext> */
1018 if (unlikely(var18
== NULL
)) {
1019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
1020 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 33);
1024 RET_LABEL17
:(void)0;
1028 { /* Inline opts#Option#value (var16) on <var16:OptionArray> */
1029 var21
= var16
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var16:OptionArray> */
1031 RET_LABEL20
:(void)0;
1035 abstract_collection__Sequence__append(var13
, var19
); /* Direct call abstract_collection#Sequence#append on <var13:Array[String]>*/
1042 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1047 var26
= environ__String__environ(var22
);
1049 var_path_env
= var26
;
1051 var27
= string__Text__is_empty(var_path_env
);
1056 { /* Inline modelbuilder#ModelBuilder#paths (self) on <self:ModelBuilder> */
1057 var31
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
1058 if (unlikely(var31
== NULL
)) {
1059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
1060 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 300);
1064 RET_LABEL30
:(void)0;
1069 var34
= BOX_kernel__Char(var32
); /* autobox from Char to Pattern */
1070 var33
= string_search__Text__split_with(var_path_env
, var34
);
1073 abstract_collection__Sequence__append(var29
, var33
); /* Direct call abstract_collection#Sequence#append on <var29:Array[String]>*/
1078 { /* Inline toolcontext#ToolContext#nit_dir (var_toolcontext) on <var_toolcontext:ToolContext> */
1079 var37
= var_toolcontext
->attrs
[COLOR_toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var_toolcontext:ToolContext> */
1081 RET_LABEL36
:(void)0;
1084 var_nit_dir
= var35
;
1086 if (var_nit_dir
== NULL
) {
1087 var39
= 0; /* is null */
1089 var39
= 1; /* arg is null and recv is not */
1092 { /* Inline kernel#Object#!= (var_nit_dir,var38) on <var_nit_dir:nullable String> */
1093 var_other42
= var38
;
1095 var44
= ((short int (*)(val
*, val
*))(var_nit_dir
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nit_dir
, var_other42
) /* == on <var_nit_dir:nullable String(String)>*/;
1101 RET_LABEL41
:(void)0;
1111 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1115 var51
= NEW_array__Array(&type_array__Arraykernel__Object
);
1116 { /* var51 = array_instance Array[Object] */
1118 var53
= NEW_array__NativeArray(var52
, &type_array__NativeArraykernel__Object
);
1119 ((struct instance_array__NativeArray
*)var53
)->values
[0] = (val
*) var_nit_dir
;
1120 ((struct instance_array__NativeArray
*)var53
)->values
[1] = (val
*) var47
;
1122 ((void (*)(val
*, val
*, long))(var51
->class->vft
[COLOR_array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
1126 var54
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
1128 var_libname
= var54
;
1130 var55
= file__String__file_exists(var_libname
);
1134 { /* Inline modelbuilder#ModelBuilder#paths (self) on <self:ModelBuilder> */
1135 var58
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
1136 if (unlikely(var58
== NULL
)) {
1137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
1138 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 300);
1142 RET_LABEL57
:(void)0;
1146 array__Array__add(var56
, var_libname
); /* Direct call array#Array#add on <var56:Array[String]>*/
1154 /* method modelbuilder#ModelBuilder#init for (self: Object, Model, ToolContext) */
1155 void VIRTUAL_modelbuilder__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
1156 modelbuilder__ModelBuilder__init(self
, p0
, p1
); /* Direct call modelbuilder#ModelBuilder#init on <self:Object(ModelBuilder)>*/
1159 /* method modelbuilder#ModelBuilder#parse for (self: ModelBuilder, Sequence[String]): Array[MModule] */
1160 val
* modelbuilder__ModelBuilder__parse(val
* self
, val
* p0
) {
1161 val
* var
/* : Array[MModule] */;
1162 val
* var_modules
/* var modules: Sequence[String] */;
1163 long var1
/* : Int */;
1164 long var3
/* : Int for extern */;
1165 long var_time0
/* var time0: Int */;
1166 val
* var4
/* : ToolContext */;
1167 val
* var6
/* : ToolContext */;
1168 static val
* varonce
;
1169 val
* var7
/* : String */;
1170 char* var8
/* : NativeString */;
1171 long var9
/* : Int */;
1172 val
* var10
/* : FlatString */;
1173 long var11
/* : Int */;
1174 val
* var12
/* : ArraySet[MModule] */;
1175 val
* var_mmodules
/* var mmodules: ArraySet[MModule] */;
1176 val
* var_
/* var : Sequence[String] */;
1177 val
* var13
/* : Iterator[nullable Object] */;
1178 val
* var_14
/* var : IndexedIterator[String] */;
1179 short int var15
/* : Bool */;
1180 val
* var16
/* : nullable Object */;
1181 val
* var_a
/* var a: String */;
1182 val
* var17
/* : nullable AModule */;
1183 val
* var_nmodule
/* var nmodule: nullable AModule */;
1184 val
* var18
/* : null */;
1185 short int var19
/* : Bool */;
1186 short int var20
/* : Bool */;
1187 val
* var_other
/* var other: nullable Object */;
1188 short int var22
/* : Bool */;
1189 short int var24
/* : Bool */;
1190 val
* var25
/* : nullable MModule */;
1191 val
* var27
/* : nullable MModule */;
1192 long var30
/* : Int */;
1193 long var32
/* : Int for extern */;
1194 long var_time1
/* var time1: Int */;
1195 val
* var33
/* : ToolContext */;
1196 val
* var35
/* : ToolContext */;
1197 static val
* varonce36
;
1198 val
* var37
/* : String */;
1199 char* var38
/* : NativeString */;
1200 long var39
/* : Int */;
1201 val
* var40
/* : FlatString */;
1202 long var41
/* : Int */;
1203 short int var43
/* : Bool */;
1206 const char* var_class_name
;
1207 long var44
/* : Int */;
1208 static val
* varonce45
;
1209 val
* var46
/* : String */;
1210 char* var47
/* : NativeString */;
1211 long var48
/* : Int */;
1212 val
* var49
/* : FlatString */;
1213 val
* var50
/* : Array[Object] */;
1214 long var51
/* : Int */;
1215 val
* var52
/* : NativeArray[Object] */;
1216 val
* var53
/* : Object */;
1217 val
* var54
/* : String */;
1218 long var55
/* : Int */;
1219 val
* var56
/* : ToolContext */;
1220 val
* var58
/* : ToolContext */;
1221 val
* var59
/* : ToolContext */;
1222 val
* var61
/* : ToolContext */;
1223 val
* var62
/* : OptionBool */;
1224 val
* var64
/* : OptionBool */;
1225 val
* var65
/* : nullable Object */;
1226 val
* var67
/* : nullable Object */;
1227 short int var68
/* : Bool */;
1228 val
* var69
/* : ToolContext */;
1229 val
* var71
/* : ToolContext */;
1230 static val
* varonce72
;
1231 val
* var73
/* : String */;
1232 char* var74
/* : NativeString */;
1233 long var75
/* : Int */;
1234 val
* var76
/* : FlatString */;
1235 long var77
/* : Int */;
1236 long var78
/* : Int */;
1237 val
* var80
/* : Array[nullable Object] */;
1240 { /* Inline time#Object#get_time (self) on <self:ModelBuilder> */
1241 var3
= kernel_Any_Any_get_time_0(self
);
1249 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1250 var6
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1251 if (unlikely(var6
== NULL
)) {
1252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1253 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1263 var8
= "*** PARSE ***";
1265 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1271 toolcontext__ToolContext__info(var4
, var7
, var11
); /* Direct call toolcontext#ToolContext#info on <var4:ToolContext>*/
1273 var12
= NEW_array__ArraySet(&type_array__ArraySetmmodule__MModule
);
1275 ((void (*)(val
*))(var12
->class->vft
[COLOR_kernel__Object__init
]))(var12
) /* init on <var12:ArraySet[MModule]>*/;
1277 var_mmodules
= var12
;
1280 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Sequence[String]>*/;
1285 var15
= ((short int (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_14
) /* is_ok on <var_14:IndexedIterator[String]>*/;
1289 var16
= ((val
* (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_14
) /* item on <var_14:IndexedIterator[String]>*/;
1293 var17
= modelbuilder__ModelBuilder__load_module(self
, var_a
);
1295 var_nmodule
= var17
;
1297 if (var_nmodule
== NULL
) {
1298 var19
= 1; /* is null */
1300 var19
= 0; /* arg is null but recv is not */
1303 { /* Inline kernel#Object#== (var_nmodule,var18) on <var_nmodule:nullable AModule> */
1306 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
1307 var24
= var_nmodule
== var_other
;
1310 RET_LABEL23
:(void)0;
1315 RET_LABEL21
:(void)0;
1324 { /* Inline modelbuilder#AModule#mmodule (var_nmodule) on <var_nmodule:nullable AModule(AModule)> */
1325 var27
= var_nmodule
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:nullable AModule(AModule)> */
1327 RET_LABEL26
:(void)0;
1330 if (unlikely(var25
== NULL
)) {
1331 PRINT_ERROR("Runtime error: %s", "Cast failed");
1332 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 166);
1336 array__ArraySet__add(var_mmodules
, var25
); /* Direct call array#ArraySet#add on <var_mmodules:ArraySet[MModule]>*/
1338 BREAK_label
: (void)0;
1340 ((void (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_14
) /* next on <var_14:IndexedIterator[String]>*/;
1346 BREAK_label28
: (void)0;
1348 { /* Inline abstract_collection#Iterator#finish (var_14) on <var_14:IndexedIterator[String]> */
1349 RET_LABEL29
:(void)0;
1353 { /* Inline time#Object#get_time (self) on <self:ModelBuilder> */
1354 var32
= kernel_Any_Any_get_time_0(self
);
1357 RET_LABEL31
:(void)0;
1362 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1363 var35
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1364 if (unlikely(var35
== NULL
)) {
1365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1366 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1370 RET_LABEL34
:(void)0;
1376 var38
= "*** END PARSE: ";
1378 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1383 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
1384 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1385 /* <var_time0:Int> isa OTHER */
1386 var43
= 1; /* easy <var_time0:Int> isa OTHER*/
1387 if (unlikely(!var43
)) {
1388 var_class_name
= type_kernel__Int
.name
;
1389 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1390 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1393 var44
= var_time1
- var_time0
;
1396 RET_LABEL42
:(void)0;
1404 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1408 var50
= NEW_array__Array(&type_array__Arraykernel__Object
);
1409 { /* var50 = array_instance Array[Object] */
1411 var52
= NEW_array__NativeArray(var51
, &type_array__NativeArraykernel__Object
);
1412 ((struct instance_array__NativeArray
*)var52
)->values
[0] = (val
*) var37
;
1413 var53
= BOX_kernel__Int(var41
); /* autobox from Int to Object */
1414 ((struct instance_array__NativeArray
*)var52
)->values
[1] = (val
*) var53
;
1415 ((struct instance_array__NativeArray
*)var52
)->values
[2] = (val
*) var46
;
1417 ((void (*)(val
*, val
*, long))(var50
->class->vft
[COLOR_array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1421 var54
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1425 toolcontext__ToolContext__info(var33
, var54
, var55
); /* Direct call toolcontext#ToolContext#info on <var33:ToolContext>*/
1428 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1429 var58
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1430 if (unlikely(var58
== NULL
)) {
1431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1432 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1436 RET_LABEL57
:(void)0;
1440 toolcontext__ToolContext__check_errors(var56
); /* Direct call toolcontext#ToolContext#check_errors on <var56:ToolContext>*/
1443 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1444 var61
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1445 if (unlikely(var61
== NULL
)) {
1446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1447 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1451 RET_LABEL60
:(void)0;
1455 { /* Inline modelbuilder#ToolContext#opt_only_parse (var59) on <var59:ToolContext> */
1456 var64
= var59
->attrs
[COLOR_modelbuilder__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <var59:ToolContext> */
1457 if (unlikely(var64
== NULL
)) {
1458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
1459 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 39);
1463 RET_LABEL63
:(void)0;
1467 { /* Inline opts#Option#value (var62) on <var62:OptionBool> */
1468 var67
= var62
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var62:OptionBool> */
1470 RET_LABEL66
:(void)0;
1473 var68
= ((struct instance_kernel__Bool
*)var65
)->value
; /* autounbox from nullable Object to Bool */;
1476 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1477 var71
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1478 if (unlikely(var71
== NULL
)) {
1479 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1480 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1484 RET_LABEL70
:(void)0;
1490 var74
= "*** ONLY PARSE...";
1492 var76
= string__NativeString__to_s_with_length(var74
, var75
);
1498 toolcontext__ToolContext__info(var69
, var73
, var77
); /* Direct call toolcontext#ToolContext#info on <var69:ToolContext>*/
1502 { /* Inline kernel#Object#exit (self,var78) on <self:ModelBuilder> */
1504 RET_LABEL79
:(void)0;
1510 var80
= array__Collection__to_a(var_mmodules
);
1517 /* method modelbuilder#ModelBuilder#parse for (self: Object, Sequence[String]): Array[MModule] */
1518 val
* VIRTUAL_modelbuilder__ModelBuilder__parse(val
* self
, val
* p0
) {
1519 val
* var
/* : Array[MModule] */;
1520 val
* var1
/* : Array[MModule] */;
1521 var1
= modelbuilder__ModelBuilder__parse(self
, p0
);
1526 /* method modelbuilder#ModelBuilder#try_get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */
1527 val
* modelbuilder__ModelBuilder__try_get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1528 val
* var
/* : nullable MClass */;
1529 val
* var_anode
/* var anode: ANode */;
1530 val
* var_mmodule
/* var mmodule: MModule */;
1531 val
* var_name
/* var name: String */;
1532 val
* var1
/* : Model */;
1533 val
* var3
/* : Model */;
1534 val
* var4
/* : nullable Array[MClass] */;
1535 val
* var_classes
/* var classes: nullable Array[MClass] */;
1536 val
* var5
/* : null */;
1537 short int var6
/* : Bool */;
1538 short int var7
/* : Bool */;
1539 val
* var8
/* : null */;
1540 val
* var9
/* : null */;
1541 val
* var_res
/* var res: nullable MClass */;
1542 val
* var_
/* var : Array[MClass] */;
1543 val
* var10
/* : ArrayIterator[nullable Object] */;
1544 val
* var_11
/* var : ArrayIterator[MClass] */;
1545 short int var12
/* : Bool */;
1546 val
* var13
/* : nullable Object */;
1547 val
* var_mclass
/* var mclass: MClass */;
1548 val
* var14
/* : POSetElement[MModule] */;
1549 val
* var16
/* : POSetElement[MModule] */;
1550 val
* var17
/* : MModule */;
1551 val
* var19
/* : MModule */;
1552 short int var20
/* : Bool */;
1553 short int var21
/* : Bool */;
1554 val
* var22
/* : MModule */;
1555 val
* var24
/* : MModule */;
1556 val
* var25
/* : MVisibility */;
1557 val
* var27
/* : MVisibility */;
1558 short int var28
/* : Bool */;
1559 short int var29
/* : Bool */;
1560 val
* var30
/* : null */;
1561 short int var31
/* : Bool */;
1562 short int var32
/* : Bool */;
1563 val
* var_other
/* var other: nullable Object */;
1564 short int var34
/* : Bool */;
1565 short int var36
/* : Bool */;
1566 static val
* varonce
;
1567 val
* var37
/* : String */;
1568 char* var38
/* : NativeString */;
1569 long var39
/* : Int */;
1570 val
* var40
/* : FlatString */;
1571 static val
* varonce41
;
1572 val
* var42
/* : String */;
1573 char* var43
/* : NativeString */;
1574 long var44
/* : Int */;
1575 val
* var45
/* : FlatString */;
1576 val
* var46
/* : String */;
1577 static val
* varonce47
;
1578 val
* var48
/* : String */;
1579 char* var49
/* : NativeString */;
1580 long var50
/* : Int */;
1581 val
* var51
/* : FlatString */;
1582 val
* var52
/* : String */;
1583 val
* var53
/* : Array[Object] */;
1584 long var54
/* : Int */;
1585 val
* var55
/* : NativeArray[Object] */;
1586 val
* var56
/* : String */;
1587 val
* var57
/* : null */;
1592 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:ModelBuilder> */
1593 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
1594 if (unlikely(var3
== NULL
)) {
1595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
1596 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
1604 var4
= model__Model__get_mclasses_by_name(var1
, var_name
);
1608 if (var_classes
== NULL
) {
1609 var6
= 1; /* is null */
1611 var6
= 0; /* arg is null but recv is not */
1614 var7
= array__Array___61d_61d(var_classes
, var5
);
1627 var10
= array__AbstractArrayRead__iterator(var_
);
1632 var12
= array__ArrayIterator__is_ok(var_11
);
1636 var13
= array__ArrayIterator__item(var_11
);
1640 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
1641 var16
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
1642 if (unlikely(var16
== NULL
)) {
1643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
1644 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
1648 RET_LABEL15
:(void)0;
1652 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
1653 var19
= var_mclass
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
1654 if (unlikely(var19
== NULL
)) {
1655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1656 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 347);
1660 RET_LABEL18
:(void)0;
1664 var20
= poset__POSetElement___60d_61d(var14
, var17
);
1672 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
1673 var24
= var_mclass
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
1674 if (unlikely(var24
== NULL
)) {
1675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1676 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 347);
1680 RET_LABEL23
:(void)0;
1684 { /* Inline model#MClass#visibility (var_mclass) on <var_mclass:MClass> */
1685 var27
= var_mclass
->attrs
[COLOR_model__MClass___visibility
].val
; /* _visibility on <var_mclass:MClass> */
1686 if (unlikely(var27
== NULL
)) {
1687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
1688 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 375);
1692 RET_LABEL26
:(void)0;
1696 var28
= mmodule__MModule__is_visible(var_mmodule
, var22
, var25
);
1704 if (var_res
== NULL
) {
1705 var31
= 1; /* is null */
1707 var31
= 0; /* arg is null but recv is not */
1710 { /* Inline kernel#Object#== (var_res,var30) on <var_res:nullable MClass> */
1713 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MClass(MClass)> */
1714 var36
= var_res
== var_other
;
1717 RET_LABEL35
:(void)0;
1722 RET_LABEL33
:(void)0;
1727 var_res
= var_mclass
;
1732 var38
= "Ambigous class name \'";
1734 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1741 var43
= "\'; conflict between ";
1743 var45
= string__NativeString__to_s_with_length(var43
, var44
);
1748 var46
= model__MClass__full_name(var_mclass
);
1755 var51
= string__NativeString__to_s_with_length(var49
, var50
);
1760 var52
= model__MClass__full_name(var_res
);
1762 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
1763 { /* var53 = array_instance Array[Object] */
1765 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
1766 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var37
;
1767 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_name
;
1768 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var42
;
1769 ((struct instance_array__NativeArray
*)var55
)->values
[3] = (val
*) var46
;
1770 ((struct instance_array__NativeArray
*)var55
)->values
[4] = (val
*) var48
;
1771 ((struct instance_array__NativeArray
*)var55
)->values
[5] = (val
*) var52
;
1773 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
1777 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
1780 modelbuilder__ModelBuilder__error(self
, var_anode
, var56
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
1786 BREAK_label
: (void)0;
1788 array__ArrayIterator__next(var_11
); /* Direct call array#ArrayIterator#next on <var_11:ArrayIterator[MClass]>*/
1794 BREAK_label58
: (void)0;
1796 { /* Inline abstract_collection#Iterator#finish (var_11) on <var_11:ArrayIterator[MClass]> */
1797 RET_LABEL59
:(void)0;
1805 /* method modelbuilder#ModelBuilder#try_get_mclass_by_name for (self: Object, ANode, MModule, String): nullable MClass */
1806 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1807 val
* var
/* : nullable MClass */;
1808 val
* var1
/* : nullable MClass */;
1809 var1
= modelbuilder__ModelBuilder__try_get_mclass_by_name(self
, p0
, p1
, p2
);
1814 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2 for (self: ModelBuilder, ANode, MModule, MType, String): nullable MProperty */
1815 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1816 val
* var
/* : nullable MProperty */;
1817 val
* var_anode
/* var anode: ANode */;
1818 val
* var_mmodule
/* var mmodule: MModule */;
1819 val
* var_mtype
/* var mtype: MType */;
1820 val
* var_name
/* var name: String */;
1821 val
* var1
/* : Model */;
1822 val
* var3
/* : Model */;
1823 val
* var4
/* : nullable Array[MProperty] */;
1824 val
* var_props
/* var props: nullable Array[MProperty] */;
1825 val
* var5
/* : null */;
1826 short int var6
/* : Bool */;
1827 short int var7
/* : Bool */;
1828 val
* var8
/* : null */;
1829 val
* var9
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1830 val
* var11
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1831 val
* var12
/* : nullable Object */;
1832 val
* var_cache
/* var cache: nullable MProperty */;
1833 val
* var13
/* : null */;
1834 short int var14
/* : Bool */;
1835 short int var15
/* : Bool */;
1836 val
* var_other
/* var other: nullable Object */;
1837 short int var17
/* : Bool */;
1838 short int var18
/* : Bool */;
1839 short int var19
/* : Bool */;
1840 val
* var20
/* : null */;
1841 val
* var_res
/* var res: nullable MProperty */;
1842 val
* var21
/* : null */;
1843 val
* var_ress
/* var ress: nullable Array[MProperty] */;
1844 val
* var_
/* var : Array[MProperty] */;
1845 val
* var22
/* : ArrayIterator[nullable Object] */;
1846 val
* var_23
/* var : ArrayIterator[MProperty] */;
1847 short int var24
/* : Bool */;
1848 val
* var25
/* : nullable Object */;
1849 val
* var_mprop
/* var mprop: MProperty */;
1850 short int var26
/* : Bool */;
1851 short int var27
/* : Bool */;
1852 val
* var28
/* : MClassDef */;
1853 val
* var30
/* : MClassDef */;
1854 val
* var31
/* : MModule */;
1855 val
* var33
/* : MModule */;
1856 val
* var34
/* : MVisibility */;
1857 val
* var36
/* : MVisibility */;
1858 short int var37
/* : Bool */;
1859 short int var38
/* : Bool */;
1860 short int var39
/* : Bool */;
1861 short int var40
/* : Bool */;
1862 short int var41
/* : Bool */;
1865 short int var_42
/* var : Bool */;
1866 short int var43
/* : Bool */;
1867 short int var45
/* : Bool */;
1868 short int var_46
/* var : Bool */;
1869 short int var47
/* : Bool */;
1870 short int var48
/* : Bool */;
1873 short int var51
/* : Bool */;
1874 short int var_52
/* var : Bool */;
1875 val
* var53
/* : MClassDef */;
1876 val
* var55
/* : MClassDef */;
1877 val
* var56
/* : MClass */;
1878 val
* var58
/* : MClass */;
1879 val
* var59
/* : MClass */;
1880 val
* var61
/* : MClass */;
1881 short int var62
/* : Bool */;
1882 short int var63
/* : Bool */;
1883 short int var65
/* : Bool */;
1884 short int var66
/* : Bool */;
1885 short int var67
/* : Bool */;
1886 val
* var68
/* : null */;
1887 short int var69
/* : Bool */;
1888 short int var70
/* : Bool */;
1889 val
* var_other72
/* var other: nullable Object */;
1890 short int var73
/* : Bool */;
1891 short int var75
/* : Bool */;
1892 short int var76
/* : Bool */;
1893 short int var77
/* : Bool */;
1894 short int var78
/* : Bool */;
1895 short int var79
/* : Bool */;
1898 short int var_82
/* var : Bool */;
1899 short int var83
/* : Bool */;
1902 short int var_86
/* var : Bool */;
1903 short int var87
/* : Bool */;
1904 short int var89
/* : Bool */;
1905 short int var_90
/* var : Bool */;
1906 short int var91
/* : Bool */;
1907 short int var93
/* : Bool */;
1908 val
* var94
/* : MClassDef */;
1909 val
* var96
/* : MClassDef */;
1910 val
* var97
/* : MClassType */;
1911 val
* var99
/* : MClassType */;
1912 val
* var_restype
/* var restype: MClassType */;
1913 val
* var100
/* : MClassDef */;
1914 val
* var102
/* : MClassDef */;
1915 val
* var103
/* : MClassType */;
1916 val
* var105
/* : MClassType */;
1917 val
* var_mproptype
/* var mproptype: MClassType */;
1918 val
* var106
/* : null */;
1919 short int var107
/* : Bool */;
1920 val
* var108
/* : null */;
1921 short int var109
/* : Bool */;
1922 short int var110
/* : Bool */;
1923 val
* var111
/* : Array[MProperty] */;
1924 short int var114
/* : Bool */;
1925 short int var115
/* : Bool */;
1926 val
* var116
/* : null */;
1927 short int var117
/* : Bool */;
1928 short int var118
/* : Bool */;
1929 short int var120
/* : Bool */;
1930 short int var121
/* : Bool */;
1931 short int var122
/* : Bool */;
1932 short int var_123
/* var : Bool */;
1933 short int var124
/* : Bool */;
1936 short int var_127
/* var : Bool */;
1937 short int var128
/* : Bool */;
1938 short int var130
/* : Bool */;
1939 val
* var131
/* : MClassDef */;
1940 val
* var133
/* : MClassDef */;
1941 val
* var134
/* : MClassType */;
1942 val
* var136
/* : MClassType */;
1943 val
* var_restype137
/* var restype: MClassType */;
1944 val
* var138
/* : Array[MProperty] */;
1945 val
* var_ress2
/* var ress2: Array[MProperty] */;
1946 val
* var_139
/* var : Array[MProperty] */;
1947 val
* var140
/* : ArrayIterator[nullable Object] */;
1948 val
* var_141
/* var : ArrayIterator[MProperty] */;
1949 short int var142
/* : Bool */;
1950 val
* var143
/* : nullable Object */;
1951 val
* var_mprop144
/* var mprop: MProperty */;
1952 val
* var145
/* : MClassDef */;
1953 val
* var147
/* : MClassDef */;
1954 val
* var148
/* : MClassType */;
1955 val
* var150
/* : MClassType */;
1956 val
* var_mproptype151
/* var mproptype: MClassType */;
1957 val
* var152
/* : null */;
1958 short int var153
/* : Bool */;
1959 short int var154
/* : Bool */;
1960 short int var155
/* : Bool */;
1961 short int var156
/* : Bool */;
1964 short int var159
/* : Bool */;
1965 short int var_160
/* var : Bool */;
1966 short int var161
/* : Bool */;
1967 short int var163
/* : Bool */;
1968 short int var164
/* : Bool */;
1969 short int var167
/* : Bool */;
1970 val
* var168
/* : null */;
1971 val
* var169
/* : null */;
1972 short int var170
/* : Bool */;
1973 short int var171
/* : Bool */;
1974 short int var173
/* : Bool */;
1975 short int var174
/* : Bool */;
1976 short int var175
/* : Bool */;
1977 long var176
/* : Int */;
1978 long var178
/* : Int */;
1979 long var179
/* : Int */;
1980 short int var180
/* : Bool */;
1981 short int var182
/* : Bool */;
1984 const char* var_class_name
;
1985 short int var185
/* : Bool */;
1986 val
* var186
/* : Array[String] */;
1987 val
* var_s
/* var s: Array[String] */;
1988 val
* var_187
/* var : Array[MProperty] */;
1989 val
* var188
/* : ArrayIterator[nullable Object] */;
1990 val
* var_189
/* var : ArrayIterator[MProperty] */;
1991 short int var190
/* : Bool */;
1992 val
* var191
/* : nullable Object */;
1993 val
* var_mprop192
/* var mprop: MProperty */;
1994 val
* var193
/* : String */;
1995 static val
* varonce
;
1996 val
* var196
/* : String */;
1997 char* var197
/* : NativeString */;
1998 long var198
/* : Int */;
1999 val
* var199
/* : FlatString */;
2000 static val
* varonce200
;
2001 val
* var201
/* : String */;
2002 char* var202
/* : NativeString */;
2003 long var203
/* : Int */;
2004 val
* var204
/* : FlatString */;
2005 static val
* varonce205
;
2006 val
* var206
/* : String */;
2007 char* var207
/* : NativeString */;
2008 long var208
/* : Int */;
2009 val
* var209
/* : FlatString */;
2010 static val
* varonce210
;
2011 val
* var211
/* : String */;
2012 char* var212
/* : NativeString */;
2013 long var213
/* : Int */;
2014 val
* var214
/* : FlatString */;
2015 val
* var215
/* : String */;
2016 val
* var216
/* : Array[Object] */;
2017 long var217
/* : Int */;
2018 val
* var218
/* : NativeArray[Object] */;
2019 val
* var219
/* : String */;
2020 val
* var220
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
2021 val
* var222
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
2027 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:ModelBuilder> */
2028 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
2029 if (unlikely(var3
== NULL
)) {
2030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2031 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
2039 var4
= model__Model__get_mproperties_by_name(var1
, var_name
);
2043 if (var_props
== NULL
) {
2044 var6
= 1; /* is null */
2046 var6
= 0; /* arg is null but recv is not */
2049 var7
= array__Array___61d_61d(var_props
, var5
);
2059 { /* Inline modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache (self) on <self:ModelBuilder> */
2060 var11
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___try_get_mproperty_by_name2_cache
].val
; /* _try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
2061 if (unlikely(var11
== NULL
)) {
2062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache");
2063 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 291);
2067 RET_LABEL10
:(void)0;
2071 var12
= more_collections__HashMap3___91d_93d(var9
, var_mmodule
, var_mtype
, var_name
);
2075 if (var_cache
== NULL
) {
2076 var14
= 0; /* is null */
2078 var14
= 1; /* arg is null and recv is not */
2081 { /* Inline kernel#Object#!= (var_cache,var13) on <var_cache:nullable MProperty> */
2084 var18
= ((short int (*)(val
*, val
*))(var_cache
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_cache
, var_other
) /* == on <var_cache:nullable MProperty(MProperty)>*/;
2090 RET_LABEL16
:(void)0;
2105 var22
= array__AbstractArrayRead__iterator(var_
);
2110 var24
= array__ArrayIterator__is_ok(var_23
);
2114 var25
= array__ArrayIterator__item(var_23
);
2118 var26
= model__MType__has_mproperty(var_mtype
, var_mmodule
, var_mprop
);
2126 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty> */
2127 var30
= var_mprop
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty> */
2128 if (unlikely(var30
== NULL
)) {
2129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2130 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2134 RET_LABEL29
:(void)0;
2138 { /* Inline model#MClassDef#mmodule (var28) on <var28:MClassDef> */
2139 var33
= var28
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var28:MClassDef> */
2140 if (unlikely(var33
== NULL
)) {
2141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2142 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
2146 RET_LABEL32
:(void)0;
2150 { /* Inline model#MProperty#visibility (var_mprop) on <var_mprop:MProperty> */
2151 var36
= var_mprop
->attrs
[COLOR_model__MProperty___visibility
].val
; /* _visibility on <var_mprop:MProperty> */
2152 if (unlikely(var36
== NULL
)) {
2153 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _visibility");
2154 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1630);
2158 RET_LABEL35
:(void)0;
2162 var37
= mmodule__MModule__is_visible(var_mmodule
, var31
, var34
);
2169 /* <var_mprop:MProperty> isa MMethod */
2170 cltype
= type_model__MMethod
.color
;
2171 idtype
= type_model__MMethod
.id
;
2172 if(cltype
>= var_mprop
->type
->table_size
) {
2175 var41
= var_mprop
->type
->type_table
[cltype
] == idtype
;
2180 { /* Inline model#MMethod#is_new (var_mprop) on <var_mprop:MProperty(MMethod)> */
2181 var45
= var_mprop
->attrs
[COLOR_model__MMethod___is_new
].s
; /* _is_new on <var_mprop:MProperty(MMethod)> */
2183 RET_LABEL44
:(void)0;
2192 /* <var_mtype:MType> isa MClassType */
2193 cltype49
= type_model__MClassType
.color
;
2194 idtype50
= type_model__MClassType
.id
;
2195 if(cltype49
>= var_mtype
->type
->table_size
) {
2198 var48
= var_mtype
->type
->type_table
[cltype49
] == idtype50
;
2206 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty(MMethod)> */
2207 var55
= var_mprop
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty(MMethod)> */
2208 if (unlikely(var55
== NULL
)) {
2209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2210 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2214 RET_LABEL54
:(void)0;
2218 { /* Inline model#MClassDef#mclass (var53) on <var53:MClassDef> */
2219 var58
= var53
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var53:MClassDef> */
2220 if (unlikely(var58
== NULL
)) {
2221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2222 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
2226 RET_LABEL57
:(void)0;
2230 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
2231 var61
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
2232 if (unlikely(var61
== NULL
)) {
2233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2234 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
2238 RET_LABEL60
:(void)0;
2242 { /* Inline kernel#Object#!= (var56,var59) on <var56:MClass> */
2245 var66
= ((short int (*)(val
*, val
*))(var56
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var56
, var_other
) /* == on <var56:MClass>*/;
2251 RET_LABEL64
:(void)0;
2266 if (var_res
== NULL
) {
2267 var69
= 1; /* is null */
2269 var69
= 0; /* arg is null but recv is not */
2272 { /* Inline kernel#Object#== (var_res,var68) on <var_res:nullable MProperty> */
2273 var_other72
= var68
;
2275 { /* Inline kernel#Object#is_same_instance (var_res,var_other72) on <var_res:nullable MProperty(MProperty)> */
2276 var75
= var_res
== var_other72
;
2279 RET_LABEL74
:(void)0;
2284 RET_LABEL71
:(void)0;
2289 var_res
= var_mprop
;
2293 /* <var_res:nullable MProperty(MProperty)> isa MMethod */
2294 cltype80
= type_model__MMethod
.color
;
2295 idtype81
= type_model__MMethod
.id
;
2296 if(cltype80
>= var_res
->type
->table_size
) {
2299 var79
= var_res
->type
->type_table
[cltype80
] == idtype81
;
2303 /* <var_mprop:MProperty> isa MMethod */
2304 cltype84
= type_model__MMethod
.color
;
2305 idtype85
= type_model__MMethod
.id
;
2306 if(cltype84
>= var_mprop
->type
->table_size
) {
2309 var83
= var_mprop
->type
->type_table
[cltype84
] == idtype85
;
2318 { /* Inline model#MMethod#is_init (var_res) on <var_res:nullable MProperty(MMethod)> */
2319 var89
= var_res
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var_res:nullable MProperty(MMethod)> */
2321 RET_LABEL88
:(void)0;
2331 { /* Inline model#MMethod#is_init (var_mprop) on <var_mprop:MProperty(MMethod)> */
2332 var93
= var_mprop
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var_mprop:MProperty(MMethod)> */
2334 RET_LABEL92
:(void)0;
2343 { /* Inline model#MProperty#intro_mclassdef (var_res) on <var_res:nullable MProperty(MMethod)> */
2344 var96
= var_res
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_res:nullable MProperty(MMethod)> */
2345 if (unlikely(var96
== NULL
)) {
2346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2347 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2351 RET_LABEL95
:(void)0;
2355 { /* Inline model#MClassDef#bound_mtype (var94) on <var94:MClassDef> */
2356 var99
= var94
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var94:MClassDef> */
2357 if (unlikely(var99
== NULL
)) {
2358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2359 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
2363 RET_LABEL98
:(void)0;
2366 var_restype
= var97
;
2368 { /* Inline model#MProperty#intro_mclassdef (var_mprop) on <var_mprop:MProperty(MMethod)> */
2369 var102
= var_mprop
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop:MProperty(MMethod)> */
2370 if (unlikely(var102
== NULL
)) {
2371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2372 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2376 RET_LABEL101
:(void)0;
2380 { /* Inline model#MClassDef#bound_mtype (var100) on <var100:MClassDef> */
2381 var105
= var100
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var100:MClassDef> */
2382 if (unlikely(var105
== NULL
)) {
2383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2384 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
2388 RET_LABEL104
:(void)0;
2391 var_mproptype
= var103
;
2394 var107
= model__MType__is_subtype(var_mproptype
, var_mmodule
, var106
, var_restype
);
2397 var_res
= var_mprop
;
2404 if (var_ress
== NULL
) {
2405 var109
= 1; /* is null */
2407 var109
= 0; /* arg is null but recv is not */
2410 var110
= array__Array___61d_61d(var_ress
, var108
);
2414 var111
= NEW_array__Array(&type_array__Arraymodel__MProperty
);
2416 ((void (*)(val
*))(var111
->class->vft
[COLOR_kernel__Object__init
]))(var111
) /* init on <var111:Array[MProperty]>*/;
2420 array__Array__add(var_ress
, var_res
); /* Direct call array#Array#add on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
2425 array__Array__add(var_ress
, var_mprop
); /* Direct call array#Array#add on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
2427 BREAK_label
: (void)0;
2429 array__ArrayIterator__next(var_23
); /* Direct call array#ArrayIterator#next on <var_23:ArrayIterator[MProperty]>*/
2432 goto BREAK_label112
;
2435 BREAK_label112
: (void)0;
2437 { /* Inline abstract_collection#Iterator#finish (var_23) on <var_23:ArrayIterator[MProperty]> */
2438 RET_LABEL113
:(void)0;
2442 if (var_ress
== NULL
) {
2443 var117
= 0; /* is null */
2445 var117
= 1; /* arg is null and recv is not */
2448 { /* Inline kernel#Object#!= (var_ress,var116) on <var_ress:nullable Array[MProperty]> */
2451 var121
= ((short int (*)(val
*, val
*))(var_ress
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ress
, var_other
) /* == on <var_ress:nullable Array[MProperty](Array[MProperty])>*/;
2457 RET_LABEL119
:(void)0;
2463 /* <var_res:nullable MProperty> isa MMethod */
2464 cltype125
= type_model__MMethod
.color
;
2465 idtype126
= type_model__MMethod
.id
;
2466 if(var_res
== NULL
) {
2469 if(cltype125
>= var_res
->type
->table_size
) {
2472 var124
= var_res
->type
->type_table
[cltype125
] == idtype126
;
2482 { /* Inline model#MMethod#is_init (var_res) on <var_res:nullable MProperty(MMethod)> */
2483 var130
= var_res
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var_res:nullable MProperty(MMethod)> */
2485 RET_LABEL129
:(void)0;
2494 { /* Inline model#MProperty#intro_mclassdef (var_res) on <var_res:nullable MProperty(MMethod)> */
2495 var133
= var_res
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_res:nullable MProperty(MMethod)> */
2496 if (unlikely(var133
== NULL
)) {
2497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2498 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2502 RET_LABEL132
:(void)0;
2506 { /* Inline model#MClassDef#bound_mtype (var131) on <var131:MClassDef> */
2507 var136
= var131
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var131:MClassDef> */
2508 if (unlikely(var136
== NULL
)) {
2509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2510 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
2514 RET_LABEL135
:(void)0;
2517 var_restype137
= var134
;
2518 var138
= NEW_array__Array(&type_array__Arraymodel__MProperty
);
2520 ((void (*)(val
*))(var138
->class->vft
[COLOR_kernel__Object__init
]))(var138
) /* init on <var138:Array[MProperty]>*/;
2525 var140
= array__AbstractArrayRead__iterator(var_139
);
2530 var142
= array__ArrayIterator__is_ok(var_141
);
2534 var143
= array__ArrayIterator__item(var_141
);
2536 var_mprop144
= var143
;
2538 { /* Inline model#MProperty#intro_mclassdef (var_mprop144) on <var_mprop144:MProperty> */
2539 var147
= var_mprop144
->attrs
[COLOR_model__MProperty___intro_mclassdef
].val
; /* _intro_mclassdef on <var_mprop144:MProperty> */
2540 if (unlikely(var147
== NULL
)) {
2541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mclassdef");
2542 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1615);
2546 RET_LABEL146
:(void)0;
2550 { /* Inline model#MClassDef#bound_mtype (var145) on <var145:MClassDef> */
2551 var150
= var145
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var145:MClassDef> */
2552 if (unlikely(var150
== NULL
)) {
2553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2554 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
2558 RET_LABEL149
:(void)0;
2561 var_mproptype151
= var148
;
2564 var153
= model__MType__is_subtype(var_restype137
, var_mmodule
, var152
, var_mproptype151
);
2569 array__Array__add(var_ress2
, var_mprop144
); /* Direct call array#Array#add on <var_ress2:Array[MProperty]>*/
2572 /* <var_mprop144:MProperty> isa MMethod */
2573 cltype157
= type_model__MMethod
.color
;
2574 idtype158
= type_model__MMethod
.id
;
2575 if(cltype157
>= var_mprop144
->type
->table_size
) {
2578 var156
= var_mprop144
->type
->type_table
[cltype157
] == idtype158
;
2586 { /* Inline model#MMethod#is_init (var_mprop144) on <var_mprop144:MProperty(MMethod)> */
2587 var163
= var_mprop144
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var_mprop144:MProperty(MMethod)> */
2589 RET_LABEL162
:(void)0;
2597 array__Array__add(var_ress2
, var_mprop144
); /* Direct call array#Array#add on <var_ress2:Array[MProperty]>*/
2603 array__ArrayIterator__next(var_141
); /* Direct call array#ArrayIterator#next on <var_141:ArrayIterator[MProperty]>*/
2606 goto BREAK_label165
;
2609 BREAK_label165
: (void)0;
2611 { /* Inline abstract_collection#Iterator#finish (var_141) on <var_141:ArrayIterator[MProperty]> */
2612 RET_LABEL166
:(void)0;
2616 var167
= array__AbstractArrayRead__is_empty(var_ress2
);
2622 var_ress
= var_ress2
;
2624 array__Array__add(var_ress
, var_res
); /* Direct call array#Array#add on <var_ress:nullable Array[MProperty](Array[MProperty])>*/
2630 if (var_ress
== NULL
) {
2631 var170
= 0; /* is null */
2633 var170
= 1; /* arg is null and recv is not */
2636 { /* Inline kernel#Object#!= (var_ress,var169) on <var_ress:nullable Array[MProperty]> */
2639 var174
= ((short int (*)(val
*, val
*))(var_ress
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ress
, var_other
) /* == on <var_ress:nullable Array[MProperty](Array[MProperty])>*/;
2645 RET_LABEL172
:(void)0;
2651 { /* Inline array#AbstractArrayRead#length (var_ress) on <var_ress:nullable Array[MProperty](Array[MProperty])> */
2652 var178
= var_ress
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_ress:nullable Array[MProperty](Array[MProperty])> */
2654 RET_LABEL177
:(void)0;
2659 { /* Inline kernel#Int#> (var176,var179) on <var176:Int> */
2660 /* Covariant cast for argument 0 (i) <var179:Int> isa OTHER */
2661 /* <var179:Int> isa OTHER */
2662 var182
= 1; /* easy <var179:Int> isa OTHER*/
2663 if (unlikely(!var182
)) {
2664 var_class_name
= type_kernel__Int
.name
;
2665 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2666 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
2669 var185
= var176
> var179
;
2672 RET_LABEL181
:(void)0;
2675 if (unlikely(!var180
)) {
2676 PRINT_ERROR("Runtime error: %s", "Assert failed");
2677 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 281);
2680 var186
= NEW_array__Array(&type_array__Arraystring__String
);
2682 ((void (*)(val
*))(var186
->class->vft
[COLOR_kernel__Object__init
]))(var186
) /* init on <var186:Array[String]>*/;
2687 var188
= array__AbstractArrayRead__iterator(var_187
);
2692 var190
= array__ArrayIterator__is_ok(var_189
);
2696 var191
= array__ArrayIterator__item(var_189
);
2698 var_mprop192
= var191
;
2700 var193
= model__MProperty__full_name(var_mprop192
);
2703 array__Array__add(var_s
, var193
); /* Direct call array#Array#add on <var_s:Array[String]>*/
2706 array__ArrayIterator__next(var_189
); /* Direct call array#ArrayIterator#next on <var_189:ArrayIterator[MProperty]>*/
2709 goto BREAK_label194
;
2712 BREAK_label194
: (void)0;
2714 { /* Inline abstract_collection#Iterator#finish (var_189) on <var_189:ArrayIterator[MProperty]> */
2715 RET_LABEL195
:(void)0;
2721 var197
= "Ambigous property name \'";
2723 var199
= string__NativeString__to_s_with_length(var197
, var198
);
2728 var201
= varonce200
;
2732 var204
= string__NativeString__to_s_with_length(var202
, var203
);
2734 varonce200
= var201
;
2737 var206
= varonce205
;
2739 var207
= "; conflict between ";
2741 var209
= string__NativeString__to_s_with_length(var207
, var208
);
2743 varonce205
= var206
;
2746 var211
= varonce210
;
2750 var214
= string__NativeString__to_s_with_length(var212
, var213
);
2752 varonce210
= var211
;
2755 var215
= string__Collection__join(var_s
, var211
);
2757 var216
= NEW_array__Array(&type_array__Arraykernel__Object
);
2758 { /* var216 = array_instance Array[Object] */
2760 var218
= NEW_array__NativeArray(var217
, &type_array__NativeArraykernel__Object
);
2761 ((struct instance_array__NativeArray
*)var218
)->values
[0] = (val
*) var196
;
2762 ((struct instance_array__NativeArray
*)var218
)->values
[1] = (val
*) var_name
;
2763 ((struct instance_array__NativeArray
*)var218
)->values
[2] = (val
*) var201
;
2764 ((struct instance_array__NativeArray
*)var218
)->values
[3] = (val
*) var_mtype
;
2765 ((struct instance_array__NativeArray
*)var218
)->values
[4] = (val
*) var206
;
2766 ((struct instance_array__NativeArray
*)var218
)->values
[5] = (val
*) var215
;
2768 ((void (*)(val
*, val
*, long))(var216
->class->vft
[COLOR_array__Array__with_native
]))(var216
, var218
, var217
) /* with_native on <var216:Array[Object]>*/;
2772 var219
= ((val
* (*)(val
*))(var216
->class->vft
[COLOR_string__Object__to_s
]))(var216
) /* to_s on <var216:Array[Object]>*/;
2775 modelbuilder__ModelBuilder__error(self
, var_anode
, var219
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
2780 { /* Inline modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache (self) on <self:ModelBuilder> */
2781 var222
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___try_get_mproperty_by_name2_cache
].val
; /* _try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
2782 if (unlikely(var222
== NULL
)) {
2783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache");
2784 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 291);
2788 RET_LABEL221
:(void)0;
2792 more_collections__HashMap3___91d_93d_61d(var220
, var_mmodule
, var_mtype
, var_name
, var_res
); /* Direct call more_collections#HashMap3#[]= on <var220:HashMap3[MModule, MType, String, nullable MProperty]>*/
2799 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2 for (self: Object, ANode, MModule, MType, String): nullable MProperty */
2800 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2801 val
* var
/* : nullable MProperty */;
2802 val
* var1
/* : nullable MProperty */;
2803 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(self
, p0
, p1
, p2
, p3
);
2808 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache for (self: ModelBuilder): HashMap3[MModule, MType, String, nullable MProperty] */
2809 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(val
* self
) {
2810 val
* var
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
2811 val
* var1
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
2812 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___try_get_mproperty_by_name2_cache
].val
; /* _try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
2813 if (unlikely(var1
== NULL
)) {
2814 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache");
2815 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 291);
2822 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache for (self: Object): HashMap3[MModule, MType, String, nullable MProperty] */
2823 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(val
* self
) {
2824 val
* var
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
2825 val
* var1
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
2826 val
* var3
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
2827 { /* Inline modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache (self) on <self:Object(ModelBuilder)> */
2828 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___try_get_mproperty_by_name2_cache
].val
; /* _try_get_mproperty_by_name2_cache on <self:Object(ModelBuilder)> */
2829 if (unlikely(var3
== NULL
)) {
2830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache");
2831 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 291);
2841 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name for (self: ModelBuilder, ANode, MClassDef, String): nullable MProperty */
2842 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2843 val
* var
/* : nullable MProperty */;
2844 val
* var_anode
/* var anode: ANode */;
2845 val
* var_mclassdef
/* var mclassdef: MClassDef */;
2846 val
* var_name
/* var name: String */;
2847 val
* var1
/* : MModule */;
2848 val
* var3
/* : MModule */;
2849 val
* var4
/* : MClassType */;
2850 val
* var6
/* : MClassType */;
2851 val
* var7
/* : nullable MProperty */;
2856 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
2857 var3
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
2858 if (unlikely(var3
== NULL
)) {
2859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2860 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
2868 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
2869 var6
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
2870 if (unlikely(var6
== NULL
)) {
2871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2872 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
2880 var7
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(self
, var_anode
, var1
, var4
, var_name
);
2887 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name for (self: Object, ANode, MClassDef, String): nullable MProperty */
2888 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2889 val
* var
/* : nullable MProperty */;
2890 val
* var1
/* : nullable MProperty */;
2891 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(self
, p0
, p1
, p2
);
2896 /* method modelbuilder#ModelBuilder#paths for (self: ModelBuilder): Array[String] */
2897 val
* modelbuilder__ModelBuilder__paths(val
* self
) {
2898 val
* var
/* : Array[String] */;
2899 val
* var1
/* : Array[String] */;
2900 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
2901 if (unlikely(var1
== NULL
)) {
2902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
2903 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 300);
2910 /* method modelbuilder#ModelBuilder#paths for (self: Object): Array[String] */
2911 val
* VIRTUAL_modelbuilder__ModelBuilder__paths(val
* self
) {
2912 val
* var
/* : Array[String] */;
2913 val
* var1
/* : Array[String] */;
2914 val
* var3
/* : Array[String] */;
2915 { /* Inline modelbuilder#ModelBuilder#paths (self) on <self:Object(ModelBuilder)> */
2916 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___paths
].val
; /* _paths on <self:Object(ModelBuilder)> */
2917 if (unlikely(var3
== NULL
)) {
2918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
2919 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 300);
2929 /* method modelbuilder#ModelBuilder#search_mmodule_by_name for (self: ModelBuilder, ANode, nullable MGroup, String): nullable ModulePath */
2930 val
* modelbuilder__ModelBuilder__search_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2931 val
* var
/* : nullable ModulePath */;
2932 val
* var_anode
/* var anode: ANode */;
2933 val
* var_mgroup
/* var mgroup: nullable MGroup */;
2934 val
* var_name
/* var name: String */;
2935 val
* var_c
/* var c: nullable MGroup */;
2936 val
* var1
/* : null */;
2937 short int var2
/* : Bool */;
2938 short int var3
/* : Bool */;
2939 val
* var_other
/* var other: nullable Object */;
2940 short int var5
/* : Bool */;
2941 short int var6
/* : Bool */;
2942 short int var7
/* : Bool */;
2943 val
* var8
/* : nullable String */;
2944 val
* var10
/* : nullable String */;
2945 val
* var_dirname
/* var dirname: nullable String */;
2946 val
* var11
/* : null */;
2947 short int var12
/* : Bool */;
2948 short int var13
/* : Bool */;
2949 static val
* varonce
;
2950 val
* var14
/* : String */;
2951 char* var15
/* : NativeString */;
2952 long var16
/* : Int */;
2953 val
* var17
/* : FlatString */;
2954 short int var18
/* : Bool */;
2955 static val
* varonce19
;
2956 val
* var20
/* : String */;
2957 char* var21
/* : NativeString */;
2958 long var22
/* : Int */;
2959 val
* var23
/* : FlatString */;
2960 val
* var24
/* : String */;
2961 val
* var25
/* : String */;
2962 static val
* varonce26
;
2963 val
* var27
/* : String */;
2964 char* var28
/* : NativeString */;
2965 long var29
/* : Int */;
2966 val
* var30
/* : FlatString */;
2967 val
* var31
/* : String */;
2968 val
* var_try_file
/* var try_file: String */;
2969 short int var32
/* : Bool */;
2970 val
* var33
/* : String */;
2971 val
* var34
/* : nullable ModulePath */;
2972 val
* var_res
/* var res: nullable ModulePath */;
2973 val
* var35
/* : null */;
2974 short int var36
/* : Bool */;
2975 short int var37
/* : Bool */;
2976 short int var39
/* : Bool */;
2977 short int var40
/* : Bool */;
2978 short int var41
/* : Bool */;
2979 static val
* varonce42
;
2980 val
* var43
/* : String */;
2981 char* var44
/* : NativeString */;
2982 long var45
/* : Int */;
2983 val
* var46
/* : FlatString */;
2984 val
* var47
/* : String */;
2985 val
* var48
/* : String */;
2986 static val
* varonce49
;
2987 val
* var50
/* : String */;
2988 char* var51
/* : NativeString */;
2989 long var52
/* : Int */;
2990 val
* var53
/* : FlatString */;
2991 val
* var54
/* : String */;
2992 val
* var55
/* : String */;
2993 static val
* varonce56
;
2994 val
* var57
/* : String */;
2995 char* var58
/* : NativeString */;
2996 long var59
/* : Int */;
2997 val
* var60
/* : FlatString */;
2998 val
* var61
/* : String */;
2999 short int var62
/* : Bool */;
3000 val
* var63
/* : String */;
3001 val
* var64
/* : nullable ModulePath */;
3002 val
* var_res65
/* var res: nullable ModulePath */;
3003 val
* var66
/* : null */;
3004 short int var67
/* : Bool */;
3005 short int var68
/* : Bool */;
3006 short int var70
/* : Bool */;
3007 short int var71
/* : Bool */;
3008 short int var72
/* : Bool */;
3009 val
* var73
/* : nullable MGroup */;
3010 val
* var75
/* : nullable MGroup */;
3011 val
* var76
/* : Array[String] */;
3012 val
* var78
/* : Array[String] */;
3013 val
* var_lookpaths
/* var lookpaths: Array[String] */;
3014 val
* var79
/* : null */;
3015 short int var80
/* : Bool */;
3016 short int var81
/* : Bool */;
3017 short int var83
/* : Bool */;
3018 short int var84
/* : Bool */;
3019 short int var85
/* : Bool */;
3020 val
* var86
/* : MProject */;
3021 val
* var88
/* : MProject */;
3022 val
* var89
/* : nullable MGroup */;
3023 val
* var91
/* : nullable MGroup */;
3024 val
* var92
/* : nullable String */;
3025 val
* var94
/* : nullable String */;
3026 val
* var_dirname95
/* var dirname: nullable String */;
3027 val
* var96
/* : null */;
3028 short int var97
/* : Bool */;
3029 short int var98
/* : Bool */;
3030 short int var100
/* : Bool */;
3031 short int var101
/* : Bool */;
3032 short int var102
/* : Bool */;
3033 static val
* varonce103
;
3034 val
* var104
/* : String */;
3035 char* var105
/* : NativeString */;
3036 long var106
/* : Int */;
3037 val
* var107
/* : FlatString */;
3038 val
* var108
/* : String */;
3039 val
* var109
/* : String */;
3040 short int var110
/* : Bool */;
3041 short int var111
/* : Bool */;
3042 short int var112
/* : Bool */;
3043 short int var_
/* var : Bool */;
3044 short int var113
/* : Bool */;
3045 val
* var114
/* : Array[nullable Object] */;
3046 val
* var115
/* : Location */;
3047 val
* var116
/* : nullable ModulePath */;
3048 val
* var_candidate
/* var candidate: nullable ModulePath */;
3049 val
* var117
/* : null */;
3050 short int var118
/* : Bool */;
3051 short int var119
/* : Bool */;
3052 val
* var_other121
/* var other: nullable Object */;
3053 short int var122
/* : Bool */;
3054 short int var124
/* : Bool */;
3055 val
* var125
/* : null */;
3056 short int var126
/* : Bool */;
3057 short int var127
/* : Bool */;
3058 short int var129
/* : Bool */;
3059 short int var130
/* : Bool */;
3060 short int var131
/* : Bool */;
3061 static val
* varonce132
;
3062 val
* var133
/* : String */;
3063 char* var134
/* : NativeString */;
3064 long var135
/* : Int */;
3065 val
* var136
/* : FlatString */;
3066 static val
* varonce137
;
3067 val
* var138
/* : String */;
3068 char* var139
/* : NativeString */;
3069 long var140
/* : Int */;
3070 val
* var141
/* : FlatString */;
3071 val
* var142
/* : String */;
3072 val
* var144
/* : String */;
3073 static val
* varonce145
;
3074 val
* var146
/* : String */;
3075 char* var147
/* : NativeString */;
3076 long var148
/* : Int */;
3077 val
* var149
/* : FlatString */;
3078 static val
* varonce150
;
3079 val
* var151
/* : String */;
3080 char* var152
/* : NativeString */;
3081 long var153
/* : Int */;
3082 val
* var154
/* : FlatString */;
3083 val
* var155
/* : String */;
3084 val
* var156
/* : Array[Object] */;
3085 long var157
/* : Int */;
3086 val
* var158
/* : NativeArray[Object] */;
3087 val
* var159
/* : String */;
3088 static val
* varonce160
;
3089 val
* var161
/* : String */;
3090 char* var162
/* : NativeString */;
3091 long var163
/* : Int */;
3092 val
* var164
/* : FlatString */;
3093 static val
* varonce165
;
3094 val
* var166
/* : String */;
3095 char* var167
/* : NativeString */;
3096 long var168
/* : Int */;
3097 val
* var169
/* : FlatString */;
3098 static val
* varonce170
;
3099 val
* var171
/* : String */;
3100 char* var172
/* : NativeString */;
3101 long var173
/* : Int */;
3102 val
* var174
/* : FlatString */;
3103 val
* var175
/* : String */;
3104 val
* var176
/* : Array[Object] */;
3105 long var177
/* : Int */;
3106 val
* var178
/* : NativeArray[Object] */;
3107 val
* var179
/* : String */;
3108 val
* var180
/* : null */;
3115 if (var_c
== NULL
) {
3116 var2
= 0; /* is null */
3118 var2
= 1; /* arg is null and recv is not */
3121 { /* Inline kernel#Object#!= (var_c,var1) on <var_c:nullable MGroup> */
3124 var6
= ((short int (*)(val
*, val
*))(var_c
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_c
, var_other
) /* == on <var_c:nullable MGroup(MGroup)>*/;
3136 { /* Inline mproject#MGroup#filepath (var_c) on <var_c:nullable MGroup(MGroup)> */
3137 var10
= var_c
->attrs
[COLOR_mproject__MGroup___filepath
].val
; /* _filepath on <var_c:nullable MGroup(MGroup)> */
3144 if (var_dirname
== NULL
) {
3145 var12
= 1; /* is null */
3147 var12
= 0; /* arg is null but recv is not */
3150 var13
= string__FlatString___61d_61d(var_dirname
, var11
);
3162 var17
= string__NativeString__to_s_with_length(var15
, var16
);
3167 var18
= string__Text__has_suffix(var_dirname
, var14
);
3178 var23
= string__NativeString__to_s_with_length(var21
, var22
);
3183 var24
= string__FlatString___43d(var_dirname
, var20
);
3186 var25
= string__FlatString___43d(var24
, var_name
);
3193 var30
= string__NativeString__to_s_with_length(var28
, var29
);
3198 var31
= string__FlatString___43d(var25
, var27
);
3200 var_try_file
= var31
;
3202 var32
= file__String__file_exists(var_try_file
);
3206 var33
= file__String__simplify_path(var_try_file
);
3209 var34
= modelbuilder__ModelBuilder__identify_file(self
, var33
);
3213 if (var_res
== NULL
) {
3214 var36
= 0; /* is null */
3216 var36
= 1; /* arg is null and recv is not */
3219 { /* Inline kernel#Object#!= (var_res,var35) on <var_res:nullable ModulePath> */
3222 var40
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable ModulePath(ModulePath)>*/;
3228 RET_LABEL38
:(void)0;
3232 if (unlikely(!var36
)) {
3233 PRINT_ERROR("Runtime error: %s", "Assert failed");
3234 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 322);
3246 var46
= string__NativeString__to_s_with_length(var44
, var45
);
3251 var47
= string__FlatString___43d(var_dirname
, var43
);
3254 var48
= string__FlatString___43d(var47
, var_name
);
3261 var53
= string__NativeString__to_s_with_length(var51
, var52
);
3266 var54
= string__FlatString___43d(var48
, var50
);
3269 var55
= string__FlatString___43d(var54
, var_name
);
3276 var60
= string__NativeString__to_s_with_length(var58
, var59
);
3281 var61
= string__FlatString___43d(var55
, var57
);
3283 var_try_file
= var61
;
3285 var62
= file__String__file_exists(var_try_file
);
3289 var63
= file__String__simplify_path(var_try_file
);
3292 var64
= modelbuilder__ModelBuilder__identify_file(self
, var63
);
3296 if (var_res65
== NULL
) {
3297 var67
= 0; /* is null */
3299 var67
= 1; /* arg is null and recv is not */
3302 { /* Inline kernel#Object#!= (var_res65,var66) on <var_res65:nullable ModulePath> */
3305 var71
= ((short int (*)(val
*, val
*))(var_res65
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res65
, var_other
) /* == on <var_res65:nullable ModulePath(ModulePath)>*/;
3311 RET_LABEL69
:(void)0;
3315 if (unlikely(!var67
)) {
3316 PRINT_ERROR("Runtime error: %s", "Assert failed");
3317 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 330);
3325 { /* Inline mproject#MGroup#parent (var_c) on <var_c:nullable MGroup(MGroup)> */
3326 var75
= var_c
->attrs
[COLOR_mproject__MGroup___parent
].val
; /* _parent on <var_c:nullable MGroup(MGroup)> */
3328 RET_LABEL74
:(void)0;
3336 BREAK_label
: (void)0;
3338 { /* Inline modelbuilder#ModelBuilder#paths (self) on <self:ModelBuilder> */
3339 var78
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
3340 if (unlikely(var78
== NULL
)) {
3341 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
3342 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 300);
3346 RET_LABEL77
:(void)0;
3349 var_lookpaths
= var76
;
3351 if (var_mgroup
== NULL
) {
3352 var80
= 0; /* is null */
3354 var80
= 1; /* arg is null and recv is not */
3357 { /* Inline kernel#Object#!= (var_mgroup,var79) on <var_mgroup:nullable MGroup> */
3360 var84
= ((short int (*)(val
*, val
*))(var_mgroup
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mgroup
, var_other
) /* == on <var_mgroup:nullable MGroup(MGroup)>*/;
3366 RET_LABEL82
:(void)0;
3372 { /* Inline mproject#MGroup#mproject (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
3373 var88
= var_mgroup
->attrs
[COLOR_mproject__MGroup___mproject
].val
; /* _mproject on <var_mgroup:nullable MGroup(MGroup)> */
3374 if (unlikely(var88
== NULL
)) {
3375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
3376 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 60);
3380 RET_LABEL87
:(void)0;
3384 { /* Inline mproject#MProject#root (var86) on <var86:MProject> */
3385 var91
= var86
->attrs
[COLOR_mproject__MProject___root
].val
; /* _root on <var86:MProject> */
3387 RET_LABEL90
:(void)0;
3390 if (var89
== NULL
) {
3391 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3392 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 343);
3395 { /* Inline mproject#MGroup#filepath (var89) on <var89:nullable MGroup> */
3396 if (unlikely(var89
== NULL
)) {
3397 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3398 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 83);
3401 var94
= var89
->attrs
[COLOR_mproject__MGroup___filepath
].val
; /* _filepath on <var89:nullable MGroup> */
3403 RET_LABEL93
:(void)0;
3406 var_dirname95
= var92
;
3408 if (var_dirname95
== NULL
) {
3409 var97
= 0; /* is null */
3411 var97
= 1; /* arg is null and recv is not */
3414 { /* Inline kernel#Object#!= (var_dirname95,var96) on <var_dirname95:nullable String> */
3417 var101
= ((short int (*)(val
*, val
*))(var_dirname95
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_dirname95
, var_other
) /* == on <var_dirname95:nullable String(String)>*/;
3423 RET_LABEL99
:(void)0;
3429 var104
= varonce103
;
3433 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3435 varonce103
= var104
;
3438 var108
= file__String__join_path(var_dirname95
, var104
);
3441 var109
= file__String__simplify_path(var108
);
3443 var_dirname95
= var109
;
3445 var111
= array__AbstractArrayRead__has(var_lookpaths
, var_dirname95
);
3451 var113
= file__String__file_exists(var_dirname95
);
3459 var114
= array__Collection__to_a(var_lookpaths
);
3461 var_lookpaths
= var114
;
3463 array__Array__add(var_lookpaths
, var_dirname95
); /* Direct call array#Array#add on <var_lookpaths:Array[String]>*/
3472 var115
= ((val
* (*)(val
*))(var_anode
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_anode
) /* hot_location on <var_anode:ANode>*/;
3475 var116
= modelbuilder__ModelBuilder__search_module_in_paths(self
, var115
, var_name
, var_lookpaths
);
3477 var_candidate
= var116
;
3479 if (var_candidate
== NULL
) {
3480 var118
= 1; /* is null */
3482 var118
= 0; /* arg is null but recv is not */
3485 { /* Inline kernel#Object#== (var_candidate,var117) on <var_candidate:nullable ModulePath> */
3486 var_other121
= var117
;
3488 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other121) on <var_candidate:nullable ModulePath(ModulePath)> */
3489 var124
= var_candidate
== var_other121
;
3492 RET_LABEL123
:(void)0;
3497 RET_LABEL120
:(void)0;
3503 if (var_mgroup
== NULL
) {
3504 var126
= 0; /* is null */
3506 var126
= 1; /* arg is null and recv is not */
3509 { /* Inline kernel#Object#!= (var_mgroup,var125) on <var_mgroup:nullable MGroup> */
3512 var130
= ((short int (*)(val
*, val
*))(var_mgroup
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mgroup
, var_other
) /* == on <var_mgroup:nullable MGroup(MGroup)>*/;
3518 RET_LABEL128
:(void)0;
3524 var133
= varonce132
;
3526 var134
= "Error: cannot find module ";
3528 var136
= string__NativeString__to_s_with_length(var134
, var135
);
3530 varonce132
= var133
;
3533 var138
= varonce137
;
3537 var141
= string__NativeString__to_s_with_length(var139
, var140
);
3539 varonce137
= var138
;
3542 { /* Inline mproject#MGroup#name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
3543 var144
= var_mgroup
->attrs
[COLOR_mproject__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
3544 if (unlikely(var144
== NULL
)) {
3545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3546 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 56);
3550 RET_LABEL143
:(void)0;
3554 var146
= varonce145
;
3556 var147
= ". tried ";
3558 var149
= string__NativeString__to_s_with_length(var147
, var148
);
3560 varonce145
= var146
;
3563 var151
= varonce150
;
3567 var154
= string__NativeString__to_s_with_length(var152
, var153
);
3569 varonce150
= var151
;
3572 var155
= string__Collection__join(var_lookpaths
, var151
);
3574 var156
= NEW_array__Array(&type_array__Arraykernel__Object
);
3575 { /* var156 = array_instance Array[Object] */
3577 var158
= NEW_array__NativeArray(var157
, &type_array__NativeArraykernel__Object
);
3578 ((struct instance_array__NativeArray
*)var158
)->values
[0] = (val
*) var133
;
3579 ((struct instance_array__NativeArray
*)var158
)->values
[1] = (val
*) var_name
;
3580 ((struct instance_array__NativeArray
*)var158
)->values
[2] = (val
*) var138
;
3581 ((struct instance_array__NativeArray
*)var158
)->values
[3] = (val
*) var142
;
3582 ((struct instance_array__NativeArray
*)var158
)->values
[4] = (val
*) var146
;
3583 ((struct instance_array__NativeArray
*)var158
)->values
[5] = (val
*) var155
;
3585 ((void (*)(val
*, val
*, long))(var156
->class->vft
[COLOR_array__Array__with_native
]))(var156
, var158
, var157
) /* with_native on <var156:Array[Object]>*/;
3589 var159
= ((val
* (*)(val
*))(var156
->class->vft
[COLOR_string__Object__to_s
]))(var156
) /* to_s on <var156:Array[Object]>*/;
3592 modelbuilder__ModelBuilder__error(self
, var_anode
, var159
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
3596 var161
= varonce160
;
3598 var162
= "Error: cannot find module ";
3600 var164
= string__NativeString__to_s_with_length(var162
, var163
);
3602 varonce160
= var161
;
3605 var166
= varonce165
;
3607 var167
= ". tried ";
3609 var169
= string__NativeString__to_s_with_length(var167
, var168
);
3611 varonce165
= var166
;
3614 var171
= varonce170
;
3618 var174
= string__NativeString__to_s_with_length(var172
, var173
);
3620 varonce170
= var171
;
3623 var175
= string__Collection__join(var_lookpaths
, var171
);
3625 var176
= NEW_array__Array(&type_array__Arraykernel__Object
);
3626 { /* var176 = array_instance Array[Object] */
3628 var178
= NEW_array__NativeArray(var177
, &type_array__NativeArraykernel__Object
);
3629 ((struct instance_array__NativeArray
*)var178
)->values
[0] = (val
*) var161
;
3630 ((struct instance_array__NativeArray
*)var178
)->values
[1] = (val
*) var_name
;
3631 ((struct instance_array__NativeArray
*)var178
)->values
[2] = (val
*) var166
;
3632 ((struct instance_array__NativeArray
*)var178
)->values
[3] = (val
*) var175
;
3634 ((void (*)(val
*, val
*, long))(var176
->class->vft
[COLOR_array__Array__with_native
]))(var176
, var178
, var177
) /* with_native on <var176:Array[Object]>*/;
3638 var179
= ((val
* (*)(val
*))(var176
->class->vft
[COLOR_string__Object__to_s
]))(var176
) /* to_s on <var176:Array[Object]>*/;
3641 modelbuilder__ModelBuilder__error(self
, var_anode
, var179
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
3649 var
= var_candidate
;
3654 /* method modelbuilder#ModelBuilder#search_mmodule_by_name for (self: Object, ANode, nullable MGroup, String): nullable ModulePath */
3655 val
* VIRTUAL_modelbuilder__ModelBuilder__search_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3656 val
* var
/* : nullable ModulePath */;
3657 val
* var1
/* : nullable ModulePath */;
3658 var1
= modelbuilder__ModelBuilder__search_mmodule_by_name(self
, p0
, p1
, p2
);
3663 /* method modelbuilder#ModelBuilder#get_mmodule_by_name for (self: ModelBuilder, ANode, nullable MGroup, String): nullable MModule */
3664 val
* modelbuilder__ModelBuilder__get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3665 val
* var
/* : nullable MModule */;
3666 val
* var_anode
/* var anode: ANode */;
3667 val
* var_mgroup
/* var mgroup: nullable MGroup */;
3668 val
* var_name
/* var name: String */;
3669 val
* var1
/* : nullable ModulePath */;
3670 val
* var_path
/* var path: nullable ModulePath */;
3671 val
* var2
/* : null */;
3672 short int var3
/* : Bool */;
3673 short int var4
/* : Bool */;
3674 val
* var_other
/* var other: nullable Object */;
3675 short int var6
/* : Bool */;
3676 short int var8
/* : Bool */;
3677 val
* var9
/* : null */;
3678 val
* var10
/* : String */;
3679 val
* var12
/* : String */;
3680 val
* var13
/* : nullable AModule */;
3681 val
* var_res
/* var res: nullable AModule */;
3682 val
* var14
/* : null */;
3683 short int var15
/* : Bool */;
3684 short int var16
/* : Bool */;
3685 short int var18
/* : Bool */;
3686 short int var20
/* : Bool */;
3687 val
* var21
/* : null */;
3688 val
* var22
/* : nullable MModule */;
3689 val
* var24
/* : nullable MModule */;
3694 var1
= modelbuilder__ModelBuilder__search_mmodule_by_name(self
, var_anode
, var_mgroup
, var_name
);
3698 if (var_path
== NULL
) {
3699 var3
= 1; /* is null */
3701 var3
= 0; /* arg is null but recv is not */
3704 { /* Inline kernel#Object#== (var_path,var2) on <var_path:nullable ModulePath> */
3707 { /* Inline kernel#Object#is_same_instance (var_path,var_other) on <var_path:nullable ModulePath(ModulePath)> */
3708 var8
= var_path
== var_other
;
3727 { /* Inline modelbuilder#ModulePath#filepath (var_path) on <var_path:nullable ModulePath(ModulePath)> */
3728 var12
= var_path
->attrs
[COLOR_modelbuilder__ModulePath___filepath
].val
; /* _filepath on <var_path:nullable ModulePath(ModulePath)> */
3729 if (unlikely(var12
== NULL
)) {
3730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
3731 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 773);
3735 RET_LABEL11
:(void)0;
3739 var13
= modelbuilder__ModelBuilder__load_module(self
, var10
);
3743 if (var_res
== NULL
) {
3744 var15
= 1; /* is null */
3746 var15
= 0; /* arg is null but recv is not */
3749 { /* Inline kernel#Object#== (var_res,var14) on <var_res:nullable AModule> */
3752 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable AModule(AModule)> */
3753 var20
= var_res
== var_other
;
3756 RET_LABEL19
:(void)0;
3761 RET_LABEL17
:(void)0;
3772 { /* Inline modelbuilder#AModule#mmodule (var_res) on <var_res:nullable AModule(AModule)> */
3773 var24
= var_res
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
; /* _mmodule on <var_res:nullable AModule(AModule)> */
3775 RET_LABEL23
:(void)0;
3778 if (unlikely(var22
== NULL
)) {
3779 PRINT_ERROR("Runtime error: %s", "Cast failed");
3780 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 376);
3788 /* method modelbuilder#ModelBuilder#get_mmodule_by_name for (self: Object, ANode, nullable MGroup, String): nullable MModule */
3789 val
* VIRTUAL_modelbuilder__ModelBuilder__get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3790 val
* var
/* : nullable MModule */;
3791 val
* var1
/* : nullable MModule */;
3792 var1
= modelbuilder__ModelBuilder__get_mmodule_by_name(self
, p0
, p1
, p2
);
3797 /* method modelbuilder#ModelBuilder#search_module_in_paths for (self: ModelBuilder, nullable Location, String, Collection[String]): nullable ModulePath */
3798 val
* modelbuilder__ModelBuilder__search_module_in_paths(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3799 val
* var
/* : nullable ModulePath */;
3800 val
* var_location
/* var location: nullable Location */;
3801 val
* var_name
/* var name: String */;
3802 val
* var_lookpaths
/* var lookpaths: Collection[String] */;
3803 val
* var1
/* : null */;
3804 val
* var_candidate
/* var candidate: nullable String */;
3805 val
* var_
/* var : Collection[String] */;
3806 val
* var2
/* : Iterator[nullable Object] */;
3807 val
* var_3
/* var : Iterator[String] */;
3808 short int var4
/* : Bool */;
3809 val
* var5
/* : nullable Object */;
3810 val
* var_dirname
/* var dirname: String */;
3811 static val
* varonce
;
3812 val
* var6
/* : String */;
3813 char* var7
/* : NativeString */;
3814 long var8
/* : Int */;
3815 val
* var9
/* : FlatString */;
3816 val
* var10
/* : String */;
3817 val
* var11
/* : String */;
3818 static val
* varonce12
;
3819 val
* var13
/* : String */;
3820 char* var14
/* : NativeString */;
3821 long var15
/* : Int */;
3822 val
* var16
/* : FlatString */;
3823 val
* var17
/* : String */;
3824 val
* var18
/* : String */;
3825 val
* var_try_file
/* var try_file: String */;
3826 short int var19
/* : Bool */;
3827 val
* var20
/* : null */;
3828 short int var21
/* : Bool */;
3829 short int var22
/* : Bool */;
3830 short int var23
/* : Bool */;
3831 short int var24
/* : Bool */;
3832 val
* var_other
/* var other: nullable Object */;
3833 short int var26
/* : Bool */;
3834 short int var27
/* : Bool */;
3835 short int var28
/* : Bool */;
3836 val
* var29
/* : String */;
3837 val
* var_abs_candidate
/* var abs_candidate: String */;
3838 val
* var30
/* : String */;
3839 val
* var_abs_try_file
/* var abs_try_file: String */;
3840 short int var31
/* : Bool */;
3841 short int var32
/* : Bool */;
3842 short int var34
/* : Bool */;
3843 short int var35
/* : Bool */;
3844 short int var36
/* : Bool */;
3845 val
* var37
/* : ToolContext */;
3846 val
* var39
/* : ToolContext */;
3847 static val
* varonce40
;
3848 val
* var41
/* : String */;
3849 char* var42
/* : NativeString */;
3850 long var43
/* : Int */;
3851 val
* var44
/* : FlatString */;
3852 static val
* varonce45
;
3853 val
* var46
/* : String */;
3854 char* var47
/* : NativeString */;
3855 long var48
/* : Int */;
3856 val
* var49
/* : FlatString */;
3857 static val
* varonce50
;
3858 val
* var51
/* : String */;
3859 char* var52
/* : NativeString */;
3860 long var53
/* : Int */;
3861 val
* var54
/* : FlatString */;
3862 val
* var55
/* : Array[Object] */;
3863 long var56
/* : Int */;
3864 val
* var57
/* : NativeArray[Object] */;
3865 val
* var58
/* : String */;
3866 static val
* varonce59
;
3867 val
* var60
/* : String */;
3868 char* var61
/* : NativeString */;
3869 long var62
/* : Int */;
3870 val
* var63
/* : FlatString */;
3871 val
* var64
/* : String */;
3872 val
* var65
/* : String */;
3873 static val
* varonce66
;
3874 val
* var67
/* : String */;
3875 char* var68
/* : NativeString */;
3876 long var69
/* : Int */;
3877 val
* var70
/* : FlatString */;
3878 val
* var71
/* : String */;
3879 val
* var72
/* : String */;
3880 static val
* varonce73
;
3881 val
* var74
/* : String */;
3882 char* var75
/* : NativeString */;
3883 long var76
/* : Int */;
3884 val
* var77
/* : FlatString */;
3885 val
* var78
/* : String */;
3886 val
* var79
/* : String */;
3887 short int var80
/* : Bool */;
3888 val
* var81
/* : null */;
3889 short int var82
/* : Bool */;
3890 short int var83
/* : Bool */;
3891 short int var84
/* : Bool */;
3892 short int var85
/* : Bool */;
3893 short int var87
/* : Bool */;
3894 short int var88
/* : Bool */;
3895 short int var89
/* : Bool */;
3896 val
* var90
/* : String */;
3897 val
* var_abs_candidate91
/* var abs_candidate: String */;
3898 val
* var92
/* : String */;
3899 val
* var_abs_try_file93
/* var abs_try_file: String */;
3900 short int var94
/* : Bool */;
3901 short int var95
/* : Bool */;
3902 short int var97
/* : Bool */;
3903 short int var98
/* : Bool */;
3904 short int var99
/* : Bool */;
3905 val
* var100
/* : ToolContext */;
3906 val
* var102
/* : ToolContext */;
3907 static val
* varonce103
;
3908 val
* var104
/* : String */;
3909 char* var105
/* : NativeString */;
3910 long var106
/* : Int */;
3911 val
* var107
/* : FlatString */;
3912 static val
* varonce108
;
3913 val
* var109
/* : String */;
3914 char* var110
/* : NativeString */;
3915 long var111
/* : Int */;
3916 val
* var112
/* : FlatString */;
3917 static val
* varonce113
;
3918 val
* var114
/* : String */;
3919 char* var115
/* : NativeString */;
3920 long var116
/* : Int */;
3921 val
* var117
/* : FlatString */;
3922 val
* var118
/* : Array[Object] */;
3923 long var119
/* : Int */;
3924 val
* var120
/* : NativeArray[Object] */;
3925 val
* var121
/* : String */;
3926 val
* var123
/* : null */;
3927 short int var124
/* : Bool */;
3928 short int var125
/* : Bool */;
3929 val
* var126
/* : null */;
3930 val
* var127
/* : nullable ModulePath */;
3935 var_candidate
= var1
;
3936 var_
= var_lookpaths
;
3938 var2
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[String]>*/;
3943 var4
= ((short int (*)(val
*))(var_3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_3
) /* is_ok on <var_3:Iterator[String]>*/;
3947 var5
= ((val
* (*)(val
*))(var_3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_3
) /* item on <var_3:Iterator[String]>*/;
3955 var9
= string__NativeString__to_s_with_length(var7
, var8
);
3960 var10
= string__FlatString___43d(var_dirname
, var6
);
3963 var11
= string__FlatString___43d(var10
, var_name
);
3970 var16
= string__NativeString__to_s_with_length(var14
, var15
);
3975 var17
= string__FlatString___43d(var11
, var13
);
3978 var18
= file__String__simplify_path(var17
);
3980 var_try_file
= var18
;
3982 var19
= file__String__file_exists(var_try_file
);
3986 if (var_candidate
== NULL
) {
3987 var21
= 1; /* is null */
3989 var21
= 0; /* arg is null but recv is not */
3992 var22
= string__FlatString___61d_61d(var_candidate
, var20
);
3996 var_candidate
= var_try_file
;
3999 { /* Inline kernel#Object#!= (var_candidate,var_try_file) on <var_candidate:nullable String(String)> */
4000 var_other
= var_try_file
;
4002 var27
= ((short int (*)(val
*, val
*))(var_candidate
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_candidate
, var_other
) /* == on <var_candidate:nullable String(String)>*/;
4008 RET_LABEL25
:(void)0;
4014 var29
= modelbuilder__ModelBuilder__module_absolute_path(self
, var_candidate
);
4016 var_abs_candidate
= var29
;
4018 var30
= modelbuilder__ModelBuilder__module_absolute_path(self
, var_try_file
);
4020 var_abs_try_file
= var30
;
4022 { /* Inline kernel#Object#!= (var_abs_candidate,var_abs_try_file) on <var_abs_candidate:String> */
4023 var_other
= var_abs_try_file
;
4025 var35
= ((short int (*)(val
*, val
*))(var_abs_candidate
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_abs_candidate
, var_other
) /* == on <var_abs_candidate:String>*/;
4031 RET_LABEL33
:(void)0;
4037 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4038 var39
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4039 if (unlikely(var39
== NULL
)) {
4040 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4041 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4045 RET_LABEL38
:(void)0;
4051 var42
= "Error: conflicting module file for ";
4053 var44
= string__NativeString__to_s_with_length(var42
, var43
);
4062 var49
= string__NativeString__to_s_with_length(var47
, var48
);
4071 var54
= string__NativeString__to_s_with_length(var52
, var53
);
4075 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
4076 { /* var55 = array_instance Array[Object] */
4078 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
4079 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var41
;
4080 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var_name
;
4081 ((struct instance_array__NativeArray
*)var57
)->values
[2] = (val
*) var46
;
4082 ((struct instance_array__NativeArray
*)var57
)->values
[3] = (val
*) var_candidate
;
4083 ((struct instance_array__NativeArray
*)var57
)->values
[4] = (val
*) var51
;
4084 ((struct instance_array__NativeArray
*)var57
)->values
[5] = (val
*) var_try_file
;
4086 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
4090 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
4093 toolcontext__ToolContext__error(var37
, var_location
, var58
); /* Direct call toolcontext#ToolContext#error on <var37:ToolContext>*/
4107 var63
= string__NativeString__to_s_with_length(var61
, var62
);
4112 var64
= string__FlatString___43d(var_dirname
, var60
);
4115 var65
= string__FlatString___43d(var64
, var_name
);
4122 var70
= string__NativeString__to_s_with_length(var68
, var69
);
4127 var71
= string__FlatString___43d(var65
, var67
);
4130 var72
= string__FlatString___43d(var71
, var_name
);
4137 var77
= string__NativeString__to_s_with_length(var75
, var76
);
4142 var78
= string__FlatString___43d(var72
, var74
);
4145 var79
= file__String__simplify_path(var78
);
4147 var_try_file
= var79
;
4149 var80
= file__String__file_exists(var_try_file
);
4153 if (var_candidate
== NULL
) {
4154 var82
= 1; /* is null */
4156 var82
= 0; /* arg is null but recv is not */
4159 var83
= string__FlatString___61d_61d(var_candidate
, var81
);
4163 var_candidate
= var_try_file
;
4166 { /* Inline kernel#Object#!= (var_candidate,var_try_file) on <var_candidate:nullable String(String)> */
4167 var_other
= var_try_file
;
4169 var88
= ((short int (*)(val
*, val
*))(var_candidate
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_candidate
, var_other
) /* == on <var_candidate:nullable String(String)>*/;
4175 RET_LABEL86
:(void)0;
4181 var90
= modelbuilder__ModelBuilder__module_absolute_path(self
, var_candidate
);
4183 var_abs_candidate91
= var90
;
4185 var92
= modelbuilder__ModelBuilder__module_absolute_path(self
, var_try_file
);
4187 var_abs_try_file93
= var92
;
4189 { /* Inline kernel#Object#!= (var_abs_candidate91,var_abs_try_file93) on <var_abs_candidate91:String> */
4190 var_other
= var_abs_try_file93
;
4192 var98
= ((short int (*)(val
*, val
*))(var_abs_candidate91
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_abs_candidate91
, var_other
) /* == on <var_abs_candidate91:String>*/;
4198 RET_LABEL96
:(void)0;
4204 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4205 var102
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4206 if (unlikely(var102
== NULL
)) {
4207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4208 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4212 RET_LABEL101
:(void)0;
4216 var104
= varonce103
;
4218 var105
= "Error: conflicting module file for ";
4220 var107
= string__NativeString__to_s_with_length(var105
, var106
);
4222 varonce103
= var104
;
4225 var109
= varonce108
;
4229 var112
= string__NativeString__to_s_with_length(var110
, var111
);
4231 varonce108
= var109
;
4234 var114
= varonce113
;
4238 var117
= string__NativeString__to_s_with_length(var115
, var116
);
4240 varonce113
= var114
;
4242 var118
= NEW_array__Array(&type_array__Arraykernel__Object
);
4243 { /* var118 = array_instance Array[Object] */
4245 var120
= NEW_array__NativeArray(var119
, &type_array__NativeArraykernel__Object
);
4246 ((struct instance_array__NativeArray
*)var120
)->values
[0] = (val
*) var104
;
4247 ((struct instance_array__NativeArray
*)var120
)->values
[1] = (val
*) var_name
;
4248 ((struct instance_array__NativeArray
*)var120
)->values
[2] = (val
*) var109
;
4249 ((struct instance_array__NativeArray
*)var120
)->values
[3] = (val
*) var_candidate
;
4250 ((struct instance_array__NativeArray
*)var120
)->values
[4] = (val
*) var114
;
4251 ((struct instance_array__NativeArray
*)var120
)->values
[5] = (val
*) var_try_file
;
4253 ((void (*)(val
*, val
*, long))(var118
->class->vft
[COLOR_array__Array__with_native
]))(var118
, var120
, var119
) /* with_native on <var118:Array[Object]>*/;
4257 var121
= ((val
* (*)(val
*))(var118
->class->vft
[COLOR_string__Object__to_s
]))(var118
) /* to_s on <var118:Array[Object]>*/;
4260 toolcontext__ToolContext__error(var100
, var_location
, var121
); /* Direct call toolcontext#ToolContext#error on <var100:ToolContext>*/
4270 ((void (*)(val
*))(var_3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_3
) /* next on <var_3:Iterator[String]>*/;
4276 BREAK_label
: (void)0;
4278 { /* Inline abstract_collection#Iterator#finish (var_3) on <var_3:Iterator[String]> */
4279 RET_LABEL122
:(void)0;
4283 if (var_candidate
== NULL
) {
4284 var124
= 1; /* is null */
4286 var124
= 0; /* arg is null but recv is not */
4289 var125
= string__FlatString___61d_61d(var_candidate
, var123
);
4299 var127
= modelbuilder__ModelBuilder__identify_file(self
, var_candidate
);
4306 /* method modelbuilder#ModelBuilder#search_module_in_paths for (self: Object, nullable Location, String, Collection[String]): nullable ModulePath */
4307 val
* VIRTUAL_modelbuilder__ModelBuilder__search_module_in_paths(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4308 val
* var
/* : nullable ModulePath */;
4309 val
* var1
/* : nullable ModulePath */;
4310 var1
= modelbuilder__ModelBuilder__search_module_in_paths(self
, p0
, p1
, p2
);
4315 /* method modelbuilder#ModelBuilder#identified_files for (self: ModelBuilder): HashMap[String, nullable ModulePath] */
4316 val
* modelbuilder__ModelBuilder__identified_files(val
* self
) {
4317 val
* var
/* : HashMap[String, nullable ModulePath] */;
4318 val
* var1
/* : HashMap[String, nullable ModulePath] */;
4319 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___identified_files
].val
; /* _identified_files on <self:ModelBuilder> */
4320 if (unlikely(var1
== NULL
)) {
4321 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files");
4322 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 416);
4329 /* method modelbuilder#ModelBuilder#identified_files for (self: Object): HashMap[String, nullable ModulePath] */
4330 val
* VIRTUAL_modelbuilder__ModelBuilder__identified_files(val
* self
) {
4331 val
* var
/* : HashMap[String, nullable ModulePath] */;
4332 val
* var1
/* : HashMap[String, nullable ModulePath] */;
4333 val
* var3
/* : HashMap[String, nullable ModulePath] */;
4334 { /* Inline modelbuilder#ModelBuilder#identified_files (self) on <self:Object(ModelBuilder)> */
4335 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___identified_files
].val
; /* _identified_files on <self:Object(ModelBuilder)> */
4336 if (unlikely(var3
== NULL
)) {
4337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files");
4338 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 416);
4348 /* method modelbuilder#ModelBuilder#identify_file for (self: ModelBuilder, String): nullable ModulePath */
4349 val
* modelbuilder__ModelBuilder__identify_file(val
* self
, val
* p0
) {
4350 val
* var
/* : nullable ModulePath */;
4351 val
* var_path
/* var path: String */;
4352 val
* var1
/* : nullable String */;
4353 static val
* varonce
;
4354 val
* var2
/* : String */;
4355 char* var3
/* : NativeString */;
4356 long var4
/* : Int */;
4357 val
* var5
/* : FlatString */;
4358 short int var6
/* : Bool */;
4359 short int var7
/* : Bool */;
4360 val
* var_other
/* var other: nullable Object */;
4361 short int var9
/* : Bool */;
4362 short int var10
/* : Bool */;
4363 short int var11
/* : Bool */;
4364 val
* var12
/* : null */;
4365 val
* var13
/* : Array[String] */;
4366 val
* var15
/* : Array[String] */;
4367 val
* var16
/* : nullable ModulePath */;
4368 val
* var_res
/* var res: nullable ModulePath */;
4369 val
* var17
/* : null */;
4370 short int var18
/* : Bool */;
4371 short int var19
/* : Bool */;
4372 short int var21
/* : Bool */;
4373 short int var22
/* : Bool */;
4374 short int var23
/* : Bool */;
4375 val
* var24
/* : null */;
4376 val
* var_candidate
/* var candidate: nullable Object */;
4377 short int var25
/* : Bool */;
4378 val
* var26
/* : nullable MGroup */;
4379 val
* var_mgroup
/* var mgroup: nullable MGroup */;
4380 val
* var27
/* : null */;
4381 short int var28
/* : Bool */;
4382 short int var29
/* : Bool */;
4383 short int var31
/* : Bool */;
4384 short int var32
/* : Bool */;
4385 short int var33
/* : Bool */;
4386 val
* var34
/* : nullable String */;
4387 val
* var36
/* : nullable String */;
4388 val
* var37
/* : String */;
4389 val
* var39
/* : String */;
4390 static val
* varonce40
;
4391 val
* var41
/* : String */;
4392 char* var42
/* : NativeString */;
4393 long var43
/* : Int */;
4394 val
* var44
/* : FlatString */;
4395 val
* var45
/* : String */;
4396 val
* var46
/* : String */;
4397 val
* var_owner_path
/* var owner_path: String */;
4398 short int var47
/* : Bool */;
4399 val
* var48
/* : null */;
4400 short int var49
/* : Bool */;
4401 short int var50
/* : Bool */;
4402 val
* var51
/* : ToolContext */;
4403 val
* var53
/* : ToolContext */;
4404 val
* var54
/* : null */;
4405 static val
* varonce55
;
4406 val
* var56
/* : String */;
4407 char* var57
/* : NativeString */;
4408 long var58
/* : Int */;
4409 val
* var59
/* : FlatString */;
4410 static val
* varonce60
;
4411 val
* var61
/* : String */;
4412 char* var62
/* : NativeString */;
4413 long var63
/* : Int */;
4414 val
* var64
/* : FlatString */;
4415 val
* var65
/* : Array[Object] */;
4416 long var66
/* : Int */;
4417 val
* var67
/* : NativeArray[Object] */;
4418 val
* var68
/* : String */;
4419 val
* var69
/* : null */;
4420 static val
* varonce70
;
4421 val
* var71
/* : String */;
4422 char* var72
/* : NativeString */;
4423 long var73
/* : Int */;
4424 val
* var74
/* : FlatString */;
4425 val
* var75
/* : String */;
4426 val
* var_pn
/* var pn: String */;
4427 val
* var76
/* : String */;
4428 val
* var_rp
/* var rp: String */;
4429 val
* var77
/* : HashMap[String, nullable ModulePath] */;
4430 val
* var79
/* : HashMap[String, nullable ModulePath] */;
4431 short int var80
/* : Bool */;
4432 val
* var81
/* : HashMap[String, nullable ModulePath] */;
4433 val
* var83
/* : HashMap[String, nullable ModulePath] */;
4434 val
* var84
/* : nullable Object */;
4435 static val
* varonce85
;
4436 val
* var86
/* : String */;
4437 char* var87
/* : NativeString */;
4438 long var88
/* : Int */;
4439 val
* var89
/* : FlatString */;
4440 val
* var90
/* : String */;
4441 val
* var91
/* : String */;
4442 val
* var_mgrouppath
/* var mgrouppath: String */;
4443 val
* var92
/* : nullable MGroup */;
4444 val
* var_mgroup93
/* var mgroup: nullable MGroup */;
4445 val
* var94
/* : null */;
4446 short int var95
/* : Bool */;
4447 short int var96
/* : Bool */;
4448 val
* var_other98
/* var other: nullable Object */;
4449 short int var99
/* : Bool */;
4450 short int var101
/* : Bool */;
4451 val
* var102
/* : MProject */;
4452 val
* var103
/* : Model */;
4453 val
* var105
/* : Model */;
4454 val
* var_mproject
/* var mproject: MProject */;
4455 val
* var106
/* : MGroup */;
4456 val
* var107
/* : null */;
4457 val
* var110
/* : ToolContext */;
4458 val
* var112
/* : ToolContext */;
4459 static val
* varonce113
;
4460 val
* var114
/* : String */;
4461 char* var115
/* : NativeString */;
4462 long var116
/* : Int */;
4463 val
* var117
/* : FlatString */;
4464 static val
* varonce118
;
4465 val
* var119
/* : String */;
4466 char* var120
/* : NativeString */;
4467 long var121
/* : Int */;
4468 val
* var122
/* : FlatString */;
4469 val
* var123
/* : Array[Object] */;
4470 long var124
/* : Int */;
4471 val
* var125
/* : NativeArray[Object] */;
4472 val
* var126
/* : String */;
4473 long var127
/* : Int */;
4474 val
* var128
/* : ModulePath */;
4475 val
* var_res129
/* var res: ModulePath */;
4476 val
* var130
/* : Array[ModulePath] */;
4477 val
* var132
/* : Array[ModulePath] */;
4478 val
* var133
/* : HashMap[String, nullable ModulePath] */;
4479 val
* var135
/* : HashMap[String, nullable ModulePath] */;
4482 var1
= file__String__file_extension(var_path
);
4489 var5
= string__NativeString__to_s_with_length(var3
, var4
);
4494 var6
= 1; /* <var2:String> cannot be null */
4496 { /* Inline kernel#Object#!= (var1,var2) on <var1:nullable String> */
4499 var10
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable String(String)>*/;
4512 { /* Inline modelbuilder#ModelBuilder#paths (self) on <self:ModelBuilder> */
4513 var15
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
4514 if (unlikely(var15
== NULL
)) {
4515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
4516 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 300);
4520 RET_LABEL14
:(void)0;
4524 var16
= modelbuilder__ModelBuilder__search_module_in_paths(self
, var12
, var_path
, var13
);
4528 if (var_res
== NULL
) {
4529 var18
= 0; /* is null */
4531 var18
= 1; /* arg is null and recv is not */
4534 { /* Inline kernel#Object#!= (var_res,var17) on <var_res:nullable ModulePath> */
4537 var22
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable ModulePath(ModulePath)>*/;
4543 RET_LABEL20
:(void)0;
4553 var_candidate
= var24
;
4555 var25
= file__String__file_exists(var_path
);
4559 var26
= modelbuilder__ModelBuilder__get_mgroup(self
, var_path
);
4563 if (var_mgroup
== NULL
) {
4564 var28
= 0; /* is null */
4566 var28
= 1; /* arg is null and recv is not */
4569 { /* Inline kernel#Object#!= (var_mgroup,var27) on <var_mgroup:nullable MGroup> */
4572 var32
= ((short int (*)(val
*, val
*))(var_mgroup
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mgroup
, var_other
) /* == on <var_mgroup:nullable MGroup(MGroup)>*/;
4578 RET_LABEL30
:(void)0;
4584 { /* Inline mproject#MGroup#filepath (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
4585 var36
= var_mgroup
->attrs
[COLOR_mproject__MGroup___filepath
].val
; /* _filepath on <var_mgroup:nullable MGroup(MGroup)> */
4587 RET_LABEL35
:(void)0;
4591 { /* Inline mproject#MGroup#name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
4592 var39
= var_mgroup
->attrs
[COLOR_mproject__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
4593 if (unlikely(var39
== NULL
)) {
4594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4595 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 56);
4599 RET_LABEL38
:(void)0;
4607 var44
= string__NativeString__to_s_with_length(var42
, var43
);
4612 var45
= string__FlatString___43d(var37
, var41
);
4614 if (var34
== NULL
) {
4615 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4616 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 434);
4619 var46
= file__String__join_path(var34
, var45
);
4621 var_owner_path
= var46
;
4623 var47
= file__String__file_exists(var_owner_path
);
4626 var_candidate
= var_owner_path
;
4634 if (var_candidate
== NULL
) {
4635 var49
= 1; /* is null */
4637 var49
= 0; /* arg is null but recv is not */
4640 var50
= string__FlatString___61d_61d(var_candidate
, var48
);
4645 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4646 var53
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4647 if (unlikely(var53
== NULL
)) {
4648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4649 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4653 RET_LABEL52
:(void)0;
4660 var57
= "Error: cannot find module `";
4662 var59
= string__NativeString__to_s_with_length(var57
, var58
);
4671 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4675 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
4676 { /* var65 = array_instance Array[Object] */
4678 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
4679 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var56
;
4680 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_path
;
4681 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var61
;
4683 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
4687 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
4690 toolcontext__ToolContext__error(var51
, var54
, var68
); /* Direct call toolcontext#ToolContext#error on <var51:ToolContext>*/
4697 var_path
= var_candidate
;
4705 var74
= string__NativeString__to_s_with_length(var72
, var73
);
4710 var75
= file__String__basename(var_path
, var71
);
4714 var76
= modelbuilder__ModelBuilder__module_absolute_path(self
, var_path
);
4718 { /* Inline modelbuilder#ModelBuilder#identified_files (self) on <self:ModelBuilder> */
4719 var79
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___identified_files
].val
; /* _identified_files on <self:ModelBuilder> */
4720 if (unlikely(var79
== NULL
)) {
4721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files");
4722 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 416);
4726 RET_LABEL78
:(void)0;
4730 var80
= abstract_collection__MapRead__has_key(var77
, var_rp
);
4734 { /* Inline modelbuilder#ModelBuilder#identified_files (self) on <self:ModelBuilder> */
4735 var83
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___identified_files
].val
; /* _identified_files on <self:ModelBuilder> */
4736 if (unlikely(var83
== NULL
)) {
4737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files");
4738 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 416);
4742 RET_LABEL82
:(void)0;
4746 var84
= hash_collection__HashMap___91d_93d(var81
, var_rp
);
4757 var89
= string__NativeString__to_s_with_length(var87
, var88
);
4762 var90
= file__String__join_path(var_path
, var86
);
4765 var91
= file__String__simplify_path(var90
);
4767 var_mgrouppath
= var91
;
4769 var92
= modelbuilder__ModelBuilder__get_mgroup(self
, var_mgrouppath
);
4771 var_mgroup93
= var92
;
4773 if (var_mgroup93
== NULL
) {
4774 var95
= 1; /* is null */
4776 var95
= 0; /* arg is null but recv is not */
4779 { /* Inline kernel#Object#== (var_mgroup93,var94) on <var_mgroup93:nullable MGroup> */
4780 var_other98
= var94
;
4782 { /* Inline kernel#Object#is_same_instance (var_mgroup93,var_other98) on <var_mgroup93:nullable MGroup(MGroup)> */
4783 var101
= var_mgroup93
== var_other98
;
4786 RET_LABEL100
:(void)0;
4791 RET_LABEL97
:(void)0;
4796 var102
= NEW_mproject__MProject(&type_mproject__MProject
);
4798 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:ModelBuilder> */
4799 var105
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
4800 if (unlikely(var105
== NULL
)) {
4801 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4802 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
4806 RET_LABEL104
:(void)0;
4810 mproject__MProject__init(var102
, var_pn
, var103
); /* Direct call mproject#MProject#init on <var102:MProject>*/
4812 var_mproject
= var102
;
4813 var106
= NEW_mproject__MGroup(&type_mproject__MGroup
);
4816 mproject__MGroup__init(var106
, var_pn
, var_mproject
, var107
); /* Direct call mproject#MGroup#init on <var106:MGroup>*/
4818 var_mgroup93
= var106
;
4820 { /* Inline mproject#MGroup#filepath= (var_mgroup93,var_path) on <var_mgroup93:nullable MGroup(MGroup)> */
4821 var_mgroup93
->attrs
[COLOR_mproject__MGroup___filepath
].val
= var_path
; /* _filepath on <var_mgroup93:nullable MGroup(MGroup)> */
4822 RET_LABEL108
:(void)0;
4826 { /* Inline mproject#MProject#root= (var_mproject,var_mgroup93) on <var_mproject:MProject> */
4827 var_mproject
->attrs
[COLOR_mproject__MProject___root
].val
= var_mgroup93
; /* _root on <var_mproject:MProject> */
4828 RET_LABEL109
:(void)0;
4832 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4833 var112
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4834 if (unlikely(var112
== NULL
)) {
4835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4836 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4840 RET_LABEL111
:(void)0;
4844 var114
= varonce113
;
4846 var115
= "found project `";
4848 var117
= string__NativeString__to_s_with_length(var115
, var116
);
4850 varonce113
= var114
;
4853 var119
= varonce118
;
4857 var122
= string__NativeString__to_s_with_length(var120
, var121
);
4859 varonce118
= var119
;
4861 var123
= NEW_array__Array(&type_array__Arraykernel__Object
);
4862 { /* var123 = array_instance Array[Object] */
4864 var125
= NEW_array__NativeArray(var124
, &type_array__NativeArraykernel__Object
);
4865 ((struct instance_array__NativeArray
*)var125
)->values
[0] = (val
*) var114
;
4866 ((struct instance_array__NativeArray
*)var125
)->values
[1] = (val
*) var_pn
;
4867 ((struct instance_array__NativeArray
*)var125
)->values
[2] = (val
*) var119
;
4868 ((struct instance_array__NativeArray
*)var125
)->values
[3] = (val
*) var_path
;
4870 ((void (*)(val
*, val
*, long))(var123
->class->vft
[COLOR_array__Array__with_native
]))(var123
, var125
, var124
) /* with_native on <var123:Array[Object]>*/;
4874 var126
= ((val
* (*)(val
*))(var123
->class->vft
[COLOR_string__Object__to_s
]))(var123
) /* to_s on <var123:Array[Object]>*/;
4878 toolcontext__ToolContext__info(var110
, var126
, var127
); /* Direct call toolcontext#ToolContext#info on <var110:ToolContext>*/
4882 var128
= NEW_modelbuilder__ModulePath(&type_modelbuilder__ModulePath
);
4884 ((void (*)(val
*, val
*))(var128
->class->vft
[COLOR_modelbuilder__ModulePath__name_61d
]))(var128
, var_pn
) /* name= on <var128:ModulePath>*/;
4887 ((void (*)(val
*, val
*))(var128
->class->vft
[COLOR_modelbuilder__ModulePath__filepath_61d
]))(var128
, var_path
) /* filepath= on <var128:ModulePath>*/;
4890 ((void (*)(val
*, val
*))(var128
->class->vft
[COLOR_modelbuilder__ModulePath__mgroup_61d
]))(var128
, var_mgroup93
) /* mgroup= on <var128:ModulePath>*/;
4893 ((void (*)(val
*))(var128
->class->vft
[COLOR_kernel__Object__init
]))(var128
) /* init on <var128:ModulePath>*/;
4895 var_res129
= var128
;
4897 { /* Inline modelbuilder#MGroup#module_paths (var_mgroup93) on <var_mgroup93:nullable MGroup(MGroup)> */
4898 var132
= var_mgroup93
->attrs
[COLOR_modelbuilder__MGroup___module_paths
].val
; /* _module_paths on <var_mgroup93:nullable MGroup(MGroup)> */
4899 if (unlikely(var132
== NULL
)) {
4900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _module_paths");
4901 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 786);
4905 RET_LABEL131
:(void)0;
4909 array__Array__add(var130
, var_res129
); /* Direct call array#Array#add on <var130:Array[ModulePath]>*/
4912 { /* Inline modelbuilder#ModelBuilder#identified_files (self) on <self:ModelBuilder> */
4913 var135
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___identified_files
].val
; /* _identified_files on <self:ModelBuilder> */
4914 if (unlikely(var135
== NULL
)) {
4915 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files");
4916 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 416);
4920 RET_LABEL134
:(void)0;
4924 hash_collection__HashMap___91d_93d_61d(var133
, var_rp
, var_res129
); /* Direct call hash_collection#HashMap#[]= on <var133:HashMap[String, nullable ModulePath]>*/
4931 /* method modelbuilder#ModelBuilder#identify_file for (self: Object, String): nullable ModulePath */
4932 val
* VIRTUAL_modelbuilder__ModelBuilder__identify_file(val
* self
, val
* p0
) {
4933 val
* var
/* : nullable ModulePath */;
4934 val
* var1
/* : nullable ModulePath */;
4935 var1
= modelbuilder__ModelBuilder__identify_file(self
, p0
);
4940 /* method modelbuilder#ModelBuilder#mgroups for (self: ModelBuilder): HashMap[String, nullable MGroup] */
4941 val
* modelbuilder__ModelBuilder__mgroups(val
* self
) {
4942 val
* var
/* : HashMap[String, nullable MGroup] */;
4943 val
* var1
/* : HashMap[String, nullable MGroup] */;
4944 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
4945 if (unlikely(var1
== NULL
)) {
4946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
4947 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 471);
4954 /* method modelbuilder#ModelBuilder#mgroups for (self: Object): HashMap[String, nullable MGroup] */
4955 val
* VIRTUAL_modelbuilder__ModelBuilder__mgroups(val
* self
) {
4956 val
* var
/* : HashMap[String, nullable MGroup] */;
4957 val
* var1
/* : HashMap[String, nullable MGroup] */;
4958 val
* var3
/* : HashMap[String, nullable MGroup] */;
4959 { /* Inline modelbuilder#ModelBuilder#mgroups (self) on <self:Object(ModelBuilder)> */
4960 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mgroups
].val
; /* _mgroups on <self:Object(ModelBuilder)> */
4961 if (unlikely(var3
== NULL
)) {
4962 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
4963 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 471);
4973 /* method modelbuilder#ModelBuilder#get_mgroup for (self: ModelBuilder, String): nullable MGroup */
4974 val
* modelbuilder__ModelBuilder__get_mgroup(val
* self
, val
* p0
) {
4975 val
* var
/* : nullable MGroup */;
4976 val
* var_dirpath
/* var dirpath: String */;
4977 val
* var1
/* : String */;
4978 val
* var_rdp
/* var rdp: String */;
4979 val
* var2
/* : HashMap[String, nullable MGroup] */;
4980 val
* var4
/* : HashMap[String, nullable MGroup] */;
4981 short int var5
/* : Bool */;
4982 val
* var6
/* : HashMap[String, nullable MGroup] */;
4983 val
* var8
/* : HashMap[String, nullable MGroup] */;
4984 val
* var9
/* : nullable Object */;
4985 static val
* varonce
;
4986 val
* var10
/* : String */;
4987 char* var11
/* : NativeString */;
4988 long var12
/* : Int */;
4989 val
* var13
/* : FlatString */;
4990 val
* var14
/* : String */;
4991 val
* var_pn
/* var pn: String */;
4992 static val
* varonce15
;
4993 val
* var16
/* : String */;
4994 char* var17
/* : NativeString */;
4995 long var18
/* : Int */;
4996 val
* var19
/* : FlatString */;
4997 val
* var20
/* : String */;
4998 val
* var21
/* : String */;
4999 val
* var22
/* : String */;
5000 val
* var_mp
/* var mp: String */;
5001 val
* var_dirpath2
/* var dirpath2: String */;
5002 short int var23
/* : Bool */;
5003 short int var24
/* : Bool */;
5004 static val
* varonce25
;
5005 val
* var26
/* : String */;
5006 char* var27
/* : NativeString */;
5007 long var28
/* : Int */;
5008 val
* var29
/* : FlatString */;
5009 short int var30
/* : Bool */;
5010 short int var31
/* : Bool */;
5011 val
* var32
/* : String */;
5012 static val
* varonce33
;
5013 val
* var34
/* : String */;
5014 char* var35
/* : NativeString */;
5015 long var36
/* : Int */;
5016 val
* var37
/* : FlatString */;
5017 val
* var38
/* : String */;
5018 val
* var39
/* : null */;
5019 static val
* varonce40
;
5020 val
* var41
/* : String */;
5021 char* var42
/* : NativeString */;
5022 long var43
/* : Int */;
5023 val
* var44
/* : FlatString */;
5024 val
* var45
/* : String */;
5025 val
* var46
/* : String */;
5026 val
* var_parentpath
/* var parentpath: String */;
5027 val
* var47
/* : nullable MGroup */;
5028 val
* var_parent
/* var parent: nullable MGroup */;
5029 val
* var48
/* : null */;
5030 short int var49
/* : Bool */;
5031 short int var50
/* : Bool */;
5032 val
* var_other
/* var other: nullable Object */;
5033 short int var52
/* : Bool */;
5034 short int var54
/* : Bool */;
5035 val
* var55
/* : MProject */;
5036 val
* var56
/* : Model */;
5037 val
* var58
/* : Model */;
5038 val
* var_mproject
/* var mproject: MProject */;
5039 val
* var59
/* : MGroup */;
5040 val
* var60
/* : null */;
5041 val
* var_mgroup
/* var mgroup: nullable Object */;
5042 val
* var62
/* : ToolContext */;
5043 val
* var64
/* : ToolContext */;
5044 static val
* varonce65
;
5045 val
* var66
/* : String */;
5046 char* var67
/* : NativeString */;
5047 long var68
/* : Int */;
5048 val
* var69
/* : FlatString */;
5049 static val
* varonce70
;
5050 val
* var71
/* : String */;
5051 char* var72
/* : NativeString */;
5052 long var73
/* : Int */;
5053 val
* var74
/* : FlatString */;
5054 val
* var75
/* : Array[Object] */;
5055 long var76
/* : Int */;
5056 val
* var77
/* : NativeArray[Object] */;
5057 val
* var78
/* : String */;
5058 long var79
/* : Int */;
5059 val
* var80
/* : MGroup */;
5060 val
* var81
/* : MProject */;
5061 val
* var83
/* : MProject */;
5062 val
* var84
/* : ToolContext */;
5063 val
* var86
/* : ToolContext */;
5064 static val
* varonce87
;
5065 val
* var88
/* : String */;
5066 char* var89
/* : NativeString */;
5067 long var90
/* : Int */;
5068 val
* var91
/* : FlatString */;
5069 val
* var92
/* : String */;
5070 static val
* varonce93
;
5071 val
* var94
/* : String */;
5072 char* var95
/* : NativeString */;
5073 long var96
/* : Int */;
5074 val
* var97
/* : FlatString */;
5075 val
* var98
/* : Array[Object] */;
5076 long var99
/* : Int */;
5077 val
* var100
/* : NativeArray[Object] */;
5078 val
* var101
/* : String */;
5079 long var102
/* : Int */;
5080 static val
* varonce103
;
5081 val
* var104
/* : String */;
5082 char* var105
/* : NativeString */;
5083 long var106
/* : Int */;
5084 val
* var107
/* : FlatString */;
5085 val
* var108
/* : String */;
5086 val
* var_readme
/* var readme: String */;
5087 short int var109
/* : Bool */;
5088 short int var110
/* : Bool */;
5089 static val
* varonce111
;
5090 val
* var112
/* : String */;
5091 char* var113
/* : NativeString */;
5092 long var114
/* : Int */;
5093 val
* var115
/* : FlatString */;
5094 val
* var116
/* : String */;
5095 short int var117
/* : Bool */;
5096 val
* var118
/* : MDoc */;
5097 val
* var_mdoc
/* var mdoc: MDoc */;
5098 val
* var119
/* : IFStream */;
5099 val
* var_s
/* var s: IFStream */;
5100 short int var120
/* : Bool */;
5101 short int var121
/* : Bool */;
5102 val
* var122
/* : Array[String] */;
5103 val
* var124
/* : Array[String] */;
5104 val
* var125
/* : String */;
5105 val
* var129
/* : HashMap[String, nullable MGroup] */;
5106 val
* var131
/* : HashMap[String, nullable MGroup] */;
5109 var1
= modelbuilder__ModelBuilder__module_absolute_path(self
, var_dirpath
);
5113 { /* Inline modelbuilder#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
5114 var4
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
5115 if (unlikely(var4
== NULL
)) {
5116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
5117 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 471);
5125 var5
= abstract_collection__MapRead__has_key(var2
, var_rdp
);
5129 { /* Inline modelbuilder#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
5130 var8
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
5131 if (unlikely(var8
== NULL
)) {
5132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
5133 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 471);
5141 var9
= hash_collection__HashMap___91d_93d(var6
, var_rdp
);
5152 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5157 var14
= file__String__basename(var_rdp
, var10
);
5165 var19
= string__NativeString__to_s_with_length(var17
, var18
);
5170 var20
= string__FlatString___43d(var_pn
, var16
);
5173 var21
= file__String__join_path(var_dirpath
, var20
);
5176 var22
= file__String__simplify_path(var21
);
5179 var_dirpath2
= var_dirpath
;
5181 var23
= file__String__file_exists(var_mp
);
5190 var29
= string__NativeString__to_s_with_length(var27
, var28
);
5195 var31
= string__FlatString___61d_61d(var_pn
, var26
);
5200 var32
= file__String__dirname(var_rdp
);
5202 var_dirpath2
= var32
;
5208 var37
= string__NativeString__to_s_with_length(var35
, var36
);
5213 var38
= file__String__basename(var_dirpath2
, var34
);
5228 var44
= string__NativeString__to_s_with_length(var42
, var43
);
5233 var45
= file__String__join_path(var_dirpath
, var41
);
5236 var46
= file__String__simplify_path(var45
);
5238 var_parentpath
= var46
;
5240 var47
= modelbuilder__ModelBuilder__get_mgroup(self
, var_parentpath
);
5244 if (var_parent
== NULL
) {
5245 var49
= 1; /* is null */
5247 var49
= 0; /* arg is null but recv is not */
5250 { /* Inline kernel#Object#== (var_parent,var48) on <var_parent:nullable MGroup> */
5253 { /* Inline kernel#Object#is_same_instance (var_parent,var_other) on <var_parent:nullable MGroup(MGroup)> */
5254 var54
= var_parent
== var_other
;
5257 RET_LABEL53
:(void)0;
5262 RET_LABEL51
:(void)0;
5267 var55
= NEW_mproject__MProject(&type_mproject__MProject
);
5269 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:ModelBuilder> */
5270 var58
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
5271 if (unlikely(var58
== NULL
)) {
5272 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5273 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
5277 RET_LABEL57
:(void)0;
5281 mproject__MProject__init(var55
, var_pn
, var56
); /* Direct call mproject#MProject#init on <var55:MProject>*/
5283 var_mproject
= var55
;
5284 var59
= NEW_mproject__MGroup(&type_mproject__MGroup
);
5287 mproject__MGroup__init(var59
, var_pn
, var_mproject
, var60
); /* Direct call mproject#MGroup#init on <var59:MGroup>*/
5291 { /* Inline mproject#MProject#root= (var_mproject,var_mgroup) on <var_mproject:MProject> */
5292 var_mproject
->attrs
[COLOR_mproject__MProject___root
].val
= var_mgroup
; /* _root on <var_mproject:MProject> */
5293 RET_LABEL61
:(void)0;
5297 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5298 var64
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5299 if (unlikely(var64
== NULL
)) {
5300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5301 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5305 RET_LABEL63
:(void)0;
5311 var67
= "found project `";
5313 var69
= string__NativeString__to_s_with_length(var67
, var68
);
5322 var74
= string__NativeString__to_s_with_length(var72
, var73
);
5326 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
5327 { /* var75 = array_instance Array[Object] */
5329 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
5330 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var66
;
5331 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var_mproject
;
5332 ((struct instance_array__NativeArray
*)var77
)->values
[2] = (val
*) var71
;
5333 ((struct instance_array__NativeArray
*)var77
)->values
[3] = (val
*) var_dirpath
;
5335 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
5339 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
5343 toolcontext__ToolContext__info(var62
, var78
, var79
); /* Direct call toolcontext#ToolContext#info on <var62:ToolContext>*/
5346 var80
= NEW_mproject__MGroup(&type_mproject__MGroup
);
5348 { /* Inline mproject#MGroup#mproject (var_parent) on <var_parent:nullable MGroup(MGroup)> */
5349 var83
= var_parent
->attrs
[COLOR_mproject__MGroup___mproject
].val
; /* _mproject on <var_parent:nullable MGroup(MGroup)> */
5350 if (unlikely(var83
== NULL
)) {
5351 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
5352 PRINT_ERROR(" (%s:%d)\n", "model/mproject.nit", 60);
5356 RET_LABEL82
:(void)0;
5360 mproject__MGroup__init(var80
, var_pn
, var81
, var_parent
); /* Direct call mproject#MGroup#init on <var80:MGroup>*/
5364 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5365 var86
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5366 if (unlikely(var86
== NULL
)) {
5367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5368 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5372 RET_LABEL85
:(void)0;
5378 var89
= "found sub group `";
5380 var91
= string__NativeString__to_s_with_length(var89
, var90
);
5385 var92
= mproject__MGroup__full_name(var_mgroup
);
5392 var97
= string__NativeString__to_s_with_length(var95
, var96
);
5396 var98
= NEW_array__Array(&type_array__Arraykernel__Object
);
5397 { /* var98 = array_instance Array[Object] */
5399 var100
= NEW_array__NativeArray(var99
, &type_array__NativeArraykernel__Object
);
5400 ((struct instance_array__NativeArray
*)var100
)->values
[0] = (val
*) var88
;
5401 ((struct instance_array__NativeArray
*)var100
)->values
[1] = (val
*) var92
;
5402 ((struct instance_array__NativeArray
*)var100
)->values
[2] = (val
*) var94
;
5403 ((struct instance_array__NativeArray
*)var100
)->values
[3] = (val
*) var_dirpath
;
5405 ((void (*)(val
*, val
*, long))(var98
->class->vft
[COLOR_array__Array__with_native
]))(var98
, var100
, var99
) /* with_native on <var98:Array[Object]>*/;
5409 var101
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_string__Object__to_s
]))(var98
) /* to_s on <var98:Array[Object]>*/;
5413 toolcontext__ToolContext__info(var84
, var101
, var102
); /* Direct call toolcontext#ToolContext#info on <var84:ToolContext>*/
5417 var104
= varonce103
;
5419 var105
= "README.md";
5421 var107
= string__NativeString__to_s_with_length(var105
, var106
);
5423 varonce103
= var104
;
5426 var108
= file__String__join_path(var_dirpath2
, var104
);
5428 var_readme
= var108
;
5430 var109
= file__String__file_exists(var_readme
);
5435 var112
= varonce111
;
5439 var115
= string__NativeString__to_s_with_length(var113
, var114
);
5441 varonce111
= var112
;
5444 var116
= file__String__join_path(var_dirpath2
, var112
);
5446 var_readme
= var116
;
5450 var117
= file__String__file_exists(var_readme
);
5453 var118
= NEW_mdoc__MDoc(&type_mdoc__MDoc
);
5455 ((void (*)(val
*))(var118
->class->vft
[COLOR_kernel__Object__init
]))(var118
) /* init on <var118:MDoc>*/;
5458 var119
= NEW_file__IFStream(&type_file__IFStream
);
5460 file__IFStream__open(var119
, var_readme
); /* Direct call file#IFStream#open on <var119:IFStream>*/
5465 var120
= stream__BufferedIStream__eof(var_s
);
5470 { /* Inline mdoc#MDoc#content (var_mdoc) on <var_mdoc:MDoc> */
5471 var124
= var_mdoc
->attrs
[COLOR_mdoc__MDoc___content
].val
; /* _content on <var_mdoc:MDoc> */
5472 if (unlikely(var124
== NULL
)) {
5473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
5474 PRINT_ERROR(" (%s:%d)\n", "model/mdoc.nit", 22);
5478 RET_LABEL123
:(void)0;
5482 var125
= stream__IStream__read_line(var_s
);
5485 array__Array__add(var122
, var125
); /* Direct call array#Array#add on <var122:Array[String]>*/
5491 BREAK_label
: (void)0;
5493 { /* Inline mdoc#MEntity#mdoc= (var_mgroup,var_mdoc) on <var_mgroup:nullable Object(MGroup)> */
5494 var_mgroup
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mgroup:nullable Object(MGroup)> */
5495 RET_LABEL126
:(void)0;
5499 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mgroup) on <var_mdoc:MDoc> */
5500 var_mdoc
->attrs
[COLOR_mdoc__MDoc___original_mentity
].val
= var_mgroup
; /* _original_mentity on <var_mdoc:MDoc> */
5501 RET_LABEL127
:(void)0;
5507 { /* Inline mproject#MGroup#filepath= (var_mgroup,var_dirpath) on <var_mgroup:nullable Object(MGroup)> */
5508 var_mgroup
->attrs
[COLOR_mproject__MGroup___filepath
].val
= var_dirpath
; /* _filepath on <var_mgroup:nullable Object(MGroup)> */
5509 RET_LABEL128
:(void)0;
5513 { /* Inline modelbuilder#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
5514 var131
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
5515 if (unlikely(var131
== NULL
)) {
5516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
5517 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 471);
5521 RET_LABEL130
:(void)0;
5525 hash_collection__HashMap___91d_93d_61d(var129
, var_rdp
, var_mgroup
); /* Direct call hash_collection#HashMap#[]= on <var129:HashMap[String, nullable MGroup]>*/
5532 /* method modelbuilder#ModelBuilder#get_mgroup for (self: Object, String): nullable MGroup */
5533 val
* VIRTUAL_modelbuilder__ModelBuilder__get_mgroup(val
* self
, val
* p0
) {
5534 val
* var
/* : nullable MGroup */;
5535 val
* var1
/* : nullable MGroup */;
5536 var1
= modelbuilder__ModelBuilder__get_mgroup(self
, p0
);
5541 /* method modelbuilder#ModelBuilder#module_absolute_path for (self: ModelBuilder, String): String */
5542 val
* modelbuilder__ModelBuilder__module_absolute_path(val
* self
, val
* p0
) {
5543 val
* var
/* : String */;
5544 val
* var_path
/* var path: String */;
5545 val
* var1
/* : String */;
5546 val
* var2
/* : String */;
5547 val
* var3
/* : String */;
5550 var1
= file__Object__getcwd(self
);
5553 var2
= file__String__join_path(var1
, var_path
);
5556 var3
= file__String__simplify_path(var2
);
5563 /* method modelbuilder#ModelBuilder#module_absolute_path for (self: Object, String): String */
5564 val
* VIRTUAL_modelbuilder__ModelBuilder__module_absolute_path(val
* self
, val
* p0
) {
5565 val
* var
/* : String */;
5566 val
* var1
/* : String */;
5567 var1
= modelbuilder__ModelBuilder__module_absolute_path(self
, p0
);
5572 /* method modelbuilder#ModelBuilder#load_module_ast for (self: ModelBuilder, String): nullable AModule */
5573 val
* modelbuilder__ModelBuilder__load_module_ast(val
* self
, val
* p0
) {
5574 val
* var
/* : nullable AModule */;
5575 val
* var_filename
/* var filename: String */;
5576 val
* var1
/* : nullable String */;
5577 static val
* varonce
;
5578 val
* var2
/* : String */;
5579 char* var3
/* : NativeString */;
5580 long var4
/* : Int */;
5581 val
* var5
/* : FlatString */;
5582 short int var6
/* : Bool */;
5583 short int var7
/* : Bool */;
5584 val
* var_other
/* var other: nullable Object */;
5585 short int var9
/* : Bool */;
5586 short int var10
/* : Bool */;
5587 short int var11
/* : Bool */;
5588 val
* var12
/* : ToolContext */;
5589 val
* var14
/* : ToolContext */;
5590 val
* var15
/* : null */;
5591 static val
* varonce16
;
5592 val
* var17
/* : String */;
5593 char* var18
/* : NativeString */;
5594 long var19
/* : Int */;
5595 val
* var20
/* : FlatString */;
5596 static val
* varonce21
;
5597 val
* var22
/* : String */;
5598 char* var23
/* : NativeString */;
5599 long var24
/* : Int */;
5600 val
* var25
/* : FlatString */;
5601 val
* var26
/* : Array[Object] */;
5602 long var27
/* : Int */;
5603 val
* var28
/* : NativeArray[Object] */;
5604 val
* var29
/* : String */;
5605 val
* var30
/* : null */;
5606 short int var31
/* : Bool */;
5607 short int var32
/* : Bool */;
5608 val
* var33
/* : ToolContext */;
5609 val
* var35
/* : ToolContext */;
5610 val
* var36
/* : null */;
5611 static val
* varonce37
;
5612 val
* var38
/* : String */;
5613 char* var39
/* : NativeString */;
5614 long var40
/* : Int */;
5615 val
* var41
/* : FlatString */;
5616 static val
* varonce42
;
5617 val
* var43
/* : String */;
5618 char* var44
/* : NativeString */;
5619 long var45
/* : Int */;
5620 val
* var46
/* : FlatString */;
5621 val
* var47
/* : Array[Object] */;
5622 long var48
/* : Int */;
5623 val
* var49
/* : NativeArray[Object] */;
5624 val
* var50
/* : String */;
5625 val
* var51
/* : null */;
5626 val
* var52
/* : ToolContext */;
5627 val
* var54
/* : ToolContext */;
5628 static val
* varonce55
;
5629 val
* var56
/* : String */;
5630 char* var57
/* : NativeString */;
5631 long var58
/* : Int */;
5632 val
* var59
/* : FlatString */;
5633 val
* var60
/* : Array[Object] */;
5634 long var61
/* : Int */;
5635 val
* var62
/* : NativeArray[Object] */;
5636 val
* var63
/* : String */;
5637 long var64
/* : Int */;
5638 val
* var65
/* : IFStream */;
5639 val
* var_file
/* var file: IFStream */;
5640 val
* var66
/* : Lexer */;
5641 val
* var67
/* : SourceFile */;
5642 val
* var_lexer
/* var lexer: Lexer */;
5643 val
* var68
/* : Parser */;
5644 val
* var_parser
/* var parser: Parser */;
5645 val
* var69
/* : Start */;
5646 val
* var_tree
/* var tree: Start */;
5647 val
* var70
/* : nullable AModule */;
5648 val
* var72
/* : nullable AModule */;
5649 val
* var_nmodule
/* var nmodule: nullable AModule */;
5650 val
* var73
/* : null */;
5651 short int var74
/* : Bool */;
5652 short int var75
/* : Bool */;
5653 val
* var_other77
/* var other: nullable Object */;
5654 short int var78
/* : Bool */;
5655 short int var80
/* : Bool */;
5656 val
* var81
/* : EOF */;
5657 val
* var83
/* : EOF */;
5658 val
* var_neof
/* var neof: EOF */;
5659 short int var84
/* : Bool */;
5662 val
* var85
/* : String */;
5663 val
* var87
/* : String */;
5664 val
* var88
/* : null */;
5667 var1
= file__String__file_extension(var_filename
);
5674 var5
= string__NativeString__to_s_with_length(var3
, var4
);
5679 var6
= 1; /* <var2:String> cannot be null */
5681 { /* Inline kernel#Object#!= (var1,var2) on <var1:nullable String> */
5684 var10
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable String(String)>*/;
5696 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5697 var14
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5698 if (unlikely(var14
== NULL
)) {
5699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5700 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5704 RET_LABEL13
:(void)0;
5711 var18
= "Error: file ";
5713 var20
= string__NativeString__to_s_with_length(var18
, var19
);
5720 var23
= " is not a valid nit module.";
5722 var25
= string__NativeString__to_s_with_length(var23
, var24
);
5726 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
5727 { /* var26 = array_instance Array[Object] */
5729 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
5730 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var17
;
5731 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var_filename
;
5732 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
5734 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
5738 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
5741 toolcontext__ToolContext__error(var12
, var15
, var29
); /* Direct call toolcontext#ToolContext#error on <var12:ToolContext>*/
5749 var31
= file__String__file_exists(var_filename
);
5754 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5755 var35
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5756 if (unlikely(var35
== NULL
)) {
5757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5758 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5762 RET_LABEL34
:(void)0;
5769 var39
= "Error: file ";
5771 var41
= string__NativeString__to_s_with_length(var39
, var40
);
5778 var44
= " not found.";
5780 var46
= string__NativeString__to_s_with_length(var44
, var45
);
5784 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
5785 { /* var47 = array_instance Array[Object] */
5787 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
5788 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var38
;
5789 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var_filename
;
5790 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var43
;
5792 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
5796 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
5799 toolcontext__ToolContext__error(var33
, var36
, var50
); /* Direct call toolcontext#ToolContext#error on <var33:ToolContext>*/
5807 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5808 var54
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5809 if (unlikely(var54
== NULL
)) {
5810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5811 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5815 RET_LABEL53
:(void)0;
5821 var57
= "load module ";
5823 var59
= string__NativeString__to_s_with_length(var57
, var58
);
5827 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
5828 { /* var60 = array_instance Array[Object] */
5830 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
5831 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var56
;
5832 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var_filename
;
5834 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
5838 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
5842 toolcontext__ToolContext__info(var52
, var63
, var64
); /* Direct call toolcontext#ToolContext#info on <var52:ToolContext>*/
5844 var65
= NEW_file__IFStream(&type_file__IFStream
);
5846 file__IFStream__open(var65
, var_filename
); /* Direct call file#IFStream#open on <var65:IFStream>*/
5849 var66
= NEW_lexer_work__Lexer(&type_lexer_work__Lexer
);
5850 var67
= NEW_location__SourceFile(&type_location__SourceFile
);
5852 location__SourceFile__init(var67
, var_filename
, var_file
); /* Direct call location#SourceFile#init on <var67:SourceFile>*/
5855 lexer_work__Lexer__init(var66
, var67
); /* Direct call lexer_work#Lexer#init on <var66:Lexer>*/
5858 var68
= NEW_parser_work__Parser(&type_parser_work__Parser
);
5860 parser_work__Parser__init(var68
, var_lexer
); /* Direct call parser_work#Parser#init on <var68:Parser>*/
5864 var69
= parser_work__Parser__parse(var_parser
);
5868 file__IFStream__close(var_file
); /* Direct call file#IFStream#close on <var_file:IFStream>*/
5871 { /* Inline parser_nodes#Start#n_base (var_tree) on <var_tree:Start> */
5872 var72
= var_tree
->attrs
[COLOR_parser_nodes__Start___n_base
].val
; /* _n_base on <var_tree:Start> */
5874 RET_LABEL71
:(void)0;
5877 var_nmodule
= var70
;
5879 if (var_nmodule
== NULL
) {
5880 var74
= 1; /* is null */
5882 var74
= 0; /* arg is null but recv is not */
5885 { /* Inline kernel#Object#== (var_nmodule,var73) on <var_nmodule:nullable AModule> */
5886 var_other77
= var73
;
5888 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other77) on <var_nmodule:nullable AModule(AModule)> */
5889 var80
= var_nmodule
== var_other77
;
5892 RET_LABEL79
:(void)0;
5897 RET_LABEL76
:(void)0;
5903 { /* Inline parser_nodes#Start#n_eof (var_tree) on <var_tree:Start> */
5904 var83
= var_tree
->attrs
[COLOR_parser_nodes__Start___n_eof
].val
; /* _n_eof on <var_tree:Start> */
5905 if (unlikely(var83
== NULL
)) {
5906 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eof");
5907 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 2073);
5911 RET_LABEL82
:(void)0;
5915 /* <var_neof:EOF> isa AError */
5916 cltype
= type_parser_nodes__AError
.color
;
5917 idtype
= type_parser_nodes__AError
.id
;
5918 if(cltype
>= var_neof
->type
->table_size
) {
5921 var84
= var_neof
->type
->type_table
[cltype
] == idtype
;
5923 if (unlikely(!var84
)) {
5924 PRINT_ERROR("Runtime error: %s", "Assert failed");
5925 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 562);
5929 { /* Inline lexer_work#AError#message (var_neof) on <var_neof:EOF(AError)> */
5930 var87
= var_neof
->attrs
[COLOR_lexer_work__AError___message
].val
; /* _message on <var_neof:EOF(AError)> */
5931 if (unlikely(var87
== NULL
)) {
5932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message");
5933 PRINT_ERROR(" (%s:%d)\n", "parser/lexer_work.nit", 50);
5937 RET_LABEL86
:(void)0;
5941 modelbuilder__ModelBuilder__error(self
, var_neof
, var85
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
5953 /* method modelbuilder#ModelBuilder#load_module_ast for (self: Object, String): nullable AModule */
5954 val
* VIRTUAL_modelbuilder__ModelBuilder__load_module_ast(val
* self
, val
* p0
) {
5955 val
* var
/* : nullable AModule */;
5956 val
* var1
/* : nullable AModule */;
5957 var1
= modelbuilder__ModelBuilder__load_module_ast(self
, p0
);
5962 /* method modelbuilder#ModelBuilder#load_module for (self: ModelBuilder, String): nullable AModule */
5963 val
* modelbuilder__ModelBuilder__load_module(val
* self
, val
* p0
) {
5964 val
* var
/* : nullable AModule */;
5965 val
* var_filename
/* var filename: String */;
5966 val
* var1
/* : nullable ModulePath */;
5967 val
* var_file
/* var file: nullable ModulePath */;
5968 val
* var2
/* : null */;
5969 short int var3
/* : Bool */;
5970 short int var4
/* : Bool */;
5971 val
* var_other
/* var other: nullable Object */;
5972 short int var6
/* : Bool */;
5973 short int var8
/* : Bool */;
5974 val
* var9
/* : null */;
5975 val
* var10
/* : nullable MModule */;
5976 val
* var12
/* : nullable MModule */;
5977 val
* var_mmodule
/* var mmodule: nullable MModule */;
5978 val
* var13
/* : null */;
5979 short int var14
/* : Bool */;
5980 short int var15
/* : Bool */;
5981 val
* var_other17
/* var other: nullable Object */;
5982 short int var18
/* : Bool */;
5983 short int var19
/* : Bool */;
5984 short int var20
/* : Bool */;
5985 val
* var21
/* : HashMap[MModule, AModule] */;
5986 val
* var23
/* : HashMap[MModule, AModule] */;
5987 val
* var24
/* : nullable Object */;
5988 val
* var25
/* : String */;
5989 val
* var27
/* : String */;
5990 val
* var28
/* : nullable AModule */;
5991 val
* var_nmodule
/* var nmodule: nullable AModule */;
5992 val
* var29
/* : null */;
5993 short int var30
/* : Bool */;
5994 short int var31
/* : Bool */;
5995 short int var33
/* : Bool */;
5996 short int var35
/* : Bool */;
5997 val
* var36
/* : null */;
5998 val
* var37
/* : MGroup */;
5999 val
* var39
/* : MGroup */;
6000 val
* var40
/* : String */;
6001 val
* var42
/* : String */;
6002 val
* var43
/* : nullable MModule */;
6003 val
* var44
/* : null */;
6004 short int var45
/* : Bool */;
6005 short int var46
/* : Bool */;
6006 short int var48
/* : Bool */;
6007 short int var50
/* : Bool */;
6008 val
* var51
/* : null */;
6011 var1
= modelbuilder__ModelBuilder__identify_file(self
, var_filename
);
6015 if (var_file
== NULL
) {
6016 var3
= 1; /* is null */
6018 var3
= 0; /* arg is null but recv is not */
6021 { /* Inline kernel#Object#== (var_file,var2) on <var_file:nullable ModulePath> */
6024 { /* Inline kernel#Object#is_same_instance (var_file,var_other) on <var_file:nullable ModulePath(ModulePath)> */
6025 var8
= var_file
== var_other
;
6044 { /* Inline modelbuilder#ModulePath#mmodule (var_file) on <var_file:nullable ModulePath(ModulePath)> */
6045 var12
= var_file
->attrs
[COLOR_modelbuilder__ModulePath___mmodule
].val
; /* _mmodule on <var_file:nullable ModulePath(ModulePath)> */
6047 RET_LABEL11
:(void)0;
6050 var_mmodule
= var10
;
6052 if (var_mmodule
== NULL
) {
6053 var14
= 0; /* is null */
6055 var14
= 1; /* arg is null and recv is not */
6058 { /* Inline kernel#Object#!= (var_mmodule,var13) on <var_mmodule:nullable MModule> */
6059 var_other17
= var13
;
6061 var19
= ((short int (*)(val
*, val
*))(var_mmodule
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mmodule
, var_other17
) /* == on <var_mmodule:nullable MModule(MModule)>*/;
6067 RET_LABEL16
:(void)0;
6073 { /* Inline modelbuilder#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
6074 var23
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
6075 if (unlikely(var23
== NULL
)) {
6076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
6077 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 728);
6081 RET_LABEL22
:(void)0;
6085 var24
= hash_collection__HashMap___91d_93d(var21
, var_mmodule
);
6092 { /* Inline modelbuilder#ModulePath#filepath (var_file) on <var_file:nullable ModulePath(ModulePath)> */
6093 var27
= var_file
->attrs
[COLOR_modelbuilder__ModulePath___filepath
].val
; /* _filepath on <var_file:nullable ModulePath(ModulePath)> */
6094 if (unlikely(var27
== NULL
)) {
6095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
6096 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 773);
6100 RET_LABEL26
:(void)0;
6104 var28
= modelbuilder__ModelBuilder__load_module_ast(self
, var25
);
6106 var_nmodule
= var28
;
6108 if (var_nmodule
== NULL
) {
6109 var30
= 1; /* is null */
6111 var30
= 0; /* arg is null but recv is not */
6114 { /* Inline kernel#Object#== (var_nmodule,var29) on <var_nmodule:nullable AModule> */
6117 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
6118 var35
= var_nmodule
== var_other
;
6121 RET_LABEL34
:(void)0;
6126 RET_LABEL32
:(void)0;
6137 { /* Inline modelbuilder#ModulePath#mgroup (var_file) on <var_file:nullable ModulePath(ModulePath)> */
6138 var39
= var_file
->attrs
[COLOR_modelbuilder__ModulePath___mgroup
].val
; /* _mgroup on <var_file:nullable ModulePath(ModulePath)> */
6139 if (unlikely(var39
== NULL
)) {
6140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup");
6141 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 776);
6145 RET_LABEL38
:(void)0;
6149 { /* Inline modelbuilder#ModulePath#name (var_file) on <var_file:nullable ModulePath(ModulePath)> */
6150 var42
= var_file
->attrs
[COLOR_modelbuilder__ModulePath___name
].val
; /* _name on <var_file:nullable ModulePath(ModulePath)> */
6151 if (unlikely(var42
== NULL
)) {
6152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6153 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 769);
6157 RET_LABEL41
:(void)0;
6161 var43
= modelbuilder__ModelBuilder__build_a_mmodule(self
, var37
, var40
, var_nmodule
);
6163 var_mmodule
= var43
;
6165 if (var_mmodule
== NULL
) {
6166 var45
= 1; /* is null */
6168 var45
= 0; /* arg is null but recv is not */
6171 { /* Inline kernel#Object#== (var_mmodule,var44) on <var_mmodule:nullable MModule> */
6174 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
6175 var50
= var_mmodule
== var_other
;
6178 RET_LABEL49
:(void)0;
6183 RET_LABEL47
:(void)0;
6194 { /* Inline modelbuilder#ModulePath#mmodule= (var_file,var_mmodule) on <var_file:nullable ModulePath(ModulePath)> */
6195 var_file
->attrs
[COLOR_modelbuilder__ModulePath___mmodule
].val
= var_mmodule
; /* _mmodule on <var_file:nullable ModulePath(ModulePath)> */
6196 RET_LABEL52
:(void)0;
6200 modelbuilder__ModelBuilder__build_module_importation(self
, var_nmodule
); /* Direct call modelbuilder#ModelBuilder#build_module_importation on <self:ModelBuilder>*/
6207 /* method modelbuilder#ModelBuilder#load_module for (self: Object, String): nullable AModule */
6208 val
* VIRTUAL_modelbuilder__ModelBuilder__load_module(val
* self
, val
* p0
) {
6209 val
* var
/* : nullable AModule */;
6210 val
* var1
/* : nullable AModule */;
6211 var1
= modelbuilder__ModelBuilder__load_module(self
, p0
);
6216 /* method modelbuilder#ModelBuilder#build_a_mmodule for (self: ModelBuilder, nullable MGroup, String, AModule): nullable MModule */
6217 val
* modelbuilder__ModelBuilder__build_a_mmodule(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6218 val
* var
/* : nullable MModule */;
6219 val
* var_mgroup
/* var mgroup: nullable MGroup */;
6220 val
* var_mod_name
/* var mod_name: String */;
6221 val
* var_nmodule
/* var nmodule: AModule */;
6222 val
* var1
/* : nullable AModuledecl */;
6223 val
* var3
/* : nullable AModuledecl */;
6224 val
* var_decl
/* var decl: nullable AModuledecl */;
6225 val
* var4
/* : null */;
6226 short int var5
/* : Bool */;
6227 short int var6
/* : Bool */;
6228 val
* var_other
/* var other: nullable Object */;
6229 short int var8
/* : Bool */;
6230 short int var10
/* : Bool */;
6231 val
* var11
/* : AModuleName */;
6232 val
* var13
/* : AModuleName */;
6233 val
* var14
/* : TId */;
6234 val
* var16
/* : TId */;
6235 val
* var17
/* : String */;
6236 val
* var_decl_name
/* var decl_name: String */;
6237 short int var18
/* : Bool */;
6238 short int var19
/* : Bool */;
6239 val
* var_other21
/* var other: nullable Object */;
6240 short int var22
/* : Bool */;
6241 short int var23
/* : Bool */;
6242 short int var24
/* : Bool */;
6243 val
* var25
/* : AModuleName */;
6244 val
* var27
/* : AModuleName */;
6245 static val
* varonce
;
6246 val
* var28
/* : String */;
6247 char* var29
/* : NativeString */;
6248 long var30
/* : Int */;
6249 val
* var31
/* : FlatString */;
6250 static val
* varonce32
;
6251 val
* var33
/* : String */;
6252 char* var34
/* : NativeString */;
6253 long var35
/* : Int */;
6254 val
* var36
/* : FlatString */;
6255 val
* var37
/* : Array[Object] */;
6256 long var38
/* : Int */;
6257 val
* var39
/* : NativeArray[Object] */;
6258 val
* var40
/* : String */;
6259 val
* var41
/* : MModule */;
6260 val
* var42
/* : Model */;
6261 val
* var44
/* : Model */;
6262 val
* var45
/* : Location */;
6263 val
* var47
/* : Location */;
6264 val
* var_mmodule
/* var mmodule: MModule */;
6265 val
* var49
/* : Array[AModule] */;
6266 val
* var51
/* : Array[AModule] */;
6267 val
* var52
/* : HashMap[MModule, AModule] */;
6268 val
* var54
/* : HashMap[MModule, AModule] */;
6269 val
* var55
/* : null */;
6270 short int var56
/* : Bool */;
6271 short int var57
/* : Bool */;
6272 short int var59
/* : Bool */;
6273 short int var60
/* : Bool */;
6274 short int var61
/* : Bool */;
6275 val
* var62
/* : nullable ADoc */;
6276 val
* var64
/* : nullable ADoc */;
6277 val
* var_ndoc
/* var ndoc: nullable ADoc */;
6278 val
* var65
/* : null */;
6279 short int var66
/* : Bool */;
6280 short int var67
/* : Bool */;
6281 short int var69
/* : Bool */;
6282 short int var70
/* : Bool */;
6283 short int var71
/* : Bool */;
6284 val
* var72
/* : MDoc */;
6285 val
* var_mdoc
/* var mdoc: MDoc */;
6286 static val
* varonce75
;
6287 val
* var76
/* : String */;
6288 char* var77
/* : NativeString */;
6289 long var78
/* : Int */;
6290 val
* var79
/* : FlatString */;
6291 static val
* varonce80
;
6292 val
* var81
/* : String */;
6293 char* var82
/* : NativeString */;
6294 long var83
/* : Int */;
6295 val
* var84
/* : FlatString */;
6296 static val
* varonce85
;
6297 val
* var86
/* : String */;
6298 char* var87
/* : NativeString */;
6299 long var88
/* : Int */;
6300 val
* var89
/* : FlatString */;
6301 val
* var90
/* : Array[Object] */;
6302 long var91
/* : Int */;
6303 val
* var92
/* : NativeArray[Object] */;
6304 val
* var93
/* : String */;
6309 { /* Inline parser_nodes#AModule#n_moduledecl (var_nmodule) on <var_nmodule:AModule> */
6310 var3
= var_nmodule
->attrs
[COLOR_parser_nodes__AModule___n_moduledecl
].val
; /* _n_moduledecl on <var_nmodule:AModule> */
6317 if (var_decl
== NULL
) {
6318 var5
= 1; /* is null */
6320 var5
= 0; /* arg is null but recv is not */
6323 { /* Inline kernel#Object#== (var_decl,var4) on <var_decl:nullable AModuledecl> */
6326 { /* Inline kernel#Object#is_same_instance (var_decl,var_other) on <var_decl:nullable AModuledecl(AModuledecl)> */
6327 var10
= var_decl
== var_other
;
6342 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
6343 var13
= var_decl
->attrs
[COLOR_parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
6344 if (unlikely(var13
== NULL
)) {
6345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6346 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 869);
6350 RET_LABEL12
:(void)0;
6354 { /* Inline parser_nodes#AModuleName#n_id (var11) on <var11:AModuleName> */
6355 var16
= var11
->attrs
[COLOR_parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var11:AModuleName> */
6356 if (unlikely(var16
== NULL
)) {
6357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6358 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1990);
6362 RET_LABEL15
:(void)0;
6366 var17
= lexer_work__Token__text(var14
);
6368 var_decl_name
= var17
;
6370 { /* Inline kernel#Object#!= (var_decl_name,var_mod_name) on <var_decl_name:String> */
6371 var_other21
= var_mod_name
;
6373 var23
= ((short int (*)(val
*, val
*))(var_decl_name
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_decl_name
, var_other21
) /* == on <var_decl_name:String>*/;
6379 RET_LABEL20
:(void)0;
6385 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
6386 var27
= var_decl
->attrs
[COLOR_parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
6387 if (unlikely(var27
== NULL
)) {
6388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6389 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 869);
6393 RET_LABEL26
:(void)0;
6399 var29
= "Error: module name missmatch; declared ";
6401 var31
= string__NativeString__to_s_with_length(var29
, var30
);
6408 var34
= " file named ";
6410 var36
= string__NativeString__to_s_with_length(var34
, var35
);
6414 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
6415 { /* var37 = array_instance Array[Object] */
6417 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
6418 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var28
;
6419 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var_decl_name
;
6420 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var33
;
6421 ((struct instance_array__NativeArray
*)var39
)->values
[3] = (val
*) var_mod_name
;
6423 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
6427 var40
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
6430 modelbuilder__ModelBuilder__error(self
, var25
, var40
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
6435 var41
= NEW_mmodule__MModule(&type_mmodule__MModule
);
6437 { /* Inline modelbuilder#ModelBuilder#model (self) on <self:ModelBuilder> */
6438 var44
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
6439 if (unlikely(var44
== NULL
)) {
6440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
6441 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 103);
6445 RET_LABEL43
:(void)0;
6449 { /* Inline parser_nodes#ANode#location (var_nmodule) on <var_nmodule:AModule> */
6450 var47
= var_nmodule
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_nmodule:AModule> */
6451 if (unlikely(var47
== NULL
)) {
6452 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
6453 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
6457 RET_LABEL46
:(void)0;
6461 mmodule__MModule__init(var41
, var42
, var_mgroup
, var_mod_name
, var45
); /* Direct call mmodule#MModule#init on <var41:MModule>*/
6463 var_mmodule
= var41
;
6465 { /* Inline modelbuilder#AModule#mmodule= (var_nmodule,var_mmodule) on <var_nmodule:AModule> */
6466 var_nmodule
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
= var_mmodule
; /* _mmodule on <var_nmodule:AModule> */
6467 RET_LABEL48
:(void)0;
6471 { /* Inline modelbuilder#ModelBuilder#nmodules (self) on <self:ModelBuilder> */
6472 var51
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___nmodules
].val
; /* _nmodules on <self:ModelBuilder> */
6473 if (unlikely(var51
== NULL
)) {
6474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
6475 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 725);
6479 RET_LABEL50
:(void)0;
6483 array__Array__add(var49
, var_nmodule
); /* Direct call array#Array#add on <var49:Array[AModule]>*/
6486 { /* Inline modelbuilder#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
6487 var54
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
6488 if (unlikely(var54
== NULL
)) {
6489 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
6490 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 728);
6494 RET_LABEL53
:(void)0;
6498 hash_collection__HashMap___91d_93d_61d(var52
, var_mmodule
, var_nmodule
); /* Direct call hash_collection#HashMap#[]= on <var52:HashMap[MModule, AModule]>*/
6501 if (var_decl
== NULL
) {
6502 var56
= 0; /* is null */
6504 var56
= 1; /* arg is null and recv is not */
6507 { /* Inline kernel#Object#!= (var_decl,var55) on <var_decl:nullable AModuledecl> */
6508 var_other21
= var55
;
6510 var60
= ((short int (*)(val
*, val
*))(var_decl
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_decl
, var_other21
) /* == on <var_decl:nullable AModuledecl(AModuledecl)>*/;
6516 RET_LABEL58
:(void)0;
6522 { /* Inline parser_nodes#AModuledecl#n_doc (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
6523 var64
= var_decl
->attrs
[COLOR_parser_nodes__AModuledecl___n_doc
].val
; /* _n_doc on <var_decl:nullable AModuledecl(AModuledecl)> */
6525 RET_LABEL63
:(void)0;
6530 if (var_ndoc
== NULL
) {
6531 var66
= 0; /* is null */
6533 var66
= 1; /* arg is null and recv is not */
6536 { /* Inline kernel#Object#!= (var_ndoc,var65) on <var_ndoc:nullable ADoc> */
6537 var_other21
= var65
;
6539 var70
= ((short int (*)(val
*, val
*))(var_ndoc
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ndoc
, var_other21
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
6545 RET_LABEL68
:(void)0;
6551 var72
= modelbuilder__ADoc__to_mdoc(var_ndoc
);
6555 { /* Inline mdoc#MEntity#mdoc= (var_mmodule,var_mdoc) on <var_mmodule:MModule> */
6556 var_mmodule
->attrs
[COLOR_mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mmodule:MModule> */
6557 RET_LABEL73
:(void)0;
6561 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mmodule) on <var_mdoc:MDoc> */
6562 var_mdoc
->attrs
[COLOR_mdoc__MDoc___original_mentity
].val
= var_mmodule
; /* _original_mentity on <var_mdoc:MDoc> */
6563 RET_LABEL74
:(void)0;
6570 var77
= "missing-doc";
6572 var79
= string__NativeString__to_s_with_length(var77
, var78
);
6579 var82
= "Documentation warning: Undocumented module `";
6581 var84
= string__NativeString__to_s_with_length(var82
, var83
);
6590 var89
= string__NativeString__to_s_with_length(var87
, var88
);
6594 var90
= NEW_array__Array(&type_array__Arraykernel__Object
);
6595 { /* var90 = array_instance Array[Object] */
6597 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArraykernel__Object
);
6598 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var81
;
6599 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var_mmodule
;
6600 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var86
;
6602 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
6606 var93
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
6609 modelbuilder__ModelBuilder__advice(self
, var_decl
, var76
, var93
); /* Direct call modelbuilder#ModelBuilder#advice on <self:ModelBuilder>*/
6619 /* method modelbuilder#ModelBuilder#build_a_mmodule for (self: Object, nullable MGroup, String, AModule): nullable MModule */
6620 val
* VIRTUAL_modelbuilder__ModelBuilder__build_a_mmodule(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6621 val
* var
/* : nullable MModule */;
6622 val
* var1
/* : nullable MModule */;
6623 var1
= modelbuilder__ModelBuilder__build_a_mmodule(self
, p0
, p1
, p2
);
6628 /* method modelbuilder#ModelBuilder#build_module_importation for (self: ModelBuilder, AModule) */
6629 void modelbuilder__ModelBuilder__build_module_importation(val
* self
, val
* p0
) {
6630 val
* var_nmodule
/* var nmodule: AModule */;
6631 short int var
/* : Bool */;
6632 short int var2
/* : Bool */;
6633 short int var3
/* : Bool */;
6634 val
* var5
/* : nullable MModule */;
6635 val
* var7
/* : nullable MModule */;
6636 val
* var_mmodule
/* var mmodule: MModule */;
6637 short int var8
/* : Bool */;
6638 short int var_stdimport
/* var stdimport: Bool */;
6639 val
* var9
/* : Array[MModule] */;
6640 val
* var_imported_modules
/* var imported_modules: Array[MModule] */;
6641 val
* var10
/* : ANodes[AImport] */;
6642 val
* var12
/* : ANodes[AImport] */;
6643 val
* var_
/* var : ANodes[AImport] */;
6644 val
* var13
/* : Iterator[ANode] */;
6645 val
* var_14
/* var : Iterator[AImport] */;
6646 short int var15
/* : Bool */;
6647 val
* var16
/* : nullable Object */;
6648 val
* var_aimport
/* var aimport: AImport */;
6649 short int var17
/* : Bool */;
6650 short int var18
/* : Bool */;
6653 short int var19
/* : Bool */;
6654 val
* var20
/* : nullable MGroup */;
6655 val
* var22
/* : nullable MGroup */;
6656 val
* var_mgroup
/* var mgroup: nullable MGroup */;
6657 val
* var23
/* : AModuleName */;
6658 val
* var25
/* : AModuleName */;
6659 val
* var26
/* : nullable TQuad */;
6660 val
* var28
/* : nullable TQuad */;
6661 val
* var29
/* : null */;
6662 short int var30
/* : Bool */;
6663 short int var31
/* : Bool */;
6664 val
* var_other
/* var other: nullable Object */;
6665 short int var33
/* : Bool */;
6666 short int var34
/* : Bool */;
6667 short int var35
/* : Bool */;
6668 val
* var36
/* : null */;
6669 val
* var37
/* : AModuleName */;
6670 val
* var39
/* : AModuleName */;
6671 val
* var40
/* : ANodes[TId] */;
6672 val
* var42
/* : ANodes[TId] */;
6673 val
* var_43
/* var : ANodes[TId] */;
6674 val
* var44
/* : Iterator[ANode] */;
6675 val
* var_45
/* var : Iterator[TId] */;
6676 short int var46
/* : Bool */;
6677 val
* var47
/* : nullable Object */;
6678 val
* var_grp
/* var grp: TId */;
6679 val
* var48
/* : String */;
6680 val
* var49
/* : nullable ModulePath */;
6681 val
* var_path
/* var path: nullable ModulePath */;
6682 val
* var50
/* : null */;
6683 short int var51
/* : Bool */;
6684 short int var52
/* : Bool */;
6685 val
* var_other54
/* var other: nullable Object */;
6686 short int var55
/* : Bool */;
6687 short int var57
/* : Bool */;
6688 val
* var58
/* : MGroup */;
6689 val
* var60
/* : MGroup */;
6690 val
* var63
/* : AModuleName */;
6691 val
* var65
/* : AModuleName */;
6692 val
* var66
/* : TId */;
6693 val
* var68
/* : TId */;
6694 val
* var69
/* : String */;
6695 val
* var_mod_name
/* var mod_name: String */;
6696 val
* var70
/* : AModuleName */;
6697 val
* var72
/* : AModuleName */;
6698 val
* var73
/* : nullable MModule */;
6699 val
* var_sup
/* var sup: nullable MModule */;
6700 val
* var74
/* : null */;
6701 short int var75
/* : Bool */;
6702 short int var76
/* : Bool */;
6703 short int var78
/* : Bool */;
6704 short int var80
/* : Bool */;
6705 val
* var82
/* : AVisibility */;
6706 val
* var84
/* : AVisibility */;
6707 val
* var85
/* : MVisibility */;
6708 val
* var_mvisibility
/* var mvisibility: MVisibility */;
6709 val
* var86
/* : MVisibility */;
6710 short int var87
/* : Bool */;
6711 short int var88
/* : Bool */;
6712 short int var90
/* : Bool */;
6713 short int var92
/* : Bool */;
6714 val
* var93
/* : AVisibility */;
6715 val
* var95
/* : AVisibility */;
6716 static val
* varonce
;
6717 val
* var96
/* : String */;
6718 char* var97
/* : NativeString */;
6719 long var98
/* : Int */;
6720 val
* var99
/* : FlatString */;
6721 short int var100
/* : Bool */;
6722 short int var101
/* : Bool */;
6723 short int var103
/* : Bool */;
6724 short int var105
/* : Bool */;
6725 val
* var106
/* : AModuleName */;
6726 val
* var108
/* : AModuleName */;
6727 static val
* varonce109
;
6728 val
* var110
/* : String */;
6729 char* var111
/* : NativeString */;
6730 long var112
/* : Int */;
6731 val
* var113
/* : FlatString */;
6732 static val
* varonce114
;
6733 val
* var115
/* : String */;
6734 char* var116
/* : NativeString */;
6735 long var117
/* : Int */;
6736 val
* var118
/* : FlatString */;
6737 val
* var119
/* : Array[Object] */;
6738 long var120
/* : Int */;
6739 val
* var121
/* : NativeArray[Object] */;
6740 val
* var122
/* : String */;
6741 val
* var123
/* : POSetElement[MModule] */;
6742 val
* var125
/* : POSetElement[MModule] */;
6743 short int var126
/* : Bool */;
6744 val
* var127
/* : AModuleName */;
6745 val
* var129
/* : AModuleName */;
6746 static val
* varonce130
;
6747 val
* var131
/* : String */;
6748 char* var132
/* : NativeString */;
6749 long var133
/* : Int */;
6750 val
* var134
/* : FlatString */;
6751 static val
* varonce135
;
6752 val
* var136
/* : String */;
6753 char* var137
/* : NativeString */;
6754 long var138
/* : Int */;
6755 val
* var139
/* : FlatString */;
6756 static val
* varonce140
;
6757 val
* var141
/* : String */;
6758 char* var142
/* : NativeString */;
6759 long var143
/* : Int */;
6760 val
* var144
/* : FlatString */;
6761 val
* var145
/* : Array[Object] */;
6762 long var146
/* : Int */;
6763 val
* var147
/* : NativeArray[Object] */;
6764 val
* var148
/* : String */;
6765 static val
* varonce151
;
6766 val
* var152
/* : String */;
6767 char* var153
/* : NativeString */;
6768 long var154
/* : Int */;
6769 val
* var155
/* : FlatString */;
6770 val
* var_mod_name156
/* var mod_name: String */;
6771 val
* var157
/* : null */;
6772 val
* var158
/* : nullable MModule */;
6773 val
* var_sup159
/* var sup: nullable MModule */;
6774 val
* var160
/* : null */;
6775 short int var161
/* : Bool */;
6776 short int var162
/* : Bool */;
6777 short int var164
/* : Bool */;
6778 short int var165
/* : Bool */;
6779 short int var166
/* : Bool */;
6780 val
* var167
/* : MVisibility */;
6781 val
* var168
/* : ToolContext */;
6782 val
* var170
/* : ToolContext */;
6783 static val
* varonce171
;
6784 val
* var172
/* : String */;
6785 char* var173
/* : NativeString */;
6786 long var174
/* : Int */;
6787 val
* var175
/* : FlatString */;
6788 static val
* varonce176
;
6789 val
* var177
/* : String */;
6790 char* var178
/* : NativeString */;
6791 long var179
/* : Int */;
6792 val
* var180
/* : FlatString */;
6793 val
* var181
/* : String */;
6794 val
* var182
/* : Array[Object] */;
6795 long var183
/* : Int */;
6796 val
* var184
/* : NativeArray[Object] */;
6797 val
* var185
/* : String */;
6798 long var186
/* : Int */;
6799 val
* var187
/* : POSetElement[MModule] */;
6800 val
* var189
/* : POSetElement[MModule] */;
6801 val
* var190
/* : Collection[Object] */;
6802 val
* var_directs
/* var directs: Collection[MModule] */;
6803 val
* var191
/* : ANodes[AImport] */;
6804 val
* var193
/* : ANodes[AImport] */;
6805 val
* var_194
/* var : ANodes[AImport] */;
6806 val
* var195
/* : Iterator[ANode] */;
6807 val
* var_196
/* var : Iterator[AImport] */;
6808 short int var197
/* : Bool */;
6809 val
* var198
/* : nullable Object */;
6810 val
* var_nim
/* var nim: AImport */;
6811 short int var199
/* : Bool */;
6814 short int var202
/* : Bool */;
6815 val
* var204
/* : nullable MModule */;
6816 val
* var206
/* : nullable MModule */;
6817 val
* var_im
/* var im: nullable MModule */;
6818 val
* var207
/* : null */;
6819 short int var208
/* : Bool */;
6820 short int var209
/* : Bool */;
6821 short int var211
/* : Bool */;
6822 short int var213
/* : Bool */;
6823 short int var214
/* : Bool */;
6826 { /* Inline modelbuilder#AModule#is_importation_done (var_nmodule) on <var_nmodule:AModule> */
6827 var2
= var_nmodule
->attrs
[COLOR_modelbuilder__AModule___is_importation_done
].s
; /* _is_importation_done on <var_nmodule:AModule> */
6838 { /* Inline modelbuilder#AModule#is_importation_done= (var_nmodule,var3) on <var_nmodule:AModule> */
6839 var_nmodule
->attrs
[COLOR_modelbuilder__AModule___is_importation_done
].s
= var3
; /* _is_importation_done on <var_nmodule:AModule> */
6844 { /* Inline modelbuilder#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
6845 var7
= var_nmodule
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
6850 if (unlikely(var5
== NULL
)) {
6851 PRINT_ERROR("Runtime error: %s", "Cast failed");
6852 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 667);
6857 var_stdimport
= var8
;
6858 var9
= NEW_array__Array(&type_array__Arraymmodule__MModule
);
6860 ((void (*)(val
*))(var9
->class->vft
[COLOR_kernel__Object__init
]))(var9
) /* init on <var9:Array[MModule]>*/;
6862 var_imported_modules
= var9
;
6864 { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on <var_nmodule:AModule> */
6865 var12
= var_nmodule
->attrs
[COLOR_parser_nodes__AModule___n_imports
].val
; /* _n_imports on <var_nmodule:AModule> */
6866 if (unlikely(var12
== NULL
)) {
6867 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
6868 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 857);
6872 RET_LABEL11
:(void)0;
6877 var13
= parser_nodes__ANodes__iterator(var_
);
6882 var15
= ((short int (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_14
) /* is_ok on <var_14:Iterator[AImport]>*/;
6886 var16
= ((val
* (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_14
) /* item on <var_14:Iterator[AImport]>*/;
6888 var_aimport
= var16
;
6890 var_stdimport
= var17
;
6891 /* <var_aimport:AImport> isa AStdImport */
6892 cltype
= type_parser_nodes__AStdImport
.color
;
6893 idtype
= type_parser_nodes__AStdImport
.id
;
6894 if(cltype
>= var_aimport
->type
->table_size
) {
6897 var18
= var_aimport
->type
->type_table
[cltype
] == idtype
;
6905 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
6906 var22
= var_mmodule
->attrs
[COLOR_mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
6908 RET_LABEL21
:(void)0;
6913 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
6914 var25
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
6915 if (unlikely(var25
== NULL
)) {
6916 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6917 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 882);
6921 RET_LABEL24
:(void)0;
6925 { /* Inline parser_nodes#AModuleName#n_quad (var23) on <var23:AModuleName> */
6926 var28
= var23
->attrs
[COLOR_parser_nodes__AModuleName___n_quad
].val
; /* _n_quad on <var23:AModuleName> */
6928 RET_LABEL27
:(void)0;
6932 if (var26
== NULL
) {
6933 var30
= 0; /* is null */
6935 var30
= 1; /* arg is null and recv is not */
6938 { /* Inline kernel#Object#!= (var26,var29) on <var26:nullable TQuad> */
6941 var34
= ((short int (*)(val
*, val
*))(var26
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var26
, var_other
) /* == on <var26:nullable TQuad(TQuad)>*/;
6947 RET_LABEL32
:(void)0;
6957 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
6958 var39
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
6959 if (unlikely(var39
== NULL
)) {
6960 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6961 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 882);
6965 RET_LABEL38
:(void)0;
6969 { /* Inline parser_nodes#AModuleName#n_path (var37) on <var37:AModuleName> */
6970 var42
= var37
->attrs
[COLOR_parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var37:AModuleName> */
6971 if (unlikely(var42
== NULL
)) {
6972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
6973 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1989);
6977 RET_LABEL41
:(void)0;
6982 var44
= parser_nodes__ANodes__iterator(var_43
);
6987 var46
= ((short int (*)(val
*))(var_45
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_45
) /* is_ok on <var_45:Iterator[TId]>*/;
6991 var47
= ((val
* (*)(val
*))(var_45
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_45
) /* item on <var_45:Iterator[TId]>*/;
6995 var48
= lexer_work__Token__text(var_grp
);
6998 var49
= modelbuilder__ModelBuilder__search_mmodule_by_name(self
, var_grp
, var_mgroup
, var48
);
7002 if (var_path
== NULL
) {
7003 var51
= 1; /* is null */
7005 var51
= 0; /* arg is null but recv is not */
7008 { /* Inline kernel#Object#== (var_path,var50) on <var_path:nullable ModulePath> */
7009 var_other54
= var50
;
7011 { /* Inline kernel#Object#is_same_instance (var_path,var_other54) on <var_path:nullable ModulePath(ModulePath)> */
7012 var57
= var_path
== var_other54
;
7015 RET_LABEL56
:(void)0;
7020 RET_LABEL53
:(void)0;
7029 { /* Inline modelbuilder#ModulePath#mgroup (var_path) on <var_path:nullable ModulePath(ModulePath)> */
7030 var60
= var_path
->attrs
[COLOR_modelbuilder__ModulePath___mgroup
].val
; /* _mgroup on <var_path:nullable ModulePath(ModulePath)> */
7031 if (unlikely(var60
== NULL
)) {
7032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup");
7033 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 776);
7037 RET_LABEL59
:(void)0;
7042 ((void (*)(val
*))(var_45
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_45
) /* next on <var_45:Iterator[TId]>*/;
7048 BREAK_label61
: (void)0;
7050 { /* Inline abstract_collection#Iterator#finish (var_45) on <var_45:Iterator[TId]> */
7051 RET_LABEL62
:(void)0;
7055 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
7056 var65
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
7057 if (unlikely(var65
== NULL
)) {
7058 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
7059 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 882);
7063 RET_LABEL64
:(void)0;
7067 { /* Inline parser_nodes#AModuleName#n_id (var63) on <var63:AModuleName> */
7068 var68
= var63
->attrs
[COLOR_parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var63:AModuleName> */
7069 if (unlikely(var68
== NULL
)) {
7070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7071 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1990);
7075 RET_LABEL67
:(void)0;
7079 var69
= lexer_work__Token__text(var66
);
7081 var_mod_name
= var69
;
7083 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
7084 var72
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
7085 if (unlikely(var72
== NULL
)) {
7086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
7087 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 882);
7091 RET_LABEL71
:(void)0;
7095 var73
= modelbuilder__ModelBuilder__get_mmodule_by_name(self
, var70
, var_mgroup
, var_mod_name
);
7099 if (var_sup
== NULL
) {
7100 var75
= 1; /* is null */
7102 var75
= 0; /* arg is null but recv is not */
7105 { /* Inline kernel#Object#== (var_sup,var74) on <var_sup:nullable MModule> */
7106 var_other54
= var74
;
7108 { /* Inline kernel#Object#is_same_instance (var_sup,var_other54) on <var_sup:nullable MModule(MModule)> */
7109 var80
= var_sup
== var_other54
;
7112 RET_LABEL79
:(void)0;
7117 RET_LABEL77
:(void)0;
7126 { /* Inline modelbuilder#AStdImport#mmodule= (var_aimport,var_sup) on <var_aimport:AImport(AStdImport)> */
7127 var_aimport
->attrs
[COLOR_modelbuilder__AStdImport___mmodule
].val
= var_sup
; /* _mmodule on <var_aimport:AImport(AStdImport)> */
7128 RET_LABEL81
:(void)0;
7132 array__Array__add(var_imported_modules
, var_sup
); /* Direct call array#Array#add on <var_imported_modules:Array[MModule]>*/
7135 { /* Inline parser_nodes#AStdImport#n_visibility (var_aimport) on <var_aimport:AImport(AStdImport)> */
7136 var84
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_visibility
].val
; /* _n_visibility on <var_aimport:AImport(AStdImport)> */
7137 if (unlikely(var84
== NULL
)) {
7138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
7139 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 880);
7143 RET_LABEL83
:(void)0;
7147 var85
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var82
) /* mvisibility on <var82:AVisibility>*/;
7149 var_mvisibility
= var85
;
7151 var86
= model_base__Object__protected_visibility(self
);
7154 { /* Inline kernel#Object#== (var_mvisibility,var86) on <var_mvisibility:MVisibility> */
7155 var_other54
= var86
;
7157 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other54) on <var_mvisibility:MVisibility> */
7158 var92
= var_mvisibility
== var_other54
;
7161 RET_LABEL91
:(void)0;
7166 RET_LABEL89
:(void)0;
7172 { /* Inline parser_nodes#AStdImport#n_visibility (var_aimport) on <var_aimport:AImport(AStdImport)> */
7173 var95
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_visibility
].val
; /* _n_visibility on <var_aimport:AImport(AStdImport)> */
7174 if (unlikely(var95
== NULL
)) {
7175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
7176 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 880);
7180 RET_LABEL94
:(void)0;
7186 var97
= "Error: only properties can be protected.";
7188 var99
= string__NativeString__to_s_with_length(var97
, var98
);
7193 modelbuilder__ModelBuilder__error(self
, var93
, var96
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
7199 { /* Inline kernel#Object#== (var_sup,var_mmodule) on <var_sup:nullable MModule(MModule)> */
7200 var_other54
= var_mmodule
;
7202 { /* Inline kernel#Object#is_same_instance (var_sup,var_other54) on <var_sup:nullable MModule(MModule)> */
7203 var105
= var_sup
== var_other54
;
7206 RET_LABEL104
:(void)0;
7211 RET_LABEL102
:(void)0;
7217 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
7218 var108
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
7219 if (unlikely(var108
== NULL
)) {
7220 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
7221 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 882);
7225 RET_LABEL107
:(void)0;
7229 var110
= varonce109
;
7231 var111
= "Error: Dependency loop in module ";
7233 var113
= string__NativeString__to_s_with_length(var111
, var112
);
7235 varonce109
= var110
;
7238 var115
= varonce114
;
7242 var118
= string__NativeString__to_s_with_length(var116
, var117
);
7244 varonce114
= var115
;
7246 var119
= NEW_array__Array(&type_array__Arraykernel__Object
);
7247 { /* var119 = array_instance Array[Object] */
7249 var121
= NEW_array__NativeArray(var120
, &type_array__NativeArraykernel__Object
);
7250 ((struct instance_array__NativeArray
*)var121
)->values
[0] = (val
*) var110
;
7251 ((struct instance_array__NativeArray
*)var121
)->values
[1] = (val
*) var_mmodule
;
7252 ((struct instance_array__NativeArray
*)var121
)->values
[2] = (val
*) var115
;
7254 ((void (*)(val
*, val
*, long))(var119
->class->vft
[COLOR_array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
7258 var122
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
7261 modelbuilder__ModelBuilder__error(self
, var106
, var122
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
7266 { /* Inline mmodule#MModule#in_importation (var_sup) on <var_sup:nullable MModule(MModule)> */
7267 var125
= var_sup
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_sup:nullable MModule(MModule)> */
7268 if (unlikely(var125
== NULL
)) {
7269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7270 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
7274 RET_LABEL124
:(void)0;
7278 var126
= poset__POSetElement___60d(var123
, var_mmodule
);
7282 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
7283 var129
= var_aimport
->attrs
[COLOR_parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
7284 if (unlikely(var129
== NULL
)) {
7285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
7286 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 882);
7290 RET_LABEL128
:(void)0;
7294 var131
= varonce130
;
7296 var132
= "Error: Dependency loop between modules ";
7298 var134
= string__NativeString__to_s_with_length(var132
, var133
);
7300 varonce130
= var131
;
7303 var136
= varonce135
;
7307 var139
= string__NativeString__to_s_with_length(var137
, var138
);
7309 varonce135
= var136
;
7312 var141
= varonce140
;
7316 var144
= string__NativeString__to_s_with_length(var142
, var143
);
7318 varonce140
= var141
;
7320 var145
= NEW_array__Array(&type_array__Arraykernel__Object
);
7321 { /* var145 = array_instance Array[Object] */
7323 var147
= NEW_array__NativeArray(var146
, &type_array__NativeArraykernel__Object
);
7324 ((struct instance_array__NativeArray
*)var147
)->values
[0] = (val
*) var131
;
7325 ((struct instance_array__NativeArray
*)var147
)->values
[1] = (val
*) var_mmodule
;
7326 ((struct instance_array__NativeArray
*)var147
)->values
[2] = (val
*) var136
;
7327 ((struct instance_array__NativeArray
*)var147
)->values
[3] = (val
*) var_sup
;
7328 ((struct instance_array__NativeArray
*)var147
)->values
[4] = (val
*) var141
;
7330 ((void (*)(val
*, val
*, long))(var145
->class->vft
[COLOR_array__Array__with_native
]))(var145
, var147
, var146
) /* with_native on <var145:Array[Object]>*/;
7334 var148
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_string__Object__to_s
]))(var145
) /* to_s on <var145:Array[Object]>*/;
7337 modelbuilder__ModelBuilder__error(self
, var127
, var148
); /* Direct call modelbuilder#ModelBuilder#error on <self:ModelBuilder>*/
7343 mmodule__MModule__set_visibility_for(var_mmodule
, var_sup
, var_mvisibility
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
7345 BREAK_label
: (void)0;
7347 ((void (*)(val
*))(var_14
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_14
) /* next on <var_14:Iterator[AImport]>*/;
7350 goto BREAK_label149
;
7353 BREAK_label149
: (void)0;
7355 { /* Inline abstract_collection#Iterator#finish (var_14) on <var_14:Iterator[AImport]> */
7356 RET_LABEL150
:(void)0;
7361 var152
= varonce151
;
7363 var153
= "standard";
7365 var155
= string__NativeString__to_s_with_length(var153
, var154
);
7367 varonce151
= var152
;
7369 var_mod_name156
= var152
;
7372 var158
= modelbuilder__ModelBuilder__get_mmodule_by_name(self
, var_nmodule
, var157
, var_mod_name156
);
7374 var_sup159
= var158
;
7376 if (var_sup159
== NULL
) {
7377 var161
= 0; /* is null */
7379 var161
= 1; /* arg is null and recv is not */
7382 { /* Inline kernel#Object#!= (var_sup159,var160) on <var_sup159:nullable MModule> */
7385 var165
= ((short int (*)(val
*, val
*))(var_sup159
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_sup159
, var_other
) /* == on <var_sup159:nullable MModule(MModule)>*/;
7391 RET_LABEL163
:(void)0;
7397 array__Array__add(var_imported_modules
, var_sup159
); /* Direct call array#Array#add on <var_imported_modules:Array[MModule]>*/
7400 var167
= model_base__Object__public_visibility(self
);
7403 mmodule__MModule__set_visibility_for(var_mmodule
, var_sup159
, var167
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
7410 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
7411 var170
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
7412 if (unlikely(var170
== NULL
)) {
7413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7414 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7418 RET_LABEL169
:(void)0;
7422 var172
= varonce171
;
7424 var173
= " imports ";
7426 var175
= string__NativeString__to_s_with_length(var173
, var174
);
7428 varonce171
= var172
;
7431 var177
= varonce176
;
7435 var180
= string__NativeString__to_s_with_length(var178
, var179
);
7437 varonce176
= var177
;
7440 var181
= string__Collection__join(var_imported_modules
, var177
);
7442 var182
= NEW_array__Array(&type_array__Arraykernel__Object
);
7443 { /* var182 = array_instance Array[Object] */
7445 var184
= NEW_array__NativeArray(var183
, &type_array__NativeArraykernel__Object
);
7446 ((struct instance_array__NativeArray
*)var184
)->values
[0] = (val
*) var_mmodule
;
7447 ((struct instance_array__NativeArray
*)var184
)->values
[1] = (val
*) var172
;
7448 ((struct instance_array__NativeArray
*)var184
)->values
[2] = (val
*) var181
;
7450 ((void (*)(val
*, val
*, long))(var182
->class->vft
[COLOR_array__Array__with_native
]))(var182
, var184
, var183
) /* with_native on <var182:Array[Object]>*/;
7454 var185
= ((val
* (*)(val
*))(var182
->class->vft
[COLOR_string__Object__to_s
]))(var182
) /* to_s on <var182:Array[Object]>*/;
7458 toolcontext__ToolContext__info(var168
, var185
, var186
); /* Direct call toolcontext#ToolContext#info on <var168:ToolContext>*/
7461 mmodule__MModule__set_imported_mmodules(var_mmodule
, var_imported_modules
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mmodule:MModule>*/
7464 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7465 var189
= var_mmodule
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7466 if (unlikely(var189
== NULL
)) {
7467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7468 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
7472 RET_LABEL188
:(void)0;
7476 var190
= poset__POSetElement__direct_greaters(var187
);
7478 var_directs
= var190
;
7480 { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on <var_nmodule:AModule> */
7481 var193
= var_nmodule
->attrs
[COLOR_parser_nodes__AModule___n_imports
].val
; /* _n_imports on <var_nmodule:AModule> */
7482 if (unlikely(var193
== NULL
)) {
7483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
7484 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 857);
7488 RET_LABEL192
:(void)0;
7493 var195
= parser_nodes__ANodes__iterator(var_194
);
7498 var197
= ((short int (*)(val
*))(var_196
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_196
) /* is_ok on <var_196:Iterator[AImport]>*/;
7502 var198
= ((val
* (*)(val
*))(var_196
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_196
) /* item on <var_196:Iterator[AImport]>*/;
7505 /* <var_nim:AImport> isa AStdImport */
7506 cltype200
= type_parser_nodes__AStdImport
.color
;
7507 idtype201
= type_parser_nodes__AStdImport
.id
;
7508 if(cltype200
>= var_nim
->type
->table_size
) {
7511 var199
= var_nim
->type
->type_table
[cltype200
] == idtype201
;
7515 goto BREAK_label203
;
7519 { /* Inline modelbuilder#AStdImport#mmodule (var_nim) on <var_nim:AImport(AStdImport)> */
7520 var206
= var_nim
->attrs
[COLOR_modelbuilder__AStdImport___mmodule
].val
; /* _mmodule on <var_nim:AImport(AStdImport)> */
7522 RET_LABEL205
:(void)0;
7527 if (var_im
== NULL
) {
7528 var208
= 1; /* is null */
7530 var208
= 0; /* arg is null but recv is not */
7533 { /* Inline kernel#Object#== (var_im,var207) on <var_im:nullable MModule> */
7534 var_other54
= var207
;
7536 { /* Inline kernel#Object#is_same_instance (var_im,var_other54) on <var_im:nullable MModule(MModule)> */
7537 var213
= var_im
== var_other54
;
7540 RET_LABEL212
:(void)0;
7545 RET_LABEL210
:(void)0;
7550 goto BREAK_label203
;
7554 var214
= ((short int (*)(val
*, val
*))(var_directs
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_directs
, var_im
) /* has on <var_directs:Collection[MModule]>*/;
7557 goto BREAK_label203
;
7560 BREAK_label203
: (void)0;
7562 ((void (*)(val
*))(var_196
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_196
) /* next on <var_196:Iterator[AImport]>*/;
7565 goto BREAK_label215
;
7568 BREAK_label215
: (void)0;
7570 { /* Inline abstract_collection#Iterator#finish (var_196) on <var_196:Iterator[AImport]> */
7571 RET_LABEL216
:(void)0;
7576 /* method modelbuilder#ModelBuilder#build_module_importation for (self: Object, AModule) */
7577 void VIRTUAL_modelbuilder__ModelBuilder__build_module_importation(val
* self
, val
* p0
) {
7578 modelbuilder__ModelBuilder__build_module_importation(self
, p0
); /* Direct call modelbuilder#ModelBuilder#build_module_importation on <self:Object(ModelBuilder)>*/
7581 /* method modelbuilder#ModelBuilder#nmodules for (self: ModelBuilder): Array[AModule] */
7582 val
* modelbuilder__ModelBuilder__nmodules(val
* self
) {
7583 val
* var
/* : Array[AModule] */;
7584 val
* var1
/* : Array[AModule] */;
7585 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___nmodules
].val
; /* _nmodules on <self:ModelBuilder> */
7586 if (unlikely(var1
== NULL
)) {
7587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
7588 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 725);
7595 /* method modelbuilder#ModelBuilder#nmodules for (self: Object): Array[AModule] */
7596 val
* VIRTUAL_modelbuilder__ModelBuilder__nmodules(val
* self
) {
7597 val
* var
/* : Array[AModule] */;
7598 val
* var1
/* : Array[AModule] */;
7599 val
* var3
/* : Array[AModule] */;
7600 { /* Inline modelbuilder#ModelBuilder#nmodules (self) on <self:Object(ModelBuilder)> */
7601 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___nmodules
].val
; /* _nmodules on <self:Object(ModelBuilder)> */
7602 if (unlikely(var3
== NULL
)) {
7603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
7604 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 725);
7614 /* method modelbuilder#ModelBuilder#mmodule2nmodule for (self: ModelBuilder): HashMap[MModule, AModule] */
7615 val
* modelbuilder__ModelBuilder__mmodule2nmodule(val
* self
) {
7616 val
* var
/* : HashMap[MModule, AModule] */;
7617 val
* var1
/* : HashMap[MModule, AModule] */;
7618 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
7619 if (unlikely(var1
== NULL
)) {
7620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
7621 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 728);
7628 /* method modelbuilder#ModelBuilder#mmodule2nmodule for (self: Object): HashMap[MModule, AModule] */
7629 val
* VIRTUAL_modelbuilder__ModelBuilder__mmodule2nmodule(val
* self
) {
7630 val
* var
/* : HashMap[MModule, AModule] */;
7631 val
* var1
/* : HashMap[MModule, AModule] */;
7632 val
* var3
/* : HashMap[MModule, AModule] */;
7633 { /* Inline modelbuilder#ModelBuilder#mmodule2nmodule (self) on <self:Object(ModelBuilder)> */
7634 var3
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:Object(ModelBuilder)> */
7635 if (unlikely(var3
== NULL
)) {
7636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
7637 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 728);
7647 /* method modelbuilder#ModelBuilder#error for (self: ModelBuilder, ANode, String) */
7648 void modelbuilder__ModelBuilder__error(val
* self
, val
* p0
, val
* p1
) {
7649 val
* var_n
/* var n: ANode */;
7650 val
* var_text
/* var text: String */;
7651 val
* var
/* : ToolContext */;
7652 val
* var2
/* : ToolContext */;
7653 val
* var3
/* : Location */;
7657 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
7658 var2
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
7659 if (unlikely(var2
== NULL
)) {
7660 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7661 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7669 var3
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
7672 toolcontext__ToolContext__error(var
, var3
, var_text
); /* Direct call toolcontext#ToolContext#error on <var:ToolContext>*/
7676 /* method modelbuilder#ModelBuilder#error for (self: Object, ANode, String) */
7677 void VIRTUAL_modelbuilder__ModelBuilder__error(val
* self
, val
* p0
, val
* p1
) {
7678 modelbuilder__ModelBuilder__error(self
, p0
, p1
); /* Direct call modelbuilder#ModelBuilder#error on <self:Object(ModelBuilder)>*/
7681 /* method modelbuilder#ModelBuilder#warning for (self: ModelBuilder, ANode, String, String) */
7682 void modelbuilder__ModelBuilder__warning(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7683 val
* var_n
/* var n: ANode */;
7684 val
* var_tag
/* var tag: String */;
7685 val
* var_text
/* var text: String */;
7686 val
* var
/* : ToolContext */;
7687 val
* var2
/* : ToolContext */;
7688 val
* var3
/* : Location */;
7693 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
7694 var2
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
7695 if (unlikely(var2
== NULL
)) {
7696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7697 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7705 var3
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
7708 toolcontext__ToolContext__warning(var
, var3
, var_tag
, var_text
); /* Direct call toolcontext#ToolContext#warning on <var:ToolContext>*/
7712 /* method modelbuilder#ModelBuilder#warning for (self: Object, ANode, String, String) */
7713 void VIRTUAL_modelbuilder__ModelBuilder__warning(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7714 modelbuilder__ModelBuilder__warning(self
, p0
, p1
, p2
); /* Direct call modelbuilder#ModelBuilder#warning on <self:Object(ModelBuilder)>*/
7717 /* method modelbuilder#ModelBuilder#advice for (self: ModelBuilder, ANode, String, String) */
7718 void modelbuilder__ModelBuilder__advice(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7719 val
* var_n
/* var n: ANode */;
7720 val
* var_tag
/* var tag: String */;
7721 val
* var_text
/* var text: String */;
7722 val
* var
/* : ToolContext */;
7723 val
* var2
/* : ToolContext */;
7724 val
* var3
/* : Location */;
7729 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
7730 var2
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
7731 if (unlikely(var2
== NULL
)) {
7732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7733 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7741 var3
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
7744 toolcontext__ToolContext__advice(var
, var3
, var_tag
, var_text
); /* Direct call toolcontext#ToolContext#advice on <var:ToolContext>*/
7748 /* method modelbuilder#ModelBuilder#advice for (self: Object, ANode, String, String) */
7749 void VIRTUAL_modelbuilder__ModelBuilder__advice(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7750 modelbuilder__ModelBuilder__advice(self
, p0
, p1
, p2
); /* Direct call modelbuilder#ModelBuilder#advice on <self:Object(ModelBuilder)>*/
7753 /* method modelbuilder#ModelBuilder#force_get_primitive_method for (self: ModelBuilder, nullable ANode, String, MClass, MModule): MMethod */
7754 val
* modelbuilder__ModelBuilder__force_get_primitive_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
7755 val
* var
/* : MMethod */;
7756 val
* var_n
/* var n: nullable ANode */;
7757 val
* var_name
/* var name: String */;
7758 val
* var_recv
/* var recv: MClass */;
7759 val
* var_mmodule
/* var mmodule: MModule */;
7760 val
* var1
/* : nullable MMethod */;
7761 val
* var_res
/* var res: nullable MMethod */;
7762 val
* var2
/* : null */;
7763 short int var3
/* : Bool */;
7764 short int var4
/* : Bool */;
7765 val
* var_other
/* var other: nullable Object */;
7766 short int var6
/* : Bool */;
7767 short int var8
/* : Bool */;
7768 val
* var9
/* : null */;
7769 val
* var_l
/* var l: nullable Object */;
7770 val
* var10
/* : null */;
7771 short int var11
/* : Bool */;
7772 short int var12
/* : Bool */;
7773 val
* var_other14
/* var other: nullable Object */;
7774 short int var15
/* : Bool */;
7775 short int var16
/* : Bool */;
7776 short int var17
/* : Bool */;
7777 val
* var18
/* : Location */;
7778 val
* var19
/* : ToolContext */;
7779 val
* var21
/* : ToolContext */;
7780 static val
* varonce
;
7781 val
* var22
/* : String */;
7782 char* var23
/* : NativeString */;
7783 long var24
/* : Int */;
7784 val
* var25
/* : FlatString */;
7785 static val
* varonce26
;
7786 val
* var27
/* : String */;
7787 char* var28
/* : NativeString */;
7788 long var29
/* : Int */;
7789 val
* var30
/* : FlatString */;
7790 static val
* varonce31
;
7791 val
* var32
/* : String */;
7792 char* var33
/* : NativeString */;
7793 long var34
/* : Int */;
7794 val
* var35
/* : FlatString */;
7795 val
* var36
/* : Array[Object] */;
7796 long var37
/* : Int */;
7797 val
* var38
/* : NativeArray[Object] */;
7798 val
* var39
/* : String */;
7804 var1
= model__MModule__try_get_primitive_method(var_mmodule
, var_name
, var_recv
);
7808 if (var_res
== NULL
) {
7809 var3
= 1; /* is null */
7811 var3
= 0; /* arg is null but recv is not */
7814 { /* Inline kernel#Object#== (var_res,var2) on <var_res:nullable MMethod> */
7817 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable MMethod(MMethod)> */
7818 var8
= var_res
== var_other
;
7834 if (var_n
== NULL
) {
7835 var11
= 0; /* is null */
7837 var11
= 1; /* arg is null and recv is not */
7840 { /* Inline kernel#Object#!= (var_n,var10) on <var_n:nullable ANode> */
7841 var_other14
= var10
;
7843 var16
= ((short int (*)(val
*, val
*))(var_n
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n
, var_other14
) /* == on <var_n:nullable ANode(ANode)>*/;
7849 RET_LABEL13
:(void)0;
7855 var18
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:nullable ANode(ANode)>*/;
7861 { /* Inline modelbuilder#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
7862 var21
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
7863 if (unlikely(var21
== NULL
)) {
7864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7865 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
7869 RET_LABEL20
:(void)0;
7875 var23
= "Fatal Error: ";
7877 var25
= string__NativeString__to_s_with_length(var23
, var24
);
7884 var28
= " must have a property named ";
7886 var30
= string__NativeString__to_s_with_length(var28
, var29
);
7895 var35
= string__NativeString__to_s_with_length(var33
, var34
);
7899 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
7900 { /* var36 = array_instance Array[Object] */
7902 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
7903 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var22
;
7904 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var_recv
;
7905 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var27
;
7906 ((struct instance_array__NativeArray
*)var38
)->values
[3] = (val
*) var_name
;
7907 ((struct instance_array__NativeArray
*)var38
)->values
[4] = (val
*) var32
;
7909 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
7913 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
7916 toolcontext__ToolContext__fatal_error(var19
, var_l
, var39
); /* Direct call toolcontext#ToolContext#fatal_error on <var19:ToolContext>*/
7918 PRINT_ERROR("Runtime error: %s", "Aborted");
7919 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 761);
7928 /* method modelbuilder#ModelBuilder#force_get_primitive_method for (self: Object, nullable ANode, String, MClass, MModule): MMethod */
7929 val
* VIRTUAL_modelbuilder__ModelBuilder__force_get_primitive_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
7930 val
* var
/* : MMethod */;
7931 val
* var1
/* : MMethod */;
7932 var1
= modelbuilder__ModelBuilder__force_get_primitive_method(self
, p0
, p1
, p2
, p3
);
7937 /* method modelbuilder#ModulePath#name for (self: ModulePath): String */
7938 val
* modelbuilder__ModulePath__name(val
* self
) {
7939 val
* var
/* : String */;
7940 val
* var1
/* : String */;
7941 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___name
].val
; /* _name on <self:ModulePath> */
7942 if (unlikely(var1
== NULL
)) {
7943 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7944 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 769);
7951 /* method modelbuilder#ModulePath#name for (self: Object): String */
7952 val
* VIRTUAL_modelbuilder__ModulePath__name(val
* self
) {
7953 val
* var
/* : String */;
7954 val
* var1
/* : String */;
7955 val
* var3
/* : String */;
7956 { /* Inline modelbuilder#ModulePath#name (self) on <self:Object(ModulePath)> */
7957 var3
= self
->attrs
[COLOR_modelbuilder__ModulePath___name
].val
; /* _name on <self:Object(ModulePath)> */
7958 if (unlikely(var3
== NULL
)) {
7959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7960 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 769);
7970 /* method modelbuilder#ModulePath#name= for (self: ModulePath, String) */
7971 void modelbuilder__ModulePath__name_61d(val
* self
, val
* p0
) {
7972 self
->attrs
[COLOR_modelbuilder__ModulePath___name
].val
= p0
; /* _name on <self:ModulePath> */
7975 /* method modelbuilder#ModulePath#name= for (self: Object, String) */
7976 void VIRTUAL_modelbuilder__ModulePath__name_61d(val
* self
, val
* p0
) {
7977 { /* Inline modelbuilder#ModulePath#name= (self,p0) on <self:Object(ModulePath)> */
7978 self
->attrs
[COLOR_modelbuilder__ModulePath___name
].val
= p0
; /* _name on <self:Object(ModulePath)> */
7983 /* method modelbuilder#ModulePath#filepath for (self: ModulePath): String */
7984 val
* modelbuilder__ModulePath__filepath(val
* self
) {
7985 val
* var
/* : String */;
7986 val
* var1
/* : String */;
7987 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___filepath
].val
; /* _filepath on <self:ModulePath> */
7988 if (unlikely(var1
== NULL
)) {
7989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
7990 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 773);
7997 /* method modelbuilder#ModulePath#filepath for (self: Object): String */
7998 val
* VIRTUAL_modelbuilder__ModulePath__filepath(val
* self
) {
7999 val
* var
/* : String */;
8000 val
* var1
/* : String */;
8001 val
* var3
/* : String */;
8002 { /* Inline modelbuilder#ModulePath#filepath (self) on <self:Object(ModulePath)> */
8003 var3
= self
->attrs
[COLOR_modelbuilder__ModulePath___filepath
].val
; /* _filepath on <self:Object(ModulePath)> */
8004 if (unlikely(var3
== NULL
)) {
8005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
8006 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 773);
8016 /* method modelbuilder#ModulePath#filepath= for (self: ModulePath, String) */
8017 void modelbuilder__ModulePath__filepath_61d(val
* self
, val
* p0
) {
8018 self
->attrs
[COLOR_modelbuilder__ModulePath___filepath
].val
= p0
; /* _filepath on <self:ModulePath> */
8021 /* method modelbuilder#ModulePath#filepath= for (self: Object, String) */
8022 void VIRTUAL_modelbuilder__ModulePath__filepath_61d(val
* self
, val
* p0
) {
8023 { /* Inline modelbuilder#ModulePath#filepath= (self,p0) on <self:Object(ModulePath)> */
8024 self
->attrs
[COLOR_modelbuilder__ModulePath___filepath
].val
= p0
; /* _filepath on <self:Object(ModulePath)> */
8029 /* method modelbuilder#ModulePath#mgroup for (self: ModulePath): MGroup */
8030 val
* modelbuilder__ModulePath__mgroup(val
* self
) {
8031 val
* var
/* : MGroup */;
8032 val
* var1
/* : MGroup */;
8033 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___mgroup
].val
; /* _mgroup on <self:ModulePath> */
8034 if (unlikely(var1
== NULL
)) {
8035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup");
8036 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 776);
8043 /* method modelbuilder#ModulePath#mgroup for (self: Object): MGroup */
8044 val
* VIRTUAL_modelbuilder__ModulePath__mgroup(val
* self
) {
8045 val
* var
/* : MGroup */;
8046 val
* var1
/* : MGroup */;
8047 val
* var3
/* : MGroup */;
8048 { /* Inline modelbuilder#ModulePath#mgroup (self) on <self:Object(ModulePath)> */
8049 var3
= self
->attrs
[COLOR_modelbuilder__ModulePath___mgroup
].val
; /* _mgroup on <self:Object(ModulePath)> */
8050 if (unlikely(var3
== NULL
)) {
8051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup");
8052 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 776);
8062 /* method modelbuilder#ModulePath#mgroup= for (self: ModulePath, MGroup) */
8063 void modelbuilder__ModulePath__mgroup_61d(val
* self
, val
* p0
) {
8064 self
->attrs
[COLOR_modelbuilder__ModulePath___mgroup
].val
= p0
; /* _mgroup on <self:ModulePath> */
8067 /* method modelbuilder#ModulePath#mgroup= for (self: Object, MGroup) */
8068 void VIRTUAL_modelbuilder__ModulePath__mgroup_61d(val
* self
, val
* p0
) {
8069 { /* Inline modelbuilder#ModulePath#mgroup= (self,p0) on <self:Object(ModulePath)> */
8070 self
->attrs
[COLOR_modelbuilder__ModulePath___mgroup
].val
= p0
; /* _mgroup on <self:Object(ModulePath)> */
8075 /* method modelbuilder#ModulePath#mmodule for (self: ModulePath): nullable MModule */
8076 val
* modelbuilder__ModulePath__mmodule(val
* self
) {
8077 val
* var
/* : nullable MModule */;
8078 val
* var1
/* : nullable MModule */;
8079 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___mmodule
].val
; /* _mmodule on <self:ModulePath> */
8084 /* method modelbuilder#ModulePath#mmodule for (self: Object): nullable MModule */
8085 val
* VIRTUAL_modelbuilder__ModulePath__mmodule(val
* self
) {
8086 val
* var
/* : nullable MModule */;
8087 val
* var1
/* : nullable MModule */;
8088 val
* var3
/* : nullable MModule */;
8089 { /* Inline modelbuilder#ModulePath#mmodule (self) on <self:Object(ModulePath)> */
8090 var3
= self
->attrs
[COLOR_modelbuilder__ModulePath___mmodule
].val
; /* _mmodule on <self:Object(ModulePath)> */
8098 /* method modelbuilder#ModulePath#mmodule= for (self: ModulePath, nullable MModule) */
8099 void modelbuilder__ModulePath__mmodule_61d(val
* self
, val
* p0
) {
8100 self
->attrs
[COLOR_modelbuilder__ModulePath___mmodule
].val
= p0
; /* _mmodule on <self:ModulePath> */
8103 /* method modelbuilder#ModulePath#mmodule= for (self: Object, nullable MModule) */
8104 void VIRTUAL_modelbuilder__ModulePath__mmodule_61d(val
* self
, val
* p0
) {
8105 { /* Inline modelbuilder#ModulePath#mmodule= (self,p0) on <self:Object(ModulePath)> */
8106 self
->attrs
[COLOR_modelbuilder__ModulePath___mmodule
].val
= p0
; /* _mmodule on <self:Object(ModulePath)> */
8111 /* method modelbuilder#ModulePath#to_s for (self: ModulePath): String */
8112 val
* modelbuilder__ModulePath__to_s(val
* self
) {
8113 val
* var
/* : String */;
8114 val
* var1
/* : String */;
8115 val
* var3
/* : String */;
8117 { /* Inline modelbuilder#ModulePath#filepath (self) on <self:ModulePath> */
8118 var3
= self
->attrs
[COLOR_modelbuilder__ModulePath___filepath
].val
; /* _filepath on <self:ModulePath> */
8119 if (unlikely(var3
== NULL
)) {
8120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
8121 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 773);
8133 /* method modelbuilder#ModulePath#to_s for (self: Object): String */
8134 val
* VIRTUAL_modelbuilder__ModulePath__to_s(val
* self
) {
8135 val
* var
/* : String */;
8136 val
* var1
/* : String */;
8137 var1
= modelbuilder__ModulePath__to_s(self
);
8142 /* method modelbuilder#ModulePath#init for (self: ModulePath) */
8143 void modelbuilder__ModulePath__init(val
* self
) {
8145 ((void (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModulePath__init
]))(self
) /* init on <self:ModulePath>*/;
8149 /* method modelbuilder#ModulePath#init for (self: Object) */
8150 void VIRTUAL_modelbuilder__ModulePath__init(val
* self
) {
8151 { /* Inline modelbuilder#ModulePath#init (self) on <self:Object(ModulePath)> */
8153 ((void (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModulePath__init
]))(self
) /* init on <self:Object(ModulePath)>*/;
8159 /* method modelbuilder#MGroup#module_paths for (self: MGroup): Array[ModulePath] */
8160 val
* modelbuilder__MGroup__module_paths(val
* self
) {
8161 val
* var
/* : Array[ModulePath] */;
8162 val
* var1
/* : Array[ModulePath] */;
8163 var1
= self
->attrs
[COLOR_modelbuilder__MGroup___module_paths
].val
; /* _module_paths on <self:MGroup> */
8164 if (unlikely(var1
== NULL
)) {
8165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _module_paths");
8166 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 786);
8173 /* method modelbuilder#MGroup#module_paths for (self: Object): Array[ModulePath] */
8174 val
* VIRTUAL_modelbuilder__MGroup__module_paths(val
* self
) {
8175 val
* var
/* : Array[ModulePath] */;
8176 val
* var1
/* : Array[ModulePath] */;
8177 val
* var3
/* : Array[ModulePath] */;
8178 { /* Inline modelbuilder#MGroup#module_paths (self) on <self:Object(MGroup)> */
8179 var3
= self
->attrs
[COLOR_modelbuilder__MGroup___module_paths
].val
; /* _module_paths on <self:Object(MGroup)> */
8180 if (unlikely(var3
== NULL
)) {
8181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _module_paths");
8182 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 786);
8192 /* method modelbuilder#AStdImport#mmodule for (self: AStdImport): nullable MModule */
8193 val
* modelbuilder__AStdImport__mmodule(val
* self
) {
8194 val
* var
/* : nullable MModule */;
8195 val
* var1
/* : nullable MModule */;
8196 var1
= self
->attrs
[COLOR_modelbuilder__AStdImport___mmodule
].val
; /* _mmodule on <self:AStdImport> */
8201 /* method modelbuilder#AStdImport#mmodule for (self: Object): nullable MModule */
8202 val
* VIRTUAL_modelbuilder__AStdImport__mmodule(val
* self
) {
8203 val
* var
/* : nullable MModule */;
8204 val
* var1
/* : nullable MModule */;
8205 val
* var3
/* : nullable MModule */;
8206 { /* Inline modelbuilder#AStdImport#mmodule (self) on <self:Object(AStdImport)> */
8207 var3
= self
->attrs
[COLOR_modelbuilder__AStdImport___mmodule
].val
; /* _mmodule on <self:Object(AStdImport)> */
8215 /* method modelbuilder#AStdImport#mmodule= for (self: AStdImport, nullable MModule) */
8216 void modelbuilder__AStdImport__mmodule_61d(val
* self
, val
* p0
) {
8217 self
->attrs
[COLOR_modelbuilder__AStdImport___mmodule
].val
= p0
; /* _mmodule on <self:AStdImport> */
8220 /* method modelbuilder#AStdImport#mmodule= for (self: Object, nullable MModule) */
8221 void VIRTUAL_modelbuilder__AStdImport__mmodule_61d(val
* self
, val
* p0
) {
8222 { /* Inline modelbuilder#AStdImport#mmodule= (self,p0) on <self:Object(AStdImport)> */
8223 self
->attrs
[COLOR_modelbuilder__AStdImport___mmodule
].val
= p0
; /* _mmodule on <self:Object(AStdImport)> */
8228 /* method modelbuilder#AModule#mmodule for (self: AModule): nullable MModule */
8229 val
* modelbuilder__AModule__mmodule(val
* self
) {
8230 val
* var
/* : nullable MModule */;
8231 val
* var1
/* : nullable MModule */;
8232 var1
= self
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
; /* _mmodule on <self:AModule> */
8237 /* method modelbuilder#AModule#mmodule for (self: Object): nullable MModule */
8238 val
* VIRTUAL_modelbuilder__AModule__mmodule(val
* self
) {
8239 val
* var
/* : nullable MModule */;
8240 val
* var1
/* : nullable MModule */;
8241 val
* var3
/* : nullable MModule */;
8242 { /* Inline modelbuilder#AModule#mmodule (self) on <self:Object(AModule)> */
8243 var3
= self
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
; /* _mmodule on <self:Object(AModule)> */
8251 /* method modelbuilder#AModule#mmodule= for (self: AModule, nullable MModule) */
8252 void modelbuilder__AModule__mmodule_61d(val
* self
, val
* p0
) {
8253 self
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
= p0
; /* _mmodule on <self:AModule> */
8256 /* method modelbuilder#AModule#mmodule= for (self: Object, nullable MModule) */
8257 void VIRTUAL_modelbuilder__AModule__mmodule_61d(val
* self
, val
* p0
) {
8258 { /* Inline modelbuilder#AModule#mmodule= (self,p0) on <self:Object(AModule)> */
8259 self
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
= p0
; /* _mmodule on <self:Object(AModule)> */
8264 /* method modelbuilder#AModule#is_importation_done for (self: AModule): Bool */
8265 short int modelbuilder__AModule__is_importation_done(val
* self
) {
8266 short int var
/* : Bool */;
8267 short int var1
/* : Bool */;
8268 var1
= self
->attrs
[COLOR_modelbuilder__AModule___is_importation_done
].s
; /* _is_importation_done on <self:AModule> */
8273 /* method modelbuilder#AModule#is_importation_done for (self: Object): Bool */
8274 short int VIRTUAL_modelbuilder__AModule__is_importation_done(val
* self
) {
8275 short int var
/* : Bool */;
8276 short int var1
/* : Bool */;
8277 short int var3
/* : Bool */;
8278 { /* Inline modelbuilder#AModule#is_importation_done (self) on <self:Object(AModule)> */
8279 var3
= self
->attrs
[COLOR_modelbuilder__AModule___is_importation_done
].s
; /* _is_importation_done on <self:Object(AModule)> */
8287 /* method modelbuilder#AModule#is_importation_done= for (self: AModule, Bool) */
8288 void modelbuilder__AModule__is_importation_done_61d(val
* self
, short int p0
) {
8289 self
->attrs
[COLOR_modelbuilder__AModule___is_importation_done
].s
= p0
; /* _is_importation_done on <self:AModule> */
8292 /* method modelbuilder#AModule#is_importation_done= for (self: Object, Bool) */
8293 void VIRTUAL_modelbuilder__AModule__is_importation_done_61d(val
* self
, short int p0
) {
8294 { /* Inline modelbuilder#AModule#is_importation_done= (self,p0) on <self:Object(AModule)> */
8295 self
->attrs
[COLOR_modelbuilder__AModule___is_importation_done
].s
= p0
; /* _is_importation_done on <self:Object(AModule)> */
8300 /* method modelbuilder#AIntrudeVisibility#mvisibility for (self: AIntrudeVisibility): MVisibility */
8301 val
* modelbuilder__AIntrudeVisibility__mvisibility(val
* self
) {
8302 val
* var
/* : MVisibility */;
8303 val
* var1
/* : MVisibility */;
8305 var1
= model_base__Object__intrude_visibility(self
);
8312 /* method modelbuilder#AIntrudeVisibility#mvisibility for (self: Object): MVisibility */
8313 val
* VIRTUAL_modelbuilder__AIntrudeVisibility__mvisibility(val
* self
) {
8314 val
* var
/* : MVisibility */;
8315 val
* var1
/* : MVisibility */;
8316 var1
= modelbuilder__AIntrudeVisibility__mvisibility(self
);
8321 /* method modelbuilder#APublicVisibility#mvisibility for (self: APublicVisibility): MVisibility */
8322 val
* modelbuilder__APublicVisibility__mvisibility(val
* self
) {
8323 val
* var
/* : MVisibility */;
8324 val
* var1
/* : MVisibility */;
8326 var1
= model_base__Object__public_visibility(self
);
8333 /* method modelbuilder#APublicVisibility#mvisibility for (self: Object): MVisibility */
8334 val
* VIRTUAL_modelbuilder__APublicVisibility__mvisibility(val
* self
) {
8335 val
* var
/* : MVisibility */;
8336 val
* var1
/* : MVisibility */;
8337 var1
= modelbuilder__APublicVisibility__mvisibility(self
);
8342 /* method modelbuilder#AProtectedVisibility#mvisibility for (self: AProtectedVisibility): MVisibility */
8343 val
* modelbuilder__AProtectedVisibility__mvisibility(val
* self
) {
8344 val
* var
/* : MVisibility */;
8345 val
* var1
/* : MVisibility */;
8347 var1
= model_base__Object__protected_visibility(self
);
8354 /* method modelbuilder#AProtectedVisibility#mvisibility for (self: Object): MVisibility */
8355 val
* VIRTUAL_modelbuilder__AProtectedVisibility__mvisibility(val
* self
) {
8356 val
* var
/* : MVisibility */;
8357 val
* var1
/* : MVisibility */;
8358 var1
= modelbuilder__AProtectedVisibility__mvisibility(self
);
8363 /* method modelbuilder#APrivateVisibility#mvisibility for (self: APrivateVisibility): MVisibility */
8364 val
* modelbuilder__APrivateVisibility__mvisibility(val
* self
) {
8365 val
* var
/* : MVisibility */;
8366 val
* var1
/* : MVisibility */;
8368 var1
= model_base__Object__private_visibility(self
);
8375 /* method modelbuilder#APrivateVisibility#mvisibility for (self: Object): MVisibility */
8376 val
* VIRTUAL_modelbuilder__APrivateVisibility__mvisibility(val
* self
) {
8377 val
* var
/* : MVisibility */;
8378 val
* var1
/* : MVisibility */;
8379 var1
= modelbuilder__APrivateVisibility__mvisibility(self
);
8384 /* method modelbuilder#ADoc#mdoc_cache for (self: ADoc): nullable MDoc */
8385 val
* modelbuilder__ADoc__mdoc_cache(val
* self
) {
8386 val
* var
/* : nullable MDoc */;
8387 val
* var1
/* : nullable MDoc */;
8388 var1
= self
->attrs
[COLOR_modelbuilder__ADoc___mdoc_cache
].val
; /* _mdoc_cache on <self:ADoc> */
8393 /* method modelbuilder#ADoc#mdoc_cache for (self: Object): nullable MDoc */
8394 val
* VIRTUAL_modelbuilder__ADoc__mdoc_cache(val
* self
) {
8395 val
* var
/* : nullable MDoc */;
8396 val
* var1
/* : nullable MDoc */;
8397 val
* var3
/* : nullable MDoc */;
8398 { /* Inline modelbuilder#ADoc#mdoc_cache (self) on <self:Object(ADoc)> */
8399 var3
= self
->attrs
[COLOR_modelbuilder__ADoc___mdoc_cache
].val
; /* _mdoc_cache on <self:Object(ADoc)> */
8407 /* method modelbuilder#ADoc#mdoc_cache= for (self: ADoc, nullable MDoc) */
8408 void modelbuilder__ADoc__mdoc_cache_61d(val
* self
, val
* p0
) {
8409 self
->attrs
[COLOR_modelbuilder__ADoc___mdoc_cache
].val
= p0
; /* _mdoc_cache on <self:ADoc> */
8412 /* method modelbuilder#ADoc#mdoc_cache= for (self: Object, nullable MDoc) */
8413 void VIRTUAL_modelbuilder__ADoc__mdoc_cache_61d(val
* self
, val
* p0
) {
8414 { /* Inline modelbuilder#ADoc#mdoc_cache= (self,p0) on <self:Object(ADoc)> */
8415 self
->attrs
[COLOR_modelbuilder__ADoc___mdoc_cache
].val
= p0
; /* _mdoc_cache on <self:Object(ADoc)> */
8420 /* method modelbuilder#ADoc#to_mdoc for (self: ADoc): MDoc */
8421 val
* modelbuilder__ADoc__to_mdoc(val
* self
) {
8422 val
* var
/* : MDoc */;
8423 val
* var1
/* : nullable MDoc */;
8424 val
* var3
/* : nullable MDoc */;
8425 val
* var_res
/* var res: nullable MDoc */;
8426 val
* var4
/* : null */;
8427 short int var5
/* : Bool */;
8428 short int var6
/* : Bool */;
8429 val
* var_other
/* var other: nullable Object */;
8430 short int var8
/* : Bool */;
8431 short int var9
/* : Bool */;
8432 short int var10
/* : Bool */;
8433 val
* var11
/* : MDoc */;
8434 val
* var12
/* : ANodes[TComment] */;
8435 val
* var14
/* : ANodes[TComment] */;
8436 val
* var_
/* var : ANodes[TComment] */;
8437 val
* var15
/* : Iterator[ANode] */;
8438 val
* var_16
/* var : Iterator[TComment] */;
8439 short int var17
/* : Bool */;
8440 val
* var18
/* : nullable Object */;
8441 val
* var_c
/* var c: TComment */;
8442 val
* var19
/* : String */;
8443 val
* var_text
/* var text: String */;
8444 long var20
/* : Int */;
8445 long var22
/* : Int */;
8446 long var23
/* : Int */;
8447 short int var24
/* : Bool */;
8448 short int var26
/* : Bool */;
8451 const char* var_class_name
;
8452 short int var27
/* : Bool */;
8453 val
* var28
/* : Array[String] */;
8454 val
* var30
/* : Array[String] */;
8455 static val
* varonce
;
8456 val
* var31
/* : String */;
8457 char* var32
/* : NativeString */;
8458 long var33
/* : Int */;
8459 val
* var34
/* : FlatString */;
8460 val
* var35
/* : SequenceRead[Char] */;
8461 val
* var37
/* : SequenceRead[Char] */;
8462 long var38
/* : Int */;
8463 val
* var39
/* : nullable Object */;
8464 char var40
/* : Char */;
8465 short int var41
/* : Bool */;
8466 short int var42
/* : Bool */;
8467 short int var44
/* : Bool */;
8468 char var45
/* : Char */;
8469 val
* var46
/* : SequenceRead[Char] */;
8470 val
* var48
/* : SequenceRead[Char] */;
8471 long var49
/* : Int */;
8472 val
* var50
/* : nullable Object */;
8473 char var51
/* : Char */;
8474 short int var52
/* : Bool */;
8475 short int var53
/* : Bool */;
8476 short int var55
/* : Bool */;
8477 char var56
/* : Char */;
8478 long var57
/* : Int */;
8479 val
* var58
/* : Text */;
8480 long var59
/* : Int */;
8481 val
* var60
/* : Text */;
8482 val
* var61
/* : SequenceRead[Char] */;
8483 val
* var63
/* : SequenceRead[Char] */;
8484 val
* var64
/* : nullable Object */;
8485 char var65
/* : Char */;
8486 short int var66
/* : Bool */;
8487 short int var67
/* : Bool */;
8488 short int var69
/* : Bool */;
8489 char var70
/* : Char */;
8490 long var71
/* : Int */;
8491 long var72
/* : Int */;
8492 long var74
/* : Int */;
8493 long var75
/* : Int */;
8494 long var76
/* : Int */;
8495 short int var78
/* : Bool */;
8498 const char* var_class_name81
;
8499 long var82
/* : Int */;
8500 val
* var83
/* : String */;
8501 val
* var84
/* : Array[String] */;
8502 val
* var86
/* : Array[String] */;
8504 { /* Inline modelbuilder#ADoc#mdoc_cache (self) on <self:ADoc> */
8505 var3
= self
->attrs
[COLOR_modelbuilder__ADoc___mdoc_cache
].val
; /* _mdoc_cache on <self:ADoc> */
8512 if (var_res
== NULL
) {
8513 var5
= 0; /* is null */
8515 var5
= 1; /* arg is null and recv is not */
8518 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable MDoc> */
8521 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable MDoc(MDoc)>*/;
8536 var11
= NEW_mdoc__MDoc(&type_mdoc__MDoc
);
8538 ((void (*)(val
*))(var11
->class->vft
[COLOR_kernel__Object__init
]))(var11
) /* init on <var11:MDoc>*/;
8542 { /* Inline parser_nodes#ADoc#n_comment (self) on <self:ADoc> */
8543 var14
= self
->attrs
[COLOR_parser_nodes__ADoc___n_comment
].val
; /* _n_comment on <self:ADoc> */
8544 if (unlikely(var14
== NULL
)) {
8545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment");
8546 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 2019);
8550 RET_LABEL13
:(void)0;
8555 var15
= parser_nodes__ANodes__iterator(var_
);
8560 var17
= ((short int (*)(val
*))(var_16
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_16
) /* is_ok on <var_16:Iterator[TComment]>*/;
8564 var18
= ((val
* (*)(val
*))(var_16
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_16
) /* item on <var_16:Iterator[TComment]>*/;
8568 var19
= lexer_work__Token__text(var_c
);
8572 { /* Inline string#FlatText#length (var_text) on <var_text:String> */
8573 var22
= var_text
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_text:String> */
8575 RET_LABEL21
:(void)0;
8580 { /* Inline kernel#Int#< (var20,var23) on <var20:Int> */
8581 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
8582 /* <var23:Int> isa OTHER */
8583 var26
= 1; /* easy <var23:Int> isa OTHER*/
8584 if (unlikely(!var26
)) {
8585 var_class_name
= type_kernel__Int
.name
;
8586 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8587 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
8590 var27
= var20
< var23
;
8593 RET_LABEL25
:(void)0;
8598 { /* Inline mdoc#MDoc#content (var_res) on <var_res:nullable MDoc(MDoc)> */
8599 var30
= var_res
->attrs
[COLOR_mdoc__MDoc___content
].val
; /* _content on <var_res:nullable MDoc(MDoc)> */
8600 if (unlikely(var30
== NULL
)) {
8601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
8602 PRINT_ERROR(" (%s:%d)\n", "model/mdoc.nit", 22);
8606 RET_LABEL29
:(void)0;
8614 var34
= string__NativeString__to_s_with_length(var32
, var33
);
8619 array__Array__add(var28
, var31
); /* Direct call array#Array#add on <var28:Array[String]>*/
8625 { /* Inline string#FlatString#chars (var_text) on <var_text:String> */
8626 var37
= var_text
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_text:String> */
8627 if (unlikely(var37
== NULL
)) {
8628 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
8629 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
8633 RET_LABEL36
:(void)0;
8638 var39
= ((val
* (*)(val
*, long))(var35
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var35
, var38
) /* [] on <var35:SequenceRead[Char]>*/;
8642 { /* Inline kernel#Char#== (var39,var40) on <var39:nullable Object(Char)> */
8643 var44
= (var39
!= NULL
) && (var39
->class == &class_kernel__Char
);
8645 var45
= ((struct instance_kernel__Char
*)var39
)->value
; /* autounbox from nullable Object to Char */;
8646 var44
= (var45
== var40
);
8650 RET_LABEL43
:(void)0;
8654 if (unlikely(!var41
)) {
8655 PRINT_ERROR("Runtime error: %s", "Assert failed");
8656 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 832);
8660 { /* Inline string#FlatString#chars (var_text) on <var_text:String> */
8661 var48
= var_text
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_text:String> */
8662 if (unlikely(var48
== NULL
)) {
8663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
8664 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
8668 RET_LABEL47
:(void)0;
8673 var50
= ((val
* (*)(val
*, long))(var46
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var46
, var49
) /* [] on <var46:SequenceRead[Char]>*/;
8677 { /* Inline kernel#Char#== (var50,var51) on <var50:nullable Object(Char)> */
8678 var55
= (var50
!= NULL
) && (var50
->class == &class_kernel__Char
);
8680 var56
= ((struct instance_kernel__Char
*)var50
)->value
; /* autounbox from nullable Object to Char */;
8681 var55
= (var56
== var51
);
8685 RET_LABEL54
:(void)0;
8692 var58
= string__Text__substring_from(var_text
, var57
);
8698 var60
= string__Text__substring_from(var_text
, var59
);
8703 { /* Inline string#FlatString#chars (var_text) on <var_text:String> */
8704 var63
= var_text
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_text:String> */
8705 if (unlikely(var63
== NULL
)) {
8706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
8707 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939);
8711 RET_LABEL62
:(void)0;
8715 var64
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var61
) /* last on <var61:SequenceRead[Char]>*/;
8719 { /* Inline kernel#Char#== (var64,var65) on <var64:nullable Object(Char)> */
8720 var69
= (var64
!= NULL
) && (var64
->class == &class_kernel__Char
);
8722 var70
= ((struct instance_kernel__Char
*)var64
)->value
; /* autounbox from nullable Object to Char */;
8723 var69
= (var70
== var65
);
8727 RET_LABEL68
:(void)0;
8734 { /* Inline string#FlatText#length (var_text) on <var_text:String> */
8735 var74
= var_text
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_text:String> */
8737 RET_LABEL73
:(void)0;
8742 { /* Inline kernel#Int#- (var72,var75) on <var72:Int> */
8743 /* Covariant cast for argument 0 (i) <var75:Int> isa OTHER */
8744 /* <var75:Int> isa OTHER */
8745 var78
= 1; /* easy <var75:Int> isa OTHER*/
8746 if (unlikely(!var78
)) {
8747 var_class_name81
= type_kernel__Int
.name
;
8748 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
8749 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
8752 var82
= var72
- var75
;
8755 RET_LABEL77
:(void)0;
8759 var83
= string__FlatString__substring(var_text
, var71
, var76
);
8765 { /* Inline mdoc#MDoc#content (var_res) on <var_res:nullable MDoc(MDoc)> */
8766 var86
= var_res
->attrs
[COLOR_mdoc__MDoc___content
].val
; /* _content on <var_res:nullable MDoc(MDoc)> */
8767 if (unlikely(var86
== NULL
)) {
8768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
8769 PRINT_ERROR(" (%s:%d)\n", "model/mdoc.nit", 22);
8773 RET_LABEL85
:(void)0;
8777 array__Array__add(var84
, var_text
); /* Direct call array#Array#add on <var84:Array[String]>*/
8779 BREAK_label
: (void)0;
8781 ((void (*)(val
*))(var_16
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_16
) /* next on <var_16:Iterator[TComment]>*/;
8787 BREAK_label87
: (void)0;
8789 { /* Inline abstract_collection#Iterator#finish (var_16) on <var_16:Iterator[TComment]> */
8790 RET_LABEL88
:(void)0;
8794 { /* Inline modelbuilder#ADoc#mdoc_cache= (self,var_res) on <self:ADoc> */
8795 self
->attrs
[COLOR_modelbuilder__ADoc___mdoc_cache
].val
= var_res
; /* _mdoc_cache on <self:ADoc> */
8796 RET_LABEL89
:(void)0;
8804 /* method modelbuilder#ADoc#to_mdoc for (self: Object): MDoc */
8805 val
* VIRTUAL_modelbuilder__ADoc__to_mdoc(val
* self
) {
8806 val
* var
/* : MDoc */;
8807 val
* var1
/* : MDoc */;
8808 var1
= modelbuilder__ADoc__to_mdoc(self
);