1 #include "nit__loader.sep.0.h"
2 /* method loader#ToolContext#opt_path for (self: ToolContext): OptionArray */
3 val
* nit__loader___ToolContext___opt_path(val
* self
) {
4 val
* var
/* : OptionArray */;
5 val
* var1
/* : OptionArray */;
6 var1
= self
->attrs
[COLOR_nit__loader__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", FILE_nit__loader
, 23);
16 /* method loader#ToolContext#opt_only_metamodel for (self: ToolContext): OptionBool */
17 val
* nit__loader___ToolContext___opt_only_metamodel(val
* self
) {
18 val
* var
/* : OptionBool */;
19 val
* var1
/* : OptionBool */;
20 var1
= self
->attrs
[COLOR_nit__loader__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:ToolContext> */
21 if (unlikely(var1
== NULL
)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
23 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 26);
30 /* method loader#ToolContext#opt_only_parse for (self: ToolContext): OptionBool */
31 val
* nit__loader___ToolContext___opt_only_parse(val
* self
) {
32 val
* var
/* : OptionBool */;
33 val
* var1
/* : OptionBool */;
34 var1
= self
->attrs
[COLOR_nit__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:ToolContext> */
35 if (unlikely(var1
== NULL
)) {
36 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
37 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 29);
44 /* method loader#ToolContext#init for (self: ToolContext) */
45 void nit__loader___ToolContext___standard__kernel__Object__init(val
* self
) {
46 val
* var
/* : OptionContext */;
47 val
* var2
/* : OptionContext */;
48 val
* var3
/* : OptionArray */;
49 val
* var5
/* : OptionArray */;
50 val
* var6
/* : OptionBool */;
51 val
* var8
/* : OptionBool */;
52 val
* var9
/* : OptionBool */;
53 val
* var11
/* : OptionBool */;
54 val
* var12
/* : Array[Option] */;
55 long var13
/* : Int */;
56 val
* var14
/* : NativeArray[Option] */;
58 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__loader___ToolContext___standard__kernel__Object__init
]))(self
) /* init on <self:ToolContext>*/;
61 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
62 var2
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
63 if (unlikely(var2
== NULL
)) {
64 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
65 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
73 { /* Inline loader#ToolContext#opt_path (self) on <self:ToolContext> */
74 var5
= self
->attrs
[COLOR_nit__loader__ToolContext___opt_path
].val
; /* _opt_path on <self:ToolContext> */
75 if (unlikely(var5
== NULL
)) {
76 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
77 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 23);
85 { /* Inline loader#ToolContext#opt_only_parse (self) on <self:ToolContext> */
86 var8
= self
->attrs
[COLOR_nit__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:ToolContext> */
87 if (unlikely(var8
== NULL
)) {
88 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
89 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 29);
97 { /* Inline loader#ToolContext#opt_only_metamodel (self) on <self:ToolContext> */
98 var11
= self
->attrs
[COLOR_nit__loader__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:ToolContext> */
99 if (unlikely(var11
== NULL
)) {
100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 26);
108 var12
= NEW_standard__Array(&type_standard__Array__opts__Option
);
109 { /* var12 = array_instance Array[Option] */
111 var14
= NEW_standard__NativeArray(var13
, &type_standard__NativeArray__opts__Option
);
112 ((struct instance_standard__NativeArray
*)var14
)->values
[0] = (val
*) var3
;
113 ((struct instance_standard__NativeArray
*)var14
)->values
[1] = (val
*) var6
;
114 ((struct instance_standard__NativeArray
*)var14
)->values
[2] = (val
*) var9
;
116 ((void (*)(val
* self
, val
* p0
, long p1
))(var12
->class->vft
[COLOR_standard__array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[Option]>*/;
120 opts___opts__OptionContext___add_option(var
, var12
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
124 /* method loader#ModelBuilder#init for (self: ModelBuilder) */
125 void nit__loader___ModelBuilder___standard__kernel__Object__init(val
* self
) {
126 val
* var
/* : Array[String] */;
127 val
* var2
/* : Array[String] */;
128 val
* var3
/* : ToolContext */;
129 val
* var5
/* : ToolContext */;
130 val
* var6
/* : OptionArray */;
131 val
* var8
/* : OptionArray */;
132 val
* var9
/* : nullable Object */;
133 val
* var11
/* : nullable Object */;
135 val
* var12
/* : String */;
136 char* var13
/* : NativeString */;
137 long var14
/* : Int */;
138 val
* var15
/* : FlatString */;
139 val
* var16
/* : String */;
140 val
* var_path_env
/* var path_env: String */;
141 short int var17
/* : Bool */;
142 short int var18
/* : Bool */;
143 val
* var19
/* : Array[String] */;
144 val
* var21
/* : Array[String] */;
145 char var22
/* : Char */;
146 val
* var23
/* : Array[String] */;
147 val
* var24
/* : Pattern */;
148 val
* var25
/* : ToolContext */;
149 val
* var27
/* : ToolContext */;
150 val
* var28
/* : String */;
151 val
* var30
/* : String */;
152 val
* var_nit_dir
/* var nit_dir: String */;
153 static val
* varonce31
;
154 val
* var32
/* : String */;
155 char* var33
/* : NativeString */;
156 long var34
/* : Int */;
157 val
* var35
/* : FlatString */;
158 val
* var36
/* : Array[Object] */;
159 long var37
/* : Int */;
160 val
* var38
/* : NativeArray[Object] */;
161 val
* var39
/* : String */;
162 val
* var_libname
/* var libname: String */;
163 short int var40
/* : Bool */;
164 val
* var41
/* : Array[String] */;
165 val
* var43
/* : Array[String] */;
167 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__loader___ModelBuilder___standard__kernel__Object__init
]))(self
) /* init on <self:ModelBuilder>*/;
170 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
171 var2
= self
->attrs
[COLOR_nit__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
172 if (unlikely(var2
== NULL
)) {
173 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
174 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 146);
182 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
183 var5
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
184 if (unlikely(var5
== NULL
)) {
185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
186 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
194 { /* Inline loader#ToolContext#opt_path (var3) on <var3:ToolContext> */
195 var8
= var3
->attrs
[COLOR_nit__loader__ToolContext___opt_path
].val
; /* _opt_path on <var3:ToolContext> */
196 if (unlikely(var8
== NULL
)) {
197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
198 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 23);
206 { /* Inline opts#Option#value (var6) on <var6:OptionArray> */
207 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionArray> */
213 standard___standard__Sequence___append(var
, var9
); /* Direct call abstract_collection#Sequence#append on <var:Array[String]>*/
220 var15
= standard___standard__NativeString___to_s_with_length(var13
, var14
);
225 var16
= standard__environ___String___environ(var12
);
227 var_path_env
= var16
;
229 var17
= standard___standard__Text___is_empty(var_path_env
);
234 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
235 var21
= self
->attrs
[COLOR_nit__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
236 if (unlikely(var21
== NULL
)) {
237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 146);
247 var24
= BOX_standard__Char(var22
); /* autobox from Char to Pattern */
248 var23
= standard__string_search___Text___split_with(var_path_env
, var24
);
251 standard___standard__Sequence___append(var19
, var23
); /* Direct call abstract_collection#Sequence#append on <var19:Array[String]>*/
256 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
257 var27
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
258 if (unlikely(var27
== NULL
)) {
259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
268 { /* Inline toolcontext#ToolContext#nit_dir (var25) on <var25:ToolContext> */
269 var30
= var25
->attrs
[COLOR_nit__toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var25:ToolContext> */
270 if (unlikely(var30
== NULL
)) {
271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nit_dir");
272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 452);
285 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
289 var36
= NEW_standard__Array(&type_standard__Array__standard__Object
);
290 { /* var36 = array_instance Array[Object] */
292 var38
= NEW_standard__NativeArray(var37
, &type_standard__NativeArray__standard__Object
);
293 ((struct instance_standard__NativeArray
*)var38
)->values
[0] = (val
*) var_nit_dir
;
294 ((struct instance_standard__NativeArray
*)var38
)->values
[1] = (val
*) var32
;
296 ((void (*)(val
* self
, val
* p0
, long p1
))(var36
->class->vft
[COLOR_standard__array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
300 var39
= ((val
* (*)(val
* self
))(var36
->class->vft
[COLOR_standard__string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
304 var40
= standard__file___String___file_exists(var_libname
);
308 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
309 var43
= self
->attrs
[COLOR_nit__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
310 if (unlikely(var43
== NULL
)) {
311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 146);
320 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var41
, var_libname
); /* Direct call array#Array#add on <var41:Array[String]>*/
326 /* method loader#ModelBuilder#parse for (self: ModelBuilder, Sequence[String]): Array[MModule] */
327 val
* nit__loader___ModelBuilder___parse(val
* self
, val
* p0
) {
328 val
* var
/* : Array[MModule] */;
329 val
* var_modules
/* var modules: Sequence[String] */;
330 long var1
/* : Int */;
331 long var3
/* : Int for extern */;
332 long var_time0
/* var time0: Int */;
333 val
* var4
/* : ToolContext */;
334 val
* var6
/* : ToolContext */;
336 val
* var7
/* : String */;
337 char* var8
/* : NativeString */;
338 long var9
/* : Int */;
339 val
* var10
/* : FlatString */;
340 long var11
/* : Int */;
341 val
* var12
/* : ArraySet[MModule] */;
342 val
* var_mmodules
/* var mmodules: ArraySet[MModule] */;
343 val
* var_
/* var : Sequence[String] */;
344 val
* var13
/* : Iterator[nullable Object] */;
345 val
* var_14
/* var : IndexedIterator[String] */;
346 short int var15
/* : Bool */;
347 val
* var16
/* : nullable Object */;
348 val
* var_a
/* var a: String */;
349 val
* var17
/* : nullable AModule */;
350 val
* var_nmodule
/* var nmodule: nullable AModule */;
351 val
* var18
/* : null */;
352 short int var19
/* : Bool */;
353 short int var20
/* : Bool */;
354 val
* var_other
/* var other: nullable Object */;
355 short int var22
/* : Bool */;
356 short int var24
/* : Bool */;
357 val
* var25
/* : nullable MModule */;
358 val
* var27
/* : nullable MModule */;
359 long var30
/* : Int */;
360 long var32
/* : Int for extern */;
361 long var_time1
/* var time1: Int */;
362 val
* var33
/* : ToolContext */;
363 val
* var35
/* : ToolContext */;
364 static val
* varonce36
;
365 val
* var37
/* : String */;
366 char* var38
/* : NativeString */;
367 long var39
/* : Int */;
368 val
* var40
/* : FlatString */;
369 long var41
/* : Int */;
370 short int var43
/* : Bool */;
373 const char* var_class_name
;
374 long var44
/* : Int */;
375 static val
* varonce45
;
376 val
* var46
/* : String */;
377 char* var47
/* : NativeString */;
378 long var48
/* : Int */;
379 val
* var49
/* : FlatString */;
380 val
* var50
/* : Array[Object] */;
381 long var51
/* : Int */;
382 val
* var52
/* : NativeArray[Object] */;
383 val
* var53
/* : Object */;
384 val
* var54
/* : String */;
385 long var55
/* : Int */;
386 val
* var56
/* : ToolContext */;
387 val
* var58
/* : ToolContext */;
388 short int var59
/* : Bool */;
389 val
* var60
/* : ToolContext */;
390 val
* var62
/* : ToolContext */;
391 val
* var63
/* : OptionBool */;
392 val
* var65
/* : OptionBool */;
393 val
* var66
/* : nullable Object */;
394 val
* var68
/* : nullable Object */;
395 short int var69
/* : Bool */;
396 val
* var70
/* : ToolContext */;
397 val
* var72
/* : ToolContext */;
398 static val
* varonce73
;
399 val
* var74
/* : String */;
400 char* var75
/* : NativeString */;
401 long var76
/* : Int */;
402 val
* var77
/* : FlatString */;
403 long var78
/* : Int */;
404 long var79
/* : Int */;
405 val
* var81
/* : Array[nullable Object] */;
408 { /* Inline time#Object#get_time (self) on <self:ModelBuilder> */
409 var3
= kernel_Any_Any_get_time_0(self
);
417 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
418 var6
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
419 if (unlikely(var6
== NULL
)) {
420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
421 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
431 var8
= "*** PARSE ***";
433 var10
= standard___standard__NativeString___to_s_with_length(var8
, var9
);
439 nit___nit__ToolContext___info(var4
, var7
, var11
); /* Direct call toolcontext#ToolContext#info on <var4:ToolContext>*/
441 var12
= NEW_standard__ArraySet(&type_standard__ArraySet__nit__MModule
);
443 standard___standard__ArraySet___standard__kernel__Object__init(var12
); /* Direct call array#ArraySet#init on <var12:ArraySet[MModule]>*/
445 var_mmodules
= var12
;
448 var13
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Sequence[String]>*/;
453 var15
= ((short int (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_14
) /* is_ok on <var_14:IndexedIterator[String]>*/;
457 var16
= ((val
* (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_14
) /* item on <var_14:IndexedIterator[String]>*/;
461 var17
= nit__loader___ModelBuilder___load_module(self
, var_a
);
465 if (var_nmodule
== NULL
) {
466 var19
= 1; /* is null */
468 var19
= 0; /* arg is null but recv is not */
471 { /* Inline kernel#Object#== (var_nmodule,var18) on <var_nmodule:nullable AModule> */
474 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
475 var24
= var_nmodule
== var_other
;
492 nit__loader___ModelBuilder___build_module_importation(self
, var_nmodule
); /* Direct call loader#ModelBuilder#build_module_importation on <self:ModelBuilder>*/
495 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:nullable AModule(AModule)> */
496 var27
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:nullable AModule(AModule)> */
501 if (unlikely(var25
== NULL
)) {
502 PRINT_ERROR("Runtime error: %s", "Cast failed");
503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 76);
507 standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(var_mmodules
, var25
); /* Direct call array#ArraySet#add on <var_mmodules:ArraySet[MModule]>*/
509 BREAK_label
: (void)0;
511 ((void (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_14
) /* next on <var_14:IndexedIterator[String]>*/;
517 BREAK_label28
: (void)0;
519 { /* Inline abstract_collection#Iterator#finish (var_14) on <var_14:IndexedIterator[String]> */
524 { /* Inline time#Object#get_time (self) on <self:ModelBuilder> */
525 var32
= kernel_Any_Any_get_time_0(self
);
533 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
534 var35
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
535 if (unlikely(var35
== NULL
)) {
536 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
547 var38
= "*** END PARSE: ";
549 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
554 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
555 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
556 /* <var_time0:Int> isa OTHER */
557 var43
= 1; /* easy <var_time0:Int> isa OTHER*/
558 if (unlikely(!var43
)) {
559 var_class_name
= type_standard__Int
.name
;
560 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
561 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
564 var44
= var_time1
- var_time0
;
575 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
579 var50
= NEW_standard__Array(&type_standard__Array__standard__Object
);
580 { /* var50 = array_instance Array[Object] */
582 var52
= NEW_standard__NativeArray(var51
, &type_standard__NativeArray__standard__Object
);
583 ((struct instance_standard__NativeArray
*)var52
)->values
[0] = (val
*) var37
;
584 var53
= BOX_standard__Int(var41
); /* autobox from Int to Object */
585 ((struct instance_standard__NativeArray
*)var52
)->values
[1] = (val
*) var53
;
586 ((struct instance_standard__NativeArray
*)var52
)->values
[2] = (val
*) var46
;
588 ((void (*)(val
* self
, val
* p0
, long p1
))(var50
->class->vft
[COLOR_standard__array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
592 var54
= ((val
* (*)(val
* self
))(var50
->class->vft
[COLOR_standard__string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
596 nit___nit__ToolContext___info(var33
, var54
, var55
); /* Direct call toolcontext#ToolContext#info on <var33:ToolContext>*/
599 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
600 var58
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
601 if (unlikely(var58
== NULL
)) {
602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
611 var59
= nit___nit__ToolContext___check_errors(var56
);
614 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
615 var62
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
616 if (unlikely(var62
== NULL
)) {
617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
626 { /* Inline loader#ToolContext#opt_only_parse (var60) on <var60:ToolContext> */
627 var65
= var60
->attrs
[COLOR_nit__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <var60:ToolContext> */
628 if (unlikely(var65
== NULL
)) {
629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 29);
638 { /* Inline opts#Option#value (var63) on <var63:OptionBool> */
639 var68
= var63
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var63:OptionBool> */
644 var69
= ((struct instance_standard__Bool
*)var66
)->value
; /* autounbox from nullable Object to Bool */;
647 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
648 var72
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
649 if (unlikely(var72
== NULL
)) {
650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
661 var75
= "*** ONLY PARSE...";
663 var77
= standard___standard__NativeString___to_s_with_length(var75
, var76
);
669 nit___nit__ToolContext___info(var70
, var74
, var78
); /* Direct call toolcontext#ToolContext#info on <var70:ToolContext>*/
673 { /* Inline kernel#Object#exit (self,var79) on <self:ModelBuilder> */
681 var81
= standard__array___Collection___to_a(var_mmodules
);
688 /* method loader#ModelBuilder#paths for (self: ModelBuilder): Array[String] */
689 val
* nit__loader___ModelBuilder___paths(val
* self
) {
690 val
* var
/* : Array[String] */;
691 val
* var1
/* : Array[String] */;
692 var1
= self
->attrs
[COLOR_nit__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
693 if (unlikely(var1
== NULL
)) {
694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 146);
702 /* method loader#ModelBuilder#search_mmodule_by_name for (self: ModelBuilder, nullable ANode, nullable MGroup, String): nullable ModulePath */
703 val
* nit__loader___ModelBuilder___search_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
704 val
* var
/* : nullable ModulePath */;
705 val
* var_anode
/* var anode: nullable ANode */;
706 val
* var_mgroup
/* var mgroup: nullable MGroup */;
707 val
* var_name
/* var name: String */;
708 val
* var_c
/* var c: nullable MGroup */;
709 val
* var1
/* : null */;
710 short int var2
/* : Bool */;
711 short int var3
/* : Bool */;
712 val
* var_other
/* var other: nullable Object */;
713 short int var5
/* : Bool */;
714 short int var6
/* : Bool */;
715 val
* var7
/* : nullable String */;
716 val
* var9
/* : nullable String */;
717 val
* var_dirname
/* var dirname: nullable String */;
718 val
* var10
/* : null */;
719 short int var11
/* : Bool */;
720 short int var12
/* : Bool */;
722 val
* var13
/* : String */;
723 char* var14
/* : NativeString */;
724 long var15
/* : Int */;
725 val
* var16
/* : FlatString */;
726 short int var17
/* : Bool */;
727 static val
* varonce18
;
728 val
* var19
/* : String */;
729 char* var20
/* : NativeString */;
730 long var21
/* : Int */;
731 val
* var22
/* : FlatString */;
732 val
* var23
/* : String */;
733 val
* var24
/* : String */;
734 static val
* varonce25
;
735 val
* var26
/* : String */;
736 char* var27
/* : NativeString */;
737 long var28
/* : Int */;
738 val
* var29
/* : FlatString */;
739 val
* var30
/* : String */;
740 val
* var_try_file
/* var try_file: String */;
741 short int var31
/* : Bool */;
742 val
* var32
/* : String */;
743 val
* var33
/* : nullable ModulePath */;
744 val
* var_res
/* var res: nullable ModulePath */;
745 val
* var34
/* : null */;
746 short int var35
/* : Bool */;
747 short int var36
/* : Bool */;
748 short int var38
/* : Bool */;
749 short int var39
/* : Bool */;
750 static val
* varonce40
;
751 val
* var41
/* : String */;
752 char* var42
/* : NativeString */;
753 long var43
/* : Int */;
754 val
* var44
/* : FlatString */;
755 val
* var45
/* : String */;
756 val
* var46
/* : String */;
757 static val
* varonce47
;
758 val
* var48
/* : String */;
759 char* var49
/* : NativeString */;
760 long var50
/* : Int */;
761 val
* var51
/* : FlatString */;
762 val
* var52
/* : String */;
763 val
* var53
/* : String */;
764 static val
* varonce54
;
765 val
* var55
/* : String */;
766 char* var56
/* : NativeString */;
767 long var57
/* : Int */;
768 val
* var58
/* : FlatString */;
769 val
* var59
/* : String */;
770 short int var60
/* : Bool */;
771 val
* var61
/* : String */;
772 val
* var62
/* : nullable ModulePath */;
773 val
* var_res63
/* var res: nullable ModulePath */;
774 val
* var64
/* : null */;
775 short int var65
/* : Bool */;
776 short int var66
/* : Bool */;
777 short int var68
/* : Bool */;
778 short int var69
/* : Bool */;
779 val
* var70
/* : nullable MGroup */;
780 val
* var72
/* : nullable MGroup */;
781 val
* var73
/* : Array[String] */;
782 val
* var75
/* : Array[String] */;
783 val
* var_lookpaths
/* var lookpaths: Array[String] */;
784 val
* var76
/* : null */;
785 short int var77
/* : Bool */;
786 short int var78
/* : Bool */;
787 short int var80
/* : Bool */;
788 short int var81
/* : Bool */;
789 val
* var82
/* : MProject */;
790 val
* var84
/* : MProject */;
791 val
* var85
/* : nullable MGroup */;
792 val
* var87
/* : nullable MGroup */;
793 val
* var88
/* : nullable String */;
794 val
* var90
/* : nullable String */;
795 val
* var_dirname91
/* var dirname: nullable String */;
796 val
* var92
/* : null */;
797 short int var93
/* : Bool */;
798 short int var94
/* : Bool */;
799 short int var96
/* : Bool */;
800 short int var97
/* : Bool */;
801 static val
* varonce98
;
802 val
* var99
/* : String */;
803 char* var100
/* : NativeString */;
804 long var101
/* : Int */;
805 val
* var102
/* : FlatString */;
806 val
* var103
/* : String */;
807 val
* var104
/* : String */;
808 short int var105
/* : Bool */;
809 short int var106
/* : Bool */;
810 short int var107
/* : Bool */;
811 short int var_
/* var : Bool */;
812 short int var108
/* : Bool */;
813 val
* var109
/* : Array[nullable Object] */;
814 val
* var110
/* : Location */;
815 val
* var111
/* : nullable ModulePath */;
816 val
* var_candidate
/* var candidate: nullable ModulePath */;
817 val
* var112
/* : null */;
818 short int var113
/* : Bool */;
819 short int var114
/* : Bool */;
820 val
* var_other116
/* var other: nullable Object */;
821 short int var117
/* : Bool */;
822 short int var119
/* : Bool */;
823 val
* var120
/* : null */;
824 short int var121
/* : Bool */;
825 short int var122
/* : Bool */;
826 short int var124
/* : Bool */;
827 short int var125
/* : Bool */;
828 static val
* varonce126
;
829 val
* var127
/* : String */;
830 char* var128
/* : NativeString */;
831 long var129
/* : Int */;
832 val
* var130
/* : FlatString */;
833 static val
* varonce131
;
834 val
* var132
/* : String */;
835 char* var133
/* : NativeString */;
836 long var134
/* : Int */;
837 val
* var135
/* : FlatString */;
838 val
* var136
/* : String */;
839 val
* var138
/* : String */;
840 static val
* varonce139
;
841 val
* var140
/* : String */;
842 char* var141
/* : NativeString */;
843 long var142
/* : Int */;
844 val
* var143
/* : FlatString */;
845 static val
* varonce144
;
846 val
* var145
/* : String */;
847 char* var146
/* : NativeString */;
848 long var147
/* : Int */;
849 val
* var148
/* : FlatString */;
850 val
* var149
/* : String */;
851 val
* var150
/* : Array[Object] */;
852 long var151
/* : Int */;
853 val
* var152
/* : NativeArray[Object] */;
854 val
* var153
/* : String */;
855 static val
* varonce154
;
856 val
* var155
/* : String */;
857 char* var156
/* : NativeString */;
858 long var157
/* : Int */;
859 val
* var158
/* : FlatString */;
860 static val
* varonce159
;
861 val
* var160
/* : String */;
862 char* var161
/* : NativeString */;
863 long var162
/* : Int */;
864 val
* var163
/* : FlatString */;
865 static val
* varonce164
;
866 val
* var165
/* : String */;
867 char* var166
/* : NativeString */;
868 long var167
/* : Int */;
869 val
* var168
/* : FlatString */;
870 val
* var169
/* : String */;
871 val
* var170
/* : Array[Object] */;
872 long var171
/* : Int */;
873 val
* var172
/* : NativeArray[Object] */;
874 val
* var173
/* : String */;
875 val
* var174
/* : null */;
883 var2
= 0; /* is null */
885 var2
= 1; /* arg is null and recv is not */
888 { /* Inline kernel#Object#!= (var_c,var1) on <var_c:nullable MGroup> */
891 var5
= ((short int (*)(val
* self
, val
* p0
))(var_c
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_c
, var_other
) /* == on <var_c:nullable MGroup(MGroup)>*/;
902 { /* Inline mproject#MGroup#filepath (var_c) on <var_c:nullable MGroup(MGroup)> */
903 var9
= var_c
->attrs
[COLOR_nit__mproject__MGroup___filepath
].val
; /* _filepath on <var_c:nullable MGroup(MGroup)> */
910 if (var_dirname
== NULL
) {
911 var11
= 1; /* is null */
913 var11
= 0; /* arg is null but recv is not */
916 var12
= ((short int (*)(val
* self
, val
* p0
))(var_dirname
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_dirname
, var10
) /* == on <var_dirname:nullable String>*/;
928 var16
= standard___standard__NativeString___to_s_with_length(var14
, var15
);
933 var17
= standard___standard__Text___has_suffix(var_dirname
, var13
);
944 var22
= standard___standard__NativeString___to_s_with_length(var20
, var21
);
949 var23
= ((val
* (*)(val
* self
, val
* p0
))(var_dirname
->class->vft
[COLOR_standard__string__String___43d
]))(var_dirname
, var19
) /* + on <var_dirname:nullable String(String)>*/;
952 var24
= ((val
* (*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_standard__string__String___43d
]))(var23
, var_name
) /* + on <var23:String>*/;
959 var29
= standard___standard__NativeString___to_s_with_length(var27
, var28
);
964 var30
= ((val
* (*)(val
* self
, val
* p0
))(var24
->class->vft
[COLOR_standard__string__String___43d
]))(var24
, var26
) /* + on <var24:String>*/;
966 var_try_file
= var30
;
968 var31
= standard__file___String___file_exists(var_try_file
);
972 var32
= standard__file___String___simplify_path(var_try_file
);
975 var33
= nit__loader___ModelBuilder___identify_file(self
, var32
);
979 if (var_res
== NULL
) {
980 var35
= 0; /* is null */
982 var35
= 1; /* arg is null and recv is not */
985 { /* Inline kernel#Object#!= (var_res,var34) on <var_res:nullable ModulePath> */
988 var38
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable ModulePath(ModulePath)>*/;
997 if (unlikely(!var35
)) {
998 PRINT_ERROR("Runtime error: %s", "Assert failed");
999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 169);
1011 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
1016 var45
= ((val
* (*)(val
* self
, val
* p0
))(var_dirname
->class->vft
[COLOR_standard__string__String___43d
]))(var_dirname
, var41
) /* + on <var_dirname:nullable String(String)>*/;
1019 var46
= ((val
* (*)(val
* self
, val
* p0
))(var45
->class->vft
[COLOR_standard__string__String___43d
]))(var45
, var_name
) /* + on <var45:String>*/;
1026 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
1031 var52
= ((val
* (*)(val
* self
, val
* p0
))(var46
->class->vft
[COLOR_standard__string__String___43d
]))(var46
, var48
) /* + on <var46:String>*/;
1034 var53
= ((val
* (*)(val
* self
, val
* p0
))(var52
->class->vft
[COLOR_standard__string__String___43d
]))(var52
, var_name
) /* + on <var52:String>*/;
1041 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
1046 var59
= ((val
* (*)(val
* self
, val
* p0
))(var53
->class->vft
[COLOR_standard__string__String___43d
]))(var53
, var55
) /* + on <var53:String>*/;
1048 var_try_file
= var59
;
1050 var60
= standard__file___String___file_exists(var_try_file
);
1054 var61
= standard__file___String___simplify_path(var_try_file
);
1057 var62
= nit__loader___ModelBuilder___identify_file(self
, var61
);
1061 if (var_res63
== NULL
) {
1062 var65
= 0; /* is null */
1064 var65
= 1; /* arg is null and recv is not */
1067 { /* Inline kernel#Object#!= (var_res63,var64) on <var_res63:nullable ModulePath> */
1070 var68
= ((short int (*)(val
* self
, val
* p0
))(var_res63
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res63
, var_other
) /* == on <var_res63:nullable ModulePath(ModulePath)>*/;
1075 RET_LABEL67
:(void)0;
1079 if (unlikely(!var65
)) {
1080 PRINT_ERROR("Runtime error: %s", "Assert failed");
1081 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 177);
1089 { /* Inline mproject#MGroup#parent (var_c) on <var_c:nullable MGroup(MGroup)> */
1090 var72
= var_c
->attrs
[COLOR_nit__mproject__MGroup___parent
].val
; /* _parent on <var_c:nullable MGroup(MGroup)> */
1092 RET_LABEL71
:(void)0;
1100 BREAK_label
: (void)0;
1102 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
1103 var75
= self
->attrs
[COLOR_nit__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
1104 if (unlikely(var75
== NULL
)) {
1105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
1106 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 146);
1110 RET_LABEL74
:(void)0;
1113 var_lookpaths
= var73
;
1115 if (var_mgroup
== NULL
) {
1116 var77
= 0; /* is null */
1118 var77
= 1; /* arg is null and recv is not */
1121 { /* Inline kernel#Object#!= (var_mgroup,var76) on <var_mgroup:nullable MGroup> */
1124 var80
= ((short int (*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mgroup
, var_other
) /* == on <var_mgroup:nullable MGroup(MGroup)>*/;
1129 RET_LABEL79
:(void)0;
1135 { /* Inline mproject#MGroup#mproject (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
1136 var84
= var_mgroup
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var_mgroup:nullable MGroup(MGroup)> */
1137 if (unlikely(var84
== NULL
)) {
1138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
1139 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
1143 RET_LABEL83
:(void)0;
1147 { /* Inline mproject#MProject#root (var82) on <var82:MProject> */
1148 var87
= var82
->attrs
[COLOR_nit__mproject__MProject___root
].val
; /* _root on <var82:MProject> */
1150 RET_LABEL86
:(void)0;
1153 if (var85
== NULL
) {
1154 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1155 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 190);
1158 { /* Inline mproject#MGroup#filepath (var85) on <var85:nullable MGroup> */
1159 if (unlikely(var85
== NULL
)) {
1160 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1161 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 93);
1164 var90
= var85
->attrs
[COLOR_nit__mproject__MGroup___filepath
].val
; /* _filepath on <var85:nullable MGroup> */
1166 RET_LABEL89
:(void)0;
1169 var_dirname91
= var88
;
1171 if (var_dirname91
== NULL
) {
1172 var93
= 0; /* is null */
1174 var93
= 1; /* arg is null and recv is not */
1177 { /* Inline kernel#Object#!= (var_dirname91,var92) on <var_dirname91:nullable String> */
1180 var96
= ((short int (*)(val
* self
, val
* p0
))(var_dirname91
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_dirname91
, var_other
) /* == on <var_dirname91:nullable String(String)>*/;
1185 RET_LABEL95
:(void)0;
1195 var102
= standard___standard__NativeString___to_s_with_length(var100
, var101
);
1200 var103
= standard__file___String___join_path(var_dirname91
, var99
);
1203 var104
= standard__file___String___simplify_path(var103
);
1205 var_dirname91
= var104
;
1207 var106
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_lookpaths
, var_dirname91
);
1213 var108
= standard__file___String___file_exists(var_dirname91
);
1221 var109
= standard__array___Collection___to_a(var_lookpaths
);
1223 var_lookpaths
= var109
;
1225 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_lookpaths
, var_dirname91
); /* Direct call array#Array#add on <var_lookpaths:Array[String]>*/
1233 if (var_anode
== NULL
) {
1234 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 200);
1238 var110
= ((val
* (*)(val
* self
))(var_anode
->class->vft
[COLOR_nit__parser_nodes__ANode__hot_location
]))(var_anode
) /* hot_location on <var_anode:nullable ANode>*/;
1241 var111
= nit__loader___ModelBuilder___search_module_in_paths(self
, var110
, var_name
, var_lookpaths
);
1243 var_candidate
= var111
;
1245 if (var_candidate
== NULL
) {
1246 var113
= 1; /* is null */
1248 var113
= 0; /* arg is null but recv is not */
1251 { /* Inline kernel#Object#== (var_candidate,var112) on <var_candidate:nullable ModulePath> */
1252 var_other116
= var112
;
1254 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other116) on <var_candidate:nullable ModulePath(ModulePath)> */
1255 var119
= var_candidate
== var_other116
;
1258 RET_LABEL118
:(void)0;
1263 RET_LABEL115
:(void)0;
1269 if (var_mgroup
== NULL
) {
1270 var121
= 0; /* is null */
1272 var121
= 1; /* arg is null and recv is not */
1275 { /* Inline kernel#Object#!= (var_mgroup,var120) on <var_mgroup:nullable MGroup> */
1278 var124
= ((short int (*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mgroup
, var_other
) /* == on <var_mgroup:nullable MGroup(MGroup)>*/;
1283 RET_LABEL123
:(void)0;
1289 var127
= varonce126
;
1291 var128
= "Error: cannot find module ";
1293 var130
= standard___standard__NativeString___to_s_with_length(var128
, var129
);
1295 varonce126
= var127
;
1298 var132
= varonce131
;
1302 var135
= standard___standard__NativeString___to_s_with_length(var133
, var134
);
1304 varonce131
= var132
;
1307 { /* Inline mproject#MGroup#name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
1308 var138
= var_mgroup
->attrs
[COLOR_nit__mproject__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
1309 if (unlikely(var138
== NULL
)) {
1310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1311 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 65);
1315 RET_LABEL137
:(void)0;
1319 var140
= varonce139
;
1321 var141
= ". tried ";
1323 var143
= standard___standard__NativeString___to_s_with_length(var141
, var142
);
1325 varonce139
= var140
;
1328 var145
= varonce144
;
1332 var148
= standard___standard__NativeString___to_s_with_length(var146
, var147
);
1334 varonce144
= var145
;
1337 var149
= standard__string___Collection___join(var_lookpaths
, var145
);
1339 var150
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1340 { /* var150 = array_instance Array[Object] */
1342 var152
= NEW_standard__NativeArray(var151
, &type_standard__NativeArray__standard__Object
);
1343 ((struct instance_standard__NativeArray
*)var152
)->values
[0] = (val
*) var127
;
1344 ((struct instance_standard__NativeArray
*)var152
)->values
[1] = (val
*) var_name
;
1345 ((struct instance_standard__NativeArray
*)var152
)->values
[2] = (val
*) var132
;
1346 ((struct instance_standard__NativeArray
*)var152
)->values
[3] = (val
*) var136
;
1347 ((struct instance_standard__NativeArray
*)var152
)->values
[4] = (val
*) var140
;
1348 ((struct instance_standard__NativeArray
*)var152
)->values
[5] = (val
*) var149
;
1350 ((void (*)(val
* self
, val
* p0
, long p1
))(var150
->class->vft
[COLOR_standard__array__Array__with_native
]))(var150
, var152
, var151
) /* with_native on <var150:Array[Object]>*/;
1354 var153
= ((val
* (*)(val
* self
))(var150
->class->vft
[COLOR_standard__string__Object__to_s
]))(var150
) /* to_s on <var150:Array[Object]>*/;
1357 nit___nit__ModelBuilder___error(self
, var_anode
, var153
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1361 var155
= varonce154
;
1363 var156
= "Error: cannot find module ";
1365 var158
= standard___standard__NativeString___to_s_with_length(var156
, var157
);
1367 varonce154
= var155
;
1370 var160
= varonce159
;
1372 var161
= ". tried ";
1374 var163
= standard___standard__NativeString___to_s_with_length(var161
, var162
);
1376 varonce159
= var160
;
1379 var165
= varonce164
;
1383 var168
= standard___standard__NativeString___to_s_with_length(var166
, var167
);
1385 varonce164
= var165
;
1388 var169
= standard__string___Collection___join(var_lookpaths
, var165
);
1390 var170
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1391 { /* var170 = array_instance Array[Object] */
1393 var172
= NEW_standard__NativeArray(var171
, &type_standard__NativeArray__standard__Object
);
1394 ((struct instance_standard__NativeArray
*)var172
)->values
[0] = (val
*) var155
;
1395 ((struct instance_standard__NativeArray
*)var172
)->values
[1] = (val
*) var_name
;
1396 ((struct instance_standard__NativeArray
*)var172
)->values
[2] = (val
*) var160
;
1397 ((struct instance_standard__NativeArray
*)var172
)->values
[3] = (val
*) var169
;
1399 ((void (*)(val
* self
, val
* p0
, long p1
))(var170
->class->vft
[COLOR_standard__array__Array__with_native
]))(var170
, var172
, var171
) /* with_native on <var170:Array[Object]>*/;
1403 var173
= ((val
* (*)(val
* self
))(var170
->class->vft
[COLOR_standard__string__Object__to_s
]))(var170
) /* to_s on <var170:Array[Object]>*/;
1406 nit___nit__ModelBuilder___error(self
, var_anode
, var173
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1414 var
= var_candidate
;
1419 /* method loader#ModelBuilder#get_mmodule_by_name for (self: ModelBuilder, nullable ANode, nullable MGroup, String): nullable MModule */
1420 val
* nit__loader___ModelBuilder___get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1421 val
* var
/* : nullable MModule */;
1422 val
* var_anode
/* var anode: nullable ANode */;
1423 val
* var_mgroup
/* var mgroup: nullable MGroup */;
1424 val
* var_name
/* var name: String */;
1425 val
* var1
/* : nullable ModulePath */;
1426 val
* var_path
/* var path: nullable ModulePath */;
1427 val
* var2
/* : null */;
1428 short int var3
/* : Bool */;
1429 short int var4
/* : Bool */;
1430 val
* var_other
/* var other: nullable Object */;
1431 short int var6
/* : Bool */;
1432 short int var8
/* : Bool */;
1433 val
* var9
/* : null */;
1434 val
* var10
/* : String */;
1435 val
* var12
/* : String */;
1436 val
* var13
/* : nullable AModule */;
1437 val
* var_res
/* var res: nullable AModule */;
1438 val
* var14
/* : null */;
1439 short int var15
/* : Bool */;
1440 short int var16
/* : Bool */;
1441 short int var18
/* : Bool */;
1442 short int var20
/* : Bool */;
1443 val
* var21
/* : null */;
1444 val
* var22
/* : nullable MModule */;
1445 val
* var24
/* : nullable MModule */;
1450 var1
= nit__loader___ModelBuilder___search_mmodule_by_name(self
, var_anode
, var_mgroup
, var_name
);
1454 if (var_path
== NULL
) {
1455 var3
= 1; /* is null */
1457 var3
= 0; /* arg is null but recv is not */
1460 { /* Inline kernel#Object#== (var_path,var2) on <var_path:nullable ModulePath> */
1463 { /* Inline kernel#Object#is_same_instance (var_path,var_other) on <var_path:nullable ModulePath(ModulePath)> */
1464 var8
= var_path
== var_other
;
1483 { /* Inline loader#ModulePath#filepath (var_path) on <var_path:nullable ModulePath(ModulePath)> */
1484 var12
= var_path
->attrs
[COLOR_nit__loader__ModulePath___filepath
].val
; /* _filepath on <var_path:nullable ModulePath(ModulePath)> */
1485 if (unlikely(var12
== NULL
)) {
1486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
1487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 662);
1491 RET_LABEL11
:(void)0;
1495 var13
= nit__loader___ModelBuilder___load_module(self
, var10
);
1499 if (var_res
== NULL
) {
1500 var15
= 1; /* is null */
1502 var15
= 0; /* arg is null but recv is not */
1505 { /* Inline kernel#Object#== (var_res,var14) on <var_res:nullable AModule> */
1508 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable AModule(AModule)> */
1509 var20
= var_res
== var_other
;
1512 RET_LABEL19
:(void)0;
1517 RET_LABEL17
:(void)0;
1528 nit__loader___ModelBuilder___build_module_importation(self
, var_res
); /* Direct call loader#ModelBuilder#build_module_importation on <self:ModelBuilder>*/
1531 { /* Inline loader#AModule#mmodule (var_res) on <var_res:nullable AModule(AModule)> */
1532 var24
= var_res
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_res:nullable AModule(AModule)> */
1534 RET_LABEL23
:(void)0;
1537 if (unlikely(var22
== NULL
)) {
1538 PRINT_ERROR("Runtime error: %s", "Cast failed");
1539 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 225);
1547 /* method loader#ModelBuilder#search_module_in_paths for (self: ModelBuilder, nullable Location, String, Collection[String]): nullable ModulePath */
1548 val
* nit__loader___ModelBuilder___search_module_in_paths(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1549 val
* var
/* : nullable ModulePath */;
1550 val
* var_location
/* var location: nullable Location */;
1551 val
* var_name
/* var name: String */;
1552 val
* var_lookpaths
/* var lookpaths: Collection[String] */;
1553 val
* var1
/* : null */;
1554 val
* var_candidate
/* var candidate: nullable String */;
1555 val
* var_
/* var : Collection[String] */;
1556 val
* var2
/* : Iterator[nullable Object] */;
1557 val
* var_3
/* var : Iterator[String] */;
1558 short int var4
/* : Bool */;
1559 val
* var5
/* : nullable Object */;
1560 val
* var_dirname
/* var dirname: String */;
1561 static val
* varonce
;
1562 val
* var6
/* : String */;
1563 char* var7
/* : NativeString */;
1564 long var8
/* : Int */;
1565 val
* var9
/* : FlatString */;
1566 val
* var10
/* : String */;
1567 val
* var11
/* : String */;
1568 static val
* varonce12
;
1569 val
* var13
/* : String */;
1570 char* var14
/* : NativeString */;
1571 long var15
/* : Int */;
1572 val
* var16
/* : FlatString */;
1573 val
* var17
/* : String */;
1574 val
* var18
/* : String */;
1575 val
* var_try_file
/* var try_file: String */;
1576 short int var19
/* : Bool */;
1577 val
* var20
/* : null */;
1578 short int var21
/* : Bool */;
1579 short int var22
/* : Bool */;
1580 short int var23
/* : Bool */;
1581 val
* var_other
/* var other: nullable Object */;
1582 short int var25
/* : Bool */;
1583 short int var26
/* : Bool */;
1584 val
* var27
/* : String */;
1585 val
* var_abs_candidate
/* var abs_candidate: String */;
1586 val
* var28
/* : String */;
1587 val
* var_abs_try_file
/* var abs_try_file: String */;
1588 short int var29
/* : Bool */;
1589 short int var31
/* : Bool */;
1590 short int var32
/* : Bool */;
1591 val
* var33
/* : ToolContext */;
1592 val
* var35
/* : ToolContext */;
1593 static val
* varonce36
;
1594 val
* var37
/* : String */;
1595 char* var38
/* : NativeString */;
1596 long var39
/* : Int */;
1597 val
* var40
/* : FlatString */;
1598 static val
* varonce41
;
1599 val
* var42
/* : String */;
1600 char* var43
/* : NativeString */;
1601 long var44
/* : Int */;
1602 val
* var45
/* : FlatString */;
1603 static val
* varonce46
;
1604 val
* var47
/* : String */;
1605 char* var48
/* : NativeString */;
1606 long var49
/* : Int */;
1607 val
* var50
/* : FlatString */;
1608 val
* var51
/* : Array[Object] */;
1609 long var52
/* : Int */;
1610 val
* var53
/* : NativeArray[Object] */;
1611 val
* var54
/* : String */;
1612 static val
* varonce55
;
1613 val
* var56
/* : String */;
1614 char* var57
/* : NativeString */;
1615 long var58
/* : Int */;
1616 val
* var59
/* : FlatString */;
1617 val
* var60
/* : String */;
1618 val
* var61
/* : String */;
1619 static val
* varonce62
;
1620 val
* var63
/* : String */;
1621 char* var64
/* : NativeString */;
1622 long var65
/* : Int */;
1623 val
* var66
/* : FlatString */;
1624 val
* var67
/* : String */;
1625 val
* var68
/* : String */;
1626 static val
* varonce69
;
1627 val
* var70
/* : String */;
1628 char* var71
/* : NativeString */;
1629 long var72
/* : Int */;
1630 val
* var73
/* : FlatString */;
1631 val
* var74
/* : String */;
1632 val
* var75
/* : String */;
1633 short int var76
/* : Bool */;
1634 val
* var77
/* : null */;
1635 short int var78
/* : Bool */;
1636 short int var79
/* : Bool */;
1637 short int var80
/* : Bool */;
1638 short int var82
/* : Bool */;
1639 short int var83
/* : Bool */;
1640 val
* var84
/* : String */;
1641 val
* var_abs_candidate85
/* var abs_candidate: String */;
1642 val
* var86
/* : String */;
1643 val
* var_abs_try_file87
/* var abs_try_file: String */;
1644 short int var88
/* : Bool */;
1645 short int var90
/* : Bool */;
1646 short int var91
/* : Bool */;
1647 val
* var92
/* : ToolContext */;
1648 val
* var94
/* : ToolContext */;
1649 static val
* varonce95
;
1650 val
* var96
/* : String */;
1651 char* var97
/* : NativeString */;
1652 long var98
/* : Int */;
1653 val
* var99
/* : FlatString */;
1654 static val
* varonce100
;
1655 val
* var101
/* : String */;
1656 char* var102
/* : NativeString */;
1657 long var103
/* : Int */;
1658 val
* var104
/* : FlatString */;
1659 static val
* varonce105
;
1660 val
* var106
/* : String */;
1661 char* var107
/* : NativeString */;
1662 long var108
/* : Int */;
1663 val
* var109
/* : FlatString */;
1664 val
* var110
/* : Array[Object] */;
1665 long var111
/* : Int */;
1666 val
* var112
/* : NativeArray[Object] */;
1667 val
* var113
/* : String */;
1668 val
* var115
/* : null */;
1669 short int var116
/* : Bool */;
1670 short int var117
/* : Bool */;
1671 val
* var118
/* : null */;
1672 val
* var119
/* : nullable ModulePath */;
1677 var_candidate
= var1
;
1678 var_
= var_lookpaths
;
1680 var2
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[String]>*/;
1685 var4
= ((short int (*)(val
* self
))(var_3
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_3
) /* is_ok on <var_3:Iterator[String]>*/;
1689 var5
= ((val
* (*)(val
* self
))(var_3
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_3
) /* item on <var_3:Iterator[String]>*/;
1697 var9
= standard___standard__NativeString___to_s_with_length(var7
, var8
);
1702 var10
= ((val
* (*)(val
* self
, val
* p0
))(var_dirname
->class->vft
[COLOR_standard__string__String___43d
]))(var_dirname
, var6
) /* + on <var_dirname:String>*/;
1705 var11
= ((val
* (*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_standard__string__String___43d
]))(var10
, var_name
) /* + on <var10:String>*/;
1712 var16
= standard___standard__NativeString___to_s_with_length(var14
, var15
);
1717 var17
= ((val
* (*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_standard__string__String___43d
]))(var11
, var13
) /* + on <var11:String>*/;
1720 var18
= standard__file___String___simplify_path(var17
);
1722 var_try_file
= var18
;
1724 var19
= standard__file___String___file_exists(var_try_file
);
1728 if (var_candidate
== NULL
) {
1729 var21
= 1; /* is null */
1731 var21
= 0; /* arg is null but recv is not */
1734 var22
= ((short int (*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_candidate
, var20
) /* == on <var_candidate:nullable String>*/;
1738 var_candidate
= var_try_file
;
1741 { /* Inline kernel#Object#!= (var_candidate,var_try_file) on <var_candidate:nullable String(String)> */
1742 var_other
= var_try_file
;
1744 var25
= ((short int (*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_candidate
, var_other
) /* == on <var_candidate:nullable String(String)>*/;
1749 RET_LABEL24
:(void)0;
1754 var27
= nit__loader___ModelBuilder___module_absolute_path(self
, var_candidate
);
1756 var_abs_candidate
= var27
;
1758 var28
= nit__loader___ModelBuilder___module_absolute_path(self
, var_try_file
);
1760 var_abs_try_file
= var28
;
1762 { /* Inline kernel#Object#!= (var_abs_candidate,var_abs_try_file) on <var_abs_candidate:String> */
1763 var_other
= var_abs_try_file
;
1765 var31
= ((short int (*)(val
* self
, val
* p0
))(var_abs_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_abs_candidate
, var_other
) /* == on <var_abs_candidate:String>*/;
1770 RET_LABEL30
:(void)0;
1775 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1776 var35
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1777 if (unlikely(var35
== NULL
)) {
1778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1783 RET_LABEL34
:(void)0;
1789 var38
= "Error: conflicting module file for ";
1791 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
1800 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
1809 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
1813 var51
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1814 { /* var51 = array_instance Array[Object] */
1816 var53
= NEW_standard__NativeArray(var52
, &type_standard__NativeArray__standard__Object
);
1817 ((struct instance_standard__NativeArray
*)var53
)->values
[0] = (val
*) var37
;
1818 ((struct instance_standard__NativeArray
*)var53
)->values
[1] = (val
*) var_name
;
1819 ((struct instance_standard__NativeArray
*)var53
)->values
[2] = (val
*) var42
;
1820 ((struct instance_standard__NativeArray
*)var53
)->values
[3] = (val
*) var_candidate
;
1821 ((struct instance_standard__NativeArray
*)var53
)->values
[4] = (val
*) var47
;
1822 ((struct instance_standard__NativeArray
*)var53
)->values
[5] = (val
*) var_try_file
;
1824 ((void (*)(val
* self
, val
* p0
, long p1
))(var51
->class->vft
[COLOR_standard__array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
1828 var54
= ((val
* (*)(val
* self
))(var51
->class->vft
[COLOR_standard__string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
1831 nit___nit__ToolContext___error(var33
, var_location
, var54
); /* Direct call toolcontext#ToolContext#error on <var33:ToolContext>*/
1845 var59
= standard___standard__NativeString___to_s_with_length(var57
, var58
);
1850 var60
= ((val
* (*)(val
* self
, val
* p0
))(var_dirname
->class->vft
[COLOR_standard__string__String___43d
]))(var_dirname
, var56
) /* + on <var_dirname:String>*/;
1853 var61
= ((val
* (*)(val
* self
, val
* p0
))(var60
->class->vft
[COLOR_standard__string__String___43d
]))(var60
, var_name
) /* + on <var60:String>*/;
1860 var66
= standard___standard__NativeString___to_s_with_length(var64
, var65
);
1865 var67
= ((val
* (*)(val
* self
, val
* p0
))(var61
->class->vft
[COLOR_standard__string__String___43d
]))(var61
, var63
) /* + on <var61:String>*/;
1868 var68
= ((val
* (*)(val
* self
, val
* p0
))(var67
->class->vft
[COLOR_standard__string__String___43d
]))(var67
, var_name
) /* + on <var67:String>*/;
1875 var73
= standard___standard__NativeString___to_s_with_length(var71
, var72
);
1880 var74
= ((val
* (*)(val
* self
, val
* p0
))(var68
->class->vft
[COLOR_standard__string__String___43d
]))(var68
, var70
) /* + on <var68:String>*/;
1883 var75
= standard__file___String___simplify_path(var74
);
1885 var_try_file
= var75
;
1887 var76
= standard__file___String___file_exists(var_try_file
);
1891 if (var_candidate
== NULL
) {
1892 var78
= 1; /* is null */
1894 var78
= 0; /* arg is null but recv is not */
1897 var79
= ((short int (*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_candidate
, var77
) /* == on <var_candidate:nullable String>*/;
1901 var_candidate
= var_try_file
;
1904 { /* Inline kernel#Object#!= (var_candidate,var_try_file) on <var_candidate:nullable String(String)> */
1905 var_other
= var_try_file
;
1907 var82
= ((short int (*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_candidate
, var_other
) /* == on <var_candidate:nullable String(String)>*/;
1912 RET_LABEL81
:(void)0;
1917 var84
= nit__loader___ModelBuilder___module_absolute_path(self
, var_candidate
);
1919 var_abs_candidate85
= var84
;
1921 var86
= nit__loader___ModelBuilder___module_absolute_path(self
, var_try_file
);
1923 var_abs_try_file87
= var86
;
1925 { /* Inline kernel#Object#!= (var_abs_candidate85,var_abs_try_file87) on <var_abs_candidate85:String> */
1926 var_other
= var_abs_try_file87
;
1928 var90
= ((short int (*)(val
* self
, val
* p0
))(var_abs_candidate85
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_abs_candidate85
, var_other
) /* == on <var_abs_candidate85:String>*/;
1933 RET_LABEL89
:(void)0;
1938 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1939 var94
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1940 if (unlikely(var94
== NULL
)) {
1941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1942 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1946 RET_LABEL93
:(void)0;
1952 var97
= "Error: conflicting module file for ";
1954 var99
= standard___standard__NativeString___to_s_with_length(var97
, var98
);
1959 var101
= varonce100
;
1963 var104
= standard___standard__NativeString___to_s_with_length(var102
, var103
);
1965 varonce100
= var101
;
1968 var106
= varonce105
;
1972 var109
= standard___standard__NativeString___to_s_with_length(var107
, var108
);
1974 varonce105
= var106
;
1976 var110
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1977 { /* var110 = array_instance Array[Object] */
1979 var112
= NEW_standard__NativeArray(var111
, &type_standard__NativeArray__standard__Object
);
1980 ((struct instance_standard__NativeArray
*)var112
)->values
[0] = (val
*) var96
;
1981 ((struct instance_standard__NativeArray
*)var112
)->values
[1] = (val
*) var_name
;
1982 ((struct instance_standard__NativeArray
*)var112
)->values
[2] = (val
*) var101
;
1983 ((struct instance_standard__NativeArray
*)var112
)->values
[3] = (val
*) var_candidate
;
1984 ((struct instance_standard__NativeArray
*)var112
)->values
[4] = (val
*) var106
;
1985 ((struct instance_standard__NativeArray
*)var112
)->values
[5] = (val
*) var_try_file
;
1987 ((void (*)(val
* self
, val
* p0
, long p1
))(var110
->class->vft
[COLOR_standard__array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
1991 var113
= ((val
* (*)(val
* self
))(var110
->class->vft
[COLOR_standard__string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
1994 nit___nit__ToolContext___error(var92
, var_location
, var113
); /* Direct call toolcontext#ToolContext#error on <var92:ToolContext>*/
2004 ((void (*)(val
* self
))(var_3
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_3
) /* next on <var_3:Iterator[String]>*/;
2010 BREAK_label
: (void)0;
2012 { /* Inline abstract_collection#Iterator#finish (var_3) on <var_3:Iterator[String]> */
2013 RET_LABEL114
:(void)0;
2017 if (var_candidate
== NULL
) {
2018 var116
= 1; /* is null */
2020 var116
= 0; /* arg is null but recv is not */
2023 var117
= ((short int (*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_candidate
, var115
) /* == on <var_candidate:nullable String>*/;
2033 var119
= nit__loader___ModelBuilder___identify_file(self
, var_candidate
);
2040 /* method loader#ModelBuilder#identified_files_by_path for (self: ModelBuilder): HashMap[String, nullable ModulePath] */
2041 val
* nit__loader___ModelBuilder___identified_files_by_path(val
* self
) {
2042 val
* var
/* : HashMap[String, nullable ModulePath] */;
2043 val
* var1
/* : HashMap[String, nullable ModulePath] */;
2044 var1
= self
->attrs
[COLOR_nit__loader__ModelBuilder___identified_files_by_path
].val
; /* _identified_files_by_path on <self:ModelBuilder> */
2045 if (unlikely(var1
== NULL
)) {
2046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path");
2047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 265);
2054 /* method loader#ModelBuilder#identified_files for (self: ModelBuilder): Array[ModulePath] */
2055 val
* nit__loader___ModelBuilder___identified_files(val
* self
) {
2056 val
* var
/* : Array[ModulePath] */;
2057 val
* var1
/* : Array[ModulePath] */;
2058 var1
= self
->attrs
[COLOR_nit__loader__ModelBuilder___identified_files
].val
; /* _identified_files on <self:ModelBuilder> */
2059 if (unlikely(var1
== NULL
)) {
2060 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files");
2061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 268);
2068 /* method loader#ModelBuilder#identify_file for (self: ModelBuilder, String): nullable ModulePath */
2069 val
* nit__loader___ModelBuilder___identify_file(val
* self
, val
* p0
) {
2070 val
* var
/* : nullable ModulePath */;
2071 val
* var_path
/* var path: String */;
2072 val
* var1
/* : nullable String */;
2073 static val
* varonce
;
2074 val
* var2
/* : String */;
2075 char* var3
/* : NativeString */;
2076 long var4
/* : Int */;
2077 val
* var5
/* : FlatString */;
2078 short int var6
/* : Bool */;
2079 short int var7
/* : Bool */;
2080 val
* var_other
/* var other: nullable Object */;
2081 short int var9
/* : Bool */;
2082 short int var10
/* : Bool */;
2083 val
* var11
/* : String */;
2084 static val
* varonce12
;
2085 val
* var13
/* : String */;
2086 char* var14
/* : NativeString */;
2087 long var15
/* : Int */;
2088 val
* var16
/* : FlatString */;
2089 short int var17
/* : Bool */;
2090 val
* var18
/* : null */;
2091 val
* var19
/* : Array[String] */;
2092 val
* var21
/* : Array[String] */;
2093 val
* var22
/* : nullable ModulePath */;
2094 val
* var_res
/* var res: nullable ModulePath */;
2095 val
* var23
/* : null */;
2096 short int var24
/* : Bool */;
2097 short int var25
/* : Bool */;
2098 short int var27
/* : Bool */;
2099 short int var28
/* : Bool */;
2100 val
* var29
/* : null */;
2101 val
* var_candidate
/* var candidate: nullable Object */;
2102 short int var30
/* : Bool */;
2103 val
* var31
/* : nullable MGroup */;
2104 val
* var_mgroup
/* var mgroup: nullable MGroup */;
2105 val
* var32
/* : null */;
2106 short int var33
/* : Bool */;
2107 short int var34
/* : Bool */;
2108 short int var36
/* : Bool */;
2109 short int var37
/* : Bool */;
2110 val
* var38
/* : nullable String */;
2111 val
* var40
/* : nullable String */;
2112 val
* var41
/* : String */;
2113 val
* var43
/* : String */;
2114 static val
* varonce44
;
2115 val
* var45
/* : String */;
2116 char* var46
/* : NativeString */;
2117 long var47
/* : Int */;
2118 val
* var48
/* : FlatString */;
2119 val
* var49
/* : String */;
2120 val
* var50
/* : String */;
2121 val
* var_owner_path
/* var owner_path: String */;
2122 short int var51
/* : Bool */;
2123 val
* var52
/* : null */;
2124 short int var53
/* : Bool */;
2125 short int var54
/* : Bool */;
2126 val
* var55
/* : null */;
2127 static val
* varonce56
;
2128 val
* var57
/* : String */;
2129 char* var58
/* : NativeString */;
2130 long var59
/* : Int */;
2131 val
* var60
/* : FlatString */;
2132 val
* var61
/* : String */;
2133 val
* var_pn
/* var pn: String */;
2134 val
* var62
/* : String */;
2135 val
* var_rp
/* var rp: String */;
2136 val
* var63
/* : HashMap[String, nullable ModulePath] */;
2137 val
* var65
/* : HashMap[String, nullable ModulePath] */;
2138 short int var66
/* : Bool */;
2139 val
* var67
/* : HashMap[String, nullable ModulePath] */;
2140 val
* var69
/* : HashMap[String, nullable ModulePath] */;
2141 val
* var70
/* : nullable Object */;
2142 static val
* varonce71
;
2143 val
* var72
/* : String */;
2144 char* var73
/* : NativeString */;
2145 long var74
/* : Int */;
2146 val
* var75
/* : FlatString */;
2147 val
* var76
/* : String */;
2148 val
* var77
/* : String */;
2149 val
* var_mgrouppath
/* var mgrouppath: String */;
2150 val
* var78
/* : nullable MGroup */;
2151 val
* var_mgroup79
/* var mgroup: nullable MGroup */;
2152 val
* var80
/* : null */;
2153 short int var81
/* : Bool */;
2154 short int var82
/* : Bool */;
2155 val
* var_other84
/* var other: nullable Object */;
2156 short int var85
/* : Bool */;
2157 short int var87
/* : Bool */;
2158 val
* var88
/* : MProject */;
2159 val
* var89
/* : Model */;
2160 val
* var91
/* : Model */;
2161 val
* var_mproject
/* var mproject: MProject */;
2162 val
* var92
/* : MGroup */;
2163 val
* var93
/* : null */;
2164 val
* var96
/* : ToolContext */;
2165 val
* var98
/* : ToolContext */;
2166 static val
* varonce99
;
2167 val
* var100
/* : String */;
2168 char* var101
/* : NativeString */;
2169 long var102
/* : Int */;
2170 val
* var103
/* : FlatString */;
2171 static val
* varonce104
;
2172 val
* var105
/* : String */;
2173 char* var106
/* : NativeString */;
2174 long var107
/* : Int */;
2175 val
* var108
/* : FlatString */;
2176 val
* var109
/* : Array[Object] */;
2177 long var110
/* : Int */;
2178 val
* var111
/* : NativeArray[Object] */;
2179 val
* var112
/* : String */;
2180 long var113
/* : Int */;
2181 val
* var114
/* : ModulePath */;
2182 val
* var_res115
/* var res: ModulePath */;
2183 val
* var116
/* : Array[ModulePath] */;
2184 val
* var118
/* : Array[ModulePath] */;
2185 val
* var119
/* : HashMap[String, nullable ModulePath] */;
2186 val
* var121
/* : HashMap[String, nullable ModulePath] */;
2187 val
* var122
/* : Array[ModulePath] */;
2188 val
* var124
/* : Array[ModulePath] */;
2191 var1
= standard__file___String___file_extension(var_path
);
2198 var5
= standard___standard__NativeString___to_s_with_length(var3
, var4
);
2203 var6
= 1; /* <var2:String> cannot be null */
2205 { /* Inline kernel#Object#!= (var1,var2) on <var1:nullable String> */
2208 var9
= ((short int (*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable String(String)>*/;
2219 var11
= standard__file___String___dirname(var_path
);
2226 var16
= standard___standard__NativeString___to_s_with_length(var14
, var15
);
2231 var17
= ((short int (*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var11
, var13
) /* == on <var11:String>*/;
2236 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
2237 var21
= self
->attrs
[COLOR_nit__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
2238 if (unlikely(var21
== NULL
)) {
2239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
2240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 146);
2244 RET_LABEL20
:(void)0;
2248 var22
= nit__loader___ModelBuilder___search_module_in_paths(self
, var18
, var_path
, var19
);
2252 if (var_res
== NULL
) {
2253 var24
= 0; /* is null */
2255 var24
= 1; /* arg is null and recv is not */
2258 { /* Inline kernel#Object#!= (var_res,var23) on <var_res:nullable ModulePath> */
2261 var27
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable ModulePath(ModulePath)>*/;
2266 RET_LABEL26
:(void)0;
2278 var_candidate
= var29
;
2280 var30
= standard__file___String___file_exists(var_path
);
2284 var31
= nit__loader___ModelBuilder___get_mgroup(self
, var_path
);
2288 if (var_mgroup
== NULL
) {
2289 var33
= 0; /* is null */
2291 var33
= 1; /* arg is null and recv is not */
2294 { /* Inline kernel#Object#!= (var_mgroup,var32) on <var_mgroup:nullable MGroup> */
2297 var36
= ((short int (*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mgroup
, var_other
) /* == on <var_mgroup:nullable MGroup(MGroup)>*/;
2302 RET_LABEL35
:(void)0;
2308 { /* Inline mproject#MGroup#filepath (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
2309 var40
= var_mgroup
->attrs
[COLOR_nit__mproject__MGroup___filepath
].val
; /* _filepath on <var_mgroup:nullable MGroup(MGroup)> */
2311 RET_LABEL39
:(void)0;
2315 { /* Inline mproject#MGroup#name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
2316 var43
= var_mgroup
->attrs
[COLOR_nit__mproject__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
2317 if (unlikely(var43
== NULL
)) {
2318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 65);
2323 RET_LABEL42
:(void)0;
2331 var48
= standard___standard__NativeString___to_s_with_length(var46
, var47
);
2336 var49
= ((val
* (*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_standard__string__String___43d
]))(var41
, var45
) /* + on <var41:String>*/;
2338 if (var38
== NULL
) {
2339 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2340 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 291);
2343 var50
= standard__file___String___join_path(var38
, var49
);
2345 var_owner_path
= var50
;
2347 var51
= standard__file___String___file_exists(var_owner_path
);
2350 var_candidate
= var_owner_path
;
2358 if (var_candidate
== NULL
) {
2359 var53
= 1; /* is null */
2361 var53
= 0; /* arg is null but recv is not */
2364 var54
= ((short int (*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_candidate
, var52
) /* == on <var_candidate:nullable Object(nullable String)>*/;
2373 var_path
= var_candidate
;
2381 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
2386 var61
= standard__file___String___basename(var_path
, var57
);
2390 var62
= nit__loader___ModelBuilder___module_absolute_path(self
, var_path
);
2394 { /* Inline loader#ModelBuilder#identified_files_by_path (self) on <self:ModelBuilder> */
2395 var65
= self
->attrs
[COLOR_nit__loader__ModelBuilder___identified_files_by_path
].val
; /* _identified_files_by_path on <self:ModelBuilder> */
2396 if (unlikely(var65
== NULL
)) {
2397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path");
2398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 265);
2402 RET_LABEL64
:(void)0;
2406 var66
= standard___standard__MapRead___has_key(var63
, var_rp
);
2410 { /* Inline loader#ModelBuilder#identified_files_by_path (self) on <self:ModelBuilder> */
2411 var69
= self
->attrs
[COLOR_nit__loader__ModelBuilder___identified_files_by_path
].val
; /* _identified_files_by_path on <self:ModelBuilder> */
2412 if (unlikely(var69
== NULL
)) {
2413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path");
2414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 265);
2418 RET_LABEL68
:(void)0;
2422 var70
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var67
, var_rp
);
2433 var75
= standard___standard__NativeString___to_s_with_length(var73
, var74
);
2438 var76
= standard__file___String___join_path(var_path
, var72
);
2441 var77
= standard__file___String___simplify_path(var76
);
2443 var_mgrouppath
= var77
;
2445 var78
= nit__loader___ModelBuilder___get_mgroup(self
, var_mgrouppath
);
2447 var_mgroup79
= var78
;
2449 if (var_mgroup79
== NULL
) {
2450 var81
= 1; /* is null */
2452 var81
= 0; /* arg is null but recv is not */
2455 { /* Inline kernel#Object#== (var_mgroup79,var80) on <var_mgroup79:nullable MGroup> */
2456 var_other84
= var80
;
2458 { /* Inline kernel#Object#is_same_instance (var_mgroup79,var_other84) on <var_mgroup79:nullable MGroup(MGroup)> */
2459 var87
= var_mgroup79
== var_other84
;
2462 RET_LABEL86
:(void)0;
2467 RET_LABEL83
:(void)0;
2472 var88
= NEW_nit__MProject(&type_nit__MProject
);
2474 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
2475 var91
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
2476 if (unlikely(var91
== NULL
)) {
2477 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
2482 RET_LABEL90
:(void)0;
2486 ((void (*)(val
* self
, val
* p0
))(var88
->class->vft
[COLOR_nit__mproject__MProject__name_61d
]))(var88
, var_pn
) /* name= on <var88:MProject>*/;
2489 ((void (*)(val
* self
, val
* p0
))(var88
->class->vft
[COLOR_nit__mproject__MProject__model_61d
]))(var88
, var89
) /* model= on <var88:MProject>*/;
2492 ((void (*)(val
* self
))(var88
->class->vft
[COLOR_standard__kernel__Object__init
]))(var88
) /* init on <var88:MProject>*/;
2494 var_mproject
= var88
;
2495 var92
= NEW_nit__MGroup(&type_nit__MGroup
);
2498 ((void (*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nit__mproject__MGroup__name_61d
]))(var92
, var_pn
) /* name= on <var92:MGroup>*/;
2501 ((void (*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nit__mproject__MGroup__mproject_61d
]))(var92
, var_mproject
) /* mproject= on <var92:MGroup>*/;
2504 ((void (*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nit__mproject__MGroup__parent_61d
]))(var92
, var93
) /* parent= on <var92:MGroup>*/;
2507 ((void (*)(val
* self
))(var92
->class->vft
[COLOR_standard__kernel__Object__init
]))(var92
) /* init on <var92:MGroup>*/;
2509 var_mgroup79
= var92
;
2511 { /* Inline mproject#MGroup#filepath= (var_mgroup79,var_path) on <var_mgroup79:nullable MGroup(MGroup)> */
2512 var_mgroup79
->attrs
[COLOR_nit__mproject__MGroup___filepath
].val
= var_path
; /* _filepath on <var_mgroup79:nullable MGroup(MGroup)> */
2513 RET_LABEL94
:(void)0;
2517 { /* Inline mproject#MProject#root= (var_mproject,var_mgroup79) on <var_mproject:MProject> */
2518 var_mproject
->attrs
[COLOR_nit__mproject__MProject___root
].val
= var_mgroup79
; /* _root on <var_mproject:MProject> */
2519 RET_LABEL95
:(void)0;
2523 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
2524 var98
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
2525 if (unlikely(var98
== NULL
)) {
2526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2527 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2531 RET_LABEL97
:(void)0;
2537 var101
= "found project `";
2539 var103
= standard___standard__NativeString___to_s_with_length(var101
, var102
);
2544 var105
= varonce104
;
2548 var108
= standard___standard__NativeString___to_s_with_length(var106
, var107
);
2550 varonce104
= var105
;
2552 var109
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2553 { /* var109 = array_instance Array[Object] */
2555 var111
= NEW_standard__NativeArray(var110
, &type_standard__NativeArray__standard__Object
);
2556 ((struct instance_standard__NativeArray
*)var111
)->values
[0] = (val
*) var100
;
2557 ((struct instance_standard__NativeArray
*)var111
)->values
[1] = (val
*) var_pn
;
2558 ((struct instance_standard__NativeArray
*)var111
)->values
[2] = (val
*) var105
;
2559 ((struct instance_standard__NativeArray
*)var111
)->values
[3] = (val
*) var_path
;
2561 ((void (*)(val
* self
, val
* p0
, long p1
))(var109
->class->vft
[COLOR_standard__array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
2565 var112
= ((val
* (*)(val
* self
))(var109
->class->vft
[COLOR_standard__string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
2569 nit___nit__ToolContext___info(var96
, var112
, var113
); /* Direct call toolcontext#ToolContext#info on <var96:ToolContext>*/
2573 var114
= NEW_nit__ModulePath(&type_nit__ModulePath
);
2575 ((void (*)(val
* self
, val
* p0
))(var114
->class->vft
[COLOR_nit__loader__ModulePath__name_61d
]))(var114
, var_pn
) /* name= on <var114:ModulePath>*/;
2578 ((void (*)(val
* self
, val
* p0
))(var114
->class->vft
[COLOR_nit__loader__ModulePath__filepath_61d
]))(var114
, var_path
) /* filepath= on <var114:ModulePath>*/;
2581 ((void (*)(val
* self
, val
* p0
))(var114
->class->vft
[COLOR_nit__loader__ModulePath__mgroup_61d
]))(var114
, var_mgroup79
) /* mgroup= on <var114:ModulePath>*/;
2584 ((void (*)(val
* self
))(var114
->class->vft
[COLOR_standard__kernel__Object__init
]))(var114
) /* init on <var114:ModulePath>*/;
2586 var_res115
= var114
;
2588 { /* Inline loader#MGroup#module_paths (var_mgroup79) on <var_mgroup79:nullable MGroup(MGroup)> */
2589 var118
= var_mgroup79
->attrs
[COLOR_nit__loader__MGroup___module_paths
].val
; /* _module_paths on <var_mgroup79:nullable MGroup(MGroup)> */
2590 if (unlikely(var118
== NULL
)) {
2591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _module_paths");
2592 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 675);
2596 RET_LABEL117
:(void)0;
2600 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var116
, var_res115
); /* Direct call array#Array#add on <var116:Array[ModulePath]>*/
2603 { /* Inline loader#ModelBuilder#identified_files_by_path (self) on <self:ModelBuilder> */
2604 var121
= self
->attrs
[COLOR_nit__loader__ModelBuilder___identified_files_by_path
].val
; /* _identified_files_by_path on <self:ModelBuilder> */
2605 if (unlikely(var121
== NULL
)) {
2606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path");
2607 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 265);
2611 RET_LABEL120
:(void)0;
2615 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var119
, var_rp
, var_res115
); /* Direct call hash_collection#HashMap#[]= on <var119:HashMap[String, nullable ModulePath]>*/
2618 { /* Inline loader#ModelBuilder#identified_files (self) on <self:ModelBuilder> */
2619 var124
= self
->attrs
[COLOR_nit__loader__ModelBuilder___identified_files
].val
; /* _identified_files on <self:ModelBuilder> */
2620 if (unlikely(var124
== NULL
)) {
2621 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files");
2622 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 268);
2626 RET_LABEL123
:(void)0;
2630 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var122
, var_res115
); /* Direct call array#Array#add on <var122:Array[ModulePath]>*/
2637 /* method loader#ModelBuilder#mgroups for (self: ModelBuilder): HashMap[String, nullable MGroup] */
2638 val
* nit__loader___ModelBuilder___mgroups(val
* self
) {
2639 val
* var
/* : HashMap[String, nullable MGroup] */;
2640 val
* var1
/* : HashMap[String, nullable MGroup] */;
2641 var1
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2642 if (unlikely(var1
== NULL
)) {
2643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
2644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 328);
2651 /* method loader#ModelBuilder#get_mgroup for (self: ModelBuilder, String): nullable MGroup */
2652 val
* nit__loader___ModelBuilder___get_mgroup(val
* self
, val
* p0
) {
2653 val
* var
/* : nullable MGroup */;
2654 val
* var_dirpath
/* var dirpath: String */;
2655 short int var1
/* : Bool */;
2656 short int var2
/* : Bool */;
2657 val
* var3
/* : Array[String] */;
2658 val
* var5
/* : Array[String] */;
2659 val
* var_
/* var : Array[String] */;
2660 val
* var6
/* : ArrayIterator[nullable Object] */;
2661 val
* var_7
/* var : ArrayIterator[String] */;
2662 short int var8
/* : Bool */;
2663 val
* var9
/* : nullable Object */;
2664 val
* var_p
/* var p: String */;
2665 val
* var10
/* : String */;
2666 val
* var_try
/* var try: String */;
2667 short int var11
/* : Bool */;
2668 val
* var13
/* : null */;
2669 val
* var14
/* : String */;
2670 val
* var_rdp
/* var rdp: String */;
2671 val
* var15
/* : HashMap[String, nullable MGroup] */;
2672 val
* var17
/* : HashMap[String, nullable MGroup] */;
2673 short int var18
/* : Bool */;
2674 val
* var19
/* : HashMap[String, nullable MGroup] */;
2675 val
* var21
/* : HashMap[String, nullable MGroup] */;
2676 val
* var22
/* : nullable Object */;
2677 static val
* varonce
;
2678 val
* var23
/* : String */;
2679 char* var24
/* : NativeString */;
2680 long var25
/* : Int */;
2681 val
* var26
/* : FlatString */;
2682 val
* var27
/* : String */;
2683 val
* var_pn
/* var pn: String */;
2684 static val
* varonce28
;
2685 val
* var29
/* : String */;
2686 char* var30
/* : NativeString */;
2687 long var31
/* : Int */;
2688 val
* var32
/* : FlatString */;
2689 val
* var33
/* : String */;
2690 val
* var34
/* : String */;
2691 val
* var35
/* : String */;
2692 val
* var_mp
/* var mp: String */;
2693 val
* var_dirpath2
/* var dirpath2: String */;
2694 short int var36
/* : Bool */;
2695 short int var37
/* : Bool */;
2696 static val
* varonce38
;
2697 val
* var39
/* : String */;
2698 char* var40
/* : NativeString */;
2699 long var41
/* : Int */;
2700 val
* var42
/* : FlatString */;
2701 short int var43
/* : Bool */;
2702 val
* var44
/* : String */;
2703 static val
* varonce45
;
2704 val
* var46
/* : String */;
2705 char* var47
/* : NativeString */;
2706 long var48
/* : Int */;
2707 val
* var49
/* : FlatString */;
2708 val
* var50
/* : String */;
2709 val
* var51
/* : null */;
2710 static val
* varonce52
;
2711 val
* var53
/* : String */;
2712 char* var54
/* : NativeString */;
2713 long var55
/* : Int */;
2714 val
* var56
/* : FlatString */;
2715 val
* var57
/* : String */;
2716 val
* var58
/* : String */;
2717 val
* var_parentpath
/* var parentpath: String */;
2718 val
* var59
/* : nullable MGroup */;
2719 val
* var_parent
/* var parent: nullable MGroup */;
2720 val
* var60
/* : null */;
2721 short int var61
/* : Bool */;
2722 short int var62
/* : Bool */;
2723 val
* var_other
/* var other: nullable Object */;
2724 short int var64
/* : Bool */;
2725 short int var66
/* : Bool */;
2726 val
* var67
/* : MProject */;
2727 val
* var68
/* : Model */;
2728 val
* var70
/* : Model */;
2729 val
* var_mproject
/* var mproject: MProject */;
2730 val
* var71
/* : MGroup */;
2731 val
* var72
/* : null */;
2732 val
* var_mgroup
/* var mgroup: nullable Object */;
2733 val
* var74
/* : ToolContext */;
2734 val
* var76
/* : ToolContext */;
2735 static val
* varonce77
;
2736 val
* var78
/* : String */;
2737 char* var79
/* : NativeString */;
2738 long var80
/* : Int */;
2739 val
* var81
/* : FlatString */;
2740 static val
* varonce82
;
2741 val
* var83
/* : String */;
2742 char* var84
/* : NativeString */;
2743 long var85
/* : Int */;
2744 val
* var86
/* : FlatString */;
2745 val
* var87
/* : Array[Object] */;
2746 long var88
/* : Int */;
2747 val
* var89
/* : NativeArray[Object] */;
2748 val
* var90
/* : String */;
2749 long var91
/* : Int */;
2750 val
* var92
/* : MGroup */;
2751 val
* var93
/* : MProject */;
2752 val
* var95
/* : MProject */;
2753 val
* var96
/* : ToolContext */;
2754 val
* var98
/* : ToolContext */;
2755 static val
* varonce99
;
2756 val
* var100
/* : String */;
2757 char* var101
/* : NativeString */;
2758 long var102
/* : Int */;
2759 val
* var103
/* : FlatString */;
2760 val
* var104
/* : String */;
2761 static val
* varonce105
;
2762 val
* var106
/* : String */;
2763 char* var107
/* : NativeString */;
2764 long var108
/* : Int */;
2765 val
* var109
/* : FlatString */;
2766 val
* var110
/* : Array[Object] */;
2767 long var111
/* : Int */;
2768 val
* var112
/* : NativeArray[Object] */;
2769 val
* var113
/* : String */;
2770 long var114
/* : Int */;
2771 static val
* varonce115
;
2772 val
* var116
/* : String */;
2773 char* var117
/* : NativeString */;
2774 long var118
/* : Int */;
2775 val
* var119
/* : FlatString */;
2776 val
* var120
/* : String */;
2777 val
* var_readme
/* var readme: String */;
2778 short int var121
/* : Bool */;
2779 short int var122
/* : Bool */;
2780 static val
* varonce123
;
2781 val
* var124
/* : String */;
2782 char* var125
/* : NativeString */;
2783 long var126
/* : Int */;
2784 val
* var127
/* : FlatString */;
2785 val
* var128
/* : String */;
2786 short int var129
/* : Bool */;
2787 val
* var130
/* : MDoc */;
2788 val
* var_mdoc
/* var mdoc: MDoc */;
2789 val
* var132
/* : IFStream */;
2790 val
* var_s
/* var s: IFStream */;
2791 short int var133
/* : Bool */;
2792 short int var134
/* : Bool */;
2793 val
* var135
/* : Array[String] */;
2794 val
* var137
/* : Array[String] */;
2795 val
* var138
/* : String */;
2796 val
* var143
/* : HashMap[String, nullable MGroup] */;
2797 val
* var145
/* : HashMap[String, nullable MGroup] */;
2800 var1
= standard__file___String___file_exists(var_dirpath
);
2805 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
2806 var5
= self
->attrs
[COLOR_nit__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
2807 if (unlikely(var5
== NULL
)) {
2808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
2809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 146);
2818 var6
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
2823 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7
);
2827 var9
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7
);
2831 var10
= standard__file___String____47d(var_p
, var_dirpath
);
2835 var11
= standard__file___String___file_exists(var_try
);
2838 var_dirpath
= var_try
;
2843 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7
); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[String]>*/
2849 BREAK_label
: (void)0;
2851 { /* Inline abstract_collection#Iterator#finish (var_7) on <var_7:ArrayIterator[String]> */
2852 RET_LABEL12
:(void)0;
2862 var14
= nit__loader___ModelBuilder___module_absolute_path(self
, var_dirpath
);
2866 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
2867 var17
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2868 if (unlikely(var17
== NULL
)) {
2869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
2870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 328);
2874 RET_LABEL16
:(void)0;
2878 var18
= standard___standard__MapRead___has_key(var15
, var_rdp
);
2882 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
2883 var21
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2884 if (unlikely(var21
== NULL
)) {
2885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
2886 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 328);
2890 RET_LABEL20
:(void)0;
2894 var22
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var19
, var_rdp
);
2905 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
2910 var27
= standard__file___String___basename(var_rdp
, var23
);
2918 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
2923 var33
= ((val
* (*)(val
* self
, val
* p0
))(var_pn
->class->vft
[COLOR_standard__string__String___43d
]))(var_pn
, var29
) /* + on <var_pn:String>*/;
2926 var34
= standard__file___String___join_path(var_dirpath
, var33
);
2929 var35
= standard__file___String___simplify_path(var34
);
2932 var_dirpath2
= var_dirpath
;
2934 var36
= standard__file___String___file_exists(var_mp
);
2943 var42
= standard___standard__NativeString___to_s_with_length(var40
, var41
);
2948 var43
= ((short int (*)(val
* self
, val
* p0
))(var_pn
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pn
, var39
) /* == on <var_pn:String>*/;
2952 var44
= standard__file___String___dirname(var_rdp
);
2954 var_dirpath2
= var44
;
2960 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
2965 var50
= standard__file___String___basename(var_dirpath2
, var46
);
2980 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
2985 var57
= standard__file___String___join_path(var_dirpath
, var53
);
2988 var58
= standard__file___String___simplify_path(var57
);
2990 var_parentpath
= var58
;
2992 var59
= nit__loader___ModelBuilder___get_mgroup(self
, var_parentpath
);
2996 if (var_parent
== NULL
) {
2997 var61
= 1; /* is null */
2999 var61
= 0; /* arg is null but recv is not */
3002 { /* Inline kernel#Object#== (var_parent,var60) on <var_parent:nullable MGroup> */
3005 { /* Inline kernel#Object#is_same_instance (var_parent,var_other) on <var_parent:nullable MGroup(MGroup)> */
3006 var66
= var_parent
== var_other
;
3009 RET_LABEL65
:(void)0;
3014 RET_LABEL63
:(void)0;
3019 var67
= NEW_nit__MProject(&type_nit__MProject
);
3021 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
3022 var70
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
3023 if (unlikely(var70
== NULL
)) {
3024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
3029 RET_LABEL69
:(void)0;
3033 ((void (*)(val
* self
, val
* p0
))(var67
->class->vft
[COLOR_nit__mproject__MProject__name_61d
]))(var67
, var_pn
) /* name= on <var67:MProject>*/;
3036 ((void (*)(val
* self
, val
* p0
))(var67
->class->vft
[COLOR_nit__mproject__MProject__model_61d
]))(var67
, var68
) /* model= on <var67:MProject>*/;
3039 ((void (*)(val
* self
))(var67
->class->vft
[COLOR_standard__kernel__Object__init
]))(var67
) /* init on <var67:MProject>*/;
3041 var_mproject
= var67
;
3042 var71
= NEW_nit__MGroup(&type_nit__MGroup
);
3045 ((void (*)(val
* self
, val
* p0
))(var71
->class->vft
[COLOR_nit__mproject__MGroup__name_61d
]))(var71
, var_pn
) /* name= on <var71:MGroup>*/;
3048 ((void (*)(val
* self
, val
* p0
))(var71
->class->vft
[COLOR_nit__mproject__MGroup__mproject_61d
]))(var71
, var_mproject
) /* mproject= on <var71:MGroup>*/;
3051 ((void (*)(val
* self
, val
* p0
))(var71
->class->vft
[COLOR_nit__mproject__MGroup__parent_61d
]))(var71
, var72
) /* parent= on <var71:MGroup>*/;
3054 ((void (*)(val
* self
))(var71
->class->vft
[COLOR_standard__kernel__Object__init
]))(var71
) /* init on <var71:MGroup>*/;
3058 { /* Inline mproject#MProject#root= (var_mproject,var_mgroup) on <var_mproject:MProject> */
3059 var_mproject
->attrs
[COLOR_nit__mproject__MProject___root
].val
= var_mgroup
; /* _root on <var_mproject:MProject> */
3060 RET_LABEL73
:(void)0;
3064 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3065 var76
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3066 if (unlikely(var76
== NULL
)) {
3067 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3072 RET_LABEL75
:(void)0;
3078 var79
= "found project `";
3080 var81
= standard___standard__NativeString___to_s_with_length(var79
, var80
);
3089 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
3093 var87
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3094 { /* var87 = array_instance Array[Object] */
3096 var89
= NEW_standard__NativeArray(var88
, &type_standard__NativeArray__standard__Object
);
3097 ((struct instance_standard__NativeArray
*)var89
)->values
[0] = (val
*) var78
;
3098 ((struct instance_standard__NativeArray
*)var89
)->values
[1] = (val
*) var_mproject
;
3099 ((struct instance_standard__NativeArray
*)var89
)->values
[2] = (val
*) var83
;
3100 ((struct instance_standard__NativeArray
*)var89
)->values
[3] = (val
*) var_dirpath
;
3102 ((void (*)(val
* self
, val
* p0
, long p1
))(var87
->class->vft
[COLOR_standard__array__Array__with_native
]))(var87
, var89
, var88
) /* with_native on <var87:Array[Object]>*/;
3106 var90
= ((val
* (*)(val
* self
))(var87
->class->vft
[COLOR_standard__string__Object__to_s
]))(var87
) /* to_s on <var87:Array[Object]>*/;
3110 nit___nit__ToolContext___info(var74
, var90
, var91
); /* Direct call toolcontext#ToolContext#info on <var74:ToolContext>*/
3113 var92
= NEW_nit__MGroup(&type_nit__MGroup
);
3115 { /* Inline mproject#MGroup#mproject (var_parent) on <var_parent:nullable MGroup(MGroup)> */
3116 var95
= var_parent
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var_parent:nullable MGroup(MGroup)> */
3117 if (unlikely(var95
== NULL
)) {
3118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
3119 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
3123 RET_LABEL94
:(void)0;
3127 ((void (*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nit__mproject__MGroup__name_61d
]))(var92
, var_pn
) /* name= on <var92:MGroup>*/;
3130 ((void (*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nit__mproject__MGroup__mproject_61d
]))(var92
, var93
) /* mproject= on <var92:MGroup>*/;
3133 ((void (*)(val
* self
, val
* p0
))(var92
->class->vft
[COLOR_nit__mproject__MGroup__parent_61d
]))(var92
, var_parent
) /* parent= on <var92:MGroup>*/;
3136 ((void (*)(val
* self
))(var92
->class->vft
[COLOR_standard__kernel__Object__init
]))(var92
) /* init on <var92:MGroup>*/;
3140 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3141 var98
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3142 if (unlikely(var98
== NULL
)) {
3143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3144 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3148 RET_LABEL97
:(void)0;
3154 var101
= "found sub group `";
3156 var103
= standard___standard__NativeString___to_s_with_length(var101
, var102
);
3161 var104
= nit___nit__MGroup___nit__model_base__MEntity__full_name(var_mgroup
);
3164 var106
= varonce105
;
3168 var109
= standard___standard__NativeString___to_s_with_length(var107
, var108
);
3170 varonce105
= var106
;
3172 var110
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3173 { /* var110 = array_instance Array[Object] */
3175 var112
= NEW_standard__NativeArray(var111
, &type_standard__NativeArray__standard__Object
);
3176 ((struct instance_standard__NativeArray
*)var112
)->values
[0] = (val
*) var100
;
3177 ((struct instance_standard__NativeArray
*)var112
)->values
[1] = (val
*) var104
;
3178 ((struct instance_standard__NativeArray
*)var112
)->values
[2] = (val
*) var106
;
3179 ((struct instance_standard__NativeArray
*)var112
)->values
[3] = (val
*) var_dirpath
;
3181 ((void (*)(val
* self
, val
* p0
, long p1
))(var110
->class->vft
[COLOR_standard__array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
3185 var113
= ((val
* (*)(val
* self
))(var110
->class->vft
[COLOR_standard__string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
3189 nit___nit__ToolContext___info(var96
, var113
, var114
); /* Direct call toolcontext#ToolContext#info on <var96:ToolContext>*/
3193 var116
= varonce115
;
3195 var117
= "README.md";
3197 var119
= standard___standard__NativeString___to_s_with_length(var117
, var118
);
3199 varonce115
= var116
;
3202 var120
= standard__file___String___join_path(var_dirpath2
, var116
);
3204 var_readme
= var120
;
3206 var121
= standard__file___String___file_exists(var_readme
);
3211 var124
= varonce123
;
3215 var127
= standard___standard__NativeString___to_s_with_length(var125
, var126
);
3217 varonce123
= var124
;
3220 var128
= standard__file___String___join_path(var_dirpath2
, var124
);
3222 var_readme
= var128
;
3226 var129
= standard__file___String___file_exists(var_readme
);
3229 var130
= NEW_nit__MDoc(&type_nit__MDoc
);
3231 { /* Inline kernel#Object#init (var130) on <var130:MDoc> */
3232 RET_LABEL131
:(void)0;
3236 var132
= NEW_standard__IFStream(&type_standard__IFStream
);
3238 standard___standard__IFStream___open(var132
, var_readme
); /* Direct call file#IFStream#open on <var132:IFStream>*/
3243 var133
= standard___standard__BufferedIStream___IStream__eof(var_s
);
3248 { /* Inline mdoc#MDoc#content (var_mdoc) on <var_mdoc:MDoc> */
3249 var137
= var_mdoc
->attrs
[COLOR_nit__mdoc__MDoc___content
].val
; /* _content on <var_mdoc:MDoc> */
3250 if (unlikely(var137
== NULL
)) {
3251 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
3252 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mdoc
, 22);
3256 RET_LABEL136
:(void)0;
3260 var138
= standard___standard__IStream___read_line(var_s
);
3263 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var135
, var138
); /* Direct call array#Array#add on <var135:Array[String]>*/
3266 goto BREAK_label139
;
3269 BREAK_label139
: (void)0;
3271 { /* Inline mdoc#MEntity#mdoc= (var_mgroup,var_mdoc) on <var_mgroup:nullable Object(MGroup)> */
3272 var_mgroup
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mgroup:nullable Object(MGroup)> */
3273 RET_LABEL140
:(void)0;
3277 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mgroup) on <var_mdoc:MDoc> */
3278 var_mdoc
->attrs
[COLOR_nit__mdoc__MDoc___original_mentity
].val
= var_mgroup
; /* _original_mentity on <var_mdoc:MDoc> */
3279 RET_LABEL141
:(void)0;
3285 { /* Inline mproject#MGroup#filepath= (var_mgroup,var_dirpath) on <var_mgroup:nullable Object(MGroup)> */
3286 var_mgroup
->attrs
[COLOR_nit__mproject__MGroup___filepath
].val
= var_dirpath
; /* _filepath on <var_mgroup:nullable Object(MGroup)> */
3287 RET_LABEL142
:(void)0;
3291 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
3292 var145
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
3293 if (unlikely(var145
== NULL
)) {
3294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
3295 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 328);
3299 RET_LABEL144
:(void)0;
3303 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var143
, var_rdp
, var_mgroup
); /* Direct call hash_collection#HashMap#[]= on <var143:HashMap[String, nullable MGroup]>*/
3310 /* method loader#ModelBuilder#module_absolute_path for (self: ModelBuilder, String): String */
3311 val
* nit__loader___ModelBuilder___module_absolute_path(val
* self
, val
* p0
) {
3312 val
* var
/* : String */;
3313 val
* var_path
/* var path: String */;
3314 val
* var1
/* : String */;
3315 val
* var2
/* : String */;
3316 val
* var3
/* : String */;
3319 var1
= standard__file___Object___getcwd(self
);
3322 var2
= standard__file___String___join_path(var1
, var_path
);
3325 var3
= standard__file___String___simplify_path(var2
);
3332 /* method loader#ModelBuilder#load_module_ast for (self: ModelBuilder, String): nullable AModule */
3333 val
* nit__loader___ModelBuilder___load_module_ast(val
* self
, val
* p0
) {
3334 val
* var
/* : nullable AModule */;
3335 val
* var_filename
/* var filename: String */;
3336 val
* var1
/* : nullable String */;
3337 static val
* varonce
;
3338 val
* var2
/* : String */;
3339 char* var3
/* : NativeString */;
3340 long var4
/* : Int */;
3341 val
* var5
/* : FlatString */;
3342 short int var6
/* : Bool */;
3343 short int var7
/* : Bool */;
3344 val
* var_other
/* var other: nullable Object */;
3345 short int var9
/* : Bool */;
3346 short int var10
/* : Bool */;
3347 val
* var11
/* : ToolContext */;
3348 val
* var13
/* : ToolContext */;
3349 val
* var14
/* : null */;
3350 static val
* varonce15
;
3351 val
* var16
/* : String */;
3352 char* var17
/* : NativeString */;
3353 long var18
/* : Int */;
3354 val
* var19
/* : FlatString */;
3355 static val
* varonce20
;
3356 val
* var21
/* : String */;
3357 char* var22
/* : NativeString */;
3358 long var23
/* : Int */;
3359 val
* var24
/* : FlatString */;
3360 val
* var25
/* : Array[Object] */;
3361 long var26
/* : Int */;
3362 val
* var27
/* : NativeArray[Object] */;
3363 val
* var28
/* : String */;
3364 val
* var29
/* : null */;
3365 short int var30
/* : Bool */;
3366 short int var31
/* : Bool */;
3367 val
* var32
/* : ToolContext */;
3368 val
* var34
/* : ToolContext */;
3369 val
* var35
/* : null */;
3370 static val
* varonce36
;
3371 val
* var37
/* : String */;
3372 char* var38
/* : NativeString */;
3373 long var39
/* : Int */;
3374 val
* var40
/* : FlatString */;
3375 static val
* varonce41
;
3376 val
* var42
/* : String */;
3377 char* var43
/* : NativeString */;
3378 long var44
/* : Int */;
3379 val
* var45
/* : FlatString */;
3380 val
* var46
/* : Array[Object] */;
3381 long var47
/* : Int */;
3382 val
* var48
/* : NativeArray[Object] */;
3383 val
* var49
/* : String */;
3384 val
* var50
/* : null */;
3385 val
* var51
/* : ToolContext */;
3386 val
* var53
/* : ToolContext */;
3387 static val
* varonce54
;
3388 val
* var55
/* : String */;
3389 char* var56
/* : NativeString */;
3390 long var57
/* : Int */;
3391 val
* var58
/* : FlatString */;
3392 val
* var59
/* : Array[Object] */;
3393 long var60
/* : Int */;
3394 val
* var61
/* : NativeArray[Object] */;
3395 val
* var62
/* : String */;
3396 long var63
/* : Int */;
3397 val
* var64
/* : IFStream */;
3398 val
* var_file
/* var file: IFStream */;
3399 val
* var65
/* : Lexer */;
3400 val
* var66
/* : SourceFile */;
3401 val
* var_lexer
/* var lexer: Lexer */;
3402 val
* var67
/* : Parser */;
3403 val
* var_parser
/* var parser: Parser */;
3404 val
* var68
/* : Start */;
3405 val
* var_tree
/* var tree: Start */;
3406 val
* var69
/* : nullable AModule */;
3407 val
* var71
/* : nullable AModule */;
3408 val
* var_nmodule
/* var nmodule: nullable AModule */;
3409 val
* var72
/* : null */;
3410 short int var73
/* : Bool */;
3411 short int var74
/* : Bool */;
3412 val
* var_other76
/* var other: nullable Object */;
3413 short int var77
/* : Bool */;
3414 short int var79
/* : Bool */;
3415 val
* var80
/* : EOF */;
3416 val
* var82
/* : EOF */;
3417 val
* var_neof
/* var neof: EOF */;
3418 short int var83
/* : Bool */;
3421 val
* var84
/* : String */;
3422 val
* var86
/* : String */;
3423 val
* var87
/* : null */;
3426 var1
= standard__file___String___file_extension(var_filename
);
3433 var5
= standard___standard__NativeString___to_s_with_length(var3
, var4
);
3438 var6
= 1; /* <var2:String> cannot be null */
3440 { /* Inline kernel#Object#!= (var1,var2) on <var1:nullable String> */
3443 var9
= ((short int (*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable String(String)>*/;
3454 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3455 var13
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3456 if (unlikely(var13
== NULL
)) {
3457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3462 RET_LABEL12
:(void)0;
3469 var17
= "Error: file ";
3471 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
3478 var22
= " is not a valid nit module.";
3480 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
3484 var25
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3485 { /* var25 = array_instance Array[Object] */
3487 var27
= NEW_standard__NativeArray(var26
, &type_standard__NativeArray__standard__Object
);
3488 ((struct instance_standard__NativeArray
*)var27
)->values
[0] = (val
*) var16
;
3489 ((struct instance_standard__NativeArray
*)var27
)->values
[1] = (val
*) var_filename
;
3490 ((struct instance_standard__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
3492 ((void (*)(val
* self
, val
* p0
, long p1
))(var25
->class->vft
[COLOR_standard__array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
3496 var28
= ((val
* (*)(val
* self
))(var25
->class->vft
[COLOR_standard__string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
3499 nit___nit__ToolContext___error(var11
, var14
, var28
); /* Direct call toolcontext#ToolContext#error on <var11:ToolContext>*/
3507 var30
= standard__file___String___file_exists(var_filename
);
3512 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3513 var34
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3514 if (unlikely(var34
== NULL
)) {
3515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3516 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3520 RET_LABEL33
:(void)0;
3527 var38
= "Error: file ";
3529 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
3536 var43
= " not found.";
3538 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
3542 var46
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3543 { /* var46 = array_instance Array[Object] */
3545 var48
= NEW_standard__NativeArray(var47
, &type_standard__NativeArray__standard__Object
);
3546 ((struct instance_standard__NativeArray
*)var48
)->values
[0] = (val
*) var37
;
3547 ((struct instance_standard__NativeArray
*)var48
)->values
[1] = (val
*) var_filename
;
3548 ((struct instance_standard__NativeArray
*)var48
)->values
[2] = (val
*) var42
;
3550 ((void (*)(val
* self
, val
* p0
, long p1
))(var46
->class->vft
[COLOR_standard__array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
3554 var49
= ((val
* (*)(val
* self
))(var46
->class->vft
[COLOR_standard__string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
3557 nit___nit__ToolContext___error(var32
, var35
, var49
); /* Direct call toolcontext#ToolContext#error on <var32:ToolContext>*/
3565 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3566 var53
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3567 if (unlikely(var53
== NULL
)) {
3568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3573 RET_LABEL52
:(void)0;
3579 var56
= "load module ";
3581 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
3585 var59
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3586 { /* var59 = array_instance Array[Object] */
3588 var61
= NEW_standard__NativeArray(var60
, &type_standard__NativeArray__standard__Object
);
3589 ((struct instance_standard__NativeArray
*)var61
)->values
[0] = (val
*) var55
;
3590 ((struct instance_standard__NativeArray
*)var61
)->values
[1] = (val
*) var_filename
;
3592 ((void (*)(val
* self
, val
* p0
, long p1
))(var59
->class->vft
[COLOR_standard__array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
3596 var62
= ((val
* (*)(val
* self
))(var59
->class->vft
[COLOR_standard__string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
3600 nit___nit__ToolContext___info(var51
, var62
, var63
); /* Direct call toolcontext#ToolContext#info on <var51:ToolContext>*/
3602 var64
= NEW_standard__IFStream(&type_standard__IFStream
);
3604 standard___standard__IFStream___open(var64
, var_filename
); /* Direct call file#IFStream#open on <var64:IFStream>*/
3607 var65
= NEW_nit__Lexer(&type_nit__Lexer
);
3608 var66
= NEW_nit__SourceFile(&type_nit__SourceFile
);
3610 ((void (*)(val
* self
, val
* p0
))(var66
->class->vft
[COLOR_nit__location__SourceFile__filename_61d
]))(var66
, var_filename
) /* filename= on <var66:SourceFile>*/;
3613 ((void (*)(val
* self
, val
* p0
))(var66
->class->vft
[COLOR_nit__location__SourceFile__stream_61d
]))(var66
, var_file
) /* stream= on <var66:SourceFile>*/;
3616 ((void (*)(val
* self
))(var66
->class->vft
[COLOR_standard__kernel__Object__init
]))(var66
) /* init on <var66:SourceFile>*/;
3619 ((void (*)(val
* self
, val
* p0
))(var65
->class->vft
[COLOR_nit__lexer_work__Lexer__file_61d
]))(var65
, var66
) /* file= on <var65:Lexer>*/;
3622 ((void (*)(val
* self
))(var65
->class->vft
[COLOR_standard__kernel__Object__init
]))(var65
) /* init on <var65:Lexer>*/;
3625 var67
= NEW_nit__Parser(&type_nit__Parser
);
3627 ((void (*)(val
* self
, val
* p0
))(var67
->class->vft
[COLOR_nit__parser_work__Parser__lexer_61d
]))(var67
, var_lexer
) /* lexer= on <var67:Parser>*/;
3630 ((void (*)(val
* self
))(var67
->class->vft
[COLOR_standard__kernel__Object__init
]))(var67
) /* init on <var67:Parser>*/;
3634 var68
= nit___nit__Parser___parse(var_parser
);
3638 standard___standard__IFStream___standard__stream__IOS__close(var_file
); /* Direct call file#IFStream#close on <var_file:IFStream>*/
3641 { /* Inline parser_nodes#Start#n_base (var_tree) on <var_tree:Start> */
3642 var71
= var_tree
->attrs
[COLOR_nit__parser_nodes__Start___n_base
].val
; /* _n_base on <var_tree:Start> */
3644 RET_LABEL70
:(void)0;
3647 var_nmodule
= var69
;
3649 if (var_nmodule
== NULL
) {
3650 var73
= 1; /* is null */
3652 var73
= 0; /* arg is null but recv is not */
3655 { /* Inline kernel#Object#== (var_nmodule,var72) on <var_nmodule:nullable AModule> */
3656 var_other76
= var72
;
3658 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other76) on <var_nmodule:nullable AModule(AModule)> */
3659 var79
= var_nmodule
== var_other76
;
3662 RET_LABEL78
:(void)0;
3667 RET_LABEL75
:(void)0;
3673 { /* Inline parser_nodes#Start#n_eof (var_tree) on <var_tree:Start> */
3674 var82
= var_tree
->attrs
[COLOR_nit__parser_nodes__Start___n_eof
].val
; /* _n_eof on <var_tree:Start> */
3675 if (unlikely(var82
== NULL
)) {
3676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eof");
3677 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2601);
3681 RET_LABEL81
:(void)0;
3685 /* <var_neof:EOF> isa AError */
3686 cltype
= type_nit__AError
.color
;
3687 idtype
= type_nit__AError
.id
;
3688 if(cltype
>= var_neof
->type
->table_size
) {
3691 var83
= var_neof
->type
->type_table
[cltype
] == idtype
;
3693 if (unlikely(!var83
)) {
3694 PRINT_ERROR("Runtime error: %s", "Assert failed");
3695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 443);
3699 { /* Inline lexer_work#AError#message (var_neof) on <var_neof:EOF(AError)> */
3700 var86
= var_neof
->attrs
[COLOR_nit__lexer_work__AError___message
].val
; /* _message on <var_neof:EOF(AError)> */
3701 if (unlikely(var86
== NULL
)) {
3702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message");
3703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work
, 50);
3707 RET_LABEL85
:(void)0;
3711 nit___nit__ModelBuilder___error(self
, var_neof
, var84
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
3723 /* method loader#ModelBuilder#load_module for (self: ModelBuilder, String): nullable AModule */
3724 val
* nit__loader___ModelBuilder___load_module(val
* self
, val
* p0
) {
3725 val
* var
/* : nullable AModule */;
3726 val
* var_filename
/* var filename: String */;
3727 val
* var1
/* : nullable ModulePath */;
3728 val
* var_file
/* var file: nullable ModulePath */;
3729 val
* var2
/* : null */;
3730 short int var3
/* : Bool */;
3731 short int var4
/* : Bool */;
3732 val
* var_other
/* var other: nullable Object */;
3733 short int var6
/* : Bool */;
3734 short int var8
/* : Bool */;
3735 val
* var9
/* : ToolContext */;
3736 val
* var11
/* : ToolContext */;
3737 val
* var12
/* : null */;
3738 static val
* varonce
;
3739 val
* var13
/* : String */;
3740 char* var14
/* : NativeString */;
3741 long var15
/* : Int */;
3742 val
* var16
/* : FlatString */;
3743 static val
* varonce17
;
3744 val
* var18
/* : String */;
3745 char* var19
/* : NativeString */;
3746 long var20
/* : Int */;
3747 val
* var21
/* : FlatString */;
3748 val
* var22
/* : Array[Object] */;
3749 long var23
/* : Int */;
3750 val
* var24
/* : NativeArray[Object] */;
3751 val
* var25
/* : String */;
3752 val
* var26
/* : null */;
3753 val
* var27
/* : nullable MModule */;
3754 val
* var29
/* : nullable MModule */;
3755 val
* var_mmodule
/* var mmodule: nullable MModule */;
3756 val
* var30
/* : null */;
3757 short int var31
/* : Bool */;
3758 short int var32
/* : Bool */;
3759 val
* var_other34
/* var other: nullable Object */;
3760 short int var35
/* : Bool */;
3761 short int var36
/* : Bool */;
3762 val
* var37
/* : HashMap[MModule, AModule] */;
3763 val
* var39
/* : HashMap[MModule, AModule] */;
3764 val
* var40
/* : nullable Object */;
3765 val
* var41
/* : String */;
3766 val
* var43
/* : String */;
3767 val
* var44
/* : nullable AModule */;
3768 val
* var_nmodule
/* var nmodule: nullable AModule */;
3769 val
* var45
/* : null */;
3770 short int var46
/* : Bool */;
3771 short int var47
/* : Bool */;
3772 short int var49
/* : Bool */;
3773 short int var51
/* : Bool */;
3774 val
* var52
/* : null */;
3775 val
* var53
/* : MGroup */;
3776 val
* var55
/* : MGroup */;
3777 val
* var56
/* : String */;
3778 val
* var58
/* : String */;
3779 val
* var59
/* : nullable MModule */;
3780 val
* var60
/* : null */;
3781 short int var61
/* : Bool */;
3782 short int var62
/* : Bool */;
3783 short int var64
/* : Bool */;
3784 short int var66
/* : Bool */;
3785 val
* var67
/* : null */;
3788 var1
= nit__loader___ModelBuilder___identify_file(self
, var_filename
);
3792 if (var_file
== NULL
) {
3793 var3
= 1; /* is null */
3795 var3
= 0; /* arg is null but recv is not */
3798 { /* Inline kernel#Object#== (var_file,var2) on <var_file:nullable ModulePath> */
3801 { /* Inline kernel#Object#is_same_instance (var_file,var_other) on <var_file:nullable ModulePath(ModulePath)> */
3802 var8
= var_file
== var_other
;
3816 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3817 var11
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3818 if (unlikely(var11
== NULL
)) {
3819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3824 RET_LABEL10
:(void)0;
3831 var14
= "Error: cannot find module `";
3833 var16
= standard___standard__NativeString___to_s_with_length(var14
, var15
);
3842 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
3846 var22
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3847 { /* var22 = array_instance Array[Object] */
3849 var24
= NEW_standard__NativeArray(var23
, &type_standard__NativeArray__standard__Object
);
3850 ((struct instance_standard__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
3851 ((struct instance_standard__NativeArray
*)var24
)->values
[1] = (val
*) var_filename
;
3852 ((struct instance_standard__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
3854 ((void (*)(val
* self
, val
* p0
, long p1
))(var22
->class->vft
[COLOR_standard__array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
3858 var25
= ((val
* (*)(val
* self
))(var22
->class->vft
[COLOR_standard__string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
3861 nit___nit__ToolContext___error(var9
, var12
, var25
); /* Direct call toolcontext#ToolContext#error on <var9:ToolContext>*/
3869 { /* Inline loader#ModulePath#mmodule (var_file) on <var_file:nullable ModulePath(ModulePath)> */
3870 var29
= var_file
->attrs
[COLOR_nit__loader__ModulePath___mmodule
].val
; /* _mmodule on <var_file:nullable ModulePath(ModulePath)> */
3872 RET_LABEL28
:(void)0;
3875 var_mmodule
= var27
;
3877 if (var_mmodule
== NULL
) {
3878 var31
= 0; /* is null */
3880 var31
= 1; /* arg is null and recv is not */
3883 { /* Inline kernel#Object#!= (var_mmodule,var30) on <var_mmodule:nullable MModule> */
3884 var_other34
= var30
;
3886 var35
= ((short int (*)(val
* self
, val
* p0
))(var_mmodule
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mmodule
, var_other34
) /* == on <var_mmodule:nullable MModule(MModule)>*/;
3891 RET_LABEL33
:(void)0;
3897 { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
3898 var39
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
3899 if (unlikely(var39
== NULL
)) {
3900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
3901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 641);
3905 RET_LABEL38
:(void)0;
3909 var40
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var37
, var_mmodule
);
3916 { /* Inline loader#ModulePath#filepath (var_file) on <var_file:nullable ModulePath(ModulePath)> */
3917 var43
= var_file
->attrs
[COLOR_nit__loader__ModulePath___filepath
].val
; /* _filepath on <var_file:nullable ModulePath(ModulePath)> */
3918 if (unlikely(var43
== NULL
)) {
3919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
3920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 662);
3924 RET_LABEL42
:(void)0;
3928 var44
= nit__loader___ModelBuilder___load_module_ast(self
, var41
);
3930 var_nmodule
= var44
;
3932 if (var_nmodule
== NULL
) {
3933 var46
= 1; /* is null */
3935 var46
= 0; /* arg is null but recv is not */
3938 { /* Inline kernel#Object#== (var_nmodule,var45) on <var_nmodule:nullable AModule> */
3941 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
3942 var51
= var_nmodule
== var_other
;
3945 RET_LABEL50
:(void)0;
3950 RET_LABEL48
:(void)0;
3961 { /* Inline loader#ModulePath#mgroup (var_file) on <var_file:nullable ModulePath(ModulePath)> */
3962 var55
= var_file
->attrs
[COLOR_nit__loader__ModulePath___mgroup
].val
; /* _mgroup on <var_file:nullable ModulePath(ModulePath)> */
3963 if (unlikely(var55
== NULL
)) {
3964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup");
3965 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 665);
3969 RET_LABEL54
:(void)0;
3973 { /* Inline loader#ModulePath#name (var_file) on <var_file:nullable ModulePath(ModulePath)> */
3974 var58
= var_file
->attrs
[COLOR_nit__loader__ModulePath___name
].val
; /* _name on <var_file:nullable ModulePath(ModulePath)> */
3975 if (unlikely(var58
== NULL
)) {
3976 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3977 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 658);
3981 RET_LABEL57
:(void)0;
3985 var59
= nit__loader___ModelBuilder___build_a_mmodule(self
, var53
, var56
, var_nmodule
);
3987 var_mmodule
= var59
;
3989 if (var_mmodule
== NULL
) {
3990 var61
= 1; /* is null */
3992 var61
= 0; /* arg is null but recv is not */
3995 { /* Inline kernel#Object#== (var_mmodule,var60) on <var_mmodule:nullable MModule> */
3998 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
3999 var66
= var_mmodule
== var_other
;
4002 RET_LABEL65
:(void)0;
4007 RET_LABEL63
:(void)0;
4018 { /* Inline loader#ModulePath#mmodule= (var_file,var_mmodule) on <var_file:nullable ModulePath(ModulePath)> */
4019 var_file
->attrs
[COLOR_nit__loader__ModulePath___mmodule
].val
= var_mmodule
; /* _mmodule on <var_file:nullable ModulePath(ModulePath)> */
4020 RET_LABEL68
:(void)0;
4028 /* method loader#ModelBuilder#build_a_mmodule for (self: ModelBuilder, nullable MGroup, String, AModule): nullable MModule */
4029 val
* nit__loader___ModelBuilder___build_a_mmodule(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4030 val
* var
/* : nullable MModule */;
4031 val
* var_mgroup
/* var mgroup: nullable MGroup */;
4032 val
* var_mod_name
/* var mod_name: String */;
4033 val
* var_nmodule
/* var nmodule: AModule */;
4034 val
* var1
/* : nullable AModuledecl */;
4035 val
* var3
/* : nullable AModuledecl */;
4036 val
* var_decl
/* var decl: nullable AModuledecl */;
4037 val
* var4
/* : null */;
4038 short int var5
/* : Bool */;
4039 short int var6
/* : Bool */;
4040 val
* var_other
/* var other: nullable Object */;
4041 short int var8
/* : Bool */;
4042 short int var9
/* : Bool */;
4043 val
* var10
/* : AModuleName */;
4044 val
* var12
/* : AModuleName */;
4045 val
* var13
/* : TId */;
4046 val
* var15
/* : TId */;
4047 val
* var16
/* : String */;
4048 val
* var_decl_name
/* var decl_name: String */;
4049 short int var17
/* : Bool */;
4050 short int var19
/* : Bool */;
4051 short int var20
/* : Bool */;
4052 val
* var21
/* : AModuleName */;
4053 val
* var23
/* : AModuleName */;
4054 static val
* varonce
;
4055 val
* var24
/* : String */;
4056 char* var25
/* : NativeString */;
4057 long var26
/* : Int */;
4058 val
* var27
/* : FlatString */;
4059 static val
* varonce28
;
4060 val
* var29
/* : String */;
4061 char* var30
/* : NativeString */;
4062 long var31
/* : Int */;
4063 val
* var32
/* : FlatString */;
4064 val
* var33
/* : Array[Object] */;
4065 long var34
/* : Int */;
4066 val
* var35
/* : NativeArray[Object] */;
4067 val
* var36
/* : String */;
4068 val
* var37
/* : null */;
4069 short int var38
/* : Bool */;
4070 short int var39
/* : Bool */;
4071 short int var41
/* : Bool */;
4072 short int var42
/* : Bool */;
4073 val
* var43
/* : Model */;
4074 val
* var45
/* : Model */;
4075 val
* var46
/* : nullable Array[MModule] */;
4076 val
* var_others
/* var others: nullable Array[MModule] */;
4077 val
* var47
/* : null */;
4078 short int var48
/* : Bool */;
4079 short int var49
/* : Bool */;
4080 short int var51
/* : Bool */;
4081 short int var52
/* : Bool */;
4082 val
* var_
/* var : Array[MModule] */;
4083 val
* var53
/* : ArrayIterator[nullable Object] */;
4084 val
* var_54
/* var : ArrayIterator[MModule] */;
4085 short int var55
/* : Bool */;
4086 val
* var56
/* : nullable Object */;
4087 val
* var_other57
/* var other: MModule */;
4088 short int var58
/* : Bool */;
4089 val
* var59
/* : nullable MGroup */;
4090 val
* var61
/* : nullable MGroup */;
4091 val
* var62
/* : null */;
4092 short int var63
/* : Bool */;
4093 short int var64
/* : Bool */;
4094 short int var66
/* : Bool */;
4095 short int var67
/* : Bool */;
4096 short int var_68
/* var : Bool */;
4097 val
* var69
/* : nullable MGroup */;
4098 val
* var71
/* : nullable MGroup */;
4099 val
* var72
/* : MProject */;
4100 val
* var74
/* : MProject */;
4101 val
* var75
/* : MProject */;
4102 val
* var77
/* : MProject */;
4103 short int var78
/* : Bool */;
4104 val
* var_other80
/* var other: nullable Object */;
4105 short int var81
/* : Bool */;
4106 short int var83
/* : Bool */;
4107 val
* var84
/* : null */;
4108 short int var85
/* : Bool */;
4109 short int var86
/* : Bool */;
4110 short int var88
/* : Bool */;
4111 short int var90
/* : Bool */;
4112 val
* var_node
/* var node: ANode */;
4113 val
* var91
/* : AModuleName */;
4114 val
* var93
/* : AModuleName */;
4115 static val
* varonce94
;
4116 val
* var95
/* : String */;
4117 char* var96
/* : NativeString */;
4118 long var97
/* : Int */;
4119 val
* var98
/* : FlatString */;
4120 val
* var99
/* : String */;
4121 static val
* varonce100
;
4122 val
* var101
/* : String */;
4123 char* var102
/* : NativeString */;
4124 long var103
/* : Int */;
4125 val
* var104
/* : FlatString */;
4126 val
* var105
/* : Location */;
4127 val
* var107
/* : Location */;
4128 val
* var108
/* : Array[Object] */;
4129 long var109
/* : Int */;
4130 val
* var110
/* : NativeArray[Object] */;
4131 val
* var111
/* : String */;
4132 val
* var113
/* : MModule */;
4133 val
* var114
/* : Model */;
4134 val
* var116
/* : Model */;
4135 val
* var117
/* : Location */;
4136 val
* var119
/* : Location */;
4137 val
* var_mmodule
/* var mmodule: MModule */;
4138 val
* var121
/* : Array[AModule] */;
4139 val
* var123
/* : Array[AModule] */;
4140 val
* var124
/* : HashMap[MModule, AModule] */;
4141 val
* var126
/* : HashMap[MModule, AModule] */;
4142 val
* var127
/* : Location */;
4143 val
* var129
/* : Location */;
4144 val
* var130
/* : nullable SourceFile */;
4145 val
* var132
/* : nullable SourceFile */;
4146 val
* var_source
/* var source: nullable SourceFile */;
4147 val
* var133
/* : null */;
4148 short int var134
/* : Bool */;
4149 short int var135
/* : Bool */;
4150 short int var137
/* : Bool */;
4151 short int var138
/* : Bool */;
4152 val
* var139
/* : nullable MModule */;
4153 val
* var141
/* : nullable MModule */;
4154 val
* var142
/* : null */;
4155 short int var143
/* : Bool */;
4156 short int var144
/* : Bool */;
4157 short int var146
/* : Bool */;
4158 short int var148
/* : Bool */;
4159 val
* var150
/* : null */;
4160 short int var151
/* : Bool */;
4161 short int var152
/* : Bool */;
4162 short int var154
/* : Bool */;
4163 short int var155
/* : Bool */;
4164 val
* var156
/* : nullable ADoc */;
4165 val
* var158
/* : nullable ADoc */;
4166 val
* var_ndoc
/* var ndoc: nullable ADoc */;
4167 val
* var159
/* : null */;
4168 short int var160
/* : Bool */;
4169 short int var161
/* : Bool */;
4170 short int var163
/* : Bool */;
4171 short int var164
/* : Bool */;
4172 val
* var165
/* : MDoc */;
4173 val
* var_mdoc
/* var mdoc: MDoc */;
4174 static val
* varonce168
;
4175 val
* var169
/* : String */;
4176 char* var170
/* : NativeString */;
4177 long var171
/* : Int */;
4178 val
* var172
/* : FlatString */;
4179 static val
* varonce173
;
4180 val
* var174
/* : String */;
4181 char* var175
/* : NativeString */;
4182 long var176
/* : Int */;
4183 val
* var177
/* : FlatString */;
4184 static val
* varonce178
;
4185 val
* var179
/* : String */;
4186 char* var180
/* : NativeString */;
4187 long var181
/* : Int */;
4188 val
* var182
/* : FlatString */;
4189 val
* var183
/* : Array[Object] */;
4190 long var184
/* : Int */;
4191 val
* var185
/* : NativeArray[Object] */;
4192 val
* var186
/* : String */;
4193 static val
* varonce187
;
4194 val
* var188
/* : String */;
4195 char* var189
/* : NativeString */;
4196 long var190
/* : Int */;
4197 val
* var191
/* : FlatString */;
4198 val
* var192
/* : Array[AAnnotation] */;
4199 short int var193
/* : Bool */;
4200 short int var194
/* : Bool */;
4205 { /* Inline parser_nodes#AModule#n_moduledecl (var_nmodule) on <var_nmodule:AModule> */
4206 var3
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_moduledecl
].val
; /* _n_moduledecl on <var_nmodule:AModule> */
4213 if (var_decl
== NULL
) {
4214 var5
= 0; /* is null */
4216 var5
= 1; /* arg is null and recv is not */
4219 { /* Inline kernel#Object#!= (var_decl,var4) on <var_decl:nullable AModuledecl> */
4222 var8
= ((short int (*)(val
* self
, val
* p0
))(var_decl
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_decl
, var_other
) /* == on <var_decl:nullable AModuledecl(AModuledecl)>*/;
4233 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
4234 var12
= var_decl
->attrs
[COLOR_nit__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
4235 if (unlikely(var12
== NULL
)) {
4236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
4237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 943);
4241 RET_LABEL11
:(void)0;
4245 { /* Inline parser_nodes#AModuleName#n_id (var10) on <var10:AModuleName> */
4246 var15
= var10
->attrs
[COLOR_nit__parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var10:AModuleName> */
4247 if (unlikely(var15
== NULL
)) {
4248 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4249 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2470);
4253 RET_LABEL14
:(void)0;
4257 var16
= nit__lexer_work___Token___text(var13
);
4259 var_decl_name
= var16
;
4261 { /* Inline kernel#Object#!= (var_decl_name,var_mod_name) on <var_decl_name:String> */
4262 var_other
= var_mod_name
;
4264 var19
= ((short int (*)(val
* self
, val
* p0
))(var_decl_name
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_decl_name
, var_other
) /* == on <var_decl_name:String>*/;
4269 RET_LABEL18
:(void)0;
4274 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
4275 var23
= var_decl
->attrs
[COLOR_nit__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
4276 if (unlikely(var23
== NULL
)) {
4277 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
4278 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 943);
4282 RET_LABEL22
:(void)0;
4288 var25
= "Error: module name missmatch; declared ";
4290 var27
= standard___standard__NativeString___to_s_with_length(var25
, var26
);
4297 var30
= " file named ";
4299 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
4303 var33
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4304 { /* var33 = array_instance Array[Object] */
4306 var35
= NEW_standard__NativeArray(var34
, &type_standard__NativeArray__standard__Object
);
4307 ((struct instance_standard__NativeArray
*)var35
)->values
[0] = (val
*) var24
;
4308 ((struct instance_standard__NativeArray
*)var35
)->values
[1] = (val
*) var_decl_name
;
4309 ((struct instance_standard__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
4310 ((struct instance_standard__NativeArray
*)var35
)->values
[3] = (val
*) var_mod_name
;
4312 ((void (*)(val
* self
, val
* p0
, long p1
))(var33
->class->vft
[COLOR_standard__array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
4316 var36
= ((val
* (*)(val
* self
))(var33
->class->vft
[COLOR_standard__string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
4319 nit___nit__ModelBuilder___error(self
, var21
, var36
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4326 if (var_mgroup
== NULL
) {
4327 var38
= 0; /* is null */
4329 var38
= 1; /* arg is null and recv is not */
4332 { /* Inline kernel#Object#!= (var_mgroup,var37) on <var_mgroup:nullable MGroup> */
4335 var41
= ((short int (*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mgroup
, var_other
) /* == on <var_mgroup:nullable MGroup(MGroup)>*/;
4340 RET_LABEL40
:(void)0;
4346 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
4347 var45
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
4348 if (unlikely(var45
== NULL
)) {
4349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
4354 RET_LABEL44
:(void)0;
4358 var46
= nit__mmodule___Model___get_mmodules_by_name(var43
, var_mod_name
);
4362 if (var_others
== NULL
) {
4363 var48
= 0; /* is null */
4365 var48
= 1; /* arg is null and recv is not */
4368 { /* Inline kernel#Object#!= (var_others,var47) on <var_others:nullable Array[MModule]> */
4371 var51
= ((short int (*)(val
* self
, val
* p0
))(var_others
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_others
, var_other
) /* == on <var_others:nullable Array[MModule](Array[MModule])>*/;
4376 RET_LABEL50
:(void)0;
4383 var53
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4388 var55
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_54
);
4392 var56
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_54
);
4394 var_other57
= var56
;
4396 { /* Inline mmodule#MModule#mgroup (var_other57) on <var_other57:MModule> */
4397 var61
= var_other57
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_other57:MModule> */
4399 RET_LABEL60
:(void)0;
4403 if (var59
== NULL
) {
4404 var63
= 0; /* is null */
4406 var63
= 1; /* arg is null and recv is not */
4409 { /* Inline kernel#Object#!= (var59,var62) on <var59:nullable MGroup> */
4412 var66
= ((short int (*)(val
* self
, val
* p0
))(var59
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var59
, var_other
) /* == on <var59:nullable MGroup(MGroup)>*/;
4417 RET_LABEL65
:(void)0;
4424 { /* Inline mmodule#MModule#mgroup (var_other57) on <var_other57:MModule> */
4425 var71
= var_other57
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_other57:MModule> */
4427 RET_LABEL70
:(void)0;
4430 if (var69
== NULL
) {
4431 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 528);
4435 { /* Inline mproject#MGroup#mproject (var69) on <var69:nullable MGroup> */
4436 if (unlikely(var69
== NULL
)) {
4437 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4438 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
4441 var74
= var69
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var69:nullable MGroup> */
4442 if (unlikely(var74
== NULL
)) {
4443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
4444 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
4448 RET_LABEL73
:(void)0;
4452 { /* Inline mproject#MGroup#mproject (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
4453 var77
= var_mgroup
->attrs
[COLOR_nit__mproject__MGroup___mproject
].val
; /* _mproject on <var_mgroup:nullable MGroup(MGroup)> */
4454 if (unlikely(var77
== NULL
)) {
4455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject");
4456 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject
, 69);
4460 RET_LABEL76
:(void)0;
4464 { /* Inline kernel#Object#== (var72,var75) on <var72:MProject> */
4465 var_other80
= var75
;
4467 { /* Inline kernel#Object#is_same_instance (var72,var_other80) on <var72:MProject> */
4468 var83
= var72
== var_other80
;
4471 RET_LABEL82
:(void)0;
4476 RET_LABEL79
:(void)0;
4485 if (var_decl
== NULL
) {
4486 var85
= 1; /* is null */
4488 var85
= 0; /* arg is null but recv is not */
4491 { /* Inline kernel#Object#== (var_decl,var84) on <var_decl:nullable AModuledecl> */
4492 var_other80
= var84
;
4494 { /* Inline kernel#Object#is_same_instance (var_decl,var_other80) on <var_decl:nullable AModuledecl(AModuledecl)> */
4495 var90
= var_decl
== var_other80
;
4498 RET_LABEL89
:(void)0;
4503 RET_LABEL87
:(void)0;
4508 var_node
= var_nmodule
;
4511 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
4512 var93
= var_decl
->attrs
[COLOR_nit__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
4513 if (unlikely(var93
== NULL
)) {
4514 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
4515 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 943);
4519 RET_LABEL92
:(void)0;
4527 var96
= "Error: A module named `";
4529 var98
= standard___standard__NativeString___to_s_with_length(var96
, var97
);
4534 var99
= nit___nit__MModule___nit__model_base__MEntity__full_name(var_other57
);
4537 var101
= varonce100
;
4539 var102
= "` already exists at ";
4541 var104
= standard___standard__NativeString___to_s_with_length(var102
, var103
);
4543 varonce100
= var101
;
4546 { /* Inline mmodule#MModule#location (var_other57) on <var_other57:MModule> */
4547 var107
= var_other57
->attrs
[COLOR_nit__mmodule__MModule___location
].val
; /* _location on <var_other57:MModule> */
4548 if (unlikely(var107
== NULL
)) {
4549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 90);
4554 RET_LABEL106
:(void)0;
4557 var108
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4558 { /* var108 = array_instance Array[Object] */
4560 var110
= NEW_standard__NativeArray(var109
, &type_standard__NativeArray__standard__Object
);
4561 ((struct instance_standard__NativeArray
*)var110
)->values
[0] = (val
*) var95
;
4562 ((struct instance_standard__NativeArray
*)var110
)->values
[1] = (val
*) var99
;
4563 ((struct instance_standard__NativeArray
*)var110
)->values
[2] = (val
*) var101
;
4564 ((struct instance_standard__NativeArray
*)var110
)->values
[3] = (val
*) var105
;
4566 ((void (*)(val
* self
, val
* p0
, long p1
))(var108
->class->vft
[COLOR_standard__array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[Object]>*/;
4570 var111
= ((val
* (*)(val
* self
))(var108
->class->vft
[COLOR_standard__string__Object__to_s
]))(var108
) /* to_s on <var108:Array[Object]>*/;
4573 nit___nit__ModelBuilder___error(self
, var_node
, var111
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4579 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_54
); /* Direct call array#ArrayIterator#next on <var_54:ArrayIterator[MModule]>*/
4585 BREAK_label
: (void)0;
4587 { /* Inline abstract_collection#Iterator#finish (var_54) on <var_54:ArrayIterator[MModule]> */
4588 RET_LABEL112
:(void)0;
4595 var113
= NEW_nit__MModule(&type_nit__MModule
);
4597 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
4598 var116
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
4599 if (unlikely(var116
== NULL
)) {
4600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 44);
4605 RET_LABEL115
:(void)0;
4609 { /* Inline parser_nodes#ANode#location (var_nmodule) on <var_nmodule:AModule> */
4610 var119
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_nmodule:AModule> */
4611 if (unlikely(var119
== NULL
)) {
4612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4613 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
4617 RET_LABEL118
:(void)0;
4621 ((void (*)(val
* self
, val
* p0
))(var113
->class->vft
[COLOR_nit__mmodule__MModule__model_61d
]))(var113
, var114
) /* model= on <var113:MModule>*/;
4624 ((void (*)(val
* self
, val
* p0
))(var113
->class->vft
[COLOR_nit__mmodule__MModule__mgroup_61d
]))(var113
, var_mgroup
) /* mgroup= on <var113:MModule>*/;
4627 ((void (*)(val
* self
, val
* p0
))(var113
->class->vft
[COLOR_nit__mmodule__MModule__name_61d
]))(var113
, var_mod_name
) /* name= on <var113:MModule>*/;
4630 ((void (*)(val
* self
, val
* p0
))(var113
->class->vft
[COLOR_nit__mmodule__MModule__location_61d
]))(var113
, var117
) /* location= on <var113:MModule>*/;
4633 ((void (*)(val
* self
))(var113
->class->vft
[COLOR_standard__kernel__Object__init
]))(var113
) /* init on <var113:MModule>*/;
4635 var_mmodule
= var113
;
4637 { /* Inline loader#AModule#mmodule= (var_nmodule,var_mmodule) on <var_nmodule:AModule> */
4638 var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
= var_mmodule
; /* _mmodule on <var_nmodule:AModule> */
4639 RET_LABEL120
:(void)0;
4643 { /* Inline loader#ModelBuilder#nmodules (self) on <self:ModelBuilder> */
4644 var123
= self
->attrs
[COLOR_nit__loader__ModelBuilder___nmodules
].val
; /* _nmodules on <self:ModelBuilder> */
4645 if (unlikely(var123
== NULL
)) {
4646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
4647 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 638);
4651 RET_LABEL122
:(void)0;
4655 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var121
, var_nmodule
); /* Direct call array#Array#add on <var121:Array[AModule]>*/
4658 { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
4659 var126
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
4660 if (unlikely(var126
== NULL
)) {
4661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
4662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 641);
4666 RET_LABEL125
:(void)0;
4670 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var124
, var_mmodule
, var_nmodule
); /* Direct call hash_collection#HashMap#[]= on <var124:HashMap[MModule, AModule]>*/
4673 { /* Inline parser_nodes#ANode#location (var_nmodule) on <var_nmodule:AModule> */
4674 var129
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_nmodule:AModule> */
4675 if (unlikely(var129
== NULL
)) {
4676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4677 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
4681 RET_LABEL128
:(void)0;
4685 { /* Inline location#Location#file (var127) on <var127:Location> */
4686 var132
= var127
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var127:Location> */
4688 RET_LABEL131
:(void)0;
4691 var_source
= var130
;
4693 if (var_source
== NULL
) {
4694 var134
= 0; /* is null */
4696 var134
= 1; /* arg is null and recv is not */
4699 { /* Inline kernel#Object#!= (var_source,var133) on <var_source:nullable SourceFile> */
4702 var137
= ((short int (*)(val
* self
, val
* p0
))(var_source
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_source
, var_other
) /* == on <var_source:nullable SourceFile(SourceFile)>*/;
4707 RET_LABEL136
:(void)0;
4713 { /* Inline loader#SourceFile#mmodule (var_source) on <var_source:nullable SourceFile(SourceFile)> */
4714 var141
= var_source
->attrs
[COLOR_nit__loader__SourceFile___mmodule
].val
; /* _mmodule on <var_source:nullable SourceFile(SourceFile)> */
4716 RET_LABEL140
:(void)0;
4720 if (var139
== NULL
) {
4721 var143
= 1; /* is null */
4723 var143
= 0; /* arg is null but recv is not */
4726 { /* Inline kernel#Object#== (var139,var142) on <var139:nullable MModule> */
4727 var_other80
= var142
;
4729 { /* Inline kernel#Object#is_same_instance (var139,var_other80) on <var139:nullable MModule(MModule)> */
4730 var148
= var139
== var_other80
;
4733 RET_LABEL147
:(void)0;
4738 RET_LABEL145
:(void)0;
4742 if (unlikely(!var143
)) {
4743 PRINT_ERROR("Runtime error: %s", "Assert failed");
4744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 545);
4748 { /* Inline loader#SourceFile#mmodule= (var_source,var_mmodule) on <var_source:nullable SourceFile(SourceFile)> */
4749 var_source
->attrs
[COLOR_nit__loader__SourceFile___mmodule
].val
= var_mmodule
; /* _mmodule on <var_source:nullable SourceFile(SourceFile)> */
4750 RET_LABEL149
:(void)0;
4756 if (var_decl
== NULL
) {
4757 var151
= 0; /* is null */
4759 var151
= 1; /* arg is null and recv is not */
4762 { /* Inline kernel#Object#!= (var_decl,var150) on <var_decl:nullable AModuledecl> */
4765 var154
= ((short int (*)(val
* self
, val
* p0
))(var_decl
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_decl
, var_other
) /* == on <var_decl:nullable AModuledecl(AModuledecl)>*/;
4770 RET_LABEL153
:(void)0;
4776 { /* Inline parser_nodes#ADefinition#n_doc (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
4777 var158
= var_decl
->attrs
[COLOR_nit__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <var_decl:nullable AModuledecl(AModuledecl)> */
4779 RET_LABEL157
:(void)0;
4784 if (var_ndoc
== NULL
) {
4785 var160
= 0; /* is null */
4787 var160
= 1; /* arg is null and recv is not */
4790 { /* Inline kernel#Object#!= (var_ndoc,var159) on <var_ndoc:nullable ADoc> */
4793 var163
= ((short int (*)(val
* self
, val
* p0
))(var_ndoc
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ndoc
, var_other
) /* == on <var_ndoc:nullable ADoc(ADoc)>*/;
4798 RET_LABEL162
:(void)0;
4804 var165
= nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc
);
4808 { /* Inline mdoc#MEntity#mdoc= (var_mmodule,var_mdoc) on <var_mmodule:MModule> */
4809 var_mmodule
->attrs
[COLOR_nit__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mmodule:MModule> */
4810 RET_LABEL166
:(void)0;
4814 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mmodule) on <var_mdoc:MDoc> */
4815 var_mdoc
->attrs
[COLOR_nit__mdoc__MDoc___original_mentity
].val
= var_mmodule
; /* _original_mentity on <var_mdoc:MDoc> */
4816 RET_LABEL167
:(void)0;
4821 var169
= varonce168
;
4823 var170
= "missing-doc";
4825 var172
= standard___standard__NativeString___to_s_with_length(var170
, var171
);
4827 varonce168
= var169
;
4830 var174
= varonce173
;
4832 var175
= "Documentation warning: Undocumented module `";
4834 var177
= standard___standard__NativeString___to_s_with_length(var175
, var176
);
4836 varonce173
= var174
;
4839 var179
= varonce178
;
4843 var182
= standard___standard__NativeString___to_s_with_length(var180
, var181
);
4845 varonce178
= var179
;
4847 var183
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4848 { /* var183 = array_instance Array[Object] */
4850 var185
= NEW_standard__NativeArray(var184
, &type_standard__NativeArray__standard__Object
);
4851 ((struct instance_standard__NativeArray
*)var185
)->values
[0] = (val
*) var174
;
4852 ((struct instance_standard__NativeArray
*)var185
)->values
[1] = (val
*) var_mmodule
;
4853 ((struct instance_standard__NativeArray
*)var185
)->values
[2] = (val
*) var179
;
4855 ((void (*)(val
* self
, val
* p0
, long p1
))(var183
->class->vft
[COLOR_standard__array__Array__with_native
]))(var183
, var185
, var184
) /* with_native on <var183:Array[Object]>*/;
4859 var186
= ((val
* (*)(val
* self
))(var183
->class->vft
[COLOR_standard__string__Object__to_s
]))(var183
) /* to_s on <var183:Array[Object]>*/;
4862 nit___nit__ModelBuilder___advice(self
, var_decl
, var169
, var186
); /* Direct call modelbuilder_base#ModelBuilder#advice on <self:ModelBuilder>*/
4866 var188
= varonce187
;
4868 var189
= "test_suite";
4870 var191
= standard___standard__NativeString___to_s_with_length(var189
, var190
);
4872 varonce187
= var188
;
4875 var192
= nit___nit__Prod___get_annotations(var_decl
, var188
);
4878 var193
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var192
);
4882 { /* Inline mmodule#MModule#is_test_suite= (var_mmodule,var194) on <var_mmodule:MModule> */
4883 var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___is_test_suite
].s
= var194
; /* _is_test_suite on <var_mmodule:MModule> */
4884 RET_LABEL195
:(void)0;
4894 /* method loader#ModelBuilder#build_module_importation for (self: ModelBuilder, AModule) */
4895 void nit__loader___ModelBuilder___build_module_importation(val
* self
, val
* p0
) {
4896 val
* var_nmodule
/* var nmodule: AModule */;
4897 short int var
/* : Bool */;
4898 short int var2
/* : Bool */;
4899 short int var3
/* : Bool */;
4900 val
* var5
/* : nullable MModule */;
4901 val
* var7
/* : nullable MModule */;
4902 val
* var_mmodule
/* var mmodule: MModule */;
4903 short int var8
/* : Bool */;
4904 short int var_stdimport
/* var stdimport: Bool */;
4905 val
* var9
/* : Array[MModule] */;
4906 val
* var_imported_modules
/* var imported_modules: Array[MModule] */;
4907 val
* var10
/* : ANodes[AImport] */;
4908 val
* var12
/* : ANodes[AImport] */;
4909 val
* var_
/* var : ANodes[AImport] */;
4910 val
* var13
/* : Iterator[ANode] */;
4911 val
* var_14
/* var : Iterator[AImport] */;
4912 short int var15
/* : Bool */;
4913 val
* var16
/* : nullable Object */;
4914 val
* var_aimport
/* var aimport: AImport */;
4915 short int var17
/* : Bool */;
4916 short int var18
/* : Bool */;
4919 short int var19
/* : Bool */;
4920 val
* var20
/* : nullable MGroup */;
4921 val
* var22
/* : nullable MGroup */;
4922 val
* var_mgroup
/* var mgroup: nullable MGroup */;
4923 val
* var23
/* : AModuleName */;
4924 val
* var25
/* : AModuleName */;
4925 val
* var26
/* : nullable TQuad */;
4926 val
* var28
/* : nullable TQuad */;
4927 val
* var29
/* : null */;
4928 short int var30
/* : Bool */;
4929 short int var31
/* : Bool */;
4930 val
* var_other
/* var other: nullable Object */;
4931 short int var33
/* : Bool */;
4932 short int var34
/* : Bool */;
4933 val
* var35
/* : null */;
4934 val
* var36
/* : AModuleName */;
4935 val
* var38
/* : AModuleName */;
4936 val
* var39
/* : ANodes[TId] */;
4937 val
* var41
/* : ANodes[TId] */;
4938 val
* var_42
/* var : ANodes[TId] */;
4939 val
* var43
/* : Iterator[ANode] */;
4940 val
* var_44
/* var : Iterator[TId] */;
4941 short int var45
/* : Bool */;
4942 val
* var46
/* : nullable Object */;
4943 val
* var_grp
/* var grp: TId */;
4944 val
* var47
/* : String */;
4945 val
* var48
/* : nullable ModulePath */;
4946 val
* var_path
/* var path: nullable ModulePath */;
4947 val
* var49
/* : null */;
4948 short int var50
/* : Bool */;
4949 short int var51
/* : Bool */;
4950 val
* var_other53
/* var other: nullable Object */;
4951 short int var54
/* : Bool */;
4952 short int var56
/* : Bool */;
4953 val
* var57
/* : MGroup */;
4954 val
* var59
/* : MGroup */;
4955 val
* var62
/* : AModuleName */;
4956 val
* var64
/* : AModuleName */;
4957 val
* var65
/* : TId */;
4958 val
* var67
/* : TId */;
4959 val
* var68
/* : String */;
4960 val
* var_mod_name
/* var mod_name: String */;
4961 val
* var69
/* : AModuleName */;
4962 val
* var71
/* : AModuleName */;
4963 val
* var72
/* : nullable MModule */;
4964 val
* var_sup
/* var sup: nullable MModule */;
4965 val
* var73
/* : null */;
4966 short int var74
/* : Bool */;
4967 short int var75
/* : Bool */;
4968 short int var77
/* : Bool */;
4969 short int var79
/* : Bool */;
4970 val
* var81
/* : AVisibility */;
4971 val
* var83
/* : AVisibility */;
4972 val
* var84
/* : MVisibility */;
4973 val
* var_mvisibility
/* var mvisibility: MVisibility */;
4974 val
* var85
/* : MVisibility */;
4975 short int var86
/* : Bool */;
4976 short int var88
/* : Bool */;
4977 short int var90
/* : Bool */;
4978 val
* var91
/* : AVisibility */;
4979 val
* var93
/* : AVisibility */;
4980 static val
* varonce
;
4981 val
* var94
/* : String */;
4982 char* var95
/* : NativeString */;
4983 long var96
/* : Int */;
4984 val
* var97
/* : FlatString */;
4985 short int var98
/* : Bool */;
4986 short int var100
/* : Bool */;
4987 short int var102
/* : Bool */;
4988 val
* var103
/* : AModuleName */;
4989 val
* var105
/* : AModuleName */;
4990 static val
* varonce106
;
4991 val
* var107
/* : String */;
4992 char* var108
/* : NativeString */;
4993 long var109
/* : Int */;
4994 val
* var110
/* : FlatString */;
4995 static val
* varonce111
;
4996 val
* var112
/* : String */;
4997 char* var113
/* : NativeString */;
4998 long var114
/* : Int */;
4999 val
* var115
/* : FlatString */;
5000 val
* var116
/* : Array[Object] */;
5001 long var117
/* : Int */;
5002 val
* var118
/* : NativeArray[Object] */;
5003 val
* var119
/* : String */;
5004 val
* var120
/* : POSetElement[MModule] */;
5005 val
* var122
/* : POSetElement[MModule] */;
5006 short int var123
/* : Bool */;
5007 val
* var124
/* : AModuleName */;
5008 val
* var126
/* : AModuleName */;
5009 static val
* varonce127
;
5010 val
* var128
/* : String */;
5011 char* var129
/* : NativeString */;
5012 long var130
/* : Int */;
5013 val
* var131
/* : FlatString */;
5014 static val
* varonce132
;
5015 val
* var133
/* : String */;
5016 char* var134
/* : NativeString */;
5017 long var135
/* : Int */;
5018 val
* var136
/* : FlatString */;
5019 static val
* varonce137
;
5020 val
* var138
/* : String */;
5021 char* var139
/* : NativeString */;
5022 long var140
/* : Int */;
5023 val
* var141
/* : FlatString */;
5024 val
* var142
/* : Array[Object] */;
5025 long var143
/* : Int */;
5026 val
* var144
/* : NativeArray[Object] */;
5027 val
* var145
/* : String */;
5028 static val
* varonce148
;
5029 val
* var149
/* : String */;
5030 char* var150
/* : NativeString */;
5031 long var151
/* : Int */;
5032 val
* var152
/* : FlatString */;
5033 val
* var_mod_name153
/* var mod_name: String */;
5034 val
* var154
/* : null */;
5035 val
* var155
/* : nullable MModule */;
5036 val
* var_sup156
/* var sup: nullable MModule */;
5037 val
* var157
/* : null */;
5038 short int var158
/* : Bool */;
5039 short int var159
/* : Bool */;
5040 short int var161
/* : Bool */;
5041 short int var162
/* : Bool */;
5042 val
* var163
/* : MVisibility */;
5043 val
* var164
/* : ToolContext */;
5044 val
* var166
/* : ToolContext */;
5045 static val
* varonce167
;
5046 val
* var168
/* : String */;
5047 char* var169
/* : NativeString */;
5048 long var170
/* : Int */;
5049 val
* var171
/* : FlatString */;
5050 static val
* varonce172
;
5051 val
* var173
/* : String */;
5052 char* var174
/* : NativeString */;
5053 long var175
/* : Int */;
5054 val
* var176
/* : FlatString */;
5055 val
* var177
/* : String */;
5056 val
* var178
/* : Array[Object] */;
5057 long var179
/* : Int */;
5058 val
* var180
/* : NativeArray[Object] */;
5059 val
* var181
/* : String */;
5060 long var182
/* : Int */;
5061 val
* var183
/* : POSetElement[MModule] */;
5062 val
* var185
/* : POSetElement[MModule] */;
5063 val
* var186
/* : Collection[nullable Object] */;
5064 val
* var_187
/* var : Collection[MModule] */;
5065 val
* var188
/* : Iterator[nullable Object] */;
5066 val
* var_189
/* var : Iterator[MModule] */;
5067 short int var190
/* : Bool */;
5068 val
* var191
/* : nullable Object */;
5069 val
* var_sup192
/* var sup: MModule */;
5070 val
* var193
/* : String */;
5071 val
* var195
/* : String */;
5072 static val
* varonce196
;
5073 val
* var197
/* : String */;
5074 char* var198
/* : NativeString */;
5075 long var199
/* : Int */;
5076 val
* var200
/* : FlatString */;
5077 short int var201
/* : Bool */;
5078 val
* var202
/* : MVisibility */;
5079 val
* var205
/* : POSetElement[MModule] */;
5080 val
* var207
/* : POSetElement[MModule] */;
5081 val
* var208
/* : Collection[nullable Object] */;
5082 val
* var_directs
/* var directs: Collection[MModule] */;
5083 val
* var209
/* : ANodes[AImport] */;
5084 val
* var211
/* : ANodes[AImport] */;
5085 val
* var_212
/* var : ANodes[AImport] */;
5086 val
* var213
/* : Iterator[ANode] */;
5087 val
* var_214
/* var : Iterator[AImport] */;
5088 short int var215
/* : Bool */;
5089 val
* var216
/* : nullable Object */;
5090 val
* var_nim
/* var nim: AImport */;
5091 short int var217
/* : Bool */;
5094 short int var220
/* : Bool */;
5095 val
* var222
/* : nullable MModule */;
5096 val
* var224
/* : nullable MModule */;
5097 val
* var_im
/* var im: nullable MModule */;
5098 val
* var225
/* : null */;
5099 short int var226
/* : Bool */;
5100 short int var227
/* : Bool */;
5101 short int var229
/* : Bool */;
5102 short int var231
/* : Bool */;
5103 short int var232
/* : Bool */;
5106 { /* Inline loader#AModule#is_importation_done (var_nmodule) on <var_nmodule:AModule> */
5107 var2
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___is_importation_done
].s
; /* _is_importation_done on <var_nmodule:AModule> */
5118 { /* Inline loader#AModule#is_importation_done= (var_nmodule,var3) on <var_nmodule:AModule> */
5119 var_nmodule
->attrs
[COLOR_nit__loader__AModule___is_importation_done
].s
= var3
; /* _is_importation_done on <var_nmodule:AModule> */
5124 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
5125 var7
= var_nmodule
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
5130 if (unlikely(var5
== NULL
)) {
5131 PRINT_ERROR("Runtime error: %s", "Cast failed");
5132 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 573);
5137 var_stdimport
= var8
;
5138 var9
= NEW_standard__Array(&type_standard__Array__nit__MModule
);
5140 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[MModule]>*/
5142 var_imported_modules
= var9
;
5144 { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on <var_nmodule:AModule> */
5145 var12
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_imports
].val
; /* _n_imports on <var_nmodule:AModule> */
5146 if (unlikely(var12
== NULL
)) {
5147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
5148 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 913);
5152 RET_LABEL11
:(void)0;
5157 var13
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
5162 var15
= ((short int (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_14
) /* is_ok on <var_14:Iterator[AImport]>*/;
5166 var16
= ((val
* (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_14
) /* item on <var_14:Iterator[AImport]>*/;
5168 var_aimport
= var16
;
5170 var_stdimport
= var17
;
5171 /* <var_aimport:AImport> isa AStdImport */
5172 cltype
= type_nit__AStdImport
.color
;
5173 idtype
= type_nit__AStdImport
.id
;
5174 if(cltype
>= var_aimport
->type
->table_size
) {
5177 var18
= var_aimport
->type
->type_table
[cltype
] == idtype
;
5185 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
5186 var22
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
5188 RET_LABEL21
:(void)0;
5193 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
5194 var25
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
5195 if (unlikely(var25
== NULL
)) {
5196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
5197 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 961);
5201 RET_LABEL24
:(void)0;
5205 { /* Inline parser_nodes#AModuleName#n_quad (var23) on <var23:AModuleName> */
5206 var28
= var23
->attrs
[COLOR_nit__parser_nodes__AModuleName___n_quad
].val
; /* _n_quad on <var23:AModuleName> */
5208 RET_LABEL27
:(void)0;
5212 if (var26
== NULL
) {
5213 var30
= 0; /* is null */
5215 var30
= 1; /* arg is null and recv is not */
5218 { /* Inline kernel#Object#!= (var26,var29) on <var26:nullable TQuad> */
5221 var33
= ((short int (*)(val
* self
, val
* p0
))(var26
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var26
, var_other
) /* == on <var26:nullable TQuad(TQuad)>*/;
5226 RET_LABEL32
:(void)0;
5236 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
5237 var38
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
5238 if (unlikely(var38
== NULL
)) {
5239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
5240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 961);
5244 RET_LABEL37
:(void)0;
5248 { /* Inline parser_nodes#AModuleName#n_path (var36) on <var36:AModuleName> */
5249 var41
= var36
->attrs
[COLOR_nit__parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var36:AModuleName> */
5250 if (unlikely(var41
== NULL
)) {
5251 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
5252 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2467);
5256 RET_LABEL40
:(void)0;
5261 var43
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_42
);
5266 var45
= ((short int (*)(val
* self
))(var_44
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_44
) /* is_ok on <var_44:Iterator[TId]>*/;
5270 var46
= ((val
* (*)(val
* self
))(var_44
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_44
) /* item on <var_44:Iterator[TId]>*/;
5274 var47
= nit__lexer_work___Token___text(var_grp
);
5277 var48
= nit__loader___ModelBuilder___search_mmodule_by_name(self
, var_grp
, var_mgroup
, var47
);
5281 if (var_path
== NULL
) {
5282 var50
= 1; /* is null */
5284 var50
= 0; /* arg is null but recv is not */
5287 { /* Inline kernel#Object#== (var_path,var49) on <var_path:nullable ModulePath> */
5288 var_other53
= var49
;
5290 { /* Inline kernel#Object#is_same_instance (var_path,var_other53) on <var_path:nullable ModulePath(ModulePath)> */
5291 var56
= var_path
== var_other53
;
5294 RET_LABEL55
:(void)0;
5299 RET_LABEL52
:(void)0;
5308 { /* Inline loader#ModulePath#mgroup (var_path) on <var_path:nullable ModulePath(ModulePath)> */
5309 var59
= var_path
->attrs
[COLOR_nit__loader__ModulePath___mgroup
].val
; /* _mgroup on <var_path:nullable ModulePath(ModulePath)> */
5310 if (unlikely(var59
== NULL
)) {
5311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup");
5312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 665);
5316 RET_LABEL58
:(void)0;
5321 ((void (*)(val
* self
))(var_44
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_44
) /* next on <var_44:Iterator[TId]>*/;
5327 BREAK_label60
: (void)0;
5329 { /* Inline abstract_collection#Iterator#finish (var_44) on <var_44:Iterator[TId]> */
5330 RET_LABEL61
:(void)0;
5334 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
5335 var64
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
5336 if (unlikely(var64
== NULL
)) {
5337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
5338 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 961);
5342 RET_LABEL63
:(void)0;
5346 { /* Inline parser_nodes#AModuleName#n_id (var62) on <var62:AModuleName> */
5347 var67
= var62
->attrs
[COLOR_nit__parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var62:AModuleName> */
5348 if (unlikely(var67
== NULL
)) {
5349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2470);
5354 RET_LABEL66
:(void)0;
5358 var68
= nit__lexer_work___Token___text(var65
);
5360 var_mod_name
= var68
;
5362 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
5363 var71
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
5364 if (unlikely(var71
== NULL
)) {
5365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
5366 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 961);
5370 RET_LABEL70
:(void)0;
5374 var72
= nit__loader___ModelBuilder___get_mmodule_by_name(self
, var69
, var_mgroup
, var_mod_name
);
5378 if (var_sup
== NULL
) {
5379 var74
= 1; /* is null */
5381 var74
= 0; /* arg is null but recv is not */
5384 { /* Inline kernel#Object#== (var_sup,var73) on <var_sup:nullable MModule> */
5385 var_other53
= var73
;
5387 { /* Inline kernel#Object#is_same_instance (var_sup,var_other53) on <var_sup:nullable MModule(MModule)> */
5388 var79
= var_sup
== var_other53
;
5391 RET_LABEL78
:(void)0;
5396 RET_LABEL76
:(void)0;
5405 { /* Inline loader#AStdImport#mmodule= (var_aimport,var_sup) on <var_aimport:AImport(AStdImport)> */
5406 var_aimport
->attrs
[COLOR_nit__loader__AStdImport___mmodule
].val
= var_sup
; /* _mmodule on <var_aimport:AImport(AStdImport)> */
5407 RET_LABEL80
:(void)0;
5411 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_imported_modules
, var_sup
); /* Direct call array#Array#add on <var_imported_modules:Array[MModule]>*/
5414 { /* Inline parser_nodes#AImport#n_visibility (var_aimport) on <var_aimport:AImport(AStdImport)> */
5415 var83
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AImport___n_visibility
].val
; /* _n_visibility on <var_aimport:AImport(AStdImport)> */
5416 if (unlikely(var83
== NULL
)) {
5417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
5418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 951);
5422 RET_LABEL82
:(void)0;
5426 var84
= ((val
* (*)(val
* self
))(var81
->class->vft
[COLOR_nit__modelbuilder_base__AVisibility__mvisibility
]))(var81
) /* mvisibility on <var81:AVisibility>*/;
5428 var_mvisibility
= var84
;
5430 var85
= nit__model_base___standard__Object___protected_visibility(self
);
5433 { /* Inline kernel#Object#== (var_mvisibility,var85) on <var_mvisibility:MVisibility> */
5434 var_other53
= var85
;
5436 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other53) on <var_mvisibility:MVisibility> */
5437 var90
= var_mvisibility
== var_other53
;
5440 RET_LABEL89
:(void)0;
5445 RET_LABEL87
:(void)0;
5450 { /* Inline parser_nodes#AImport#n_visibility (var_aimport) on <var_aimport:AImport(AStdImport)> */
5451 var93
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AImport___n_visibility
].val
; /* _n_visibility on <var_aimport:AImport(AStdImport)> */
5452 if (unlikely(var93
== NULL
)) {
5453 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
5454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 951);
5458 RET_LABEL92
:(void)0;
5464 var95
= "Error: only properties can be protected.";
5466 var97
= standard___standard__NativeString___to_s_with_length(var95
, var96
);
5471 nit___nit__ModelBuilder___error(self
, var91
, var94
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
5477 { /* Inline kernel#Object#== (var_sup,var_mmodule) on <var_sup:nullable MModule(MModule)> */
5478 var_other53
= var_mmodule
;
5480 { /* Inline kernel#Object#is_same_instance (var_sup,var_other53) on <var_sup:nullable MModule(MModule)> */
5481 var102
= var_sup
== var_other53
;
5484 RET_LABEL101
:(void)0;
5489 RET_LABEL99
:(void)0;
5494 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
5495 var105
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
5496 if (unlikely(var105
== NULL
)) {
5497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
5498 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 961);
5502 RET_LABEL104
:(void)0;
5506 var107
= varonce106
;
5508 var108
= "Error: Dependency loop in module ";
5510 var110
= standard___standard__NativeString___to_s_with_length(var108
, var109
);
5512 varonce106
= var107
;
5515 var112
= varonce111
;
5519 var115
= standard___standard__NativeString___to_s_with_length(var113
, var114
);
5521 varonce111
= var112
;
5523 var116
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5524 { /* var116 = array_instance Array[Object] */
5526 var118
= NEW_standard__NativeArray(var117
, &type_standard__NativeArray__standard__Object
);
5527 ((struct instance_standard__NativeArray
*)var118
)->values
[0] = (val
*) var107
;
5528 ((struct instance_standard__NativeArray
*)var118
)->values
[1] = (val
*) var_mmodule
;
5529 ((struct instance_standard__NativeArray
*)var118
)->values
[2] = (val
*) var112
;
5531 ((void (*)(val
* self
, val
* p0
, long p1
))(var116
->class->vft
[COLOR_standard__array__Array__with_native
]))(var116
, var118
, var117
) /* with_native on <var116:Array[Object]>*/;
5535 var119
= ((val
* (*)(val
* self
))(var116
->class->vft
[COLOR_standard__string__Object__to_s
]))(var116
) /* to_s on <var116:Array[Object]>*/;
5538 nit___nit__ModelBuilder___error(self
, var103
, var119
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
5543 { /* Inline mmodule#MModule#in_importation (var_sup) on <var_sup:nullable MModule(MModule)> */
5544 var122
= var_sup
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_sup:nullable MModule(MModule)> */
5545 if (unlikely(var122
== NULL
)) {
5546 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
5551 RET_LABEL121
:(void)0;
5555 var123
= poset___poset__POSetElement____60d(var120
, var_mmodule
);
5559 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
5560 var126
= var_aimport
->attrs
[COLOR_nit__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
5561 if (unlikely(var126
== NULL
)) {
5562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
5563 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 961);
5567 RET_LABEL125
:(void)0;
5571 var128
= varonce127
;
5573 var129
= "Error: Dependency loop between modules ";
5575 var131
= standard___standard__NativeString___to_s_with_length(var129
, var130
);
5577 varonce127
= var128
;
5580 var133
= varonce132
;
5584 var136
= standard___standard__NativeString___to_s_with_length(var134
, var135
);
5586 varonce132
= var133
;
5589 var138
= varonce137
;
5593 var141
= standard___standard__NativeString___to_s_with_length(var139
, var140
);
5595 varonce137
= var138
;
5597 var142
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5598 { /* var142 = array_instance Array[Object] */
5600 var144
= NEW_standard__NativeArray(var143
, &type_standard__NativeArray__standard__Object
);
5601 ((struct instance_standard__NativeArray
*)var144
)->values
[0] = (val
*) var128
;
5602 ((struct instance_standard__NativeArray
*)var144
)->values
[1] = (val
*) var_mmodule
;
5603 ((struct instance_standard__NativeArray
*)var144
)->values
[2] = (val
*) var133
;
5604 ((struct instance_standard__NativeArray
*)var144
)->values
[3] = (val
*) var_sup
;
5605 ((struct instance_standard__NativeArray
*)var144
)->values
[4] = (val
*) var138
;
5607 ((void (*)(val
* self
, val
* p0
, long p1
))(var142
->class->vft
[COLOR_standard__array__Array__with_native
]))(var142
, var144
, var143
) /* with_native on <var142:Array[Object]>*/;
5611 var145
= ((val
* (*)(val
* self
))(var142
->class->vft
[COLOR_standard__string__Object__to_s
]))(var142
) /* to_s on <var142:Array[Object]>*/;
5614 nit___nit__ModelBuilder___error(self
, var124
, var145
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
5620 nit___nit__MModule___set_visibility_for(var_mmodule
, var_sup
, var_mvisibility
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
5622 BREAK_label
: (void)0;
5624 ((void (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_14
) /* next on <var_14:Iterator[AImport]>*/;
5627 goto BREAK_label146
;
5630 BREAK_label146
: (void)0;
5632 { /* Inline abstract_collection#Iterator#finish (var_14) on <var_14:Iterator[AImport]> */
5633 RET_LABEL147
:(void)0;
5638 var149
= varonce148
;
5640 var150
= "standard";
5642 var152
= standard___standard__NativeString___to_s_with_length(var150
, var151
);
5644 varonce148
= var149
;
5646 var_mod_name153
= var149
;
5649 var155
= nit__loader___ModelBuilder___get_mmodule_by_name(self
, var_nmodule
, var154
, var_mod_name153
);
5651 var_sup156
= var155
;
5653 if (var_sup156
== NULL
) {
5654 var158
= 0; /* is null */
5656 var158
= 1; /* arg is null and recv is not */
5659 { /* Inline kernel#Object#!= (var_sup156,var157) on <var_sup156:nullable MModule> */
5662 var161
= ((short int (*)(val
* self
, val
* p0
))(var_sup156
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_sup156
, var_other
) /* == on <var_sup156:nullable MModule(MModule)>*/;
5667 RET_LABEL160
:(void)0;
5673 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_imported_modules
, var_sup156
); /* Direct call array#Array#add on <var_imported_modules:Array[MModule]>*/
5676 var163
= nit__model_base___standard__Object___public_visibility(self
);
5679 nit___nit__MModule___set_visibility_for(var_mmodule
, var_sup156
, var163
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
5686 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
5687 var166
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5688 if (unlikely(var166
== NULL
)) {
5689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5690 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5694 RET_LABEL165
:(void)0;
5698 var168
= varonce167
;
5700 var169
= " imports ";
5702 var171
= standard___standard__NativeString___to_s_with_length(var169
, var170
);
5704 varonce167
= var168
;
5707 var173
= varonce172
;
5711 var176
= standard___standard__NativeString___to_s_with_length(var174
, var175
);
5713 varonce172
= var173
;
5716 var177
= standard__string___Collection___join(var_imported_modules
, var173
);
5718 var178
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5719 { /* var178 = array_instance Array[Object] */
5721 var180
= NEW_standard__NativeArray(var179
, &type_standard__NativeArray__standard__Object
);
5722 ((struct instance_standard__NativeArray
*)var180
)->values
[0] = (val
*) var_mmodule
;
5723 ((struct instance_standard__NativeArray
*)var180
)->values
[1] = (val
*) var168
;
5724 ((struct instance_standard__NativeArray
*)var180
)->values
[2] = (val
*) var177
;
5726 ((void (*)(val
* self
, val
* p0
, long p1
))(var178
->class->vft
[COLOR_standard__array__Array__with_native
]))(var178
, var180
, var179
) /* with_native on <var178:Array[Object]>*/;
5730 var181
= ((val
* (*)(val
* self
))(var178
->class->vft
[COLOR_standard__string__Object__to_s
]))(var178
) /* to_s on <var178:Array[Object]>*/;
5734 nit___nit__ToolContext___info(var164
, var181
, var182
); /* Direct call toolcontext#ToolContext#info on <var164:ToolContext>*/
5737 nit___nit__MModule___set_imported_mmodules(var_mmodule
, var_imported_modules
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mmodule:MModule>*/
5740 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
5741 var185
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
5742 if (unlikely(var185
== NULL
)) {
5743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
5748 RET_LABEL184
:(void)0;
5752 var186
= poset___poset__POSetElement___greaters(var183
);
5756 var188
= ((val
* (*)(val
* self
))(var_187
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_187
) /* iterator on <var_187:Collection[MModule]>*/;
5761 var190
= ((short int (*)(val
* self
))(var_189
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_189
) /* is_ok on <var_189:Iterator[MModule]>*/;
5765 var191
= ((val
* (*)(val
* self
))(var_189
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_189
) /* item on <var_189:Iterator[MModule]>*/;
5767 var_sup192
= var191
;
5769 { /* Inline mmodule#MModule#name (var_sup192) on <var_sup192:MModule> */
5770 var195
= var_sup192
->attrs
[COLOR_nit__mmodule__MModule___name
].val
; /* _name on <var_sup192:MModule> */
5771 if (unlikely(var195
== NULL
)) {
5772 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5773 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 87);
5777 RET_LABEL194
:(void)0;
5781 var197
= varonce196
;
5783 var198
= "standard";
5785 var200
= standard___standard__NativeString___to_s_with_length(var198
, var199
);
5787 varonce196
= var197
;
5790 var201
= ((short int (*)(val
* self
, val
* p0
))(var193
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var193
, var197
) /* == on <var193:String>*/;
5794 var202
= nit__model_base___standard__Object___public_visibility(self
);
5797 nit___nit__MModule___set_visibility_for(var_mmodule
, var_sup192
, var202
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
5802 ((void (*)(val
* self
))(var_189
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_189
) /* next on <var_189:Iterator[MModule]>*/;
5805 goto BREAK_label203
;
5808 BREAK_label203
: (void)0;
5810 { /* Inline abstract_collection#Iterator#finish (var_189) on <var_189:Iterator[MModule]> */
5811 RET_LABEL204
:(void)0;
5815 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
5816 var207
= var_mmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
5817 if (unlikely(var207
== NULL
)) {
5818 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5819 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
5823 RET_LABEL206
:(void)0;
5827 var208
= poset___poset__POSetElement___direct_greaters(var205
);
5829 var_directs
= var208
;
5831 { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on <var_nmodule:AModule> */
5832 var211
= var_nmodule
->attrs
[COLOR_nit__parser_nodes__AModule___n_imports
].val
; /* _n_imports on <var_nmodule:AModule> */
5833 if (unlikely(var211
== NULL
)) {
5834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
5835 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 913);
5839 RET_LABEL210
:(void)0;
5844 var213
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_212
);
5849 var215
= ((short int (*)(val
* self
))(var_214
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_214
) /* is_ok on <var_214:Iterator[AImport]>*/;
5853 var216
= ((val
* (*)(val
* self
))(var_214
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_214
) /* item on <var_214:Iterator[AImport]>*/;
5856 /* <var_nim:AImport> isa AStdImport */
5857 cltype218
= type_nit__AStdImport
.color
;
5858 idtype219
= type_nit__AStdImport
.id
;
5859 if(cltype218
>= var_nim
->type
->table_size
) {
5862 var217
= var_nim
->type
->type_table
[cltype218
] == idtype219
;
5866 goto BREAK_label221
;
5870 { /* Inline loader#AStdImport#mmodule (var_nim) on <var_nim:AImport(AStdImport)> */
5871 var224
= var_nim
->attrs
[COLOR_nit__loader__AStdImport___mmodule
].val
; /* _mmodule on <var_nim:AImport(AStdImport)> */
5873 RET_LABEL223
:(void)0;
5878 if (var_im
== NULL
) {
5879 var226
= 1; /* is null */
5881 var226
= 0; /* arg is null but recv is not */
5884 { /* Inline kernel#Object#== (var_im,var225) on <var_im:nullable MModule> */
5885 var_other53
= var225
;
5887 { /* Inline kernel#Object#is_same_instance (var_im,var_other53) on <var_im:nullable MModule(MModule)> */
5888 var231
= var_im
== var_other53
;
5891 RET_LABEL230
:(void)0;
5896 RET_LABEL228
:(void)0;
5901 goto BREAK_label221
;
5905 var232
= ((short int (*)(val
* self
, val
* p0
))(var_directs
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var_directs
, var_im
) /* has on <var_directs:Collection[MModule]>*/;
5908 goto BREAK_label221
;
5911 BREAK_label221
: (void)0;
5913 ((void (*)(val
* self
))(var_214
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_214
) /* next on <var_214:Iterator[AImport]>*/;
5916 goto BREAK_label233
;
5919 BREAK_label233
: (void)0;
5921 { /* Inline abstract_collection#Iterator#finish (var_214) on <var_214:Iterator[AImport]> */
5922 RET_LABEL234
:(void)0;
5927 /* method loader#ModelBuilder#nmodules for (self: ModelBuilder): Array[AModule] */
5928 val
* nit__loader___ModelBuilder___nmodules(val
* self
) {
5929 val
* var
/* : Array[AModule] */;
5930 val
* var1
/* : Array[AModule] */;
5931 var1
= self
->attrs
[COLOR_nit__loader__ModelBuilder___nmodules
].val
; /* _nmodules on <self:ModelBuilder> */
5932 if (unlikely(var1
== NULL
)) {
5933 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
5934 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 638);
5941 /* method loader#ModelBuilder#mmodule2nmodule for (self: ModelBuilder): HashMap[MModule, AModule] */
5942 val
* nit__loader___ModelBuilder___mmodule2nmodule(val
* self
) {
5943 val
* var
/* : HashMap[MModule, AModule] */;
5944 val
* var1
/* : HashMap[MModule, AModule] */;
5945 var1
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
5946 if (unlikely(var1
== NULL
)) {
5947 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
5948 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 641);
5955 /* method loader#ModelBuilder#mmodule2node for (self: ModelBuilder, MModule): nullable AModule */
5956 val
* nit__loader___ModelBuilder___mmodule2node(val
* self
, val
* p0
) {
5957 val
* var
/* : nullable AModule */;
5958 val
* var_mmodule
/* var mmodule: MModule */;
5959 val
* var1
/* : HashMap[MModule, AModule] */;
5960 val
* var3
/* : HashMap[MModule, AModule] */;
5961 val
* var4
/* : nullable Object */;
5964 { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
5965 var3
= self
->attrs
[COLOR_nit__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
5966 if (unlikely(var3
== NULL
)) {
5967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
5968 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 641);
5976 var4
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var1
, var_mmodule
);
5983 /* method loader#ModulePath#name for (self: ModulePath): String */
5984 val
* nit___nit__ModulePath___name(val
* self
) {
5985 val
* var
/* : String */;
5986 val
* var1
/* : String */;
5987 var1
= self
->attrs
[COLOR_nit__loader__ModulePath___name
].val
; /* _name on <self:ModulePath> */
5988 if (unlikely(var1
== NULL
)) {
5989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5990 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 658);
5997 /* method loader#ModulePath#name= for (self: ModulePath, String) */
5998 void nit___nit__ModulePath___name_61d(val
* self
, val
* p0
) {
5999 self
->attrs
[COLOR_nit__loader__ModulePath___name
].val
= p0
; /* _name on <self:ModulePath> */
6002 /* method loader#ModulePath#filepath for (self: ModulePath): String */
6003 val
* nit___nit__ModulePath___filepath(val
* self
) {
6004 val
* var
/* : String */;
6005 val
* var1
/* : String */;
6006 var1
= self
->attrs
[COLOR_nit__loader__ModulePath___filepath
].val
; /* _filepath on <self:ModulePath> */
6007 if (unlikely(var1
== NULL
)) {
6008 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
6009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 662);
6016 /* method loader#ModulePath#filepath= for (self: ModulePath, String) */
6017 void nit___nit__ModulePath___filepath_61d(val
* self
, val
* p0
) {
6018 self
->attrs
[COLOR_nit__loader__ModulePath___filepath
].val
= p0
; /* _filepath on <self:ModulePath> */
6021 /* method loader#ModulePath#mgroup for (self: ModulePath): MGroup */
6022 val
* nit___nit__ModulePath___mgroup(val
* self
) {
6023 val
* var
/* : MGroup */;
6024 val
* var1
/* : MGroup */;
6025 var1
= self
->attrs
[COLOR_nit__loader__ModulePath___mgroup
].val
; /* _mgroup on <self:ModulePath> */
6026 if (unlikely(var1
== NULL
)) {
6027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup");
6028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 665);
6035 /* method loader#ModulePath#mgroup= for (self: ModulePath, MGroup) */
6036 void nit___nit__ModulePath___mgroup_61d(val
* self
, val
* p0
) {
6037 self
->attrs
[COLOR_nit__loader__ModulePath___mgroup
].val
= p0
; /* _mgroup on <self:ModulePath> */
6040 /* method loader#ModulePath#mmodule for (self: ModulePath): nullable MModule */
6041 val
* nit___nit__ModulePath___mmodule(val
* self
) {
6042 val
* var
/* : nullable MModule */;
6043 val
* var1
/* : nullable MModule */;
6044 var1
= self
->attrs
[COLOR_nit__loader__ModulePath___mmodule
].val
; /* _mmodule on <self:ModulePath> */
6049 /* method loader#ModulePath#mmodule= for (self: ModulePath, nullable MModule) */
6050 void nit___nit__ModulePath___mmodule_61d(val
* self
, val
* p0
) {
6051 self
->attrs
[COLOR_nit__loader__ModulePath___mmodule
].val
= p0
; /* _mmodule on <self:ModulePath> */
6054 /* method loader#ModulePath#to_s for (self: ModulePath): String */
6055 val
* nit___nit__ModulePath___standard__string__Object__to_s(val
* self
) {
6056 val
* var
/* : String */;
6057 val
* var1
/* : String */;
6058 val
* var3
/* : String */;
6060 { /* Inline loader#ModulePath#filepath (self) on <self:ModulePath> */
6061 var3
= self
->attrs
[COLOR_nit__loader__ModulePath___filepath
].val
; /* _filepath on <self:ModulePath> */
6062 if (unlikely(var3
== NULL
)) {
6063 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath");
6064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 662);
6076 /* method loader#ModulePath#init for (self: ModulePath) */
6077 void nit___nit__ModulePath___standard__kernel__Object__init(val
* self
) {
6079 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__ModulePath___standard__kernel__Object__init
]))(self
) /* init on <self:ModulePath>*/;
6083 /* method loader#MGroup#module_paths for (self: MGroup): Array[ModulePath] */
6084 val
* nit__loader___MGroup___module_paths(val
* self
) {
6085 val
* var
/* : Array[ModulePath] */;
6086 val
* var1
/* : Array[ModulePath] */;
6087 var1
= self
->attrs
[COLOR_nit__loader__MGroup___module_paths
].val
; /* _module_paths on <self:MGroup> */
6088 if (unlikely(var1
== NULL
)) {
6089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _module_paths");
6090 PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader
, 675);
6097 /* method loader#SourceFile#mmodule for (self: SourceFile): nullable MModule */
6098 val
* nit__loader___SourceFile___mmodule(val
* self
) {
6099 val
* var
/* : nullable MModule */;
6100 val
* var1
/* : nullable MModule */;
6101 var1
= self
->attrs
[COLOR_nit__loader__SourceFile___mmodule
].val
; /* _mmodule on <self:SourceFile> */
6106 /* method loader#SourceFile#mmodule= for (self: SourceFile, nullable MModule) */
6107 void nit__loader___SourceFile___mmodule_61d(val
* self
, val
* p0
) {
6108 self
->attrs
[COLOR_nit__loader__SourceFile___mmodule
].val
= p0
; /* _mmodule on <self:SourceFile> */
6111 /* method loader#AStdImport#mmodule for (self: AStdImport): nullable MModule */
6112 val
* nit__loader___AStdImport___mmodule(val
* self
) {
6113 val
* var
/* : nullable MModule */;
6114 val
* var1
/* : nullable MModule */;
6115 var1
= self
->attrs
[COLOR_nit__loader__AStdImport___mmodule
].val
; /* _mmodule on <self:AStdImport> */
6120 /* method loader#AStdImport#mmodule= for (self: AStdImport, nullable MModule) */
6121 void nit__loader___AStdImport___mmodule_61d(val
* self
, val
* p0
) {
6122 self
->attrs
[COLOR_nit__loader__AStdImport___mmodule
].val
= p0
; /* _mmodule on <self:AStdImport> */
6125 /* method loader#AModule#mmodule for (self: AModule): nullable MModule */
6126 val
* nit__loader___AModule___mmodule(val
* self
) {
6127 val
* var
/* : nullable MModule */;
6128 val
* var1
/* : nullable MModule */;
6129 var1
= self
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
; /* _mmodule on <self:AModule> */
6134 /* method loader#AModule#mmodule= for (self: AModule, nullable MModule) */
6135 void nit__loader___AModule___mmodule_61d(val
* self
, val
* p0
) {
6136 self
->attrs
[COLOR_nit__loader__AModule___mmodule
].val
= p0
; /* _mmodule on <self:AModule> */
6139 /* method loader#AModule#is_importation_done for (self: AModule): Bool */
6140 short int nit__loader___AModule___is_importation_done(val
* self
) {
6141 short int var
/* : Bool */;
6142 short int var1
/* : Bool */;
6143 var1
= self
->attrs
[COLOR_nit__loader__AModule___is_importation_done
].s
; /* _is_importation_done on <self:AModule> */
6148 /* method loader#AModule#is_importation_done= for (self: AModule, Bool) */
6149 void nit__loader___AModule___is_importation_done_61d(val
* self
, short int p0
) {
6150 self
->attrs
[COLOR_nit__loader__AModule___is_importation_done
].s
= p0
; /* _is_importation_done on <self:AModule> */