1 #include "nitc__loader.sep.0.h"
2 /* method loader#ToolContext#opt_path for (self: ToolContext): OptionArray */
3 val
* nitc__loader___ToolContext___opt_path(val
* self
) {
4 val
* var
/* : OptionArray */;
5 val
* var1
/* : OptionArray */;
6 var1
= self
->attrs
[COLOR_nitc__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_nitc__loader
, 44);
16 /* method loader#ToolContext#opt_only_metamodel for (self: ToolContext): OptionBool */
17 val
* nitc__loader___ToolContext___opt_only_metamodel(val
* self
) {
18 val
* var
/* : OptionBool */;
19 val
* var1
/* : OptionBool */;
20 var1
= self
->attrs
[COLOR_nitc__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_nitc__loader
, 47);
30 /* method loader#ToolContext#opt_only_parse for (self: ToolContext): OptionBool */
31 val
* nitc__loader___ToolContext___opt_only_parse(val
* self
) {
32 val
* var
/* : OptionBool */;
33 val
* var1
/* : OptionBool */;
34 var1
= self
->attrs
[COLOR_nitc__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_nitc__loader
, 50);
44 /* method loader#ToolContext#init for (self: ToolContext) */
45 void nitc__loader___ToolContext___core__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 val
* var13
/* : NativeArray[Option] */;
57 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__loader___ToolContext___core__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
60 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
61 var2
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
62 if (unlikely(var2
== NULL
)) {
63 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
64 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
72 { /* Inline loader#ToolContext#opt_path (self) on <self:ToolContext> */
73 var5
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_path
].val
; /* _opt_path on <self:ToolContext> */
74 if (unlikely(var5
== NULL
)) {
75 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
76 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 44);
84 { /* Inline loader#ToolContext#opt_only_parse (self) on <self:ToolContext> */
85 var8
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:ToolContext> */
86 if (unlikely(var8
== NULL
)) {
87 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
88 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 50);
96 { /* Inline loader#ToolContext#opt_only_metamodel (self) on <self:ToolContext> */
97 var11
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:ToolContext> */
98 if (unlikely(var11
== NULL
)) {
99 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
100 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 47);
107 var12
= NEW_core__Array(&type_core__Array__opts__Option
);
108 { /* var12 = array_instance Array[Option] */
109 var13
= NEW_core__NativeArray(3l, &type_core__NativeArray__opts__Option
);
110 ((struct instance_core__NativeArray
*)var13
)->values
[0] = (val
*) var3
;
111 ((struct instance_core__NativeArray
*)var13
)->values
[1] = (val
*) var6
;
112 ((struct instance_core__NativeArray
*)var13
)->values
[2] = (val
*) var9
;
114 ((void(*)(val
* self
, val
* p0
, long p1
))(var12
->class->vft
[COLOR_core__array__Array__with_native
]))(var12
, var13
, 3l); /* with_native on <var12:Array[Option]>*/
118 opts___opts__OptionContext___add_option(var
, var12
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
122 /* method loader#ModelBuilder#init for (self: ModelBuilder) */
123 void nitc__loader___ModelBuilder___core__kernel__Object__init(val
* self
) {
124 val
* var
/* : Array[String] */;
125 val
* var2
/* : Array[String] */;
126 val
* var3
/* : ToolContext */;
127 val
* var5
/* : ToolContext */;
128 val
* var6
/* : OptionArray */;
129 val
* var8
/* : OptionArray */;
130 val
* var9
/* : nullable Object */;
131 val
* var11
/* : nullable Object */;
133 val
* var12
/* : String */;
134 char* var13
/* : NativeString */;
135 val
* var14
/* : String */;
136 val
* var15
/* : String */;
137 val
* var_path_env
/* var path_env: String */;
138 short int var16
/* : Bool */;
139 short int var17
/* : Bool */;
140 val
* var18
/* : Array[String] */;
141 val
* var20
/* : Array[String] */;
142 val
* var21
/* : Array[String] */;
143 val
* var22
/* : Pattern */;
144 val
* var23
/* : ToolContext */;
145 val
* var25
/* : ToolContext */;
146 val
* var26
/* : String */;
147 val
* var28
/* : String */;
148 val
* var_nit_dir
/* var nit_dir: String */;
149 static val
* varonce29
;
150 val
* var30
/* : String */;
151 char* var31
/* : NativeString */;
152 val
* var32
/* : String */;
153 val
* var33
/* : String */;
154 val
* var_libname
/* var libname: String */;
155 short int var34
/* : Bool */;
156 val
* var35
/* : Array[String] */;
157 val
* var37
/* : Array[String] */;
158 static val
* varonce38
;
159 val
* var39
/* : String */;
160 char* var40
/* : NativeString */;
161 val
* var41
/* : String */;
162 val
* var42
/* : String */;
163 short int var43
/* : Bool */;
164 val
* var44
/* : Array[String] */;
165 val
* var46
/* : Array[String] */;
167 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__loader___ModelBuilder___core__kernel__Object__init
]))(self
); /* init on <self:ModelBuilder>*/
170 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
171 var2
= self
->attrs
[COLOR_nitc__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_nitc__loader
, 208);
182 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
183 var5
= self
->attrs
[COLOR_nitc__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_nitc__modelbuilder_base
, 47);
194 { /* Inline loader#ToolContext#opt_path (var3) on <var3:ToolContext> */
195 var8
= var3
->attrs
[COLOR_nitc__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_nitc__loader
, 44);
206 { /* Inline opts#Option#value (var6) on <var6:OptionArray> */
207 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionArray> */
213 core___core__Sequence___append(var
, var9
); /* Direct call abstract_collection#Sequence#append on <var:Array[String]>*/
215 if (likely(varonce
!=NULL
)) {
219 var14
= core__flat___NativeString___to_s_full(var13
, 8l, 8l);
224 var15
= core__environ___String___environ(var12
);
226 var_path_env
= var15
;
228 var16
= ((short int(*)(val
* self
))(var_path_env
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var_path_env
); /* is_empty on <var_path_env:String>*/
233 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
234 var20
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
235 if (unlikely(var20
== NULL
)) {
236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
237 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
245 var22
= (val
*)((long)(':')<<2|2);
246 var21
= core__string_search___Text___split_with(var_path_env
, var22
);
249 core___core__Sequence___append(var18
, var21
); /* Direct call abstract_collection#Sequence#append on <var18:Array[String]>*/
254 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
255 var25
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
256 if (unlikely(var25
== NULL
)) {
257 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
258 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
266 { /* Inline toolcontext#ToolContext#nit_dir (var23) on <var23:ToolContext> */
267 var28
= var23
->attrs
[COLOR_nitc__toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var23:ToolContext> */
268 if (unlikely(var28
== NULL
)) {
269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nit_dir");
270 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 528);
278 if (likely(varonce29
!=NULL
)) {
282 var32
= core__flat___NativeString___to_s_full(var31
, 3l, 3l);
287 var33
= core__file___String____47d(var_nit_dir
, var30
);
291 var34
= core__file___String___file_exists(var_libname
);
295 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
296 var37
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
297 if (unlikely(var37
== NULL
)) {
298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
299 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
307 core___core__Array___core__abstract_collection__SimpleCollection__add(var35
, var_libname
); /* Direct call array#Array#add on <var35:Array[String]>*/
311 if (likely(varonce38
!=NULL
)) {
315 var41
= core__flat___NativeString___to_s_full(var40
, 7l, 7l);
320 var42
= core__file___String____47d(var_nit_dir
, var39
);
324 var43
= core__file___String___file_exists(var_libname
);
328 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
329 var46
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
330 if (unlikely(var46
== NULL
)) {
331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
332 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
340 core___core__Array___core__abstract_collection__SimpleCollection__add(var44
, var_libname
); /* Direct call array#Array#add on <var44:Array[String]>*/
346 /* method loader#ModelBuilder#parse for (self: ModelBuilder, Sequence[String]): Array[MModule] */
347 val
* nitc__loader___ModelBuilder___parse(val
* self
, val
* p0
) {
348 val
* var
/* : Array[MModule] */;
349 val
* var_modules
/* var modules: Sequence[String] */;
350 val
* var1
/* : Sys */;
351 long var2
/* : Int */;
352 long var4
/* : Int */;
353 long var_time0
/* var time0: Int */;
354 val
* var5
/* : ToolContext */;
355 val
* var7
/* : ToolContext */;
357 val
* var8
/* : String */;
358 char* var9
/* : NativeString */;
359 val
* var10
/* : String */;
360 val
* var11
/* : ArraySet[MModule] */;
361 val
* var_mmodules
/* var mmodules: ArraySet[MModule] */;
362 val
* var_
/* var : Sequence[String] */;
363 val
* var12
/* : Iterator[nullable Object] */;
364 val
* var_13
/* var : IndexedIterator[String] */;
365 short int var14
/* : Bool */;
366 val
* var15
/* : nullable Object */;
367 val
* var_a
/* var a: String */;
368 val
* var16
/* : nullable AModule */;
369 val
* var_nmodule
/* var nmodule: nullable AModule */;
370 short int var17
/* : Bool */;
371 short int var18
/* : Bool */;
372 val
* var_other
/* var other: nullable Object */;
373 short int var20
/* : Bool */;
374 short int var22
/* : Bool */;
375 val
* var24
/* : nullable MModule */;
376 val
* var26
/* : nullable MModule */;
377 val
* var_mmodule
/* var mmodule: nullable MModule */;
378 short int var27
/* : Bool */;
379 short int var28
/* : Bool */;
380 short int var30
/* : Bool */;
381 short int var32
/* : Bool */;
382 val
* var33
/* : Sys */;
383 long var34
/* : Int */;
384 long var36
/* : Int */;
385 long var_time1
/* var time1: Int */;
386 val
* var37
/* : ToolContext */;
387 val
* var39
/* : ToolContext */;
388 val
* var41
/* : NativeArray[String] */;
389 static val
* varonce40
;
390 static val
* varonce42
;
391 val
* var43
/* : String */;
392 char* var44
/* : NativeString */;
393 val
* var45
/* : String */;
394 static val
* varonce46
;
395 val
* var47
/* : String */;
396 char* var48
/* : NativeString */;
397 val
* var49
/* : String */;
398 long var50
/* : Int */;
399 short int var52
/* : Bool */;
402 const char* var_class_name
;
403 long var53
/* : Int */;
404 val
* var54
/* : String */;
405 val
* var55
/* : String */;
406 val
* var56
/* : ToolContext */;
407 val
* var58
/* : ToolContext */;
408 short int var59
/* : Bool */;
409 val
* var60
/* : ToolContext */;
410 val
* var62
/* : ToolContext */;
411 val
* var63
/* : OptionBool */;
412 val
* var65
/* : OptionBool */;
413 val
* var66
/* : nullable Object */;
414 val
* var68
/* : nullable Object */;
415 short int var69
/* : Bool */;
416 val
* var70
/* : ToolContext */;
417 val
* var72
/* : ToolContext */;
418 static val
* varonce73
;
419 val
* var74
/* : String */;
420 char* var75
/* : NativeString */;
421 val
* var76
/* : String */;
422 val
* var77
/* : ToolContext */;
423 val
* var79
/* : ToolContext */;
424 val
* var80
/* : Array[nullable Object] */;
428 { /* Inline time#Sys#get_time (var1) on <var1:Sys> */
429 struct nitni_instance
* var_for_c_0
;
430 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
431 var_for_c_0
->value
= var1
;
432 var4
= time___Sys_get_time___impl(var_for_c_0
);
440 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
441 var7
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
442 if (unlikely(var7
== NULL
)) {
443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
444 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
451 if (likely(varonce
!=NULL
)) {
454 var9
= "*** PARSE ***";
455 var10
= core__flat___NativeString___to_s_full(var9
, 13l, 13l);
460 nitc___nitc__ToolContext___info(var5
, var8
, 1l); /* Direct call toolcontext#ToolContext#info on <var5:ToolContext>*/
462 var11
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MModule
);
464 core___core__ArraySet___core__kernel__Object__init(var11
); /* Direct call array#ArraySet#init on <var11:ArraySet[MModule]>*/
466 var_mmodules
= var11
;
469 var12
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Sequence[String]>*/
474 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:IndexedIterator[String]>*/
481 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:IndexedIterator[String]>*/
485 var16
= nitc__loader___ModelBuilder___load_module(self
, var_a
);
488 if (var_nmodule
== NULL
) {
489 var17
= 1; /* is null */
491 var17
= 0; /* arg is null but recv is not */
494 { /* Inline kernel#Object#== (var_nmodule,((val*)NULL)) on <var_nmodule:nullable AModule> */
495 var_other
= ((val
*)NULL
);
497 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
498 var22
= var_nmodule
== var_other
;
515 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:nullable AModule(AModule)> */
516 var26
= var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:nullable AModule(AModule)> */
522 if (var_mmodule
== NULL
) {
523 var27
= 1; /* is null */
525 var27
= 0; /* arg is null but recv is not */
528 { /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
529 var_other
= ((val
*)NULL
);
531 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
532 var32
= var_mmodule
== var_other
;
549 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_mmodules
, var_mmodule
); /* Direct call array#ArraySet#add on <var_mmodules:ArraySet[MModule]>*/
551 BREAK_label23
: (void)0;
553 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:IndexedIterator[String]>*/
556 BREAK_label
: (void)0;
558 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:IndexedIterator[String]>*/
562 { /* Inline time#Sys#get_time (var33) on <var33:Sys> */
563 struct nitni_instance
* var_for_c_0
;
564 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
565 var_for_c_0
->value
= var33
;
566 var36
= time___Sys_get_time___impl(var_for_c_0
);
574 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
575 var39
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
576 if (unlikely(var39
== NULL
)) {
577 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
578 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
585 if (unlikely(varonce40
==NULL
)) {
586 var41
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
587 if (likely(varonce42
!=NULL
)) {
590 var44
= "*** END PARSE: ";
591 var45
= core__flat___NativeString___to_s_full(var44
, 15l, 15l);
595 ((struct instance_core__NativeArray
*)var41
)->values
[0]=var43
;
596 if (likely(varonce46
!=NULL
)) {
600 var49
= core__flat___NativeString___to_s_full(var48
, 4l, 4l);
604 ((struct instance_core__NativeArray
*)var41
)->values
[2]=var47
;
610 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
611 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
612 /* <var_time0:Int> isa OTHER */
613 var52
= 1; /* easy <var_time0:Int> isa OTHER*/
614 if (unlikely(!var52
)) {
615 var_class_name
= type_core__Int
.name
;
616 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
617 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
620 var53
= var_time1
- var_time0
;
626 var54
= core__flat___Int___core__abstract_text__Object__to_s(var50
);
627 ((struct instance_core__NativeArray
*)var41
)->values
[1]=var54
;
629 var55
= ((val
*(*)(val
* self
))(var41
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var41
); /* native_to_s on <var41:NativeArray[String]>*/
633 nitc___nitc__ToolContext___info(var37
, var55
, 2l); /* Direct call toolcontext#ToolContext#info on <var37:ToolContext>*/
636 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
637 var58
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
638 if (unlikely(var58
== NULL
)) {
639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
640 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
648 var59
= nitc___nitc__ToolContext___check_errors(var56
);
651 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
652 var62
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
653 if (unlikely(var62
== NULL
)) {
654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
655 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
663 { /* Inline loader#ToolContext#opt_only_parse (var60) on <var60:ToolContext> */
664 var65
= var60
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <var60:ToolContext> */
665 if (unlikely(var65
== NULL
)) {
666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 50);
675 { /* Inline opts#Option#value (var63) on <var63:OptionBool> */
676 var68
= var63
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var63:OptionBool> */
681 var69
= (short int)((long)(var66
)>>2);
684 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
685 var72
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
686 if (unlikely(var72
== NULL
)) {
687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
688 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
695 if (likely(varonce73
!=NULL
)) {
698 var75
= "*** ONLY PARSE...";
699 var76
= core__flat___NativeString___to_s_full(var75
, 17l, 17l);
704 nitc___nitc__ToolContext___info(var70
, var74
, 1l); /* Direct call toolcontext#ToolContext#info on <var70:ToolContext>*/
707 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
708 var79
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
709 if (unlikely(var79
== NULL
)) {
710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
719 nitc___nitc__ToolContext___quit(var77
); /* Direct call toolcontext#ToolContext#quit on <var77:ToolContext>*/
724 var80
= core__array___Collection___to_a(var_mmodules
);
731 /* method loader#ModelBuilder#paths for (self: ModelBuilder): Array[String] */
732 val
* nitc__loader___ModelBuilder___paths(val
* self
) {
733 val
* var
/* : Array[String] */;
734 val
* var1
/* : Array[String] */;
735 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
736 if (unlikely(var1
== NULL
)) {
737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
738 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
745 /* method loader#ModelBuilder#search_mmodule_by_name for (self: ModelBuilder, nullable ANode, nullable MGroup, String): nullable MModule */
746 val
* nitc__loader___ModelBuilder___search_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
747 val
* var
/* : nullable MModule */;
748 val
* var_anode
/* var anode: nullable ANode */;
749 val
* var_mgroup
/* var mgroup: nullable MGroup */;
750 val
* var_name
/* var name: String */;
751 val
* var_c
/* var c: nullable MGroup */;
752 short int var1
/* : Bool */;
753 short int var2
/* : Bool */;
754 val
* var_other
/* var other: nullable Object */;
755 short int var4
/* : Bool */;
756 short int var5
/* : Bool */;
757 val
* var6
/* : MPackage */;
758 val
* var8
/* : MPackage */;
759 val
* var9
/* : nullable MGroup */;
760 val
* var11
/* : nullable MGroup */;
761 val
* var_r
/* var r: nullable MGroup */;
762 short int var12
/* : Bool */;
763 short int var13
/* : Bool */;
764 short int var15
/* : Bool */;
765 short int var16
/* : Bool */;
766 val
* var17
/* : Array[MModule] */;
767 val
* var_res
/* var res: Array[MModule] */;
768 short int var18
/* : Bool */;
769 val
* var19
/* : nullable Object */;
770 val
* var20
/* : Array[String] */;
771 val
* var22
/* : Array[String] */;
772 val
* var_lookpaths
/* var lookpaths: Array[String] */;
773 short int var23
/* : Bool */;
774 short int var24
/* : Bool */;
775 short int var26
/* : Bool */;
776 short int var27
/* : Bool */;
777 val
* var28
/* : MPackage */;
778 val
* var30
/* : MPackage */;
779 val
* var31
/* : nullable MGroup */;
780 val
* var33
/* : nullable MGroup */;
781 val
* var34
/* : nullable String */;
782 val
* var36
/* : nullable String */;
783 val
* var_dirname
/* var dirname: nullable String */;
784 short int var37
/* : Bool */;
785 short int var38
/* : Bool */;
786 short int var40
/* : Bool */;
787 short int var41
/* : Bool */;
789 val
* var42
/* : String */;
790 char* var43
/* : NativeString */;
791 val
* var44
/* : String */;
792 val
* var45
/* : String */;
793 val
* var46
/* : String */;
794 short int var47
/* : Bool */;
795 short int var48
/* : Bool */;
796 short int var49
/* : Bool */;
797 short int var_
/* var : Bool */;
798 short int var50
/* : Bool */;
799 val
* var51
/* : Array[nullable Object] */;
800 val
* var_loc
/* var loc: nullable Object */;
801 short int var52
/* : Bool */;
802 short int var53
/* : Bool */;
803 short int var55
/* : Bool */;
804 short int var56
/* : Bool */;
805 val
* var57
/* : Location */;
806 val
* var58
/* : nullable MModule */;
807 val
* var_candidate
/* var candidate: nullable MModule */;
808 short int var59
/* : Bool */;
809 short int var60
/* : Bool */;
810 val
* var_other62
/* var other: nullable Object */;
811 short int var63
/* : Bool */;
812 short int var65
/* : Bool */;
813 short int var66
/* : Bool */;
814 short int var67
/* : Bool */;
815 short int var69
/* : Bool */;
816 short int var70
/* : Bool */;
817 val
* var72
/* : NativeArray[String] */;
818 static val
* varonce71
;
819 static val
* varonce73
;
820 val
* var74
/* : String */;
821 char* var75
/* : NativeString */;
822 val
* var76
/* : String */;
823 static val
* varonce77
;
824 val
* var78
/* : String */;
825 char* var79
/* : NativeString */;
826 val
* var80
/* : String */;
827 static val
* varonce81
;
828 val
* var82
/* : String */;
829 char* var83
/* : NativeString */;
830 val
* var84
/* : String */;
831 static val
* varonce85
;
832 val
* var86
/* : String */;
833 char* var87
/* : NativeString */;
834 val
* var88
/* : String */;
835 val
* var89
/* : String */;
836 val
* var91
/* : String */;
837 static val
* varonce92
;
838 val
* var93
/* : String */;
839 char* var94
/* : NativeString */;
840 val
* var95
/* : String */;
841 val
* var96
/* : String */;
842 val
* var97
/* : String */;
843 val
* var99
/* : NativeArray[String] */;
844 static val
* varonce98
;
845 static val
* varonce100
;
846 val
* var101
/* : String */;
847 char* var102
/* : NativeString */;
848 val
* var103
/* : String */;
849 static val
* varonce104
;
850 val
* var105
/* : String */;
851 char* var106
/* : NativeString */;
852 val
* var107
/* : String */;
853 static val
* varonce108
;
854 val
* var109
/* : String */;
855 char* var110
/* : NativeString */;
856 val
* var111
/* : String */;
857 static val
* varonce112
;
858 val
* var113
/* : String */;
859 char* var114
/* : NativeString */;
860 val
* var115
/* : String */;
861 val
* var116
/* : String */;
862 val
* var117
/* : String */;
868 var1
= 0; /* is null */
870 var1
= 1; /* arg is null and recv is not */
873 { /* Inline kernel#Object#!= (var_c,((val*)NULL)) on <var_c:nullable MGroup> */
874 var_other
= ((val
*)NULL
);
876 var4
= ((short int(*)(val
* self
, val
* p0
))(var_c
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_c
, var_other
); /* == on <var_c:nullable MGroup(MGroup)>*/
887 { /* Inline mpackage#MGroup#mpackage (var_c) on <var_c:nullable MGroup(MGroup)> */
888 var8
= var_c
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_c:nullable MGroup(MGroup)> */
889 if (unlikely(var8
== NULL
)) {
890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
891 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
899 { /* Inline mpackage#MPackage#root (var6) on <var6:MPackage> */
900 var11
= var6
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
; /* _root on <var6:MPackage> */
907 var12
= 0; /* is null */
909 var12
= 1; /* arg is null and recv is not */
912 { /* Inline kernel#Object#!= (var_r,((val*)NULL)) on <var_r:nullable MGroup> */
913 var_other
= ((val
*)NULL
);
915 var15
= ((short int(*)(val
* self
, val
* p0
))(var_r
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_r
, var_other
); /* == on <var_r:nullable MGroup(MGroup)>*/
924 if (unlikely(!var12
)) {
925 PRINT_ERROR("Runtime error: %s", "Assert failed");
926 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 224);
930 nitc__loader___ModelBuilder___scan_group(self
, var_r
); /* Direct call loader#ModelBuilder#scan_group on <self:ModelBuilder>*/
933 var17
= nitc__loader___MGroup___mmodules_by_name(var_r
, var_name
);
937 var18
= core___core__Collection___not_empty(var_res
);
941 var19
= core___core__SequenceRead___Collection__first(var_res
);
950 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
951 var22
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
952 if (unlikely(var22
== NULL
)) {
953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
954 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
961 var_lookpaths
= var20
;
962 if (var_mgroup
== NULL
) {
963 var23
= 0; /* is null */
965 var23
= 1; /* arg is null and recv is not */
968 { /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
969 var_other
= ((val
*)NULL
);
971 var26
= ((short int(*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mgroup
, var_other
); /* == on <var_mgroup:nullable MGroup(MGroup)>*/
982 { /* Inline mpackage#MGroup#mpackage (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
983 var30
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:nullable MGroup(MGroup)> */
984 if (unlikely(var30
== NULL
)) {
985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
986 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
994 { /* Inline mpackage#MPackage#root (var28) on <var28:MPackage> */
995 var33
= var28
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
; /* _root on <var28:MPackage> */
1000 if (var31
== NULL
) {
1001 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1002 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 236);
1005 { /* Inline mpackage#MGroup#filepath (var31) on <var31:nullable MGroup> */
1006 if (unlikely(var31
== NULL
)) {
1007 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1008 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 93);
1011 var36
= var31
->attrs
[COLOR_nitc__mpackage__MGroup___filepath
].val
; /* _filepath on <var31:nullable MGroup> */
1013 RET_LABEL35
:(void)0;
1016 var_dirname
= var34
;
1017 if (var_dirname
== NULL
) {
1018 var37
= 0; /* is null */
1020 var37
= 1; /* arg is null and recv is not */
1023 { /* Inline kernel#Object#!= (var_dirname,((val*)NULL)) on <var_dirname:nullable String> */
1024 var_other
= ((val
*)NULL
);
1026 var40
= ((short int(*)(val
* self
, val
* p0
))(var_dirname
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_dirname
, var_other
); /* == on <var_dirname:nullable String(String)>*/
1031 RET_LABEL39
:(void)0;
1036 if (likely(varonce
!=NULL
)) {
1040 var44
= core__flat___NativeString___to_s_full(var43
, 2l, 2l);
1045 var45
= core__file___String___join_path(var_dirname
, var42
);
1048 var46
= core__file___String___simplify_path(var45
);
1050 var_dirname
= var46
;
1052 var48
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_lookpaths
, var_dirname
);
1058 var50
= core__file___String___file_exists(var_dirname
);
1066 var51
= core__array___Collection___to_a(var_lookpaths
);
1068 var_lookpaths
= var51
;
1070 core___core__Array___core__abstract_collection__SimpleCollection__add(var_lookpaths
, var_dirname
); /* Direct call array#Array#add on <var_lookpaths:Array[String]>*/
1078 var_loc
= ((val
*)NULL
);
1079 if (var_anode
== NULL
) {
1080 var52
= 0; /* is null */
1082 var52
= 1; /* arg is null and recv is not */
1085 { /* Inline kernel#Object#!= (var_anode,((val*)NULL)) on <var_anode:nullable ANode> */
1086 var_other
= ((val
*)NULL
);
1088 var55
= ((short int(*)(val
* self
, val
* p0
))(var_anode
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anode
, var_other
); /* == on <var_anode:nullable ANode(ANode)>*/
1093 RET_LABEL54
:(void)0;
1099 var57
= ((val
*(*)(val
* self
))(var_anode
->class->vft
[COLOR_nitc__parser_nodes__ANode__hot_location
]))(var_anode
); /* hot_location on <var_anode:nullable ANode(ANode)>*/
1105 var58
= nitc__loader___ModelBuilder___search_module_in_paths(self
, var_loc
, var_name
, var_lookpaths
);
1107 var_candidate
= var58
;
1108 if (var_candidate
== NULL
) {
1109 var59
= 1; /* is null */
1111 var59
= 0; /* arg is null but recv is not */
1114 { /* Inline kernel#Object#== (var_candidate,((val*)NULL)) on <var_candidate:nullable MModule> */
1115 var_other62
= ((val
*)NULL
);
1117 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other62) on <var_candidate:nullable MModule(MModule)> */
1118 var65
= var_candidate
== var_other62
;
1121 RET_LABEL64
:(void)0;
1126 RET_LABEL61
:(void)0;
1131 if (var_mgroup
== NULL
) {
1132 var66
= 0; /* is null */
1134 var66
= 1; /* arg is null and recv is not */
1137 { /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
1138 var_other
= ((val
*)NULL
);
1140 var69
= ((short int(*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mgroup
, var_other
); /* == on <var_mgroup:nullable MGroup(MGroup)>*/
1145 RET_LABEL68
:(void)0;
1150 if (unlikely(varonce71
==NULL
)) {
1151 var72
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
1152 if (likely(varonce73
!=NULL
)) {
1155 var75
= "Error: cannot find module `";
1156 var76
= core__flat___NativeString___to_s_full(var75
, 27l, 27l);
1160 ((struct instance_core__NativeArray
*)var72
)->values
[0]=var74
;
1161 if (likely(varonce77
!=NULL
)) {
1165 var80
= core__flat___NativeString___to_s_full(var79
, 8l, 8l);
1169 ((struct instance_core__NativeArray
*)var72
)->values
[2]=var78
;
1170 if (likely(varonce81
!=NULL
)) {
1173 var83
= "`. Tried: ";
1174 var84
= core__flat___NativeString___to_s_full(var83
, 10l, 10l);
1178 ((struct instance_core__NativeArray
*)var72
)->values
[4]=var82
;
1179 if (likely(varonce85
!=NULL
)) {
1183 var88
= core__flat___NativeString___to_s_full(var87
, 1l, 1l);
1187 ((struct instance_core__NativeArray
*)var72
)->values
[6]=var86
;
1192 ((struct instance_core__NativeArray
*)var72
)->values
[1]=var_name
;
1194 { /* Inline mpackage#MGroup#name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
1195 var91
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
1196 if (unlikely(var91
== NULL
)) {
1197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1198 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 65);
1202 RET_LABEL90
:(void)0;
1205 ((struct instance_core__NativeArray
*)var72
)->values
[3]=var89
;
1206 if (likely(varonce92
!=NULL
)) {
1210 var95
= core__flat___NativeString___to_s_full(var94
, 2l, 2l);
1215 var96
= core__abstract_text___Collection___join(var_lookpaths
, var93
);
1217 ((struct instance_core__NativeArray
*)var72
)->values
[5]=var96
;
1219 var97
= ((val
*(*)(val
* self
))(var72
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var72
); /* native_to_s on <var72:NativeArray[String]>*/
1223 nitc___nitc__ModelBuilder___error(self
, var_anode
, var97
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1226 if (unlikely(varonce98
==NULL
)) {
1227 var99
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
1228 if (likely(varonce100
!=NULL
)) {
1229 var101
= varonce100
;
1231 var102
= "Error: cannot find module `";
1232 var103
= core__flat___NativeString___to_s_full(var102
, 27l, 27l);
1234 varonce100
= var101
;
1236 ((struct instance_core__NativeArray
*)var99
)->values
[0]=var101
;
1237 if (likely(varonce104
!=NULL
)) {
1238 var105
= varonce104
;
1240 var106
= "`. Tried: ";
1241 var107
= core__flat___NativeString___to_s_full(var106
, 10l, 10l);
1243 varonce104
= var105
;
1245 ((struct instance_core__NativeArray
*)var99
)->values
[2]=var105
;
1246 if (likely(varonce108
!=NULL
)) {
1247 var109
= varonce108
;
1250 var111
= core__flat___NativeString___to_s_full(var110
, 1l, 1l);
1252 varonce108
= var109
;
1254 ((struct instance_core__NativeArray
*)var99
)->values
[4]=var109
;
1259 ((struct instance_core__NativeArray
*)var99
)->values
[1]=var_name
;
1260 if (likely(varonce112
!=NULL
)) {
1261 var113
= varonce112
;
1264 var115
= core__flat___NativeString___to_s_full(var114
, 2l, 2l);
1266 varonce112
= var113
;
1269 var116
= core__abstract_text___Collection___join(var_lookpaths
, var113
);
1271 ((struct instance_core__NativeArray
*)var99
)->values
[3]=var116
;
1273 var117
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
1277 nitc___nitc__ModelBuilder___error(self
, var_anode
, var117
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
1284 var
= var_candidate
;
1289 /* method loader#ModelBuilder#get_mmodule_by_name for (self: ModelBuilder, nullable ANode, nullable MGroup, String): nullable MModule */
1290 val
* nitc__loader___ModelBuilder___get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1291 val
* var
/* : nullable MModule */;
1292 val
* var_anode
/* var anode: nullable ANode */;
1293 val
* var_mgroup
/* var mgroup: nullable MGroup */;
1294 val
* var_name
/* var name: String */;
1295 val
* var1
/* : nullable MModule */;
1296 val
* var_mmodule
/* var mmodule: nullable MModule */;
1297 short int var2
/* : Bool */;
1298 short int var3
/* : Bool */;
1299 val
* var_other
/* var other: nullable Object */;
1300 short int var5
/* : Bool */;
1301 short int var7
/* : Bool */;
1302 val
* var8
/* : nullable AModule */;
1303 val
* var_ast
/* var ast: nullable AModule */;
1304 short int var9
/* : Bool */;
1305 short int var10
/* : Bool */;
1306 short int var12
/* : Bool */;
1307 short int var14
/* : Bool */;
1312 var1
= nitc__loader___ModelBuilder___search_mmodule_by_name(self
, var_anode
, var_mgroup
, var_name
);
1315 if (var_mmodule
== NULL
) {
1316 var2
= 1; /* is null */
1318 var2
= 0; /* arg is null but recv is not */
1321 { /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
1322 var_other
= ((val
*)NULL
);
1324 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
1325 var7
= var_mmodule
== var_other
;
1343 var8
= nitc__loader___MModule___load(var_mmodule
, self
);
1346 if (var_ast
== NULL
) {
1347 var9
= 1; /* is null */
1349 var9
= 0; /* arg is null but recv is not */
1352 { /* Inline kernel#Object#== (var_ast,((val*)NULL)) on <var_ast:nullable AModule> */
1353 var_other
= ((val
*)NULL
);
1355 { /* Inline kernel#Object#is_same_instance (var_ast,var_other) on <var_ast:nullable AModule(AModule)> */
1356 var14
= var_ast
== var_other
;
1359 RET_LABEL13
:(void)0;
1364 RET_LABEL11
:(void)0;
1378 /* method loader#ModelBuilder#search_module_in_paths for (self: ModelBuilder, nullable Location, String, Collection[String]): nullable MModule */
1379 val
* nitc__loader___ModelBuilder___search_module_in_paths(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1380 val
* var
/* : nullable MModule */;
1381 val
* var_location
/* var location: nullable Location */;
1382 val
* var_name
/* var name: String */;
1383 val
* var_lookpaths
/* var lookpaths: Collection[String] */;
1384 val
* var1
/* : ArraySet[MModule] */;
1385 val
* var_res
/* var res: ArraySet[MModule] */;
1386 val
* var_
/* var : Collection[String] */;
1387 val
* var2
/* : Iterator[nullable Object] */;
1388 val
* var_3
/* var : Iterator[String] */;
1389 short int var4
/* : Bool */;
1390 val
* var5
/* : nullable Object */;
1391 val
* var_dirname
/* var dirname: String */;
1392 val
* var6
/* : NativeArray[String] */;
1393 static val
* varonce
;
1394 static val
* varonce7
;
1395 val
* var8
/* : String */;
1396 char* var9
/* : NativeString */;
1397 val
* var10
/* : String */;
1398 val
* var11
/* : String */;
1399 val
* var12
/* : String */;
1400 val
* var13
/* : String */;
1401 val
* var14
/* : nullable MModule */;
1402 val
* var_mp
/* var mp: nullable MModule */;
1403 short int var15
/* : Bool */;
1404 short int var16
/* : Bool */;
1405 val
* var_other
/* var other: nullable Object */;
1406 short int var18
/* : Bool */;
1407 short int var19
/* : Bool */;
1408 val
* var20
/* : String */;
1409 val
* var21
/* : String */;
1410 val
* var22
/* : nullable MGroup */;
1411 val
* var_g
/* var g: nullable MGroup */;
1412 short int var23
/* : Bool */;
1413 short int var24
/* : Bool */;
1414 short int var26
/* : Bool */;
1415 short int var27
/* : Bool */;
1416 val
* var28
/* : Array[MModule] */;
1417 short int var29
/* : Bool */;
1418 long var30
/* : Int */;
1419 short int var31
/* : Bool */;
1420 short int var33
/* : Bool */;
1423 const char* var_class_name
;
1424 short int var34
/* : Bool */;
1425 val
* var35
/* : ToolContext */;
1426 val
* var37
/* : ToolContext */;
1427 val
* var39
/* : NativeArray[String] */;
1428 static val
* varonce38
;
1429 static val
* varonce40
;
1430 val
* var41
/* : String */;
1431 char* var42
/* : NativeString */;
1432 val
* var43
/* : String */;
1433 static val
* varonce44
;
1434 val
* var45
/* : String */;
1435 char* var46
/* : NativeString */;
1436 val
* var47
/* : String */;
1437 static val
* varonce48
;
1438 val
* var49
/* : String */;
1439 char* var50
/* : NativeString */;
1440 val
* var51
/* : String */;
1441 val
* var52
/* : Array[String] */;
1442 val
* var_53
/* var : Array[String] */;
1443 val
* var_54
/* var : ArraySet[MModule] */;
1444 val
* var55
/* : Iterator[nullable Object] */;
1445 val
* var_56
/* var : Iterator[MModule] */;
1446 short int var57
/* : Bool */;
1447 val
* var59
/* : nullable Object */;
1448 val
* var_x
/* var x: MModule */;
1449 val
* var60
/* : String */;
1450 val
* var61
/* : nullable String */;
1451 val
* var63
/* : nullable String */;
1452 val
* var64
/* : String */;
1453 static val
* varonce65
;
1454 val
* var66
/* : String */;
1455 char* var67
/* : NativeString */;
1456 val
* var68
/* : String */;
1457 val
* var69
/* : String */;
1458 val
* var70
/* : String */;
1459 val
* var71
/* : Message */;
1460 val
* var72
/* : nullable Object */;
1464 var1
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MModule
);
1466 core___core__ArraySet___core__kernel__Object__init(var1
); /* Direct call array#ArraySet#init on <var1:ArraySet[MModule]>*/
1469 var_
= var_lookpaths
;
1471 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[String]>*/
1476 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_3
); /* is_ok on <var_3:Iterator[String]>*/
1483 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_3
); /* item on <var_3:Iterator[String]>*/
1486 if (unlikely(varonce
==NULL
)) {
1487 var6
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1488 if (likely(varonce7
!=NULL
)) {
1492 var10
= core__flat___NativeString___to_s_full(var9
, 4l, 4l);
1496 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var8
;
1501 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var_name
;
1503 var11
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
1507 var12
= core__file___String____47d(var_dirname
, var11
);
1510 var13
= core__file___String___simplify_path(var12
);
1513 var14
= nitc__loader___ModelBuilder___identify_module(self
, var13
);
1516 if (var_mp
== NULL
) {
1517 var15
= 0; /* is null */
1519 var15
= 1; /* arg is null and recv is not */
1522 { /* Inline kernel#Object#!= (var_mp,((val*)NULL)) on <var_mp:nullable MModule> */
1523 var_other
= ((val
*)NULL
);
1525 var18
= ((short int(*)(val
* self
, val
* p0
))(var_mp
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mp
, var_other
); /* == on <var_mp:nullable MModule(MModule)>*/
1530 RET_LABEL17
:(void)0;
1536 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_res
, var_mp
); /* Direct call array#ArraySet#add on <var_res:ArraySet[MModule]>*/
1541 var20
= core__file___String____47d(var_dirname
, var_name
);
1544 var21
= core__file___String___simplify_path(var20
);
1547 var22
= nitc__loader___ModelBuilder___identify_group(self
, var21
);
1550 if (var_g
== NULL
) {
1551 var23
= 0; /* is null */
1553 var23
= 1; /* arg is null and recv is not */
1556 { /* Inline kernel#Object#!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
1557 var_other
= ((val
*)NULL
);
1559 var26
= ((short int(*)(val
* self
, val
* p0
))(var_g
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_g
, var_other
); /* == on <var_g:nullable MGroup(MGroup)>*/
1564 RET_LABEL25
:(void)0;
1570 nitc__loader___ModelBuilder___scan_group(self
, var_g
); /* Direct call loader#ModelBuilder#scan_group on <self:ModelBuilder>*/
1573 var28
= nitc__loader___MGroup___mmodules_by_name(var_g
, var_name
);
1576 core___core__SimpleCollection___add_all(var_res
, var28
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_res:ArraySet[MModule]>*/
1581 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_3
); /* next on <var_3:Iterator[String]>*/
1584 BREAK_label
: (void)0;
1586 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_3
); /* finish on <var_3:Iterator[String]>*/
1589 var29
= core___core__ArraySet___core__abstract_collection__Collection__is_empty(var_res
);
1597 var30
= core___core__ArraySet___core__abstract_collection__Collection__length(var_res
);
1600 { /* Inline kernel#Int#> (var30,1l) on <var30:Int> */
1601 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1602 /* <1l:Int> isa OTHER */
1603 var33
= 1; /* easy <1l:Int> isa OTHER*/
1604 if (unlikely(!var33
)) {
1605 var_class_name
= type_core__Int
.name
;
1606 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1607 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
1613 RET_LABEL32
:(void)0;
1618 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1619 var37
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1620 if (unlikely(var37
== NULL
)) {
1621 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1622 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1626 RET_LABEL36
:(void)0;
1629 if (unlikely(varonce38
==NULL
)) {
1630 var39
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
1631 if (likely(varonce40
!=NULL
)) {
1634 var42
= "Error: conflicting module files for `";
1635 var43
= core__flat___NativeString___to_s_full(var42
, 37l, 37l);
1639 ((struct instance_core__NativeArray
*)var39
)->values
[0]=var41
;
1640 if (likely(varonce44
!=NULL
)) {
1644 var47
= core__flat___NativeString___to_s_full(var46
, 4l, 4l);
1648 ((struct instance_core__NativeArray
*)var39
)->values
[2]=var45
;
1649 if (likely(varonce48
!=NULL
)) {
1653 var51
= core__flat___NativeString___to_s_full(var50
, 1l, 1l);
1657 ((struct instance_core__NativeArray
*)var39
)->values
[4]=var49
;
1662 ((struct instance_core__NativeArray
*)var39
)->values
[1]=var_name
;
1663 var52
= NEW_core__Array(&type_core__Array__core__String
);
1665 core___core__Array___with_capacity(var52
, 1l); /* Direct call array#Array#with_capacity on <var52:Array[String]>*/
1670 var55
= core___core__ArraySet___core__abstract_collection__Collection__iterator(var_54
);
1675 var57
= ((short int(*)(val
* self
))((((long)var_56
&3)?class_info
[((long)var_56
&3)]:var_56
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_56
); /* is_ok on <var_56:Iterator[MModule]>*/
1682 var59
= ((val
*(*)(val
* self
))((((long)var_56
&3)?class_info
[((long)var_56
&3)]:var_56
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_56
); /* item on <var_56:Iterator[MModule]>*/
1686 { /* Inline mmodule#MModule#filepath (var_x) on <var_x:MModule> */
1687 var63
= var_x
->attrs
[COLOR_nitc__mmodule__MModule___filepath
].val
; /* _filepath on <var_x:MModule> */
1689 RET_LABEL62
:(void)0;
1696 var64
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_x
);
1701 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_53
, var60
); /* Direct call array#AbstractArray#push on <var_53:Array[String]>*/
1704 ((void(*)(val
* self
))((((long)var_56
&3)?class_info
[((long)var_56
&3)]:var_56
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_56
); /* next on <var_56:Iterator[MModule]>*/
1707 BREAK_label58
: (void)0;
1709 ((void(*)(val
* self
))((((long)var_56
&3)?class_info
[((long)var_56
&3)]:var_56
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_56
); /* finish on <var_56:Iterator[MModule]>*/
1711 if (likely(varonce65
!=NULL
)) {
1715 var68
= core__flat___NativeString___to_s_full(var67
, 4l, 4l);
1720 var69
= core__abstract_text___Collection___join(var_53
, var66
);
1722 ((struct instance_core__NativeArray
*)var39
)->values
[3]=var69
;
1724 var70
= ((val
*(*)(val
* self
))(var39
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var39
); /* native_to_s on <var39:NativeArray[String]>*/
1728 var71
= nitc___nitc__ToolContext___error(var35
, var_location
, var70
);
1733 var72
= core___core__ArraySet___core__abstract_collection__Collection__first(var_res
);
1740 /* method loader#ModelBuilder#search_group_in_paths for (self: ModelBuilder, String, Collection[String]): ArraySet[MGroup] */
1741 val
* nitc__loader___ModelBuilder___search_group_in_paths(val
* self
, val
* p0
, val
* p1
) {
1742 val
* var
/* : ArraySet[MGroup] */;
1743 val
* var_name
/* var name: String */;
1744 val
* var_lookpaths
/* var lookpaths: Collection[String] */;
1745 val
* var1
/* : ArraySet[MGroup] */;
1746 val
* var_res
/* var res: ArraySet[MGroup] */;
1747 val
* var_
/* var : Collection[String] */;
1748 val
* var2
/* : Iterator[nullable Object] */;
1749 val
* var_3
/* var : Iterator[String] */;
1750 short int var4
/* : Bool */;
1751 val
* var5
/* : nullable Object */;
1752 val
* var_dirname
/* var dirname: String */;
1753 val
* var6
/* : String */;
1754 val
* var7
/* : nullable MGroup */;
1755 val
* var_mg
/* var mg: nullable MGroup */;
1756 short int var8
/* : Bool */;
1757 short int var9
/* : Bool */;
1758 val
* var_other
/* var other: nullable Object */;
1759 short int var11
/* : Bool */;
1760 short int var12
/* : Bool */;
1763 var1
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MGroup
);
1765 core___core__ArraySet___core__kernel__Object__init(var1
); /* Direct call array#ArraySet#init on <var1:ArraySet[MGroup]>*/
1768 var_
= var_lookpaths
;
1770 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[String]>*/
1775 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_3
); /* is_ok on <var_3:Iterator[String]>*/
1782 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_3
); /* item on <var_3:Iterator[String]>*/
1786 var6
= core__file___String____47d(var_dirname
, var_name
);
1789 var7
= nitc__loader___ModelBuilder___identify_group(self
, var6
);
1792 if (var_mg
== NULL
) {
1793 var8
= 0; /* is null */
1795 var8
= 1; /* arg is null and recv is not */
1798 { /* Inline kernel#Object#!= (var_mg,((val*)NULL)) on <var_mg:nullable MGroup> */
1799 var_other
= ((val
*)NULL
);
1801 var11
= ((short int(*)(val
* self
, val
* p0
))(var_mg
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mg
, var_other
); /* == on <var_mg:nullable MGroup(MGroup)>*/
1806 RET_LABEL10
:(void)0;
1812 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_res
, var_mg
); /* Direct call array#ArraySet#add on <var_res:ArraySet[MGroup]>*/
1817 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_3
); /* next on <var_3:Iterator[String]>*/
1820 BREAK_label
: (void)0;
1822 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_3
); /* finish on <var_3:Iterator[String]>*/
1829 /* method loader#ModelBuilder#identified_modules_by_path for (self: ModelBuilder): HashMap[String, nullable MModule] */
1830 val
* nitc__loader___ModelBuilder___identified_modules_by_path(val
* self
) {
1831 val
* var
/* : HashMap[String, nullable MModule] */;
1832 val
* var1
/* : HashMap[String, nullable MModule] */;
1833 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
1834 if (unlikely(var1
== NULL
)) {
1835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
1836 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 311);
1843 /* method loader#ModelBuilder#identified_modules for (self: ModelBuilder): Array[MModule] */
1844 val
* nitc__loader___ModelBuilder___identified_modules(val
* self
) {
1845 val
* var
/* : Array[MModule] */;
1846 val
* var1
/* : Array[MModule] */;
1847 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules
].val
; /* _identified_modules on <self:ModelBuilder> */
1848 if (unlikely(var1
== NULL
)) {
1849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules");
1850 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 314);
1857 /* method loader#ModelBuilder#parsed_modules for (self: ModelBuilder): Array[MModule] */
1858 val
* nitc__loader___ModelBuilder___parsed_modules(val
* self
) {
1859 val
* var
/* : Array[MModule] */;
1860 val
* var1
/* : Array[MModule] */;
1861 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___parsed_modules
].val
; /* _parsed_modules on <self:ModelBuilder> */
1862 if (unlikely(var1
== NULL
)) {
1863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parsed_modules");
1864 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 320);
1871 /* method loader#ModelBuilder#identify_module for (self: ModelBuilder, String): nullable MModule */
1872 val
* nitc__loader___ModelBuilder___identify_module(val
* self
, val
* p0
) {
1873 val
* var
/* : nullable MModule */;
1874 val
* var_path
/* var path: String */;
1875 static val
* varonce
;
1876 val
* var1
/* : String */;
1877 char* var2
/* : NativeString */;
1878 val
* var3
/* : String */;
1879 short int var4
/* : Bool */;
1880 short int var5
/* : Bool */;
1881 val
* var6
/* : SequenceRead[Char] */;
1882 val
* var7
/* : nullable Object */;
1883 short int var8
/* : Bool */;
1884 short int var9
/* : Bool */;
1885 val
* var10
/* : Array[String] */;
1886 val
* var12
/* : Array[String] */;
1887 val
* var13
/* : nullable MModule */;
1888 val
* var_res
/* var res: nullable MModule */;
1889 short int var14
/* : Bool */;
1890 short int var15
/* : Bool */;
1891 val
* var_other
/* var other: nullable Object */;
1892 short int var17
/* : Bool */;
1893 short int var18
/* : Bool */;
1894 val
* var_candidate
/* var candidate: nullable Object */;
1895 short int var19
/* : Bool */;
1896 val
* var20
/* : nullable MGroup */;
1897 val
* var_mgroup
/* var mgroup: nullable MGroup */;
1898 short int var21
/* : Bool */;
1899 short int var22
/* : Bool */;
1900 short int var24
/* : Bool */;
1901 short int var25
/* : Bool */;
1902 val
* var26
/* : nullable String */;
1903 val
* var28
/* : nullable String */;
1904 val
* var29
/* : String */;
1905 val
* var31
/* : String */;
1906 static val
* varonce32
;
1907 val
* var33
/* : String */;
1908 char* var34
/* : NativeString */;
1909 val
* var35
/* : String */;
1910 val
* var36
/* : String */;
1911 val
* var37
/* : String */;
1912 val
* var_owner_path
/* var owner_path: String */;
1913 short int var38
/* : Bool */;
1914 short int var39
/* : Bool */;
1915 short int var40
/* : Bool */;
1916 short int var41
/* : Bool */;
1917 short int var42
/* : Bool */;
1918 val
* var43
/* : HashMap[String, nullable MModule] */;
1919 val
* var45
/* : HashMap[String, nullable MModule] */;
1920 short int var46
/* : Bool */;
1921 val
* var47
/* : HashMap[String, nullable MModule] */;
1922 val
* var49
/* : HashMap[String, nullable MModule] */;
1923 val
* var50
/* : nullable Object */;
1924 val
* var51
/* : String */;
1925 val
* var_rp
/* var rp: String */;
1926 val
* var52
/* : HashMap[String, nullable MModule] */;
1927 val
* var54
/* : HashMap[String, nullable MModule] */;
1928 short int var55
/* : Bool */;
1929 val
* var56
/* : HashMap[String, nullable MModule] */;
1930 val
* var58
/* : HashMap[String, nullable MModule] */;
1931 val
* var59
/* : nullable Object */;
1932 static val
* varonce60
;
1933 val
* var61
/* : String */;
1934 char* var62
/* : NativeString */;
1935 val
* var63
/* : String */;
1936 val
* var64
/* : String */;
1937 val
* var_pn
/* var pn: String */;
1938 static val
* varonce65
;
1939 val
* var66
/* : String */;
1940 char* var67
/* : NativeString */;
1941 val
* var68
/* : String */;
1942 val
* var69
/* : String */;
1943 val
* var70
/* : String */;
1944 val
* var_mgrouppath
/* var mgrouppath: String */;
1945 val
* var71
/* : nullable MGroup */;
1946 val
* var_mgroup72
/* var mgroup: nullable MGroup */;
1947 short int var73
/* : Bool */;
1948 short int var74
/* : Bool */;
1949 val
* var_other76
/* var other: nullable Object */;
1950 short int var77
/* : Bool */;
1951 short int var79
/* : Bool */;
1952 val
* var80
/* : MPackage */;
1953 val
* var81
/* : Model */;
1954 val
* var83
/* : Model */;
1955 val
* var_mpackage
/* var mpackage: MPackage */;
1956 val
* var84
/* : MGroup */;
1957 val
* var87
/* : ToolContext */;
1958 val
* var89
/* : ToolContext */;
1959 val
* var91
/* : NativeArray[String] */;
1960 static val
* varonce90
;
1961 static val
* varonce92
;
1962 val
* var93
/* : String */;
1963 char* var94
/* : NativeString */;
1964 val
* var95
/* : String */;
1965 static val
* varonce96
;
1966 val
* var97
/* : String */;
1967 char* var98
/* : NativeString */;
1968 val
* var99
/* : String */;
1969 val
* var100
/* : String */;
1970 val
* var101
/* : String */;
1971 val
* var103
/* : NativeArray[String] */;
1972 static val
* varonce102
;
1973 static val
* varonce104
;
1974 val
* var105
/* : String */;
1975 char* var106
/* : NativeString */;
1976 val
* var107
/* : String */;
1977 val
* var108
/* : String */;
1978 val
* var109
/* : String */;
1979 val
* var_inipath
/* var inipath: String */;
1980 short int var110
/* : Bool */;
1981 val
* var111
/* : ConfigTree */;
1982 val
* var_ini
/* var ini: ConfigTree */;
1983 val
* var113
/* : SourceFile */;
1984 static val
* varonce114
;
1985 val
* var115
/* : String */;
1986 char* var116
/* : NativeString */;
1987 val
* var117
/* : String */;
1988 val
* var_src
/* var src: SourceFile */;
1989 val
* var118
/* : Location */;
1990 val
* var_loc
/* var loc: Location */;
1991 val
* var119
/* : MModule */;
1992 val
* var120
/* : Model */;
1993 val
* var122
/* : Model */;
1994 val
* var_res123
/* var res: MModule */;
1995 val
* var125
/* : HashMap[String, nullable MModule] */;
1996 val
* var127
/* : HashMap[String, nullable MModule] */;
1997 val
* var128
/* : HashMap[String, nullable MModule] */;
1998 val
* var130
/* : HashMap[String, nullable MModule] */;
1999 val
* var131
/* : Array[MModule] */;
2000 val
* var133
/* : Array[MModule] */;
2002 if (likely(varonce
!=NULL
)) {
2006 var3
= core__flat___NativeString___to_s_full(var2
, 4l, 4l);
2011 var4
= core___core__Text___has_suffix(var_path
, var1
);
2016 var6
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_path
); /* chars on <var_path:String>*/
2019 var7
= (val
*)((long)('/')<<2|2);
2020 var8
= ((short int(*)(val
* self
, val
* p0
))((((long)var6
&3)?class_info
[((long)var6
&3)]:var6
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var6
, var7
); /* has on <var6:SequenceRead[Char]>*/
2025 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
2026 var12
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
2027 if (unlikely(var12
== NULL
)) {
2028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
2029 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
2033 RET_LABEL11
:(void)0;
2037 var13
= nitc__loader___ModelBuilder___search_module_in_paths(self
, ((val
*)NULL
), var_path
, var10
);
2040 if (var_res
== NULL
) {
2041 var14
= 0; /* is null */
2043 var14
= 1; /* arg is null and recv is not */
2046 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable MModule> */
2047 var_other
= ((val
*)NULL
);
2049 var17
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable MModule(MModule)>*/
2054 RET_LABEL16
:(void)0;
2065 var_candidate
= ((val
*)NULL
);
2067 var19
= core__file___String___file_exists(var_path
);
2071 var20
= nitc__loader___ModelBuilder___identify_group(self
, var_path
);
2074 if (var_mgroup
== NULL
) {
2075 var21
= 0; /* is null */
2077 var21
= 1; /* arg is null and recv is not */
2080 { /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
2081 var_other
= ((val
*)NULL
);
2083 var24
= ((short int(*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mgroup
, var_other
); /* == on <var_mgroup:nullable MGroup(MGroup)>*/
2088 RET_LABEL23
:(void)0;
2094 { /* Inline mpackage#MGroup#filepath (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
2095 var28
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___filepath
].val
; /* _filepath on <var_mgroup:nullable MGroup(MGroup)> */
2097 RET_LABEL27
:(void)0;
2101 { /* Inline mpackage#MGroup#name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
2102 var31
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
2103 if (unlikely(var31
== NULL
)) {
2104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2105 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 65);
2109 RET_LABEL30
:(void)0;
2112 if (likely(varonce32
!=NULL
)) {
2116 var35
= core__flat___NativeString___to_s_full(var34
, 4l, 4l);
2121 var36
= ((val
*(*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var29
, var33
); /* + on <var29:String>*/
2123 if (var26
== NULL
) {
2124 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2125 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 355);
2128 var37
= core__file___String___join_path(var26
, var36
);
2130 var_owner_path
= var37
;
2132 var38
= core__file___String___file_exists(var_owner_path
);
2135 var_candidate
= var_owner_path
;
2142 if (var_candidate
== NULL
) {
2143 var39
= 1; /* is null */
2145 var39
= 0; /* arg is null but recv is not */
2148 var40
= ((short int(*)(val
* self
, val
* p0
))(var_candidate
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_candidate
, ((val
*)NULL
)); /* == on <var_candidate:nullable Object(nullable String)>*/
2156 var_path
= var_candidate
;
2160 var41
= core__file___String___file_exists(var_path
);
2169 { /* Inline loader#ModelBuilder#identified_modules_by_path (self) on <self:ModelBuilder> */
2170 var45
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
2171 if (unlikely(var45
== NULL
)) {
2172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
2173 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 311);
2177 RET_LABEL44
:(void)0;
2181 var46
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var43
, var_path
);
2185 { /* Inline loader#ModelBuilder#identified_modules_by_path (self) on <self:ModelBuilder> */
2186 var49
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
2187 if (unlikely(var49
== NULL
)) {
2188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
2189 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 311);
2193 RET_LABEL48
:(void)0;
2197 var50
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var47
, var_path
);
2204 var51
= nitc__loader___ModelBuilder___module_absolute_path(self
, var_path
);
2208 { /* Inline loader#ModelBuilder#identified_modules_by_path (self) on <self:ModelBuilder> */
2209 var54
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
2210 if (unlikely(var54
== NULL
)) {
2211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
2212 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 311);
2216 RET_LABEL53
:(void)0;
2220 var55
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var52
, var_rp
);
2224 { /* Inline loader#ModelBuilder#identified_modules_by_path (self) on <self:ModelBuilder> */
2225 var58
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
2226 if (unlikely(var58
== NULL
)) {
2227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
2228 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 311);
2232 RET_LABEL57
:(void)0;
2236 var59
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var56
, var_rp
);
2242 if (likely(varonce60
!=NULL
)) {
2246 var63
= core__flat___NativeString___to_s_full(var62
, 4l, 4l);
2251 var64
= ((val
*(*)(val
* self
, val
* p0
))(var_path
->class->vft
[COLOR_core__file__String__basename
]))(var_path
, var61
); /* basename on <var_path:String>*/
2254 if (likely(varonce65
!=NULL
)) {
2258 var68
= core__flat___NativeString___to_s_full(var67
, 2l, 2l);
2263 var69
= core__file___String___join_path(var_path
, var66
);
2266 var70
= core__file___String___simplify_path(var69
);
2268 var_mgrouppath
= var70
;
2270 var71
= nitc__loader___ModelBuilder___identify_group(self
, var_mgrouppath
);
2272 var_mgroup72
= var71
;
2273 if (var_mgroup72
== NULL
) {
2274 var73
= 1; /* is null */
2276 var73
= 0; /* arg is null but recv is not */
2279 { /* Inline kernel#Object#== (var_mgroup72,((val*)NULL)) on <var_mgroup72:nullable MGroup> */
2280 var_other76
= ((val
*)NULL
);
2282 { /* Inline kernel#Object#is_same_instance (var_mgroup72,var_other76) on <var_mgroup72:nullable MGroup(MGroup)> */
2283 var79
= var_mgroup72
== var_other76
;
2286 RET_LABEL78
:(void)0;
2291 RET_LABEL75
:(void)0;
2296 var80
= NEW_nitc__MPackage(&type_nitc__MPackage
);
2298 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
2299 var83
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
2300 if (unlikely(var83
== NULL
)) {
2301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2302 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
2306 RET_LABEL82
:(void)0;
2310 ((void(*)(val
* self
, val
* p0
))(var80
->class->vft
[COLOR_nitc__mpackage__MPackage__name_61d
]))(var80
, var_pn
); /* name= on <var80:MPackage>*/
2313 ((void(*)(val
* self
, val
* p0
))(var80
->class->vft
[COLOR_nitc__mpackage__MPackage__model_61d
]))(var80
, var81
); /* model= on <var80:MPackage>*/
2316 ((void(*)(val
* self
))(var80
->class->vft
[COLOR_core__kernel__Object__init
]))(var80
); /* init on <var80:MPackage>*/
2318 var_mpackage
= var80
;
2319 var84
= NEW_nitc__MGroup(&type_nitc__MGroup
);
2321 ((void(*)(val
* self
, val
* p0
))(var84
->class->vft
[COLOR_nitc__mpackage__MGroup__name_61d
]))(var84
, var_pn
); /* name= on <var84:MGroup>*/
2324 ((void(*)(val
* self
, val
* p0
))(var84
->class->vft
[COLOR_nitc__mpackage__MGroup__mpackage_61d
]))(var84
, var_mpackage
); /* mpackage= on <var84:MGroup>*/
2327 ((void(*)(val
* self
, val
* p0
))(var84
->class->vft
[COLOR_nitc__mpackage__MGroup__parent_61d
]))(var84
, ((val
*)NULL
)); /* parent= on <var84:MGroup>*/
2330 ((void(*)(val
* self
))(var84
->class->vft
[COLOR_core__kernel__Object__init
]))(var84
); /* init on <var84:MGroup>*/
2332 var_mgroup72
= var84
;
2334 { /* Inline mpackage#MGroup#filepath= (var_mgroup72,var_path) on <var_mgroup72:nullable MGroup(MGroup)> */
2335 var_mgroup72
->attrs
[COLOR_nitc__mpackage__MGroup___filepath
].val
= var_path
; /* _filepath on <var_mgroup72:nullable MGroup(MGroup)> */
2336 RET_LABEL85
:(void)0;
2340 { /* Inline mpackage#MPackage#root= (var_mpackage,var_mgroup72) on <var_mpackage:MPackage> */
2341 var_mpackage
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
= var_mgroup72
; /* _root on <var_mpackage:MPackage> */
2342 RET_LABEL86
:(void)0;
2346 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
2347 var89
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
2348 if (unlikely(var89
== NULL
)) {
2349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2350 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
2354 RET_LABEL88
:(void)0;
2357 if (unlikely(varonce90
==NULL
)) {
2358 var91
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
2359 if (likely(varonce92
!=NULL
)) {
2362 var94
= "found singleton package `";
2363 var95
= core__flat___NativeString___to_s_full(var94
, 25l, 25l);
2367 ((struct instance_core__NativeArray
*)var91
)->values
[0]=var93
;
2368 if (likely(varonce96
!=NULL
)) {
2372 var99
= core__flat___NativeString___to_s_full(var98
, 5l, 5l);
2376 ((struct instance_core__NativeArray
*)var91
)->values
[2]=var97
;
2381 ((struct instance_core__NativeArray
*)var91
)->values
[1]=var_pn
;
2382 ((struct instance_core__NativeArray
*)var91
)->values
[3]=var_path
;
2384 var100
= ((val
*(*)(val
* self
))(var91
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var91
); /* native_to_s on <var91:NativeArray[String]>*/
2388 nitc___nitc__ToolContext___info(var87
, var100
, 2l); /* Direct call toolcontext#ToolContext#info on <var87:ToolContext>*/
2391 var101
= core__file___String___dirname(var_path
);
2393 if (unlikely(varonce102
==NULL
)) {
2394 var103
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2395 if (likely(varonce104
!=NULL
)) {
2396 var105
= varonce104
;
2399 var107
= core__flat___NativeString___to_s_full(var106
, 4l, 4l);
2401 varonce104
= var105
;
2403 ((struct instance_core__NativeArray
*)var103
)->values
[1]=var105
;
2405 var103
= varonce102
;
2408 ((struct instance_core__NativeArray
*)var103
)->values
[0]=var_pn
;
2410 var108
= ((val
*(*)(val
* self
))(var103
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var103
); /* native_to_s on <var103:NativeArray[String]>*/
2412 varonce102
= var103
;
2414 var109
= core__file___String____47d(var101
, var108
);
2416 var_inipath
= var109
;
2418 var110
= core__file___String___file_exists(var_inipath
);
2421 var111
= NEW_ini__ConfigTree(&type_ini__ConfigTree
);
2423 ((void(*)(val
* self
, val
* p0
))(var111
->class->vft
[COLOR_ini__ConfigTree__ini_file_61d
]))(var111
, var_inipath
); /* ini_file= on <var111:ConfigTree>*/
2426 ((void(*)(val
* self
))(var111
->class->vft
[COLOR_core__kernel__Object__init
]))(var111
); /* init on <var111:ConfigTree>*/
2430 { /* Inline loader#MPackage#ini= (var_mpackage,var_ini) on <var_mpackage:MPackage> */
2431 var_mpackage
->attrs
[COLOR_nitc__loader__MPackage___ini
].val
= var_ini
; /* _ini on <var_mpackage:MPackage> */
2432 RET_LABEL112
:(void)0;
2439 var113
= NEW_nitc__SourceFile(&type_nitc__SourceFile
);
2440 if (likely(varonce114
!=NULL
)) {
2441 var115
= varonce114
;
2444 var117
= core__flat___NativeString___to_s_full(var116
, 0l, 0l);
2446 varonce114
= var115
;
2449 nitc___nitc__SourceFile___from_string(var113
, var_path
, var115
); /* Direct call location#SourceFile#from_string on <var113:SourceFile>*/
2452 var118
= NEW_nitc__Location(&type_nitc__Location
);
2454 ((void(*)(val
* self
, val
* p0
))(var118
->class->vft
[COLOR_nitc__location__Location__file_61d
]))(var118
, var_src
); /* file= on <var118:Location>*/
2457 ((void(*)(val
* self
, long p0
))(var118
->class->vft
[COLOR_nitc__location__Location__line_start_61d
]))(var118
, 0l); /* line_start= on <var118:Location>*/
2460 ((void(*)(val
* self
, long p0
))(var118
->class->vft
[COLOR_nitc__location__Location__line_end_61d
]))(var118
, 0l); /* line_end= on <var118:Location>*/
2463 ((void(*)(val
* self
, long p0
))(var118
->class->vft
[COLOR_nitc__location__Location__column_start_61d
]))(var118
, 0l); /* column_start= on <var118:Location>*/
2466 ((void(*)(val
* self
, long p0
))(var118
->class->vft
[COLOR_nitc__location__Location__column_end_61d
]))(var118
, 0l); /* column_end= on <var118:Location>*/
2469 ((void(*)(val
* self
))(var118
->class->vft
[COLOR_core__kernel__Object__init
]))(var118
); /* init on <var118:Location>*/
2472 var119
= NEW_nitc__MModule(&type_nitc__MModule
);
2474 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
2475 var122
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
2476 if (unlikely(var122
== NULL
)) {
2477 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
2478 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
2482 RET_LABEL121
:(void)0;
2486 ((void(*)(val
* self
, val
* p0
))(var119
->class->vft
[COLOR_nitc__mmodule__MModule__model_61d
]))(var119
, var120
); /* model= on <var119:MModule>*/
2489 ((void(*)(val
* self
, val
* p0
))(var119
->class->vft
[COLOR_nitc__mmodule__MModule__mgroup_61d
]))(var119
, var_mgroup72
); /* mgroup= on <var119:MModule>*/
2492 ((void(*)(val
* self
, val
* p0
))(var119
->class->vft
[COLOR_nitc__mmodule__MModule__name_61d
]))(var119
, var_pn
); /* name= on <var119:MModule>*/
2495 ((void(*)(val
* self
, val
* p0
))(var119
->class->vft
[COLOR_nitc__mmodule__MModule__location_61d
]))(var119
, var_loc
); /* location= on <var119:MModule>*/
2498 ((void(*)(val
* self
))(var119
->class->vft
[COLOR_core__kernel__Object__init
]))(var119
); /* init on <var119:MModule>*/
2500 var_res123
= var119
;
2502 { /* Inline mmodule#MModule#filepath= (var_res123,var_path) on <var_res123:MModule> */
2503 var_res123
->attrs
[COLOR_nitc__mmodule__MModule___filepath
].val
= var_path
; /* _filepath on <var_res123:MModule> */
2504 RET_LABEL124
:(void)0;
2508 { /* Inline loader#ModelBuilder#identified_modules_by_path (self) on <self:ModelBuilder> */
2509 var127
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
2510 if (unlikely(var127
== NULL
)) {
2511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
2512 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 311);
2516 RET_LABEL126
:(void)0;
2520 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var125
, var_rp
, var_res123
); /* Direct call hash_collection#HashMap#[]= on <var125:HashMap[String, nullable MModule]>*/
2523 { /* Inline loader#ModelBuilder#identified_modules_by_path (self) on <self:ModelBuilder> */
2524 var130
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
2525 if (unlikely(var130
== NULL
)) {
2526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
2527 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 311);
2531 RET_LABEL129
:(void)0;
2535 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var128
, var_path
, var_res123
); /* Direct call hash_collection#HashMap#[]= on <var128:HashMap[String, nullable MModule]>*/
2538 { /* Inline loader#ModelBuilder#identified_modules (self) on <self:ModelBuilder> */
2539 var133
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules
].val
; /* _identified_modules on <self:ModelBuilder> */
2540 if (unlikely(var133
== NULL
)) {
2541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules");
2542 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 314);
2546 RET_LABEL132
:(void)0;
2550 core___core__Array___core__abstract_collection__SimpleCollection__add(var131
, var_res123
); /* Direct call array#Array#add on <var131:Array[MModule]>*/
2557 /* method loader#ModelBuilder#mgroups for (self: ModelBuilder): HashMap[String, nullable MGroup] */
2558 val
* nitc__loader___ModelBuilder___mgroups(val
* self
) {
2559 val
* var
/* : HashMap[String, nullable MGroup] */;
2560 val
* var1
/* : HashMap[String, nullable MGroup] */;
2561 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2562 if (unlikely(var1
== NULL
)) {
2563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
2564 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 409);
2571 /* method loader#ModelBuilder#identify_group for (self: ModelBuilder, String): nullable MGroup */
2572 val
* nitc__loader___ModelBuilder___identify_group(val
* self
, val
* p0
) {
2573 val
* var
/* : nullable MGroup */;
2574 val
* var_dirpath
/* var dirpath: String */;
2575 val
* var1
/* : nullable FileStat */;
2576 val
* var_stat
/* var stat: nullable FileStat */;
2577 short int var2
/* : Bool */;
2578 short int var3
/* : Bool */;
2579 val
* var_other
/* var other: nullable Object */;
2580 short int var5
/* : Bool */;
2581 short int var7
/* : Bool */;
2582 val
* var8
/* : SequenceRead[Char] */;
2583 val
* var9
/* : nullable Object */;
2584 short int var10
/* : Bool */;
2585 val
* var11
/* : Array[String] */;
2586 val
* var13
/* : Array[String] */;
2587 val
* var_
/* var : Array[String] */;
2588 val
* var14
/* : IndexedIterator[nullable Object] */;
2589 val
* var_15
/* var : IndexedIterator[String] */;
2590 short int var16
/* : Bool */;
2591 val
* var17
/* : nullable Object */;
2592 val
* var_p
/* var p: String */;
2593 val
* var18
/* : String */;
2594 val
* var_try
/* var try: String */;
2595 val
* var19
/* : nullable FileStat */;
2596 short int var20
/* : Bool */;
2597 short int var21
/* : Bool */;
2598 val
* var_other23
/* var other: nullable Object */;
2599 short int var24
/* : Bool */;
2600 short int var25
/* : Bool */;
2601 short int var26
/* : Bool */;
2602 short int var27
/* : Bool */;
2603 val
* var28
/* : String */;
2604 val
* var_rdp
/* var rdp: String */;
2605 val
* var29
/* : HashMap[String, nullable MGroup] */;
2606 val
* var31
/* : HashMap[String, nullable MGroup] */;
2607 short int var32
/* : Bool */;
2608 val
* var33
/* : HashMap[String, nullable MGroup] */;
2609 val
* var35
/* : HashMap[String, nullable MGroup] */;
2610 val
* var36
/* : nullable Object */;
2611 val
* var37
/* : String */;
2612 val
* var_pn
/* var pn: String */;
2613 val
* var_ini
/* var ini: nullable Object */;
2614 val
* var_parent
/* var parent: nullable Object */;
2615 static val
* varonce
;
2616 val
* var38
/* : String */;
2617 char* var39
/* : NativeString */;
2618 val
* var40
/* : String */;
2619 val
* var41
/* : String */;
2620 val
* var_inipath
/* var inipath: String */;
2621 short int var42
/* : Bool */;
2622 val
* var43
/* : ConfigTree */;
2623 short int var44
/* : Bool */;
2624 short int var45
/* : Bool */;
2625 short int var47
/* : Bool */;
2626 short int var49
/* : Bool */;
2627 static val
* varonce50
;
2628 val
* var51
/* : String */;
2629 char* var52
/* : NativeString */;
2630 val
* var53
/* : String */;
2631 short int var54
/* : Bool */;
2632 val
* var55
/* : HashMap[String, nullable MGroup] */;
2633 val
* var57
/* : HashMap[String, nullable MGroup] */;
2634 static val
* varonce58
;
2635 val
* var59
/* : String */;
2636 char* var60
/* : NativeString */;
2637 val
* var61
/* : String */;
2638 val
* var62
/* : String */;
2639 short int var63
/* : Bool */;
2640 val
* var64
/* : HashMap[String, nullable MGroup] */;
2641 val
* var66
/* : HashMap[String, nullable MGroup] */;
2642 static val
* varonce67
;
2643 val
* var68
/* : String */;
2644 char* var69
/* : NativeString */;
2645 val
* var70
/* : String */;
2646 val
* var71
/* : String */;
2647 val
* var72
/* : String */;
2648 val
* var_parentpath
/* var parentpath: String */;
2649 static val
* varonce73
;
2650 val
* var74
/* : String */;
2651 char* var75
/* : NativeString */;
2652 val
* var76
/* : String */;
2653 val
* var77
/* : String */;
2654 val
* var_stopper
/* var stopper: String */;
2655 short int var78
/* : Bool */;
2656 short int var79
/* : Bool */;
2657 val
* var80
/* : nullable MGroup */;
2658 short int var81
/* : Bool */;
2659 short int var82
/* : Bool */;
2660 short int var84
/* : Bool */;
2661 short int var86
/* : Bool */;
2662 val
* var87
/* : HashMap[String, nullable MGroup] */;
2663 val
* var89
/* : HashMap[String, nullable MGroup] */;
2664 short int var90
/* : Bool */;
2665 short int var91
/* : Bool */;
2666 short int var93
/* : Bool */;
2667 short int var95
/* : Bool */;
2668 short int var96
/* : Bool */;
2669 short int var97
/* : Bool */;
2670 short int var99
/* : Bool */;
2671 short int var100
/* : Bool */;
2672 val
* var101
/* : String */;
2673 static val
* varonce102
;
2674 val
* var103
/* : String */;
2675 char* var104
/* : NativeString */;
2676 val
* var105
/* : String */;
2677 val
* var106
/* : nullable String */;
2678 val
* var107
/* : MPackage */;
2679 val
* var108
/* : Model */;
2680 val
* var110
/* : Model */;
2681 val
* var_mpackage
/* var mpackage: MPackage */;
2682 val
* var111
/* : MGroup */;
2683 val
* var_mgroup
/* var mgroup: nullable Object */;
2684 val
* var113
/* : ToolContext */;
2685 val
* var115
/* : ToolContext */;
2686 val
* var117
/* : NativeArray[String] */;
2687 static val
* varonce116
;
2688 static val
* varonce118
;
2689 val
* var119
/* : String */;
2690 char* var120
/* : NativeString */;
2691 val
* var121
/* : String */;
2692 static val
* varonce122
;
2693 val
* var123
/* : String */;
2694 char* var124
/* : NativeString */;
2695 val
* var125
/* : String */;
2696 val
* var126
/* : String */;
2697 val
* var127
/* : String */;
2698 val
* var129
/* : MGroup */;
2699 val
* var130
/* : MPackage */;
2700 val
* var132
/* : MPackage */;
2701 val
* var133
/* : ToolContext */;
2702 val
* var135
/* : ToolContext */;
2703 val
* var137
/* : NativeArray[String] */;
2704 static val
* varonce136
;
2705 static val
* varonce138
;
2706 val
* var139
/* : String */;
2707 char* var140
/* : NativeString */;
2708 val
* var141
/* : String */;
2709 static val
* varonce142
;
2710 val
* var143
/* : String */;
2711 char* var144
/* : NativeString */;
2712 val
* var145
/* : String */;
2713 val
* var146
/* : String */;
2714 val
* var147
/* : String */;
2715 static val
* varonce148
;
2716 val
* var149
/* : String */;
2717 char* var150
/* : NativeString */;
2718 val
* var151
/* : String */;
2719 val
* var152
/* : String */;
2720 val
* var_readme
/* var readme: String */;
2721 short int var153
/* : Bool */;
2722 short int var154
/* : Bool */;
2723 static val
* varonce155
;
2724 val
* var156
/* : String */;
2725 char* var157
/* : NativeString */;
2726 val
* var158
/* : String */;
2727 val
* var159
/* : String */;
2728 short int var160
/* : Bool */;
2729 val
* var161
/* : MDoc */;
2730 val
* var_mdoc
/* var mdoc: MDoc */;
2731 val
* var165
/* : HashMap[String, nullable MGroup] */;
2732 val
* var167
/* : HashMap[String, nullable MGroup] */;
2735 var1
= core__file___String___file_stat(var_dirpath
);
2738 if (var_stat
== NULL
) {
2739 var2
= 1; /* is null */
2741 var2
= 0; /* arg is null but recv is not */
2744 { /* Inline kernel#Object#== (var_stat,((val*)NULL)) on <var_stat:nullable FileStat> */
2745 var_other
= ((val
*)NULL
);
2747 { /* Inline kernel#Object#is_same_instance (var_stat,var_other) on <var_stat:nullable FileStat(FileStat)> */
2748 var7
= var_stat
== var_other
;
2762 var8
= ((val
*(*)(val
* self
))(var_dirpath
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_dirpath
); /* chars on <var_dirpath:String>*/
2765 var9
= (val
*)((long)('/')<<2|2);
2766 var10
= ((short int(*)(val
* self
, val
* p0
))((((long)var8
&3)?class_info
[((long)var8
&3)]:var8
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var8
, var9
); /* has on <var8:SequenceRead[Char]>*/
2774 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
2775 var13
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
2776 if (unlikely(var13
== NULL
)) {
2777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
2778 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
2782 RET_LABEL12
:(void)0;
2787 var14
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
2792 var16
= ((short int(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_15
); /* is_ok on <var_15:IndexedIterator[String]>*/
2799 var17
= ((val
*(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_15
); /* item on <var_15:IndexedIterator[String]>*/
2803 var18
= core__file___String____47d(var_p
, var_dirpath
);
2807 var19
= core__file___String___file_stat(var_try
);
2810 if (var_stat
== NULL
) {
2811 var20
= 0; /* is null */
2813 var20
= 1; /* arg is null and recv is not */
2816 { /* Inline kernel#Object#!= (var_stat,((val*)NULL)) on <var_stat:nullable FileStat> */
2817 var_other23
= ((val
*)NULL
);
2819 var24
= ((short int(*)(val
* self
, val
* p0
))(var_stat
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_stat
, var_other23
); /* == on <var_stat:nullable FileStat(FileStat)>*/
2824 RET_LABEL22
:(void)0;
2829 var_dirpath
= var_try
;
2834 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_15
); /* next on <var_15:IndexedIterator[String]>*/
2837 BREAK_label
: (void)0;
2839 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_15
); /* finish on <var_15:IndexedIterator[String]>*/
2847 var26
= core___core__FileStat___is_dir(var_stat
);
2856 var28
= nitc__loader___ModelBuilder___module_absolute_path(self
, var_dirpath
);
2860 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
2861 var31
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2862 if (unlikely(var31
== NULL
)) {
2863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
2864 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 409);
2868 RET_LABEL30
:(void)0;
2872 var32
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var29
, var_rdp
);
2876 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
2877 var35
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2878 if (unlikely(var35
== NULL
)) {
2879 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
2880 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 409);
2884 RET_LABEL34
:(void)0;
2888 var36
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var33
, var_rdp
);
2895 var37
= ((val
*(*)(val
* self
, val
* p0
))(var_rdp
->class->vft
[COLOR_core__file__String__basename
]))(var_rdp
, ((val
*)NULL
)); /* basename on <var_rdp:String>*/
2898 var_ini
= ((val
*)NULL
);
2899 var_parent
= ((val
*)NULL
);
2900 if (likely(varonce
!=NULL
)) {
2903 var39
= "package.ini";
2904 var40
= core__flat___NativeString___to_s_full(var39
, 11l, 11l);
2909 var41
= core__file___String____47d(var_dirpath
, var38
);
2911 var_inipath
= var41
;
2913 var42
= core__file___String___file_exists(var_inipath
);
2916 var43
= NEW_ini__ConfigTree(&type_ini__ConfigTree
);
2918 ((void(*)(val
* self
, val
* p0
))(var43
->class->vft
[COLOR_ini__ConfigTree__ini_file_61d
]))(var43
, var_inipath
); /* ini_file= on <var43:ConfigTree>*/
2921 ((void(*)(val
* self
))(var43
->class->vft
[COLOR_core__kernel__Object__init
]))(var43
); /* init on <var43:ConfigTree>*/
2926 if (var_ini
== NULL
) {
2927 var44
= 1; /* is null */
2929 var44
= 0; /* arg is null but recv is not */
2932 { /* Inline kernel#Object#== (var_ini,((val*)NULL)) on <var_ini:nullable Object(nullable ConfigTree)> */
2933 var_other
= ((val
*)NULL
);
2935 { /* Inline kernel#Object#is_same_instance (var_ini,var_other) on <var_ini:nullable ConfigTree(ConfigTree)> */
2936 var49
= var_ini
== var_other
;
2939 RET_LABEL48
:(void)0;
2944 RET_LABEL46
:(void)0;
2949 if (likely(varonce50
!=NULL
)) {
2953 var53
= core__flat___NativeString___to_s_full(var52
, 1l, 1l);
2958 var54
= ((short int(*)(val
* self
, val
* p0
))(var_rdp
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rdp
, var51
); /* == on <var_rdp:String>*/
2962 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
2963 var57
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2964 if (unlikely(var57
== NULL
)) {
2965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
2966 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 409);
2970 RET_LABEL56
:(void)0;
2974 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var55
, var_rdp
, ((val
*)NULL
)); /* Direct call hash_collection#HashMap#[]= on <var55:HashMap[String, nullable MGroup]>*/
2980 if (likely(varonce58
!=NULL
)) {
2983 var60
= "packages.ini";
2984 var61
= core__flat___NativeString___to_s_full(var60
, 12l, 12l);
2989 var62
= core__file___String____47d(var_dirpath
, var59
);
2992 var63
= core__file___String___file_exists(var62
);
2996 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
2997 var66
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
2998 if (unlikely(var66
== NULL
)) {
2999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
3000 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 409);
3004 RET_LABEL65
:(void)0;
3008 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var64
, var_rdp
, ((val
*)NULL
)); /* Direct call hash_collection#HashMap#[]= on <var64:HashMap[String, nullable MGroup]>*/
3014 if (likely(varonce67
!=NULL
)) {
3018 var70
= core__flat___NativeString___to_s_full(var69
, 2l, 2l);
3023 var71
= core__file___String___join_path(var_dirpath
, var68
);
3026 var72
= core__file___String___simplify_path(var71
);
3028 var_parentpath
= var72
;
3029 if (likely(varonce73
!=NULL
)) {
3032 var75
= "packages.ini";
3033 var76
= core__flat___NativeString___to_s_full(var75
, 12l, 12l);
3038 var77
= core__file___String____47d(var_parentpath
, var74
);
3040 var_stopper
= var77
;
3042 var78
= core__file___String___file_exists(var_stopper
);
3047 var80
= nitc__loader___ModelBuilder___identify_group(self
, var_parentpath
);
3050 if (var_parent
== NULL
) {
3051 var81
= 1; /* is null */
3053 var81
= 0; /* arg is null but recv is not */
3056 { /* Inline kernel#Object#== (var_parent,((val*)NULL)) on <var_parent:nullable Object(nullable MGroup)> */
3057 var_other
= ((val
*)NULL
);
3059 { /* Inline kernel#Object#is_same_instance (var_parent,var_other) on <var_parent:nullable MGroup(MGroup)> */
3060 var86
= var_parent
== var_other
;
3063 RET_LABEL85
:(void)0;
3068 RET_LABEL83
:(void)0;
3074 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
3075 var89
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
3076 if (unlikely(var89
== NULL
)) {
3077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
3078 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 409);
3082 RET_LABEL88
:(void)0;
3086 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var87
, var_rdp
, ((val
*)NULL
)); /* Direct call hash_collection#HashMap#[]= on <var87:HashMap[String, nullable MGroup]>*/
3096 if (var_parent
== NULL
) {
3097 var90
= 1; /* is null */
3099 var90
= 0; /* arg is null but recv is not */
3102 { /* Inline kernel#Object#== (var_parent,((val*)NULL)) on <var_parent:nullable Object(nullable MGroup)> */
3103 var_other
= ((val
*)NULL
);
3105 { /* Inline kernel#Object#is_same_instance (var_parent,var_other) on <var_parent:nullable MGroup(MGroup)> */
3106 var95
= var_parent
== var_other
;
3109 RET_LABEL94
:(void)0;
3114 RET_LABEL92
:(void)0;
3119 if (var_ini
== NULL
) {
3120 var96
= 0; /* is null */
3122 var96
= 1; /* arg is null and recv is not */
3125 { /* Inline kernel#Object#!= (var_ini,((val*)NULL)) on <var_ini:nullable Object(nullable ConfigTree)> */
3126 var_other23
= ((val
*)NULL
);
3128 var99
= ((short int(*)(val
* self
, val
* p0
))(var_ini
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ini
, var_other23
); /* == on <var_ini:nullable ConfigTree(ConfigTree)>*/
3133 RET_LABEL98
:(void)0;
3138 if (likely(varonce102
!=NULL
)) {
3139 var103
= varonce102
;
3141 var104
= "package.name";
3142 var105
= core__flat___NativeString___to_s_full(var104
, 12l, 12l);
3144 varonce102
= var103
;
3147 var106
= ini___ini__ConfigTree____91d_93d(var_ini
, var103
);
3157 var107
= NEW_nitc__MPackage(&type_nitc__MPackage
);
3159 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
3160 var110
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
3161 if (unlikely(var110
== NULL
)) {
3162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3163 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
3167 RET_LABEL109
:(void)0;
3171 ((void(*)(val
* self
, val
* p0
))(var107
->class->vft
[COLOR_nitc__mpackage__MPackage__name_61d
]))(var107
, var_pn
); /* name= on <var107:MPackage>*/
3174 ((void(*)(val
* self
, val
* p0
))(var107
->class->vft
[COLOR_nitc__mpackage__MPackage__model_61d
]))(var107
, var108
); /* model= on <var107:MPackage>*/
3177 ((void(*)(val
* self
))(var107
->class->vft
[COLOR_core__kernel__Object__init
]))(var107
); /* init on <var107:MPackage>*/
3179 var_mpackage
= var107
;
3180 var111
= NEW_nitc__MGroup(&type_nitc__MGroup
);
3182 ((void(*)(val
* self
, val
* p0
))(var111
->class->vft
[COLOR_nitc__mpackage__MGroup__name_61d
]))(var111
, var_pn
); /* name= on <var111:MGroup>*/
3185 ((void(*)(val
* self
, val
* p0
))(var111
->class->vft
[COLOR_nitc__mpackage__MGroup__mpackage_61d
]))(var111
, var_mpackage
); /* mpackage= on <var111:MGroup>*/
3188 ((void(*)(val
* self
, val
* p0
))(var111
->class->vft
[COLOR_nitc__mpackage__MGroup__parent_61d
]))(var111
, ((val
*)NULL
)); /* parent= on <var111:MGroup>*/
3191 ((void(*)(val
* self
))(var111
->class->vft
[COLOR_core__kernel__Object__init
]))(var111
); /* init on <var111:MGroup>*/
3193 var_mgroup
= var111
;
3195 { /* Inline mpackage#MPackage#root= (var_mpackage,var_mgroup) on <var_mpackage:MPackage> */
3196 var_mpackage
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
= var_mgroup
; /* _root on <var_mpackage:MPackage> */
3197 RET_LABEL112
:(void)0;
3201 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3202 var115
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3203 if (unlikely(var115
== NULL
)) {
3204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3205 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
3209 RET_LABEL114
:(void)0;
3212 if (unlikely(varonce116
==NULL
)) {
3213 var117
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3214 if (likely(varonce118
!=NULL
)) {
3215 var119
= varonce118
;
3217 var120
= "found package `";
3218 var121
= core__flat___NativeString___to_s_full(var120
, 15l, 15l);
3220 varonce118
= var119
;
3222 ((struct instance_core__NativeArray
*)var117
)->values
[0]=var119
;
3223 if (likely(varonce122
!=NULL
)) {
3224 var123
= varonce122
;
3227 var125
= core__flat___NativeString___to_s_full(var124
, 5l, 5l);
3229 varonce122
= var123
;
3231 ((struct instance_core__NativeArray
*)var117
)->values
[2]=var123
;
3233 var117
= varonce116
;
3237 var126
= ((val
*(*)(val
* self
))(var_mpackage
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpackage
); /* to_s on <var_mpackage:MPackage>*/
3239 ((struct instance_core__NativeArray
*)var117
)->values
[1]=var126
;
3240 ((struct instance_core__NativeArray
*)var117
)->values
[3]=var_dirpath
;
3242 var127
= ((val
*(*)(val
* self
))(var117
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var117
); /* native_to_s on <var117:NativeArray[String]>*/
3244 varonce116
= var117
;
3246 nitc___nitc__ToolContext___info(var113
, var127
, 2l); /* Direct call toolcontext#ToolContext#info on <var113:ToolContext>*/
3249 { /* Inline loader#MPackage#ini= (var_mpackage,var_ini) on <var_mpackage:MPackage> */
3250 var_mpackage
->attrs
[COLOR_nitc__loader__MPackage___ini
].val
= var_ini
; /* _ini on <var_mpackage:MPackage> */
3251 RET_LABEL128
:(void)0;
3255 var129
= NEW_nitc__MGroup(&type_nitc__MGroup
);
3257 { /* Inline mpackage#MGroup#mpackage (var_parent) on <var_parent:nullable Object(MGroup)> */
3258 var132
= var_parent
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_parent:nullable Object(MGroup)> */
3259 if (unlikely(var132
== NULL
)) {
3260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
3261 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
3265 RET_LABEL131
:(void)0;
3269 ((void(*)(val
* self
, val
* p0
))(var129
->class->vft
[COLOR_nitc__mpackage__MGroup__name_61d
]))(var129
, var_pn
); /* name= on <var129:MGroup>*/
3272 ((void(*)(val
* self
, val
* p0
))(var129
->class->vft
[COLOR_nitc__mpackage__MGroup__mpackage_61d
]))(var129
, var130
); /* mpackage= on <var129:MGroup>*/
3275 ((void(*)(val
* self
, val
* p0
))(var129
->class->vft
[COLOR_nitc__mpackage__MGroup__parent_61d
]))(var129
, var_parent
); /* parent= on <var129:MGroup>*/
3278 ((void(*)(val
* self
))(var129
->class->vft
[COLOR_core__kernel__Object__init
]))(var129
); /* init on <var129:MGroup>*/
3280 var_mgroup
= var129
;
3282 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3283 var135
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3284 if (unlikely(var135
== NULL
)) {
3285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3286 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
3290 RET_LABEL134
:(void)0;
3293 if (unlikely(varonce136
==NULL
)) {
3294 var137
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3295 if (likely(varonce138
!=NULL
)) {
3296 var139
= varonce138
;
3298 var140
= "found sub group `";
3299 var141
= core__flat___NativeString___to_s_full(var140
, 17l, 17l);
3301 varonce138
= var139
;
3303 ((struct instance_core__NativeArray
*)var137
)->values
[0]=var139
;
3304 if (likely(varonce142
!=NULL
)) {
3305 var143
= varonce142
;
3308 var145
= core__flat___NativeString___to_s_full(var144
, 5l, 5l);
3310 varonce142
= var143
;
3312 ((struct instance_core__NativeArray
*)var137
)->values
[2]=var143
;
3314 var137
= varonce136
;
3318 var146
= nitc___nitc__MGroup___nitc__model_base__MEntity__full_name(var_mgroup
);
3320 ((struct instance_core__NativeArray
*)var137
)->values
[1]=var146
;
3321 ((struct instance_core__NativeArray
*)var137
)->values
[3]=var_dirpath
;
3323 var147
= ((val
*(*)(val
* self
))(var137
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var137
); /* native_to_s on <var137:NativeArray[String]>*/
3325 varonce136
= var137
;
3327 nitc___nitc__ToolContext___info(var133
, var147
, 2l); /* Direct call toolcontext#ToolContext#info on <var133:ToolContext>*/
3330 if (likely(varonce148
!=NULL
)) {
3331 var149
= varonce148
;
3333 var150
= "README.md";
3334 var151
= core__flat___NativeString___to_s_full(var150
, 9l, 9l);
3336 varonce148
= var149
;
3339 var152
= core__file___String___join_path(var_dirpath
, var149
);
3341 var_readme
= var152
;
3343 var153
= core__file___String___file_exists(var_readme
);
3347 if (likely(varonce155
!=NULL
)) {
3348 var156
= varonce155
;
3351 var158
= core__flat___NativeString___to_s_full(var157
, 6l, 6l);
3353 varonce155
= var156
;
3356 var159
= core__file___String___join_path(var_dirpath
, var156
);
3358 var_readme
= var159
;
3362 var160
= core__file___String___file_exists(var_readme
);
3366 var161
= nitc__loader___ModelBuilder___load_markdown(self
, var_readme
);
3370 { /* Inline mdoc#MEntity#mdoc= (var_mgroup,var_mdoc) on <var_mgroup:nullable Object(MGroup)> */
3371 var_mgroup
->attrs
[COLOR_nitc__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mgroup:nullable Object(MGroup)> */
3372 RET_LABEL162
:(void)0;
3376 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mgroup) on <var_mdoc:MDoc> */
3377 var_mdoc
->attrs
[COLOR_nitc__mdoc__MDoc___original_mentity
].val
= var_mgroup
; /* _original_mentity on <var_mdoc:MDoc> */
3378 RET_LABEL163
:(void)0;
3384 { /* Inline mpackage#MGroup#filepath= (var_mgroup,var_dirpath) on <var_mgroup:nullable Object(MGroup)> */
3385 var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___filepath
].val
= var_dirpath
; /* _filepath on <var_mgroup:nullable Object(MGroup)> */
3386 RET_LABEL164
:(void)0;
3390 { /* Inline loader#ModelBuilder#mgroups (self) on <self:ModelBuilder> */
3391 var167
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
3392 if (unlikely(var167
== NULL
)) {
3393 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
3394 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 409);
3398 RET_LABEL166
:(void)0;
3402 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var165
, var_rdp
, var_mgroup
); /* Direct call hash_collection#HashMap#[]= on <var165:HashMap[String, nullable MGroup]>*/
3409 /* method loader#ModelBuilder#load_markdown for (self: ModelBuilder, String): MDoc */
3410 val
* nitc__loader___ModelBuilder___load_markdown(val
* self
, val
* p0
) {
3411 val
* var
/* : MDoc */;
3412 val
* var_filepath
/* var filepath: String */;
3413 val
* var1
/* : FileReader */;
3414 val
* var_s
/* var s: FileReader */;
3415 val
* var2
/* : Array[String] */;
3416 val
* var_lines
/* var lines: Array[String] */;
3417 val
* var3
/* : Array[Int] */;
3418 val
* var_line_starts
/* var line_starts: Array[Int] */;
3419 long var_len
/* var len: Int */;
3420 short int var4
/* : Bool */;
3421 short int var5
/* : Bool */;
3422 val
* var6
/* : String */;
3423 val
* var_line
/* var line: String */;
3424 val
* var7
/* : nullable Object */;
3425 long var8
/* : Int */;
3426 long var9
/* : Int */;
3427 short int var11
/* : Bool */;
3430 const char* var_class_name
;
3431 long var12
/* : Int */;
3432 long var13
/* : Int */;
3433 short int var15
/* : Bool */;
3436 const char* var_class_name18
;
3437 long var19
/* : Int */;
3438 val
* var20
/* : SourceFile */;
3439 static val
* varonce
;
3440 val
* var21
/* : String */;
3441 char* var22
/* : NativeString */;
3442 val
* var23
/* : String */;
3443 val
* var24
/* : String */;
3444 val
* var_source
/* var source: SourceFile */;
3445 val
* var25
/* : Array[Int] */;
3446 val
* var27
/* : Array[Int] */;
3447 val
* var28
/* : MDoc */;
3448 val
* var29
/* : Location */;
3449 long var30
/* : Int */;
3450 long var32
/* : Int */;
3451 val
* var_mdoc
/* var mdoc: MDoc */;
3452 val
* var33
/* : Array[String] */;
3453 val
* var35
/* : Array[String] */;
3455 var1
= NEW_core__FileReader(&type_core__FileReader
);
3457 core___core__FileReader___open(var1
, var_filepath
); /* Direct call file#FileReader#open on <var1:FileReader>*/
3460 var2
= NEW_core__Array(&type_core__Array__core__String
);
3462 core___core__Array___core__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[String]>*/
3465 var3
= NEW_core__Array(&type_core__Array__core__Int
);
3467 core___core__Array___core__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Int]>*/
3469 var_line_starts
= var3
;
3473 var4
= core___core__BufferedReader___Reader__eof(var_s
);
3478 var6
= core___core__Reader___read_line(var_s
);
3482 core___core__Array___core__abstract_collection__SimpleCollection__add(var_lines
, var_line
); /* Direct call array#Array#add on <var_lines:Array[String]>*/
3485 var7
= (val
*)(var_len
<<2|1);
3486 core___core__Array___core__abstract_collection__SimpleCollection__add(var_line_starts
, var7
); /* Direct call array#Array#add on <var_line_starts:Array[Int]>*/
3489 var8
= ((long(*)(val
* self
))(var_line
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_line
); /* length on <var_line:String>*/
3492 { /* Inline kernel#Int#+ (var8,1l) on <var8:Int> */
3493 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3494 /* <1l:Int> isa OTHER */
3495 var11
= 1; /* easy <1l:Int> isa OTHER*/
3496 if (unlikely(!var11
)) {
3497 var_class_name
= type_core__Int
.name
;
3498 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3499 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3505 RET_LABEL10
:(void)0;
3509 { /* Inline kernel#Int#+ (var_len,var9) on <var_len:Int> */
3510 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
3511 /* <var9:Int> isa OTHER */
3512 var15
= 1; /* easy <var9:Int> isa OTHER*/
3513 if (unlikely(!var15
)) {
3514 var_class_name18
= type_core__Int
.name
;
3515 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
3516 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3519 var19
= var_len
+ var9
;
3522 RET_LABEL14
:(void)0;
3530 BREAK_label
: (void)0;
3532 core___core__FileReader___core__stream__Stream__close(var_s
); /* Direct call file#FileReader#close on <var_s:FileReader>*/
3534 var20
= NEW_nitc__SourceFile(&type_nitc__SourceFile
);
3535 if (likely(varonce
!=NULL
)) {
3539 var23
= core__flat___NativeString___to_s_full(var22
, 1l, 1l);
3544 var24
= core__abstract_text___Collection___join(var_lines
, var21
);
3547 nitc___nitc__SourceFile___from_string(var20
, var_filepath
, var24
); /* Direct call location#SourceFile#from_string on <var20:SourceFile>*/
3551 { /* Inline location#SourceFile#line_starts (var_source) on <var_source:SourceFile> */
3552 var27
= var_source
->attrs
[COLOR_nitc__location__SourceFile___line_starts
].val
; /* _line_starts on <var_source:SourceFile> */
3553 if (unlikely(var27
== NULL
)) {
3554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
3555 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__location
, 46);
3559 RET_LABEL26
:(void)0;
3563 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var25
, var_line_starts
); /* Direct call array#Array#add_all on <var25:Array[Int]>*/
3565 var28
= NEW_nitc__MDoc(&type_nitc__MDoc
);
3566 var29
= NEW_nitc__Location(&type_nitc__Location
);
3568 { /* Inline array#AbstractArrayRead#length (var_lines) on <var_lines:Array[String]> */
3569 var32
= var_lines
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_lines:Array[String]> */
3571 RET_LABEL31
:(void)0;
3575 ((void(*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_nitc__location__Location__file_61d
]))(var29
, var_source
); /* file= on <var29:Location>*/
3578 ((void(*)(val
* self
, long p0
))(var29
->class->vft
[COLOR_nitc__location__Location__line_start_61d
]))(var29
, 1l); /* line_start= on <var29:Location>*/
3581 ((void(*)(val
* self
, long p0
))(var29
->class->vft
[COLOR_nitc__location__Location__line_end_61d
]))(var29
, var30
); /* line_end= on <var29:Location>*/
3584 ((void(*)(val
* self
, long p0
))(var29
->class->vft
[COLOR_nitc__location__Location__column_start_61d
]))(var29
, 0l); /* column_start= on <var29:Location>*/
3587 ((void(*)(val
* self
, long p0
))(var29
->class->vft
[COLOR_nitc__location__Location__column_end_61d
]))(var29
, 0l); /* column_end= on <var29:Location>*/
3590 ((void(*)(val
* self
))(var29
->class->vft
[COLOR_core__kernel__Object__init
]))(var29
); /* init on <var29:Location>*/
3593 ((void(*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nitc__mdoc__MDoc__location_61d
]))(var28
, var29
); /* location= on <var28:MDoc>*/
3596 ((void(*)(val
* self
))(var28
->class->vft
[COLOR_core__kernel__Object__init
]))(var28
); /* init on <var28:MDoc>*/
3600 { /* Inline mdoc#MDoc#content (var_mdoc) on <var_mdoc:MDoc> */
3601 var35
= var_mdoc
->attrs
[COLOR_nitc__mdoc__MDoc___content
].val
; /* _content on <var_mdoc:MDoc> */
3602 if (unlikely(var35
== NULL
)) {
3603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
3604 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mdoc
, 23);
3608 RET_LABEL34
:(void)0;
3612 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var33
, var_lines
); /* Direct call array#Array#add_all on <var33:Array[String]>*/
3619 /* method loader#ModelBuilder#scan_group for (self: ModelBuilder, MGroup) */
3620 void nitc__loader___ModelBuilder___scan_group(val
* self
, val
* p0
) {
3621 val
* var_mgroup
/* var mgroup: MGroup */;
3622 short int var
/* : Bool */;
3623 short int var2
/* : Bool */;
3624 val
* var4
/* : nullable String */;
3625 val
* var6
/* : nullable String */;
3626 val
* var_p
/* var p: nullable String */;
3627 short int var7
/* : Bool */;
3628 short int var8
/* : Bool */;
3629 val
* var9
/* : Array[String] */;
3630 val
* var_files
/* var files: Array[String] */;
3631 val
* var10
/* : Sys */;
3632 val
* var11
/* : Comparator */;
3633 val
* var_
/* var : Array[String] */;
3634 val
* var12
/* : IndexedIterator[nullable Object] */;
3635 val
* var_13
/* var : IndexedIterator[String] */;
3636 short int var14
/* : Bool */;
3637 val
* var15
/* : nullable Object */;
3638 val
* var_f
/* var f: String */;
3639 val
* var16
/* : String */;
3640 val
* var_fp
/* var fp: String */;
3641 val
* var17
/* : nullable MGroup */;
3642 val
* var_g
/* var g: nullable MGroup */;
3643 short int var18
/* : Bool */;
3644 short int var19
/* : Bool */;
3645 val
* var_other
/* var other: nullable Object */;
3646 short int var21
/* : Bool */;
3647 short int var23
/* : Bool */;
3648 val
* var24
/* : nullable MModule */;
3649 val
* var25
/* : MPackage */;
3650 val
* var27
/* : MPackage */;
3651 val
* var28
/* : MPackage */;
3652 val
* var30
/* : MPackage */;
3653 short int var31
/* : Bool */;
3654 short int var33
/* : Bool */;
3655 short int var35
/* : Bool */;
3658 { /* Inline loader#MGroup#scanned (var_mgroup) on <var_mgroup:MGroup> */
3659 var2
= var_mgroup
->attrs
[COLOR_nitc__loader__MGroup___scanned
].s
; /* _scanned on <var_mgroup:MGroup> */
3669 { /* Inline loader#MGroup#scanned= (var_mgroup,1) on <var_mgroup:MGroup> */
3670 var_mgroup
->attrs
[COLOR_nitc__loader__MGroup___scanned
].s
= 1; /* _scanned on <var_mgroup:MGroup> */
3675 { /* Inline mpackage#MGroup#filepath (var_mgroup) on <var_mgroup:MGroup> */
3676 var6
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___filepath
].val
; /* _filepath on <var_mgroup:MGroup> */
3682 if (var_p
== NULL
) {
3683 var7
= 1; /* is null */
3685 var7
= 0; /* arg is null but recv is not */
3688 var8
= ((short int(*)(val
* self
, val
* p0
))(var_p
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_p
, ((val
*)NULL
)); /* == on <var_p:nullable String>*/
3696 var9
= core__file___String___files(var_p
);
3701 var11
= core__abstract_text___Sys___alpha_comparator(var10
);
3704 core___core__Comparator___sort(var11
, var_files
); /* Direct call sorter#Comparator#sort on <var11:Comparator>*/
3708 var12
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
3713 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:IndexedIterator[String]>*/
3720 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:IndexedIterator[String]>*/
3724 var16
= core__file___String____47d(var_p
, var_f
);
3728 var17
= nitc__loader___ModelBuilder___identify_group(self
, var_fp
);
3731 if (var_g
== NULL
) {
3732 var18
= 1; /* is null */
3734 var18
= 0; /* arg is null but recv is not */
3737 { /* Inline kernel#Object#== (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
3738 var_other
= ((val
*)NULL
);
3740 { /* Inline kernel#Object#is_same_instance (var_g,var_other) on <var_g:nullable MGroup(MGroup)> */
3741 var23
= var_g
== var_other
;
3744 RET_LABEL22
:(void)0;
3749 RET_LABEL20
:(void)0;
3755 var24
= nitc__loader___ModelBuilder___identify_module(self
, var_fp
);
3759 { /* Inline mpackage#MGroup#mpackage (var_g) on <var_g:nullable MGroup(MGroup)> */
3760 var27
= var_g
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_g:nullable MGroup(MGroup)> */
3761 if (unlikely(var27
== NULL
)) {
3762 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
3763 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
3767 RET_LABEL26
:(void)0;
3771 { /* Inline mpackage#MGroup#mpackage (var_mgroup) on <var_mgroup:MGroup> */
3772 var30
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:MGroup> */
3773 if (unlikely(var30
== NULL
)) {
3774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
3775 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
3779 RET_LABEL29
:(void)0;
3783 { /* Inline kernel#Object#== (var25,var28) on <var25:MPackage> */
3786 { /* Inline kernel#Object#is_same_instance (var25,var_other) on <var25:MPackage> */
3787 var35
= var25
== var_other
;
3790 RET_LABEL34
:(void)0;
3795 RET_LABEL32
:(void)0;
3800 nitc__loader___ModelBuilder___scan_group(self
, var_g
); /* Direct call loader#ModelBuilder#scan_group on <self:ModelBuilder>*/
3806 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:IndexedIterator[String]>*/
3809 BREAK_label
: (void)0;
3811 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:IndexedIterator[String]>*/
3815 /* method loader#ModelBuilder#module_absolute_path for (self: ModelBuilder, String): String */
3816 val
* nitc__loader___ModelBuilder___module_absolute_path(val
* self
, val
* p0
) {
3817 val
* var
/* : String */;
3818 val
* var_path
/* var path: String */;
3819 val
* var1
/* : String */;
3822 var1
= core__file___String___realpath(var_path
);
3829 /* method loader#ModelBuilder#load_module_ast for (self: ModelBuilder, String): nullable AModule */
3830 val
* nitc__loader___ModelBuilder___load_module_ast(val
* self
, val
* p0
) {
3831 val
* var
/* : nullable AModule */;
3832 val
* var_filename
/* var filename: String */;
3833 static val
* varonce
;
3834 val
* var1
/* : String */;
3835 char* var2
/* : NativeString */;
3836 val
* var3
/* : String */;
3837 short int var4
/* : Bool */;
3838 short int var5
/* : Bool */;
3839 val
* var6
/* : ToolContext */;
3840 val
* var8
/* : ToolContext */;
3841 val
* var10
/* : NativeArray[String] */;
3842 static val
* varonce9
;
3843 static val
* varonce11
;
3844 val
* var12
/* : String */;
3845 char* var13
/* : NativeString */;
3846 val
* var14
/* : String */;
3847 static val
* varonce15
;
3848 val
* var16
/* : String */;
3849 char* var17
/* : NativeString */;
3850 val
* var18
/* : String */;
3851 val
* var19
/* : String */;
3852 val
* var20
/* : Message */;
3853 short int var21
/* : Bool */;
3854 short int var22
/* : Bool */;
3855 val
* var23
/* : ToolContext */;
3856 val
* var25
/* : ToolContext */;
3857 val
* var27
/* : NativeArray[String] */;
3858 static val
* varonce26
;
3859 static val
* varonce28
;
3860 val
* var29
/* : String */;
3861 char* var30
/* : NativeString */;
3862 val
* var31
/* : String */;
3863 static val
* varonce32
;
3864 val
* var33
/* : String */;
3865 char* var34
/* : NativeString */;
3866 val
* var35
/* : String */;
3867 val
* var36
/* : String */;
3868 val
* var37
/* : Message */;
3869 val
* var38
/* : ToolContext */;
3870 val
* var40
/* : ToolContext */;
3871 val
* var42
/* : NativeArray[String] */;
3872 static val
* varonce41
;
3873 static val
* varonce43
;
3874 val
* var44
/* : String */;
3875 char* var45
/* : NativeString */;
3876 val
* var46
/* : String */;
3877 val
* var47
/* : String */;
3878 val
* var48
/* : FileReader */;
3879 val
* var_file
/* var file: FileReader */;
3880 val
* var49
/* : Lexer */;
3881 val
* var50
/* : SourceFile */;
3882 val
* var_lexer
/* var lexer: Lexer */;
3883 val
* var51
/* : Parser */;
3884 val
* var_parser
/* var parser: Parser */;
3885 val
* var52
/* : Start */;
3886 val
* var_tree
/* var tree: Start */;
3887 val
* var53
/* : nullable AModule */;
3888 val
* var55
/* : nullable AModule */;
3889 val
* var_nmodule
/* var nmodule: nullable AModule */;
3890 short int var56
/* : Bool */;
3891 short int var57
/* : Bool */;
3892 val
* var_other
/* var other: nullable Object */;
3893 short int var59
/* : Bool */;
3894 short int var61
/* : Bool */;
3895 val
* var62
/* : EOF */;
3896 val
* var64
/* : EOF */;
3897 val
* var_neof
/* var neof: EOF */;
3898 short int var65
/* : Bool */;
3901 val
* var66
/* : String */;
3902 val
* var68
/* : String */;
3904 if (likely(varonce
!=NULL
)) {
3908 var3
= core__flat___NativeString___to_s_full(var2
, 4l, 4l);
3913 var4
= core___core__Text___has_suffix(var_filename
, var1
);
3918 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3919 var8
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3920 if (unlikely(var8
== NULL
)) {
3921 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3922 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
3929 if (unlikely(varonce9
==NULL
)) {
3930 var10
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3931 if (likely(varonce11
!=NULL
)) {
3934 var13
= "Error: file `";
3935 var14
= core__flat___NativeString___to_s_full(var13
, 13l, 13l);
3939 ((struct instance_core__NativeArray
*)var10
)->values
[0]=var12
;
3940 if (likely(varonce15
!=NULL
)) {
3943 var17
= "` is not a valid nit module.";
3944 var18
= core__flat___NativeString___to_s_full(var17
, 28l, 28l);
3948 ((struct instance_core__NativeArray
*)var10
)->values
[2]=var16
;
3953 ((struct instance_core__NativeArray
*)var10
)->values
[1]=var_filename
;
3955 var19
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
3959 var20
= nitc___nitc__ToolContext___error(var6
, ((val
*)NULL
), var19
);
3966 var21
= core__file___String___file_exists(var_filename
);
3971 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
3972 var25
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3973 if (unlikely(var25
== NULL
)) {
3974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3975 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
3979 RET_LABEL24
:(void)0;
3982 if (unlikely(varonce26
==NULL
)) {
3983 var27
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3984 if (likely(varonce28
!=NULL
)) {
3987 var30
= "Error: file `";
3988 var31
= core__flat___NativeString___to_s_full(var30
, 13l, 13l);
3992 ((struct instance_core__NativeArray
*)var27
)->values
[0]=var29
;
3993 if (likely(varonce32
!=NULL
)) {
3996 var34
= "` not found.";
3997 var35
= core__flat___NativeString___to_s_full(var34
, 12l, 12l);
4001 ((struct instance_core__NativeArray
*)var27
)->values
[2]=var33
;
4006 ((struct instance_core__NativeArray
*)var27
)->values
[1]=var_filename
;
4008 var36
= ((val
*(*)(val
* self
))(var27
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var27
); /* native_to_s on <var27:NativeArray[String]>*/
4012 var37
= nitc___nitc__ToolContext___error(var23
, ((val
*)NULL
), var36
);
4019 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4020 var40
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4021 if (unlikely(var40
== NULL
)) {
4022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4023 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4027 RET_LABEL39
:(void)0;
4030 if (unlikely(varonce41
==NULL
)) {
4031 var42
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4032 if (likely(varonce43
!=NULL
)) {
4035 var45
= "load module ";
4036 var46
= core__flat___NativeString___to_s_full(var45
, 12l, 12l);
4040 ((struct instance_core__NativeArray
*)var42
)->values
[0]=var44
;
4045 ((struct instance_core__NativeArray
*)var42
)->values
[1]=var_filename
;
4047 var47
= ((val
*(*)(val
* self
))(var42
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var42
); /* native_to_s on <var42:NativeArray[String]>*/
4051 nitc___nitc__ToolContext___info(var38
, var47
, 2l); /* Direct call toolcontext#ToolContext#info on <var38:ToolContext>*/
4053 var48
= NEW_core__FileReader(&type_core__FileReader
);
4055 core___core__FileReader___open(var48
, var_filename
); /* Direct call file#FileReader#open on <var48:FileReader>*/
4058 var49
= NEW_nitc__Lexer(&type_nitc__Lexer
);
4059 var50
= NEW_nitc__SourceFile(&type_nitc__SourceFile
);
4061 ((void(*)(val
* self
, val
* p0
))(var50
->class->vft
[COLOR_nitc__location__SourceFile__filename_61d
]))(var50
, var_filename
); /* filename= on <var50:SourceFile>*/
4064 ((void(*)(val
* self
, val
* p0
))(var50
->class->vft
[COLOR_nitc__location__SourceFile__stream_61d
]))(var50
, var_file
); /* stream= on <var50:SourceFile>*/
4067 ((void(*)(val
* self
))(var50
->class->vft
[COLOR_core__kernel__Object__init
]))(var50
); /* init on <var50:SourceFile>*/
4070 ((void(*)(val
* self
, val
* p0
))(var49
->class->vft
[COLOR_nitc__lexer_work__Lexer__file_61d
]))(var49
, var50
); /* file= on <var49:Lexer>*/
4073 ((void(*)(val
* self
))(var49
->class->vft
[COLOR_core__kernel__Object__init
]))(var49
); /* init on <var49:Lexer>*/
4076 var51
= NEW_nitc__Parser(&type_nitc__Parser
);
4078 ((void(*)(val
* self
, val
* p0
))(var51
->class->vft
[COLOR_nitc__parser_work__Parser__lexer_61d
]))(var51
, var_lexer
); /* lexer= on <var51:Parser>*/
4081 ((void(*)(val
* self
))(var51
->class->vft
[COLOR_core__kernel__Object__init
]))(var51
); /* init on <var51:Parser>*/
4085 var52
= nitc___nitc__Parser___parse(var_parser
);
4089 core___core__FileReader___core__stream__Stream__close(var_file
); /* Direct call file#FileReader#close on <var_file:FileReader>*/
4092 { /* Inline parser_nodes#Start#n_base (var_tree) on <var_tree:Start> */
4093 var55
= var_tree
->attrs
[COLOR_nitc__parser_nodes__Start___n_base
].val
; /* _n_base on <var_tree:Start> */
4095 RET_LABEL54
:(void)0;
4098 var_nmodule
= var53
;
4099 if (var_nmodule
== NULL
) {
4100 var56
= 1; /* is null */
4102 var56
= 0; /* arg is null but recv is not */
4105 { /* Inline kernel#Object#== (var_nmodule,((val*)NULL)) on <var_nmodule:nullable AModule> */
4106 var_other
= ((val
*)NULL
);
4108 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
4109 var61
= var_nmodule
== var_other
;
4112 RET_LABEL60
:(void)0;
4117 RET_LABEL58
:(void)0;
4123 { /* Inline parser_nodes#Start#n_eof (var_tree) on <var_tree:Start> */
4124 var64
= var_tree
->attrs
[COLOR_nitc__parser_nodes__Start___n_eof
].val
; /* _n_eof on <var_tree:Start> */
4125 if (unlikely(var64
== NULL
)) {
4126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eof");
4127 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2975);
4131 RET_LABEL63
:(void)0;
4135 /* <var_neof:EOF> isa AError */
4136 cltype
= type_nitc__AError
.color
;
4137 idtype
= type_nitc__AError
.id
;
4138 if(cltype
>= var_neof
->type
->table_size
) {
4141 var65
= var_neof
->type
->type_table
[cltype
] == idtype
;
4143 if (unlikely(!var65
)) {
4144 PRINT_ERROR("Runtime error: %s", "Assert failed");
4145 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 599);
4149 { /* Inline lexer_work#AError#message (var_neof) on <var_neof:EOF(AError)> */
4150 var68
= var_neof
->attrs
[COLOR_nitc__lexer_work__AError___message
].val
; /* _message on <var_neof:EOF(AError)> */
4151 if (unlikely(var68
== NULL
)) {
4152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message");
4153 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__lexer_work
, 50);
4157 RET_LABEL67
:(void)0;
4161 nitc___nitc__ModelBuilder___error(self
, var_neof
, var66
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4172 /* method loader#ModelBuilder#load_module for (self: ModelBuilder, String): nullable AModule */
4173 val
* nitc__loader___ModelBuilder___load_module(val
* self
, val
* p0
) {
4174 val
* var
/* : nullable AModule */;
4175 val
* var_filename
/* var filename: String */;
4176 val
* var1
/* : nullable MModule */;
4177 val
* var_mmodule
/* var mmodule: nullable MModule */;
4178 short int var2
/* : Bool */;
4179 short int var3
/* : Bool */;
4180 val
* var_other
/* var other: nullable Object */;
4181 short int var5
/* : Bool */;
4182 short int var7
/* : Bool */;
4183 short int var8
/* : Bool */;
4184 val
* var9
/* : ToolContext */;
4185 val
* var11
/* : ToolContext */;
4186 val
* var12
/* : NativeArray[String] */;
4187 static val
* varonce
;
4188 static val
* varonce13
;
4189 val
* var14
/* : String */;
4190 char* var15
/* : NativeString */;
4191 val
* var16
/* : String */;
4192 static val
* varonce17
;
4193 val
* var18
/* : String */;
4194 char* var19
/* : NativeString */;
4195 val
* var20
/* : String */;
4196 val
* var21
/* : String */;
4197 val
* var22
/* : Message */;
4198 val
* var23
/* : ToolContext */;
4199 val
* var25
/* : ToolContext */;
4200 val
* var27
/* : NativeArray[String] */;
4201 static val
* varonce26
;
4202 static val
* varonce28
;
4203 val
* var29
/* : String */;
4204 char* var30
/* : NativeString */;
4205 val
* var31
/* : String */;
4206 static val
* varonce32
;
4207 val
* var33
/* : String */;
4208 char* var34
/* : NativeString */;
4209 val
* var35
/* : String */;
4210 val
* var36
/* : String */;
4211 val
* var37
/* : Message */;
4212 val
* var38
/* : nullable AModule */;
4215 var1
= nitc__loader___ModelBuilder___identify_module(self
, var_filename
);
4218 if (var_mmodule
== NULL
) {
4219 var2
= 1; /* is null */
4221 var2
= 0; /* arg is null but recv is not */
4224 { /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
4225 var_other
= ((val
*)NULL
);
4227 { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
4228 var7
= var_mmodule
== var_other
;
4242 var8
= core__file___String___file_exists(var_filename
);
4246 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4247 var11
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4248 if (unlikely(var11
== NULL
)) {
4249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4250 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4254 RET_LABEL10
:(void)0;
4257 if (unlikely(varonce
==NULL
)) {
4258 var12
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4259 if (likely(varonce13
!=NULL
)) {
4263 var16
= core__flat___NativeString___to_s_full(var15
, 8l, 8l);
4267 ((struct instance_core__NativeArray
*)var12
)->values
[0]=var14
;
4268 if (likely(varonce17
!=NULL
)) {
4271 var19
= "` is not a Nit source file.";
4272 var20
= core__flat___NativeString___to_s_full(var19
, 27l, 27l);
4276 ((struct instance_core__NativeArray
*)var12
)->values
[2]=var18
;
4281 ((struct instance_core__NativeArray
*)var12
)->values
[1]=var_filename
;
4283 var21
= ((val
*(*)(val
* self
))(var12
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var12
); /* native_to_s on <var12:NativeArray[String]>*/
4287 var22
= nitc___nitc__ToolContext___error(var9
, ((val
*)NULL
), var21
);
4291 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
4292 var25
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4293 if (unlikely(var25
== NULL
)) {
4294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4295 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4299 RET_LABEL24
:(void)0;
4302 if (unlikely(varonce26
==NULL
)) {
4303 var27
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4304 if (likely(varonce28
!=NULL
)) {
4307 var30
= "Error: cannot find module `";
4308 var31
= core__flat___NativeString___to_s_full(var30
, 27l, 27l);
4312 ((struct instance_core__NativeArray
*)var27
)->values
[0]=var29
;
4313 if (likely(varonce32
!=NULL
)) {
4317 var35
= core__flat___NativeString___to_s_full(var34
, 2l, 2l);
4321 ((struct instance_core__NativeArray
*)var27
)->values
[2]=var33
;
4326 ((struct instance_core__NativeArray
*)var27
)->values
[1]=var_filename
;
4328 var36
= ((val
*(*)(val
* self
))(var27
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var27
); /* native_to_s on <var27:NativeArray[String]>*/
4332 var37
= nitc___nitc__ToolContext___error(var23
, ((val
*)NULL
), var36
);
4340 var38
= nitc__loader___MModule___load(var_mmodule
, self
);
4347 /* method loader#ModelBuilder#build_a_mmodule for (self: ModelBuilder, nullable MGroup, AModule) */
4348 void nitc__loader___ModelBuilder___build_a_mmodule(val
* self
, val
* p0
, val
* p1
) {
4349 val
* var_mgroup
/* var mgroup: nullable MGroup */;
4350 val
* var_nmodule
/* var nmodule: AModule */;
4351 val
* var
/* : nullable MModule */;
4352 val
* var2
/* : nullable MModule */;
4353 val
* var_mmodule
/* var mmodule: nullable MModule */;
4354 short int var3
/* : Bool */;
4355 short int var4
/* : Bool */;
4356 val
* var_other
/* var other: nullable Object */;
4357 short int var6
/* : Bool */;
4358 short int var7
/* : Bool */;
4359 val
* var8
/* : nullable AModuledecl */;
4360 val
* var10
/* : nullable AModuledecl */;
4361 val
* var_decl
/* var decl: nullable AModuledecl */;
4362 short int var11
/* : Bool */;
4363 short int var12
/* : Bool */;
4364 short int var14
/* : Bool */;
4365 short int var15
/* : Bool */;
4366 val
* var16
/* : AModuleName */;
4367 val
* var18
/* : AModuleName */;
4368 val
* var19
/* : TId */;
4369 val
* var21
/* : TId */;
4370 val
* var22
/* : String */;
4371 val
* var_decl_name
/* var decl_name: String */;
4372 val
* var23
/* : String */;
4373 val
* var25
/* : String */;
4374 short int var26
/* : Bool */;
4375 short int var28
/* : Bool */;
4376 short int var29
/* : Bool */;
4377 val
* var30
/* : AModuleName */;
4378 val
* var32
/* : AModuleName */;
4379 val
* var33
/* : NativeArray[String] */;
4380 static val
* varonce
;
4381 static val
* varonce34
;
4382 val
* var35
/* : String */;
4383 char* var36
/* : NativeString */;
4384 val
* var37
/* : String */;
4385 static val
* varonce38
;
4386 val
* var39
/* : String */;
4387 char* var40
/* : NativeString */;
4388 val
* var41
/* : String */;
4389 static val
* varonce42
;
4390 val
* var43
/* : String */;
4391 char* var44
/* : NativeString */;
4392 val
* var45
/* : String */;
4393 val
* var46
/* : String */;
4394 val
* var48
/* : String */;
4395 val
* var49
/* : String */;
4396 short int var50
/* : Bool */;
4397 short int var51
/* : Bool */;
4398 short int var53
/* : Bool */;
4399 short int var54
/* : Bool */;
4400 val
* var55
/* : Model */;
4401 val
* var57
/* : Model */;
4402 val
* var58
/* : String */;
4403 val
* var60
/* : String */;
4404 val
* var61
/* : nullable Array[MModule] */;
4405 val
* var_others
/* var others: nullable Array[MModule] */;
4406 short int var62
/* : Bool */;
4407 short int var63
/* : Bool */;
4408 short int var65
/* : Bool */;
4409 short int var66
/* : Bool */;
4410 val
* var_
/* var : Array[MModule] */;
4411 val
* var67
/* : IndexedIterator[nullable Object] */;
4412 val
* var_68
/* var : IndexedIterator[MModule] */;
4413 short int var69
/* : Bool */;
4414 val
* var70
/* : nullable Object */;
4415 val
* var_other71
/* var other: MModule */;
4416 short int var72
/* : Bool */;
4417 short int var73
/* : Bool */;
4418 short int var74
/* : Bool */;
4419 short int var75
/* : Bool */;
4420 short int var77
/* : Bool */;
4421 short int var78
/* : Bool */;
4422 short int var_79
/* var : Bool */;
4423 val
* var80
/* : HashMap[MModule, AModule] */;
4424 val
* var82
/* : HashMap[MModule, AModule] */;
4425 short int var83
/* : Bool */;
4426 short int var_84
/* var : Bool */;
4427 val
* var85
/* : nullable MGroup */;
4428 val
* var87
/* : nullable MGroup */;
4429 short int var88
/* : Bool */;
4430 short int var89
/* : Bool */;
4431 short int var91
/* : Bool */;
4432 short int var92
/* : Bool */;
4433 short int var_93
/* var : Bool */;
4434 val
* var94
/* : nullable MGroup */;
4435 val
* var96
/* : nullable MGroup */;
4436 val
* var97
/* : MPackage */;
4437 val
* var99
/* : MPackage */;
4438 val
* var100
/* : MPackage */;
4439 val
* var102
/* : MPackage */;
4440 short int var103
/* : Bool */;
4441 val
* var_other105
/* var other: nullable Object */;
4442 short int var106
/* : Bool */;
4443 short int var108
/* : Bool */;
4444 short int var109
/* : Bool */;
4445 short int var110
/* : Bool */;
4446 short int var112
/* : Bool */;
4447 short int var114
/* : Bool */;
4448 val
* var_node
/* var node: ANode */;
4449 val
* var115
/* : AModuleName */;
4450 val
* var117
/* : AModuleName */;
4451 val
* var119
/* : NativeArray[String] */;
4452 static val
* varonce118
;
4453 static val
* varonce120
;
4454 val
* var121
/* : String */;
4455 char* var122
/* : NativeString */;
4456 val
* var123
/* : String */;
4457 static val
* varonce124
;
4458 val
* var125
/* : String */;
4459 char* var126
/* : NativeString */;
4460 val
* var127
/* : String */;
4461 static val
* varonce128
;
4462 val
* var129
/* : String */;
4463 char* var130
/* : NativeString */;
4464 val
* var131
/* : String */;
4465 val
* var132
/* : String */;
4466 val
* var133
/* : Location */;
4467 val
* var135
/* : Location */;
4468 val
* var136
/* : String */;
4469 val
* var137
/* : String */;
4470 val
* var138
/* : Array[AModule] */;
4471 val
* var140
/* : Array[AModule] */;
4472 val
* var141
/* : HashMap[MModule, AModule] */;
4473 val
* var143
/* : HashMap[MModule, AModule] */;
4474 val
* var144
/* : Location */;
4475 val
* var146
/* : Location */;
4476 val
* var147
/* : nullable SourceFile */;
4477 val
* var149
/* : nullable SourceFile */;
4478 val
* var_source
/* var source: nullable SourceFile */;
4479 short int var150
/* : Bool */;
4480 short int var151
/* : Bool */;
4481 short int var153
/* : Bool */;
4482 short int var154
/* : Bool */;
4483 val
* var155
/* : nullable MModule */;
4484 val
* var157
/* : nullable MModule */;
4485 short int var158
/* : Bool */;
4486 short int var159
/* : Bool */;
4487 short int var161
/* : Bool */;
4488 short int var163
/* : Bool */;
4489 short int var165
/* : Bool */;
4490 short int var166
/* : Bool */;
4491 short int var168
/* : Bool */;
4492 short int var169
/* : Bool */;
4493 val
* var170
/* : nullable ADoc */;
4494 val
* var172
/* : nullable ADoc */;
4495 val
* var_ndoc
/* var ndoc: nullable ADoc */;
4496 short int var173
/* : Bool */;
4497 short int var174
/* : Bool */;
4498 short int var176
/* : Bool */;
4499 short int var177
/* : Bool */;
4500 val
* var178
/* : MDoc */;
4501 val
* var_mdoc
/* var mdoc: MDoc */;
4502 static val
* varonce181
;
4503 val
* var182
/* : String */;
4504 char* var183
/* : NativeString */;
4505 val
* var184
/* : String */;
4506 val
* var185
/* : Array[AAnnotation] */;
4507 short int var186
/* : Bool */;
4508 short int var187
/* : Bool */;
4512 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
4513 var2
= var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
4519 if (var_mmodule
== NULL
) {
4520 var3
= 0; /* is null */
4522 var3
= 1; /* arg is null and recv is not */
4525 { /* Inline kernel#Object#!= (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
4526 var_other
= ((val
*)NULL
);
4528 var6
= ((short int(*)(val
* self
, val
* p0
))(var_mmodule
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mmodule
, var_other
); /* == on <var_mmodule:nullable MModule(MModule)>*/
4537 if (unlikely(!var3
)) {
4538 PRINT_ERROR("Runtime error: %s", "Assert failed");
4539 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 679);
4543 { /* Inline parser_nodes#AModule#n_moduledecl (var_nmodule) on <var_nmodule:AModule> */
4544 var10
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__AModule___n_moduledecl
].val
; /* _n_moduledecl on <var_nmodule:AModule> */
4550 if (var_decl
== NULL
) {
4551 var11
= 0; /* is null */
4553 var11
= 1; /* arg is null and recv is not */
4556 { /* Inline kernel#Object#!= (var_decl,((val*)NULL)) on <var_decl:nullable AModuledecl> */
4557 var_other
= ((val
*)NULL
);
4559 var14
= ((short int(*)(val
* self
, val
* p0
))(var_decl
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_decl
, var_other
); /* == on <var_decl:nullable AModuledecl(AModuledecl)>*/
4564 RET_LABEL13
:(void)0;
4570 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
4571 var18
= var_decl
->attrs
[COLOR_nitc__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
4572 if (unlikely(var18
== NULL
)) {
4573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
4574 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1086);
4578 RET_LABEL17
:(void)0;
4582 { /* Inline parser_nodes#AModuleName#n_id (var16) on <var16:AModuleName> */
4583 var21
= var16
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var16:AModuleName> */
4584 if (unlikely(var21
== NULL
)) {
4585 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
4586 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2838);
4590 RET_LABEL20
:(void)0;
4594 var22
= nitc__lexer_work___Token___text(var19
);
4596 var_decl_name
= var22
;
4598 { /* Inline mmodule#MModule#name (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
4599 var25
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:nullable MModule(MModule)> */
4600 if (unlikely(var25
== NULL
)) {
4601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4602 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
4606 RET_LABEL24
:(void)0;
4610 { /* Inline kernel#Object#!= (var_decl_name,var23) on <var_decl_name:String> */
4613 var28
= ((short int(*)(val
* self
, val
* p0
))(var_decl_name
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_decl_name
, var_other
); /* == on <var_decl_name:String>*/
4618 RET_LABEL27
:(void)0;
4623 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
4624 var32
= var_decl
->attrs
[COLOR_nitc__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
4625 if (unlikely(var32
== NULL
)) {
4626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
4627 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1086);
4631 RET_LABEL31
:(void)0;
4634 if (unlikely(varonce
==NULL
)) {
4635 var33
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
4636 if (likely(varonce34
!=NULL
)) {
4639 var36
= "Error: module name mismatch; declared ";
4640 var37
= core__flat___NativeString___to_s_full(var36
, 38l, 38l);
4644 ((struct instance_core__NativeArray
*)var33
)->values
[0]=var35
;
4645 if (likely(varonce38
!=NULL
)) {
4648 var40
= " file named ";
4649 var41
= core__flat___NativeString___to_s_full(var40
, 12l, 12l);
4653 ((struct instance_core__NativeArray
*)var33
)->values
[2]=var39
;
4654 if (likely(varonce42
!=NULL
)) {
4658 var45
= core__flat___NativeString___to_s_full(var44
, 1l, 1l);
4662 ((struct instance_core__NativeArray
*)var33
)->values
[4]=var43
;
4667 ((struct instance_core__NativeArray
*)var33
)->values
[1]=var_decl_name
;
4669 { /* Inline mmodule#MModule#name (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
4670 var48
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:nullable MModule(MModule)> */
4671 if (unlikely(var48
== NULL
)) {
4672 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4673 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
4677 RET_LABEL47
:(void)0;
4680 ((struct instance_core__NativeArray
*)var33
)->values
[3]=var46
;
4682 var49
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
4686 nitc___nitc__ModelBuilder___error(self
, var30
, var49
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
4692 if (var_mgroup
== NULL
) {
4693 var50
= 0; /* is null */
4695 var50
= 1; /* arg is null and recv is not */
4698 { /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
4699 var_other
= ((val
*)NULL
);
4701 var53
= ((short int(*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mgroup
, var_other
); /* == on <var_mgroup:nullable MGroup(MGroup)>*/
4706 RET_LABEL52
:(void)0;
4712 { /* Inline modelbuilder_base#ModelBuilder#model (self) on <self:ModelBuilder> */
4713 var57
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
4714 if (unlikely(var57
== NULL
)) {
4715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
4716 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
4720 RET_LABEL56
:(void)0;
4724 { /* Inline mmodule#MModule#name (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
4725 var60
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:nullable MModule(MModule)> */
4726 if (unlikely(var60
== NULL
)) {
4727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4728 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
4732 RET_LABEL59
:(void)0;
4736 var61
= nitc__mmodule___Model___get_mmodules_by_name(var55
, var58
);
4739 if (var_others
== NULL
) {
4740 var62
= 0; /* is null */
4742 var62
= 1; /* arg is null and recv is not */
4745 { /* Inline kernel#Object#!= (var_others,((val*)NULL)) on <var_others:nullable Array[MModule]> */
4746 var_other
= ((val
*)NULL
);
4748 var65
= ((short int(*)(val
* self
, val
* p0
))(var_others
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_others
, var_other
); /* == on <var_others:nullable Array[MModule](Array[MModule])>*/
4753 RET_LABEL64
:(void)0;
4760 var67
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
4765 var69
= ((short int(*)(val
* self
))((((long)var_68
&3)?class_info
[((long)var_68
&3)]:var_68
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_68
); /* is_ok on <var_68:IndexedIterator[MModule]>*/
4772 var70
= ((val
*(*)(val
* self
))((((long)var_68
&3)?class_info
[((long)var_68
&3)]:var_68
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_68
); /* item on <var_68:IndexedIterator[MModule]>*/
4774 var_other71
= var70
;
4776 { /* Inline kernel#Object#!= (var_other71,var_mmodule) on <var_other71:MModule> */
4777 var_other
= var_mmodule
;
4779 var77
= ((short int(*)(val
* self
, val
* p0
))(var_other71
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_other71
, var_other
); /* == on <var_other71:MModule>*/
4784 RET_LABEL76
:(void)0;
4790 { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
4791 var82
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
4792 if (unlikely(var82
== NULL
)) {
4793 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
4794 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 998);
4798 RET_LABEL81
:(void)0;
4802 var83
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var80
, var_mmodule
);
4811 { /* Inline mmodule#MModule#mgroup (var_other71) on <var_other71:MModule> */
4812 var87
= var_other71
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_other71:MModule> */
4814 RET_LABEL86
:(void)0;
4817 if (var85
== NULL
) {
4818 var88
= 0; /* is null */
4820 var88
= 1; /* arg is null and recv is not */
4823 { /* Inline kernel#Object#!= (var85,((val*)NULL)) on <var85:nullable MGroup> */
4824 var_other
= ((val
*)NULL
);
4826 var91
= ((short int(*)(val
* self
, val
* p0
))(var85
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var85
, var_other
); /* == on <var85:nullable MGroup(MGroup)>*/
4831 RET_LABEL90
:(void)0;
4842 { /* Inline mmodule#MModule#mgroup (var_other71) on <var_other71:MModule> */
4843 var96
= var_other71
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_other71:MModule> */
4845 RET_LABEL95
:(void)0;
4848 if (var94
== NULL
) {
4849 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4850 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 694);
4853 { /* Inline mpackage#MGroup#mpackage (var94) on <var94:nullable MGroup> */
4854 if (unlikely(var94
== NULL
)) {
4855 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4856 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
4859 var99
= var94
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var94:nullable MGroup> */
4860 if (unlikely(var99
== NULL
)) {
4861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
4862 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
4866 RET_LABEL98
:(void)0;
4870 { /* Inline mpackage#MGroup#mpackage (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
4871 var102
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:nullable MGroup(MGroup)> */
4872 if (unlikely(var102
== NULL
)) {
4873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
4874 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
4878 RET_LABEL101
:(void)0;
4882 { /* Inline kernel#Object#== (var97,var100) on <var97:MPackage> */
4883 var_other105
= var100
;
4885 { /* Inline kernel#Object#is_same_instance (var97,var_other105) on <var97:MPackage> */
4886 var108
= var97
== var_other105
;
4889 RET_LABEL107
:(void)0;
4894 RET_LABEL104
:(void)0;
4902 if (var_decl
== NULL
) {
4903 var109
= 1; /* is null */
4905 var109
= 0; /* arg is null but recv is not */
4908 { /* Inline kernel#Object#== (var_decl,((val*)NULL)) on <var_decl:nullable AModuledecl> */
4909 var_other105
= ((val
*)NULL
);
4911 { /* Inline kernel#Object#is_same_instance (var_decl,var_other105) on <var_decl:nullable AModuledecl(AModuledecl)> */
4912 var114
= var_decl
== var_other105
;
4915 RET_LABEL113
:(void)0;
4920 RET_LABEL111
:(void)0;
4925 var_node
= var_nmodule
;
4928 { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
4929 var117
= var_decl
->attrs
[COLOR_nitc__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
4930 if (unlikely(var117
== NULL
)) {
4931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
4932 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1086);
4936 RET_LABEL116
:(void)0;
4941 if (unlikely(varonce118
==NULL
)) {
4942 var119
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
4943 if (likely(varonce120
!=NULL
)) {
4944 var121
= varonce120
;
4946 var122
= "Error: a module named `";
4947 var123
= core__flat___NativeString___to_s_full(var122
, 23l, 23l);
4949 varonce120
= var121
;
4951 ((struct instance_core__NativeArray
*)var119
)->values
[0]=var121
;
4952 if (likely(varonce124
!=NULL
)) {
4953 var125
= varonce124
;
4955 var126
= "` already exists at ";
4956 var127
= core__flat___NativeString___to_s_full(var126
, 20l, 20l);
4958 varonce124
= var125
;
4960 ((struct instance_core__NativeArray
*)var119
)->values
[2]=var125
;
4961 if (likely(varonce128
!=NULL
)) {
4962 var129
= varonce128
;
4965 var131
= core__flat___NativeString___to_s_full(var130
, 1l, 1l);
4967 varonce128
= var129
;
4969 ((struct instance_core__NativeArray
*)var119
)->values
[4]=var129
;
4971 var119
= varonce118
;
4975 var132
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_other71
);
4977 ((struct instance_core__NativeArray
*)var119
)->values
[1]=var132
;
4979 { /* Inline mmodule#MModule#location (var_other71) on <var_other71:MModule> */
4980 var135
= var_other71
->attrs
[COLOR_nitc__mmodule__MModule___location
].val
; /* _location on <var_other71:MModule> */
4981 if (unlikely(var135
== NULL
)) {
4982 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
4983 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 98);
4987 RET_LABEL134
:(void)0;
4991 var136
= ((val
*(*)(val
* self
))(var133
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var133
); /* to_s on <var133:Location>*/
4993 ((struct instance_core__NativeArray
*)var119
)->values
[3]=var136
;
4995 var137
= ((val
*(*)(val
* self
))(var119
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var119
); /* native_to_s on <var119:NativeArray[String]>*/
4997 varonce118
= var119
;
4999 nitc___nitc__ModelBuilder___error(self
, var_node
, var137
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
5005 ((void(*)(val
* self
))((((long)var_68
&3)?class_info
[((long)var_68
&3)]:var_68
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_68
); /* next on <var_68:IndexedIterator[MModule]>*/
5008 BREAK_label
: (void)0;
5010 ((void(*)(val
* self
))((((long)var_68
&3)?class_info
[((long)var_68
&3)]:var_68
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_68
); /* finish on <var_68:IndexedIterator[MModule]>*/
5017 { /* Inline loader#ModelBuilder#nmodules (self) on <self:ModelBuilder> */
5018 var140
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___nmodules
].val
; /* _nmodules on <self:ModelBuilder> */
5019 if (unlikely(var140
== NULL
)) {
5020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
5021 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 995);
5025 RET_LABEL139
:(void)0;
5029 core___core__Array___core__abstract_collection__SimpleCollection__add(var138
, var_nmodule
); /* Direct call array#Array#add on <var138:Array[AModule]>*/
5032 { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
5033 var143
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
5034 if (unlikely(var143
== NULL
)) {
5035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
5036 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 998);
5040 RET_LABEL142
:(void)0;
5044 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var141
, var_mmodule
, var_nmodule
); /* Direct call hash_collection#HashMap#[]= on <var141:HashMap[MModule, AModule]>*/
5047 { /* Inline parser_nodes#ANode#location (var_nmodule) on <var_nmodule:AModule> */
5048 var146
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_nmodule:AModule> */
5049 if (unlikely(var146
== NULL
)) {
5050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
5051 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 24);
5055 RET_LABEL145
:(void)0;
5059 { /* Inline location#Location#file (var144) on <var144:Location> */
5060 var149
= var144
->attrs
[COLOR_nitc__location__Location___file
].val
; /* _file on <var144:Location> */
5062 RET_LABEL148
:(void)0;
5065 var_source
= var147
;
5066 if (var_source
== NULL
) {
5067 var150
= 0; /* is null */
5069 var150
= 1; /* arg is null and recv is not */
5072 { /* Inline kernel#Object#!= (var_source,((val*)NULL)) on <var_source:nullable SourceFile> */
5073 var_other
= ((val
*)NULL
);
5075 var153
= ((short int(*)(val
* self
, val
* p0
))(var_source
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_source
, var_other
); /* == on <var_source:nullable SourceFile(SourceFile)>*/
5080 RET_LABEL152
:(void)0;
5086 { /* Inline loader#SourceFile#mmodule (var_source) on <var_source:nullable SourceFile(SourceFile)> */
5087 var157
= var_source
->attrs
[COLOR_nitc__loader__SourceFile___mmodule
].val
; /* _mmodule on <var_source:nullable SourceFile(SourceFile)> */
5089 RET_LABEL156
:(void)0;
5092 if (var155
== NULL
) {
5093 var158
= 1; /* is null */
5095 var158
= 0; /* arg is null but recv is not */
5098 { /* Inline kernel#Object#== (var155,((val*)NULL)) on <var155:nullable MModule> */
5099 var_other105
= ((val
*)NULL
);
5101 { /* Inline kernel#Object#is_same_instance (var155,var_other105) on <var155:nullable MModule(MModule)> */
5102 var163
= var155
== var_other105
;
5105 RET_LABEL162
:(void)0;
5110 RET_LABEL160
:(void)0;
5114 if (unlikely(!var158
)) {
5115 PRINT_ERROR("Runtime error: %s", "Assert failed");
5116 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 708);
5120 { /* Inline loader#SourceFile#mmodule= (var_source,var_mmodule) on <var_source:nullable SourceFile(SourceFile)> */
5121 var_source
->attrs
[COLOR_nitc__loader__SourceFile___mmodule
].val
= var_mmodule
; /* _mmodule on <var_source:nullable SourceFile(SourceFile)> */
5122 RET_LABEL164
:(void)0;
5127 if (var_decl
== NULL
) {
5128 var165
= 0; /* is null */
5130 var165
= 1; /* arg is null and recv is not */
5133 { /* Inline kernel#Object#!= (var_decl,((val*)NULL)) on <var_decl:nullable AModuledecl> */
5134 var_other
= ((val
*)NULL
);
5136 var168
= ((short int(*)(val
* self
, val
* p0
))(var_decl
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_decl
, var_other
); /* == on <var_decl:nullable AModuledecl(AModuledecl)>*/
5141 RET_LABEL167
:(void)0;
5147 { /* Inline parser_nodes#ADefinition#n_doc (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
5148 var172
= var_decl
->attrs
[COLOR_nitc__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <var_decl:nullable AModuledecl(AModuledecl)> */
5150 RET_LABEL171
:(void)0;
5154 if (var_ndoc
== NULL
) {
5155 var173
= 0; /* is null */
5157 var173
= 1; /* arg is null and recv is not */
5160 { /* Inline kernel#Object#!= (var_ndoc,((val*)NULL)) on <var_ndoc:nullable ADoc> */
5161 var_other
= ((val
*)NULL
);
5163 var176
= ((short int(*)(val
* self
, val
* p0
))(var_ndoc
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ndoc
, var_other
); /* == on <var_ndoc:nullable ADoc(ADoc)>*/
5168 RET_LABEL175
:(void)0;
5174 var178
= nitc__modelbuilder_base___ADoc___to_mdoc(var_ndoc
);
5178 { /* Inline mdoc#MEntity#mdoc= (var_mmodule,var_mdoc) on <var_mmodule:nullable MModule(MModule)> */
5179 var_mmodule
->attrs
[COLOR_nitc__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mmodule:nullable MModule(MModule)> */
5180 RET_LABEL179
:(void)0;
5184 { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mmodule) on <var_mdoc:MDoc> */
5185 var_mdoc
->attrs
[COLOR_nitc__mdoc__MDoc___original_mentity
].val
= var_mmodule
; /* _original_mentity on <var_mdoc:MDoc> */
5186 RET_LABEL180
:(void)0;
5191 if (likely(varonce181
!=NULL
)) {
5192 var182
= varonce181
;
5194 var183
= "test_suite";
5195 var184
= core__flat___NativeString___to_s_full(var183
, 10l, 10l);
5197 varonce181
= var182
;
5200 var185
= nitc___nitc__Prod___get_annotations(var_decl
, var182
);
5203 var186
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var185
);
5207 { /* Inline mmodule#MModule#is_test_suite= (var_mmodule,var187) on <var_mmodule:nullable MModule(MModule)> */
5208 var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___is_test_suite
].s
= var187
; /* _is_test_suite on <var_mmodule:nullable MModule(MModule)> */
5209 RET_LABEL188
:(void)0;
5216 /* method loader#ModelBuilder#seach_module_by_amodule_name for (self: ModelBuilder, AModuleName, nullable MGroup): nullable MModule */
5217 val
* nitc__loader___ModelBuilder___seach_module_by_amodule_name(val
* self
, val
* p0
, val
* p1
) {
5218 val
* var
/* : nullable MModule */;
5219 val
* var_n_name
/* var n_name: AModuleName */;
5220 val
* var_mgroup
/* var mgroup: nullable MGroup */;
5221 val
* var1
/* : TId */;
5222 val
* var3
/* : TId */;
5223 val
* var4
/* : String */;
5224 val
* var_mod_name
/* var mod_name: String */;
5225 val
* var5
/* : nullable TQuad */;
5226 val
* var7
/* : nullable TQuad */;
5227 short int var8
/* : Bool */;
5228 short int var9
/* : Bool */;
5229 val
* var_other
/* var other: nullable Object */;
5230 short int var11
/* : Bool */;
5231 short int var12
/* : Bool */;
5232 val
* var13
/* : ANodes[TId] */;
5233 val
* var15
/* : ANodes[TId] */;
5234 short int var16
/* : Bool */;
5235 val
* var17
/* : nullable MModule */;
5236 short int var18
/* : Bool */;
5237 short int var19
/* : Bool */;
5238 short int var21
/* : Bool */;
5239 short int var22
/* : Bool */;
5240 val
* var23
/* : MPackage */;
5241 val
* var25
/* : MPackage */;
5242 val
* var26
/* : nullable MGroup */;
5243 val
* var28
/* : nullable MGroup */;
5244 val
* var_r
/* var r: nullable MGroup */;
5245 short int var29
/* : Bool */;
5246 short int var30
/* : Bool */;
5247 short int var32
/* : Bool */;
5248 short int var33
/* : Bool */;
5249 val
* var34
/* : Array[MModule] */;
5250 val
* var_res
/* var res: Array[MModule] */;
5251 val
* var35
/* : Array[MModule] */;
5252 val
* var_
/* var : Array[MModule] */;
5253 val
* var_36
/* var : Array[MModule] */;
5254 val
* var37
/* : IndexedIterator[nullable Object] */;
5255 val
* var_38
/* var : IndexedIterator[MModule] */;
5256 short int var39
/* : Bool */;
5257 val
* var40
/* : nullable Object */;
5258 val
* var_x
/* var x: MModule */;
5259 short int var41
/* : Bool */;
5260 short int var42
/* : Bool */;
5261 long var43
/* : Int */;
5262 long var45
/* : Int */;
5263 short int var46
/* : Bool */;
5264 short int var48
/* : Bool */;
5267 const char* var_class_name
;
5268 short int var49
/* : Bool */;
5269 val
* var50
/* : NativeArray[String] */;
5270 static val
* varonce
;
5271 static val
* varonce51
;
5272 val
* var52
/* : String */;
5273 char* var53
/* : NativeString */;
5274 val
* var54
/* : String */;
5275 static val
* varonce55
;
5276 val
* var56
/* : String */;
5277 char* var57
/* : NativeString */;
5278 val
* var58
/* : String */;
5279 static val
* varonce59
;
5280 val
* var60
/* : String */;
5281 char* var61
/* : NativeString */;
5282 val
* var62
/* : String */;
5283 val
* var63
/* : Array[String] */;
5284 val
* var_64
/* var : Array[String] */;
5285 val
* var_65
/* var : Array[MModule] */;
5286 val
* var66
/* : IndexedIterator[nullable Object] */;
5287 val
* var_67
/* var : IndexedIterator[MModule] */;
5288 short int var68
/* : Bool */;
5289 val
* var70
/* : nullable Object */;
5290 val
* var_x71
/* var x: MModule */;
5291 val
* var72
/* : String */;
5292 val
* var73
/* : nullable String */;
5293 val
* var75
/* : nullable String */;
5294 val
* var76
/* : String */;
5295 static val
* varonce77
;
5296 val
* var78
/* : String */;
5297 char* var79
/* : NativeString */;
5298 val
* var80
/* : String */;
5299 val
* var81
/* : String */;
5300 val
* var82
/* : String */;
5301 val
* var83
/* : nullable Object */;
5302 val
* var84
/* : ANodes[TId] */;
5303 val
* var86
/* : ANodes[TId] */;
5304 val
* var87
/* : nullable Object */;
5305 val
* var88
/* : String */;
5306 val
* var_root_name
/* var root_name: String */;
5307 val
* var89
/* : Array[String] */;
5308 val
* var91
/* : Array[String] */;
5309 val
* var92
/* : ArraySet[MGroup] */;
5310 val
* var_roots
/* var roots: ArraySet[MGroup] */;
5311 short int var93
/* : Bool */;
5312 val
* var95
/* : NativeArray[String] */;
5313 static val
* varonce94
;
5314 static val
* varonce96
;
5315 val
* var97
/* : String */;
5316 char* var98
/* : NativeString */;
5317 val
* var99
/* : String */;
5318 static val
* varonce100
;
5319 val
* var101
/* : String */;
5320 char* var102
/* : NativeString */;
5321 val
* var103
/* : String */;
5322 static val
* varonce104
;
5323 val
* var105
/* : String */;
5324 char* var106
/* : NativeString */;
5325 val
* var107
/* : String */;
5326 val
* var108
/* : Array[String] */;
5327 val
* var110
/* : Array[String] */;
5328 static val
* varonce111
;
5329 val
* var112
/* : String */;
5330 char* var113
/* : NativeString */;
5331 val
* var114
/* : String */;
5332 val
* var115
/* : String */;
5333 val
* var116
/* : String */;
5334 val
* var117
/* : ArraySet[MModule] */;
5335 val
* var_res118
/* var res: ArraySet[MModule] */;
5336 val
* var_119
/* var : ArraySet[MGroup] */;
5337 val
* var120
/* : Iterator[nullable Object] */;
5338 val
* var_121
/* var : Iterator[MGroup] */;
5339 short int var122
/* : Bool */;
5340 val
* var124
/* : nullable Object */;
5341 val
* var_r125
/* var r: MGroup */;
5342 val
* var126
/* : Array[MModule] */;
5343 val
* var_root_res
/* var root_res: Array[MModule] */;
5344 val
* var_127
/* var : Array[MModule] */;
5345 val
* var128
/* : IndexedIterator[nullable Object] */;
5346 val
* var_129
/* var : IndexedIterator[MModule] */;
5347 short int var130
/* : Bool */;
5348 val
* var132
/* : nullable Object */;
5349 val
* var_x133
/* var x: MModule */;
5350 short int var134
/* : Bool */;
5351 short int var135
/* : Bool */;
5352 long var136
/* : Int */;
5353 short int var137
/* : Bool */;
5354 short int var139
/* : Bool */;
5357 const char* var_class_name142
;
5358 short int var143
/* : Bool */;
5359 val
* var145
/* : NativeArray[String] */;
5360 static val
* varonce144
;
5361 static val
* varonce146
;
5362 val
* var147
/* : String */;
5363 char* var148
/* : NativeString */;
5364 val
* var149
/* : String */;
5365 static val
* varonce150
;
5366 val
* var151
/* : String */;
5367 char* var152
/* : NativeString */;
5368 val
* var153
/* : String */;
5369 static val
* varonce154
;
5370 val
* var155
/* : String */;
5371 char* var156
/* : NativeString */;
5372 val
* var157
/* : String */;
5373 val
* var158
/* : Array[String] */;
5374 val
* var_159
/* var : Array[String] */;
5375 val
* var_160
/* var : ArraySet[MModule] */;
5376 val
* var161
/* : Iterator[nullable Object] */;
5377 val
* var_162
/* var : Iterator[MModule] */;
5378 short int var163
/* : Bool */;
5379 val
* var165
/* : nullable Object */;
5380 val
* var_x166
/* var x: MModule */;
5381 val
* var167
/* : String */;
5382 val
* var168
/* : nullable String */;
5383 val
* var170
/* : nullable String */;
5384 val
* var171
/* : String */;
5385 static val
* varonce172
;
5386 val
* var173
/* : String */;
5387 char* var174
/* : NativeString */;
5388 val
* var175
/* : String */;
5389 val
* var176
/* : String */;
5390 val
* var177
/* : String */;
5391 val
* var178
/* : nullable Object */;
5392 val
* var180
/* : NativeArray[String] */;
5393 static val
* varonce179
;
5394 static val
* varonce181
;
5395 val
* var182
/* : String */;
5396 char* var183
/* : NativeString */;
5397 val
* var184
/* : String */;
5398 static val
* varonce185
;
5399 val
* var186
/* : String */;
5400 char* var187
/* : NativeString */;
5401 val
* var188
/* : String */;
5402 static val
* varonce189
;
5403 val
* var190
/* : String */;
5404 char* var191
/* : NativeString */;
5405 val
* var192
/* : String */;
5406 static val
* varonce193
;
5407 val
* var194
/* : String */;
5408 char* var195
/* : NativeString */;
5409 val
* var196
/* : String */;
5410 val
* var197
/* : Array[String] */;
5411 val
* var199
/* : Array[String] */;
5412 static val
* varonce200
;
5413 val
* var201
/* : String */;
5414 char* var202
/* : NativeString */;
5415 val
* var203
/* : String */;
5416 val
* var204
/* : String */;
5417 val
* var205
/* : String */;
5421 { /* Inline parser_nodes#AModuleName#n_id (var_n_name) on <var_n_name:AModuleName> */
5422 var3
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var_n_name:AModuleName> */
5423 if (unlikely(var3
== NULL
)) {
5424 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
5425 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2838);
5433 var4
= nitc__lexer_work___Token___text(var1
);
5435 var_mod_name
= var4
;
5437 { /* Inline parser_nodes#AModuleName#n_quad (var_n_name) on <var_n_name:AModuleName> */
5438 var7
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_quad
].val
; /* _n_quad on <var_n_name:AModuleName> */
5444 var8
= 0; /* is null */
5446 var8
= 1; /* arg is null and recv is not */
5449 { /* Inline kernel#Object#!= (var5,((val*)NULL)) on <var5:nullable TQuad> */
5450 var_other
= ((val
*)NULL
);
5452 var11
= ((short int(*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var5
, var_other
); /* == on <var5:nullable TQuad(TQuad)>*/
5457 RET_LABEL10
:(void)0;
5462 var_mgroup
= ((val
*)NULL
);
5466 { /* Inline parser_nodes#AModuleName#n_path (var_n_name) on <var_n_name:AModuleName> */
5467 var15
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var_n_name:AModuleName> */
5468 if (unlikely(var15
== NULL
)) {
5469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
5470 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2835);
5474 RET_LABEL14
:(void)0;
5478 var16
= nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var13
);
5482 var17
= nitc__loader___ModelBuilder___search_mmodule_by_name(self
, var_n_name
, var_mgroup
, var_mod_name
);
5488 if (var_mgroup
== NULL
) {
5489 var18
= 0; /* is null */
5491 var18
= 1; /* arg is null and recv is not */
5494 { /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
5495 var_other
= ((val
*)NULL
);
5497 var21
= ((short int(*)(val
* self
, val
* p0
))(var_mgroup
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mgroup
, var_other
); /* == on <var_mgroup:nullable MGroup(MGroup)>*/
5502 RET_LABEL20
:(void)0;
5508 { /* Inline mpackage#MGroup#mpackage (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
5509 var25
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:nullable MGroup(MGroup)> */
5510 if (unlikely(var25
== NULL
)) {
5511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
5512 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 69);
5516 RET_LABEL24
:(void)0;
5520 { /* Inline mpackage#MPackage#root (var23) on <var23:MPackage> */
5521 var28
= var23
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
; /* _root on <var23:MPackage> */
5523 RET_LABEL27
:(void)0;
5527 if (var_r
== NULL
) {
5528 var29
= 0; /* is null */
5530 var29
= 1; /* arg is null and recv is not */
5533 { /* Inline kernel#Object#!= (var_r,((val*)NULL)) on <var_r:nullable MGroup> */
5534 var_other
= ((val
*)NULL
);
5536 var32
= ((short int(*)(val
* self
, val
* p0
))(var_r
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_r
, var_other
); /* == on <var_r:nullable MGroup(MGroup)>*/
5541 RET_LABEL31
:(void)0;
5545 if (unlikely(!var29
)) {
5546 PRINT_ERROR("Runtime error: %s", "Assert failed");
5547 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 745);
5551 nitc__loader___ModelBuilder___scan_group(self
, var_r
); /* Direct call loader#ModelBuilder#scan_group on <self:ModelBuilder>*/
5554 var34
= nitc__loader___MGroup___mmodules_by_name(var_r
, var_mod_name
);
5557 var35
= NEW_core__Array(&type_core__Array__nitc__MModule
);
5559 core___core__Array___with_capacity(var35
, 1l); /* Direct call array#Array#with_capacity on <var35:Array[MModule]>*/
5564 var37
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_36
);
5569 var39
= ((short int(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_38
); /* is_ok on <var_38:IndexedIterator[MModule]>*/
5576 var40
= ((val
*(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_38
); /* item on <var_38:IndexedIterator[MModule]>*/
5580 var41
= nitc__loader___ModelBuilder___match_amodulename(self
, var_n_name
, var_x
);
5584 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_x
); /* Direct call array#AbstractArray#push on <var_:Array[MModule]>*/
5589 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_38
); /* next on <var_38:IndexedIterator[MModule]>*/
5592 BREAK_label
: (void)0;
5594 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_38
); /* finish on <var_38:IndexedIterator[MModule]>*/
5598 var42
= core___core__Collection___not_empty(var_res
);
5602 { /* Inline array#AbstractArrayRead#length (var_res) on <var_res:Array[MModule]> */
5603 var45
= var_res
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_res:Array[MModule]> */
5605 RET_LABEL44
:(void)0;
5609 { /* Inline kernel#Int#> (var43,1l) on <var43:Int> */
5610 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5611 /* <1l:Int> isa OTHER */
5612 var48
= 1; /* easy <1l:Int> isa OTHER*/
5613 if (unlikely(!var48
)) {
5614 var_class_name
= type_core__Int
.name
;
5615 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5616 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
5622 RET_LABEL47
:(void)0;
5626 if (unlikely(varonce
==NULL
)) {
5627 var50
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
5628 if (likely(varonce51
!=NULL
)) {
5631 var53
= "Error: conflicting module files for `";
5632 var54
= core__flat___NativeString___to_s_full(var53
, 37l, 37l);
5636 ((struct instance_core__NativeArray
*)var50
)->values
[0]=var52
;
5637 if (likely(varonce55
!=NULL
)) {
5641 var58
= core__flat___NativeString___to_s_full(var57
, 4l, 4l);
5645 ((struct instance_core__NativeArray
*)var50
)->values
[2]=var56
;
5646 if (likely(varonce59
!=NULL
)) {
5650 var62
= core__flat___NativeString___to_s_full(var61
, 1l, 1l);
5654 ((struct instance_core__NativeArray
*)var50
)->values
[4]=var60
;
5659 ((struct instance_core__NativeArray
*)var50
)->values
[1]=var_mod_name
;
5660 var63
= NEW_core__Array(&type_core__Array__core__String
);
5662 core___core__Array___with_capacity(var63
, 1l); /* Direct call array#Array#with_capacity on <var63:Array[String]>*/
5667 var66
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_65
);
5672 var68
= ((short int(*)(val
* self
))((((long)var_67
&3)?class_info
[((long)var_67
&3)]:var_67
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_67
); /* is_ok on <var_67:IndexedIterator[MModule]>*/
5679 var70
= ((val
*(*)(val
* self
))((((long)var_67
&3)?class_info
[((long)var_67
&3)]:var_67
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_67
); /* item on <var_67:IndexedIterator[MModule]>*/
5683 { /* Inline mmodule#MModule#filepath (var_x71) on <var_x71:MModule> */
5684 var75
= var_x71
->attrs
[COLOR_nitc__mmodule__MModule___filepath
].val
; /* _filepath on <var_x71:MModule> */
5686 RET_LABEL74
:(void)0;
5693 var76
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_x71
);
5698 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_64
, var72
); /* Direct call array#AbstractArray#push on <var_64:Array[String]>*/
5701 ((void(*)(val
* self
))((((long)var_67
&3)?class_info
[((long)var_67
&3)]:var_67
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_67
); /* next on <var_67:IndexedIterator[MModule]>*/
5704 BREAK_label69
: (void)0;
5706 ((void(*)(val
* self
))((((long)var_67
&3)?class_info
[((long)var_67
&3)]:var_67
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_67
); /* finish on <var_67:IndexedIterator[MModule]>*/
5708 if (likely(varonce77
!=NULL
)) {
5712 var80
= core__flat___NativeString___to_s_full(var79
, 4l, 4l);
5717 var81
= core__abstract_text___Collection___join(var_64
, var78
);
5719 ((struct instance_core__NativeArray
*)var50
)->values
[3]=var81
;
5721 var82
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var50
); /* native_to_s on <var50:NativeArray[String]>*/
5725 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var82
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
5730 var83
= core___core__SequenceRead___Collection__first(var_res
);
5739 { /* Inline parser_nodes#AModuleName#n_path (var_n_name) on <var_n_name:AModuleName> */
5740 var86
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var_n_name:AModuleName> */
5741 if (unlikely(var86
== NULL
)) {
5742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
5743 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2835);
5747 RET_LABEL85
:(void)0;
5751 var87
= core___core__SequenceRead___Collection__first(var84
);
5754 var88
= nitc__lexer_work___Token___text(var87
);
5756 var_root_name
= var88
;
5758 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
5759 var91
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
5760 if (unlikely(var91
== NULL
)) {
5761 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
5762 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
5766 RET_LABEL90
:(void)0;
5770 var92
= nitc__loader___ModelBuilder___search_group_in_paths(self
, var_root_name
, var89
);
5774 var93
= core___core__ArraySet___core__abstract_collection__Collection__is_empty(var_roots
);
5777 if (unlikely(varonce94
==NULL
)) {
5778 var95
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
5779 if (likely(varonce96
!=NULL
)) {
5782 var98
= "Error: cannot find `";
5783 var99
= core__flat___NativeString___to_s_full(var98
, 20l, 20l);
5787 ((struct instance_core__NativeArray
*)var95
)->values
[0]=var97
;
5788 if (likely(varonce100
!=NULL
)) {
5789 var101
= varonce100
;
5791 var102
= "`. Tried: ";
5792 var103
= core__flat___NativeString___to_s_full(var102
, 10l, 10l);
5794 varonce100
= var101
;
5796 ((struct instance_core__NativeArray
*)var95
)->values
[2]=var101
;
5797 if (likely(varonce104
!=NULL
)) {
5798 var105
= varonce104
;
5801 var107
= core__flat___NativeString___to_s_full(var106
, 1l, 1l);
5803 varonce104
= var105
;
5805 ((struct instance_core__NativeArray
*)var95
)->values
[4]=var105
;
5810 ((struct instance_core__NativeArray
*)var95
)->values
[1]=var_root_name
;
5812 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
5813 var110
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
5814 if (unlikely(var110
== NULL
)) {
5815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
5816 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
5820 RET_LABEL109
:(void)0;
5823 if (likely(varonce111
!=NULL
)) {
5824 var112
= varonce111
;
5827 var114
= core__flat___NativeString___to_s_full(var113
, 2l, 2l);
5829 varonce111
= var112
;
5832 var115
= core__abstract_text___Collection___join(var108
, var112
);
5834 ((struct instance_core__NativeArray
*)var95
)->values
[3]=var115
;
5836 var116
= ((val
*(*)(val
* self
))(var95
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var95
); /* native_to_s on <var95:NativeArray[String]>*/
5840 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var116
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
5846 var117
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MModule
);
5848 core___core__ArraySet___core__kernel__Object__init(var117
); /* Direct call array#ArraySet#init on <var117:ArraySet[MModule]>*/
5850 var_res118
= var117
;
5851 var_119
= var_roots
;
5853 var120
= core___core__ArraySet___core__abstract_collection__Collection__iterator(var_119
);
5858 var122
= ((short int(*)(val
* self
))((((long)var_121
&3)?class_info
[((long)var_121
&3)]:var_121
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_121
); /* is_ok on <var_121:Iterator[MGroup]>*/
5862 goto BREAK_label123
;
5865 var124
= ((val
*(*)(val
* self
))((((long)var_121
&3)?class_info
[((long)var_121
&3)]:var_121
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_121
); /* item on <var_121:Iterator[MGroup]>*/
5869 nitc__loader___ModelBuilder___scan_group(self
, var_r125
); /* Direct call loader#ModelBuilder#scan_group on <self:ModelBuilder>*/
5872 var126
= nitc__loader___MGroup___mmodules_by_name(var_r125
, var_mod_name
);
5874 var_root_res
= var126
;
5875 var_127
= var_root_res
;
5877 var128
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_127
);
5882 var130
= ((short int(*)(val
* self
))((((long)var_129
&3)?class_info
[((long)var_129
&3)]:var_129
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_129
); /* is_ok on <var_129:IndexedIterator[MModule]>*/
5886 goto BREAK_label131
;
5889 var132
= ((val
*(*)(val
* self
))((((long)var_129
&3)?class_info
[((long)var_129
&3)]:var_129
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_129
); /* item on <var_129:IndexedIterator[MModule]>*/
5893 var134
= nitc__loader___ModelBuilder___match_amodulename(self
, var_n_name
, var_x133
);
5897 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_res118
, var_x133
); /* Direct call array#ArraySet#add on <var_res118:ArraySet[MModule]>*/
5902 ((void(*)(val
* self
))((((long)var_129
&3)?class_info
[((long)var_129
&3)]:var_129
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_129
); /* next on <var_129:IndexedIterator[MModule]>*/
5905 BREAK_label131
: (void)0;
5907 ((void(*)(val
* self
))((((long)var_129
&3)?class_info
[((long)var_129
&3)]:var_129
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_129
); /* finish on <var_129:IndexedIterator[MModule]>*/
5910 ((void(*)(val
* self
))((((long)var_121
&3)?class_info
[((long)var_121
&3)]:var_121
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_121
); /* next on <var_121:Iterator[MGroup]>*/
5913 BREAK_label123
: (void)0;
5915 ((void(*)(val
* self
))((((long)var_121
&3)?class_info
[((long)var_121
&3)]:var_121
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_121
); /* finish on <var_121:Iterator[MGroup]>*/
5918 var135
= core___core__Collection___not_empty(var_res118
);
5922 var136
= core___core__ArraySet___core__abstract_collection__Collection__length(var_res118
);
5925 { /* Inline kernel#Int#> (var136,1l) on <var136:Int> */
5926 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5927 /* <1l:Int> isa OTHER */
5928 var139
= 1; /* easy <1l:Int> isa OTHER*/
5929 if (unlikely(!var139
)) {
5930 var_class_name142
= type_core__Int
.name
;
5931 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name142
);
5932 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
5935 var143
= var136
> 1l;
5938 RET_LABEL138
:(void)0;
5942 if (unlikely(varonce144
==NULL
)) {
5943 var145
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
5944 if (likely(varonce146
!=NULL
)) {
5945 var147
= varonce146
;
5947 var148
= "Error: conflicting module files for `";
5948 var149
= core__flat___NativeString___to_s_full(var148
, 37l, 37l);
5950 varonce146
= var147
;
5952 ((struct instance_core__NativeArray
*)var145
)->values
[0]=var147
;
5953 if (likely(varonce150
!=NULL
)) {
5954 var151
= varonce150
;
5957 var153
= core__flat___NativeString___to_s_full(var152
, 4l, 4l);
5959 varonce150
= var151
;
5961 ((struct instance_core__NativeArray
*)var145
)->values
[2]=var151
;
5962 if (likely(varonce154
!=NULL
)) {
5963 var155
= varonce154
;
5966 var157
= core__flat___NativeString___to_s_full(var156
, 1l, 1l);
5968 varonce154
= var155
;
5970 ((struct instance_core__NativeArray
*)var145
)->values
[4]=var155
;
5972 var145
= varonce144
;
5975 ((struct instance_core__NativeArray
*)var145
)->values
[1]=var_mod_name
;
5976 var158
= NEW_core__Array(&type_core__Array__core__String
);
5978 core___core__Array___with_capacity(var158
, 1l); /* Direct call array#Array#with_capacity on <var158:Array[String]>*/
5981 var_160
= var_res118
;
5983 var161
= core___core__ArraySet___core__abstract_collection__Collection__iterator(var_160
);
5988 var163
= ((short int(*)(val
* self
))((((long)var_162
&3)?class_info
[((long)var_162
&3)]:var_162
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_162
); /* is_ok on <var_162:Iterator[MModule]>*/
5992 goto BREAK_label164
;
5995 var165
= ((val
*(*)(val
* self
))((((long)var_162
&3)?class_info
[((long)var_162
&3)]:var_162
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_162
); /* item on <var_162:Iterator[MModule]>*/
5999 { /* Inline mmodule#MModule#filepath (var_x166) on <var_x166:MModule> */
6000 var170
= var_x166
->attrs
[COLOR_nitc__mmodule__MModule___filepath
].val
; /* _filepath on <var_x166:MModule> */
6002 RET_LABEL169
:(void)0;
6009 var171
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_x166
);
6014 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_159
, var167
); /* Direct call array#AbstractArray#push on <var_159:Array[String]>*/
6017 ((void(*)(val
* self
))((((long)var_162
&3)?class_info
[((long)var_162
&3)]:var_162
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_162
); /* next on <var_162:Iterator[MModule]>*/
6020 BREAK_label164
: (void)0;
6022 ((void(*)(val
* self
))((((long)var_162
&3)?class_info
[((long)var_162
&3)]:var_162
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_162
); /* finish on <var_162:Iterator[MModule]>*/
6024 if (likely(varonce172
!=NULL
)) {
6025 var173
= varonce172
;
6028 var175
= core__flat___NativeString___to_s_full(var174
, 4l, 4l);
6030 varonce172
= var173
;
6033 var176
= core__abstract_text___Collection___join(var_159
, var173
);
6035 ((struct instance_core__NativeArray
*)var145
)->values
[3]=var176
;
6037 var177
= ((val
*(*)(val
* self
))(var145
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var145
); /* native_to_s on <var145:NativeArray[String]>*/
6039 varonce144
= var145
;
6041 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var177
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
6046 var178
= core___core__ArraySet___core__abstract_collection__Collection__first(var_res118
);
6052 if (unlikely(varonce179
==NULL
)) {
6053 var180
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
6054 if (likely(varonce181
!=NULL
)) {
6055 var182
= varonce181
;
6057 var183
= "Error: cannot find module `";
6058 var184
= core__flat___NativeString___to_s_full(var183
, 27l, 27l);
6060 varonce181
= var182
;
6062 ((struct instance_core__NativeArray
*)var180
)->values
[0]=var182
;
6063 if (likely(varonce185
!=NULL
)) {
6064 var186
= varonce185
;
6066 var187
= "` from `";
6067 var188
= core__flat___NativeString___to_s_full(var187
, 8l, 8l);
6069 varonce185
= var186
;
6071 ((struct instance_core__NativeArray
*)var180
)->values
[2]=var186
;
6072 if (likely(varonce189
!=NULL
)) {
6073 var190
= varonce189
;
6075 var191
= "`. Tried: ";
6076 var192
= core__flat___NativeString___to_s_full(var191
, 10l, 10l);
6078 varonce189
= var190
;
6080 ((struct instance_core__NativeArray
*)var180
)->values
[4]=var190
;
6081 if (likely(varonce193
!=NULL
)) {
6082 var194
= varonce193
;
6085 var196
= core__flat___NativeString___to_s_full(var195
, 1l, 1l);
6087 varonce193
= var194
;
6089 ((struct instance_core__NativeArray
*)var180
)->values
[6]=var194
;
6091 var180
= varonce179
;
6094 ((struct instance_core__NativeArray
*)var180
)->values
[1]=var_mod_name
;
6095 ((struct instance_core__NativeArray
*)var180
)->values
[3]=var_root_name
;
6097 { /* Inline loader#ModelBuilder#paths (self) on <self:ModelBuilder> */
6098 var199
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
6099 if (unlikely(var199
== NULL
)) {
6100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
6101 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 208);
6105 RET_LABEL198
:(void)0;
6108 if (likely(varonce200
!=NULL
)) {
6109 var201
= varonce200
;
6112 var203
= core__flat___NativeString___to_s_full(var202
, 2l, 2l);
6114 varonce200
= var201
;
6117 var204
= core__abstract_text___Collection___join(var197
, var201
);
6119 ((struct instance_core__NativeArray
*)var180
)->values
[5]=var204
;
6121 var205
= ((val
*(*)(val
* self
))(var180
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var180
); /* native_to_s on <var180:NativeArray[String]>*/
6123 varonce179
= var180
;
6125 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var205
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
6132 /* method loader#ModelBuilder#match_amodulename for (self: ModelBuilder, AModuleName, MModule): Bool */
6133 short int nitc__loader___ModelBuilder___match_amodulename(val
* self
, val
* p0
, val
* p1
) {
6134 short int var
/* : Bool */;
6135 val
* var_n_name
/* var n_name: AModuleName */;
6136 val
* var_m
/* var m: MModule */;
6137 val
* var1
/* : nullable MGroup */;
6138 val
* var3
/* : nullable MGroup */;
6139 val
* var_g
/* var g: nullable MGroup */;
6140 val
* var4
/* : ANodes[TId] */;
6141 val
* var6
/* : ANodes[TId] */;
6142 val
* var7
/* : IndexedIterator[ANode] */;
6143 val
* var_
/* var : IndexedIterator[TId] */;
6144 val
* var8
/* : Iterator[nullable Object] */;
6145 val
* var_9
/* var : Iterator[TId] */;
6146 short int var10
/* : Bool */;
6147 val
* var11
/* : nullable Object */;
6148 val
* var_grp
/* var grp: TId */;
6149 short int var12
/* : Bool */;
6150 short int var13
/* : Bool */;
6151 short int var14
/* : Bool */;
6152 val
* var_other
/* var other: nullable Object */;
6153 short int var16
/* : Bool */;
6154 short int var17
/* : Bool */;
6155 short int var_18
/* var : Bool */;
6156 val
* var19
/* : String */;
6157 val
* var20
/* : String */;
6158 val
* var22
/* : String */;
6159 short int var23
/* : Bool */;
6160 short int var25
/* : Bool */;
6161 short int var26
/* : Bool */;
6162 val
* var27
/* : nullable MGroup */;
6163 val
* var29
/* : nullable MGroup */;
6164 short int var31
/* : Bool */;
6165 short int var32
/* : Bool */;
6166 short int var34
/* : Bool */;
6167 short int var35
/* : Bool */;
6171 { /* Inline mmodule#MModule#mgroup (var_m) on <var_m:MModule> */
6172 var3
= var_m
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_m:MModule> */
6179 { /* Inline parser_nodes#AModuleName#n_path (var_n_name) on <var_n_name:AModuleName> */
6180 var6
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var_n_name:AModuleName> */
6181 if (unlikely(var6
== NULL
)) {
6182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
6183 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2835);
6191 var7
= nitc___nitc__ANodes___core__abstract_collection__SequenceRead__reverse_iterator(var4
);
6195 var8
= core___core__Iterator___iterator(var_
);
6200 var10
= ((short int(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_9
); /* is_ok on <var_9:Iterator[TId]>*/
6207 var11
= ((val
*(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_9
); /* item on <var_9:Iterator[TId]>*/
6211 if (var_g
== NULL
) {
6212 var13
= 0; /* is null */
6214 var13
= 1; /* arg is null and recv is not */
6217 { /* Inline kernel#Object#!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
6218 var_other
= ((val
*)NULL
);
6220 var16
= ((short int(*)(val
* self
, val
* p0
))(var_g
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_g
, var_other
); /* == on <var_g:nullable MGroup(MGroup)>*/
6225 RET_LABEL15
:(void)0;
6232 var19
= nitc__lexer_work___Token___text(var_grp
);
6235 { /* Inline mpackage#MGroup#name (var_g) on <var_g:nullable MGroup(MGroup)> */
6236 var22
= var_g
->attrs
[COLOR_nitc__mpackage__MGroup___name
].val
; /* _name on <var_g:nullable MGroup(MGroup)> */
6237 if (unlikely(var22
== NULL
)) {
6238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6239 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 65);
6243 RET_LABEL21
:(void)0;
6247 { /* Inline kernel#Object#!= (var19,var20) on <var19:String> */
6250 var25
= ((short int(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var19
, var_other
); /* == on <var19:String>*/
6255 RET_LABEL24
:(void)0;
6264 { /* Inline mpackage#MGroup#parent (var_g) on <var_g:nullable MGroup(MGroup)> */
6265 var29
= var_g
->attrs
[COLOR_nitc__mpackage__MGroup___parent
].val
; /* _parent on <var_g:nullable MGroup(MGroup)> */
6267 RET_LABEL28
:(void)0;
6275 BREAK_label30
: (void)0;
6277 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_9
); /* next on <var_9:Iterator[TId]>*/
6280 BREAK_label
: (void)0;
6282 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_9
); /* finish on <var_9:Iterator[TId]>*/
6284 if (var_g
== NULL
) {
6285 var31
= 0; /* is null */
6287 var31
= 1; /* arg is null and recv is not */
6290 { /* Inline kernel#Object#!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
6291 var_other
= ((val
*)NULL
);
6293 var34
= ((short int(*)(val
* self
, val
* p0
))(var_g
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_g
, var_other
); /* == on <var_g:nullable MGroup(MGroup)>*/
6298 RET_LABEL33
:(void)0;
6307 /* method loader#ModelBuilder#build_module_importation for (self: ModelBuilder, AModule) */
6308 void nitc__loader___ModelBuilder___build_module_importation(val
* self
, val
* p0
) {
6309 val
* var_nmodule
/* var nmodule: AModule */;
6310 short int var
/* : Bool */;
6311 short int var2
/* : Bool */;
6312 val
* var4
/* : nullable MModule */;
6313 val
* var6
/* : nullable MModule */;
6314 val
* var_mmodule
/* var mmodule: MModule */;
6315 short int var_stdimport
/* var stdimport: Bool */;
6316 val
* var7
/* : Array[MModule] */;
6317 val
* var_imported_modules
/* var imported_modules: Array[MModule] */;
6318 val
* var8
/* : ANodes[AImport] */;
6319 val
* var10
/* : ANodes[AImport] */;
6320 val
* var_
/* var : ANodes[AImport] */;
6321 val
* var11
/* : Iterator[ANode] */;
6322 val
* var_12
/* var : Iterator[AImport] */;
6323 short int var13
/* : Bool */;
6324 val
* var14
/* : nullable Object */;
6325 val
* var_aimport
/* var aimport: AImport */;
6326 static val
* varonce
;
6327 val
* var15
/* : String */;
6328 char* var16
/* : NativeString */;
6329 val
* var17
/* : String */;
6330 val
* var18
/* : Array[AAnnotation] */;
6331 val
* var_atconditionals
/* var atconditionals: Array[AAnnotation] */;
6332 short int var19
/* : Bool */;
6333 short int var21
/* : Bool */;
6336 short int var22
/* : Bool */;
6337 val
* var23
/* : AModuleName */;
6338 val
* var25
/* : AModuleName */;
6339 val
* var26
/* : nullable MGroup */;
6340 val
* var28
/* : nullable MGroup */;
6341 val
* var29
/* : nullable MModule */;
6342 val
* var_sup
/* var sup: nullable MModule */;
6343 short int var30
/* : Bool */;
6344 short int var31
/* : Bool */;
6345 val
* var_other
/* var other: nullable Object */;
6346 short int var33
/* : Bool */;
6347 short int var35
/* : Bool */;
6348 val
* var38
/* : nullable AModule */;
6349 val
* var_ast
/* var ast: nullable AModule */;
6350 short int var39
/* : Bool */;
6351 short int var40
/* : Bool */;
6352 short int var42
/* : Bool */;
6353 short int var44
/* : Bool */;
6354 val
* var48
/* : AVisibility */;
6355 val
* var50
/* : AVisibility */;
6356 val
* var51
/* : MVisibility */;
6357 val
* var_mvisibility
/* var mvisibility: MVisibility */;
6358 val
* var52
/* : Sys */;
6359 val
* var53
/* : MVisibility */;
6360 short int var54
/* : Bool */;
6361 short int var56
/* : Bool */;
6362 short int var58
/* : Bool */;
6363 val
* var60
/* : AVisibility */;
6364 val
* var62
/* : AVisibility */;
6365 static val
* varonce63
;
6366 val
* var64
/* : String */;
6367 char* var65
/* : NativeString */;
6368 val
* var66
/* : String */;
6369 short int var69
/* : Bool */;
6370 short int var71
/* : Bool */;
6371 short int var73
/* : Bool */;
6372 val
* var74
/* : AModuleName */;
6373 val
* var76
/* : AModuleName */;
6374 val
* var78
/* : NativeArray[String] */;
6375 static val
* varonce77
;
6376 static val
* varonce79
;
6377 val
* var80
/* : String */;
6378 char* var81
/* : NativeString */;
6379 val
* var82
/* : String */;
6380 static val
* varonce83
;
6381 val
* var84
/* : String */;
6382 char* var85
/* : NativeString */;
6383 val
* var86
/* : String */;
6384 val
* var87
/* : String */;
6385 val
* var88
/* : String */;
6386 val
* var91
/* : POSetElement[MModule] */;
6387 val
* var93
/* : POSetElement[MModule] */;
6388 short int var94
/* : Bool */;
6389 val
* var95
/* : AModuleName */;
6390 val
* var97
/* : AModuleName */;
6391 val
* var99
/* : NativeArray[String] */;
6392 static val
* varonce98
;
6393 static val
* varonce100
;
6394 val
* var101
/* : String */;
6395 char* var102
/* : NativeString */;
6396 val
* var103
/* : String */;
6397 static val
* varonce104
;
6398 val
* var105
/* : String */;
6399 char* var106
/* : NativeString */;
6400 val
* var107
/* : String */;
6401 static val
* varonce108
;
6402 val
* var109
/* : String */;
6403 char* var110
/* : NativeString */;
6404 val
* var111
/* : String */;
6405 val
* var112
/* : String */;
6406 val
* var113
/* : String */;
6407 val
* var114
/* : String */;
6408 static val
* varonce117
;
6409 val
* var118
/* : String */;
6410 char* var119
/* : NativeString */;
6411 val
* var120
/* : String */;
6412 val
* var_mod_name
/* var mod_name: String */;
6413 val
* var121
/* : nullable MModule */;
6414 val
* var_sup122
/* var sup: nullable MModule */;
6415 short int var123
/* : Bool */;
6416 short int var124
/* : Bool */;
6417 short int var126
/* : Bool */;
6418 short int var128
/* : Bool */;
6419 val
* var131
/* : Sys */;
6420 val
* var132
/* : MVisibility */;
6421 val
* var133
/* : ANodes[AImport] */;
6422 val
* var135
/* : ANodes[AImport] */;
6423 val
* var_136
/* var : ANodes[AImport] */;
6424 val
* var137
/* : Iterator[ANode] */;
6425 val
* var_138
/* var : Iterator[AImport] */;
6426 short int var139
/* : Bool */;
6427 val
* var141
/* : nullable Object */;
6428 val
* var_aimport142
/* var aimport: AImport */;
6429 short int var143
/* : Bool */;
6432 short int var146
/* : Bool */;
6433 static val
* varonce148
;
6434 val
* var149
/* : String */;
6435 char* var150
/* : NativeString */;
6436 val
* var151
/* : String */;
6437 val
* var152
/* : Array[AAnnotation] */;
6438 val
* var_atconditionals153
/* var atconditionals: Array[AAnnotation] */;
6439 short int var154
/* : Bool */;
6440 val
* var155
/* : AModuleName */;
6441 val
* var157
/* : AModuleName */;
6442 val
* var158
/* : nullable MGroup */;
6443 val
* var160
/* : nullable MGroup */;
6444 val
* var161
/* : nullable MModule */;
6445 val
* var_suppath
/* var suppath: nullable MModule */;
6446 short int var162
/* : Bool */;
6447 short int var163
/* : Bool */;
6448 short int var165
/* : Bool */;
6449 short int var167
/* : Bool */;
6450 val
* var_168
/* var : Array[AAnnotation] */;
6451 val
* var169
/* : IndexedIterator[nullable Object] */;
6452 val
* var_170
/* var : IndexedIterator[AAnnotation] */;
6453 short int var171
/* : Bool */;
6454 val
* var173
/* : nullable Object */;
6455 val
* var_atconditional
/* var atconditional: AAnnotation */;
6456 val
* var174
/* : ANodes[AExpr] */;
6457 val
* var176
/* : ANodes[AExpr] */;
6458 val
* var_nargs
/* var nargs: ANodes[AExpr] */;
6459 short int var177
/* : Bool */;
6460 static val
* varonce178
;
6461 val
* var179
/* : String */;
6462 char* var180
/* : NativeString */;
6463 val
* var181
/* : String */;
6464 val
* var183
/* : Array[MModule] */;
6465 val
* var_rule
/* var rule: Array[MModule] */;
6466 val
* var_184
/* var : ANodes[AExpr] */;
6467 val
* var185
/* : Iterator[ANode] */;
6468 val
* var_186
/* var : Iterator[AExpr] */;
6469 short int var187
/* : Bool */;
6470 val
* var189
/* : nullable Object */;
6471 val
* var_narg
/* var narg: AExpr */;
6472 val
* var190
/* : nullable String */;
6473 val
* var_id
/* var id: nullable String */;
6474 short int var191
/* : Bool */;
6475 short int var192
/* : Bool */;
6476 static val
* varonce193
;
6477 val
* var194
/* : String */;
6478 char* var195
/* : NativeString */;
6479 val
* var196
/* : String */;
6480 val
* var198
/* : nullable MGroup */;
6481 val
* var200
/* : nullable MGroup */;
6482 val
* var201
/* : nullable MModule */;
6483 val
* var_mp
/* var mp: nullable MModule */;
6484 short int var202
/* : Bool */;
6485 short int var203
/* : Bool */;
6486 short int var205
/* : Bool */;
6487 short int var207
/* : Bool */;
6488 val
* var208
/* : Array[SequenceRead[MModule]] */;
6489 val
* var210
/* : Array[SequenceRead[MModule]] */;
6490 val
* var211
/* : ToolContext */;
6491 val
* var213
/* : ToolContext */;
6492 val
* var215
/* : NativeArray[String] */;
6493 static val
* varonce214
;
6494 static val
* varonce216
;
6495 val
* var217
/* : String */;
6496 char* var218
/* : NativeString */;
6497 val
* var219
/* : String */;
6498 val
* var220
/* : String */;
6499 val
* var221
/* : POSetElement[MModule] */;
6500 val
* var223
/* : POSetElement[MModule] */;
6501 val
* var224
/* : Collection[nullable Object] */;
6502 static val
* varonce225
;
6503 val
* var226
/* : String */;
6504 char* var227
/* : NativeString */;
6505 val
* var228
/* : String */;
6506 val
* var229
/* : String */;
6507 val
* var230
/* : String */;
6508 val
* var231
/* : POSetElement[MModule] */;
6509 val
* var233
/* : POSetElement[MModule] */;
6510 val
* var234
/* : Collection[nullable Object] */;
6511 val
* var_235
/* var : Collection[MModule] */;
6512 val
* var236
/* : Iterator[nullable Object] */;
6513 val
* var_237
/* var : Iterator[MModule] */;
6514 short int var238
/* : Bool */;
6515 val
* var240
/* : nullable Object */;
6516 val
* var_sup241
/* var sup: MModule */;
6517 val
* var242
/* : String */;
6518 val
* var244
/* : String */;
6519 static val
* varonce245
;
6520 val
* var246
/* : String */;
6521 char* var247
/* : NativeString */;
6522 val
* var248
/* : String */;
6523 short int var249
/* : Bool */;
6524 val
* var250
/* : Sys */;
6525 val
* var251
/* : MVisibility */;
6526 val
* var252
/* : POSetElement[MModule] */;
6527 val
* var254
/* : POSetElement[MModule] */;
6528 val
* var255
/* : Collection[nullable Object] */;
6529 val
* var_directs
/* var directs: Collection[MModule] */;
6530 val
* var256
/* : ANodes[AImport] */;
6531 val
* var258
/* : ANodes[AImport] */;
6532 val
* var_259
/* var : ANodes[AImport] */;
6533 val
* var260
/* : Iterator[ANode] */;
6534 val
* var_261
/* var : Iterator[AImport] */;
6535 short int var262
/* : Bool */;
6536 val
* var264
/* : nullable Object */;
6537 val
* var_nim
/* var nim: AImport */;
6538 short int var265
/* : Bool */;
6541 short int var268
/* : Bool */;
6542 val
* var270
/* : nullable MModule */;
6543 val
* var272
/* : nullable MModule */;
6544 val
* var_im
/* var im: nullable MModule */;
6545 short int var273
/* : Bool */;
6546 short int var274
/* : Bool */;
6547 short int var276
/* : Bool */;
6548 short int var278
/* : Bool */;
6549 short int var279
/* : Bool */;
6552 { /* Inline loader#AModule#is_importation_done (var_nmodule) on <var_nmodule:AModule> */
6553 var2
= var_nmodule
->attrs
[COLOR_nitc__loader__AModule___is_importation_done
].s
; /* _is_importation_done on <var_nmodule:AModule> */
6563 { /* Inline loader#AModule#is_importation_done= (var_nmodule,1) on <var_nmodule:AModule> */
6564 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___is_importation_done
].s
= 1; /* _is_importation_done on <var_nmodule:AModule> */
6569 { /* Inline loader#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
6570 var6
= var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
6575 if (unlikely(var4
== NULL
)) {
6576 PRINT_ERROR("Runtime error: %s", "Cast failed");
6577 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 813);
6582 var7
= NEW_core__Array(&type_core__Array__nitc__MModule
);
6584 core___core__Array___core__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[MModule]>*/
6586 var_imported_modules
= var7
;
6588 { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on <var_nmodule:AModule> */
6589 var10
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__AModule___n_imports
].val
; /* _n_imports on <var_nmodule:AModule> */
6590 if (unlikely(var10
== NULL
)) {
6591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
6592 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1056);
6601 var11
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_
);
6606 var13
= ((short int(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_12
); /* is_ok on <var_12:Iterator[AImport]>*/
6613 var14
= ((val
*(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_12
); /* item on <var_12:Iterator[AImport]>*/
6615 var_aimport
= var14
;
6616 if (likely(varonce
!=NULL
)) {
6619 var16
= "conditional";
6620 var17
= core__flat___NativeString___to_s_full(var16
, 11l, 11l);
6625 var18
= nitc___nitc__Prod___get_annotations(var_aimport
, var15
);
6627 var_atconditionals
= var18
;
6629 var19
= core___core__Collection___not_empty(var_atconditionals
);
6636 /* <var_aimport:AImport> isa AStdImport */
6637 cltype
= type_nitc__AStdImport
.color
;
6638 idtype
= type_nitc__AStdImport
.id
;
6639 if(cltype
>= var_aimport
->type
->table_size
) {
6642 var21
= var_aimport
->type
->type_table
[cltype
] == idtype
;
6650 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
6651 var25
= var_aimport
->attrs
[COLOR_nitc__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
6652 if (unlikely(var25
== NULL
)) {
6653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6654 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1104);
6658 RET_LABEL24
:(void)0;
6662 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
6663 var28
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
6665 RET_LABEL27
:(void)0;
6669 var29
= nitc__loader___ModelBuilder___seach_module_by_amodule_name(self
, var23
, var26
);
6672 if (var_sup
== NULL
) {
6673 var30
= 1; /* is null */
6675 var30
= 0; /* arg is null but recv is not */
6678 { /* Inline kernel#Object#== (var_sup,((val*)NULL)) on <var_sup:nullable MModule> */
6679 var_other
= ((val
*)NULL
);
6681 { /* Inline kernel#Object#is_same_instance (var_sup,var_other) on <var_sup:nullable MModule(MModule)> */
6682 var35
= var_sup
== var_other
;
6685 RET_LABEL34
:(void)0;
6690 RET_LABEL32
:(void)0;
6696 { /* Inline model_base#MEntity#is_broken= (var_mmodule,1) on <var_mmodule:MModule> */
6697 var_mmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <var_mmodule:MModule> */
6698 RET_LABEL36
:(void)0;
6702 { /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on <var_nmodule:AModule> */
6703 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= ((val
*)NULL
); /* _mmodule on <var_nmodule:AModule> */
6704 RET_LABEL37
:(void)0;
6711 var38
= nitc__loader___MModule___load(var_sup
, self
);
6714 if (var_ast
== NULL
) {
6715 var39
= 1; /* is null */
6717 var39
= 0; /* arg is null but recv is not */
6720 { /* Inline kernel#Object#== (var_ast,((val*)NULL)) on <var_ast:nullable AModule> */
6721 var_other
= ((val
*)NULL
);
6723 { /* Inline kernel#Object#is_same_instance (var_ast,var_other) on <var_ast:nullable AModule(AModule)> */
6724 var44
= var_ast
== var_other
;
6727 RET_LABEL43
:(void)0;
6732 RET_LABEL41
:(void)0;
6738 { /* Inline model_base#MEntity#is_broken= (var_mmodule,1) on <var_mmodule:MModule> */
6739 var_mmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <var_mmodule:MModule> */
6740 RET_LABEL45
:(void)0;
6744 { /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on <var_nmodule:AModule> */
6745 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= ((val
*)NULL
); /* _mmodule on <var_nmodule:AModule> */
6746 RET_LABEL46
:(void)0;
6753 { /* Inline loader#AStdImport#mmodule= (var_aimport,var_sup) on <var_aimport:AImport(AStdImport)> */
6754 var_aimport
->attrs
[COLOR_nitc__loader__AStdImport___mmodule
].val
= var_sup
; /* _mmodule on <var_aimport:AImport(AStdImport)> */
6755 RET_LABEL47
:(void)0;
6759 core___core__Array___core__abstract_collection__SimpleCollection__add(var_imported_modules
, var_sup
); /* Direct call array#Array#add on <var_imported_modules:Array[MModule]>*/
6762 { /* Inline parser_nodes#AImport#n_visibility (var_aimport) on <var_aimport:AImport(AStdImport)> */
6763 var50
= var_aimport
->attrs
[COLOR_nitc__parser_nodes__AImport___n_visibility
].val
; /* _n_visibility on <var_aimport:AImport(AStdImport)> */
6764 if (unlikely(var50
== NULL
)) {
6765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
6766 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1094);
6770 RET_LABEL49
:(void)0;
6774 var51
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_nitc__modelbuilder_base__AVisibility__mvisibility
]))(var48
); /* mvisibility on <var48:AVisibility>*/
6776 var_mvisibility
= var51
;
6779 var53
= nitc__model_base___core__Sys___protected_visibility(var52
);
6782 { /* Inline kernel#Object#== (var_mvisibility,var53) on <var_mvisibility:MVisibility> */
6785 { /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other) on <var_mvisibility:MVisibility> */
6786 var58
= var_mvisibility
== var_other
;
6789 RET_LABEL57
:(void)0;
6794 RET_LABEL55
:(void)0;
6799 { /* Inline model_base#MEntity#is_broken= (var_mmodule,1) on <var_mmodule:MModule> */
6800 var_mmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <var_mmodule:MModule> */
6801 RET_LABEL59
:(void)0;
6805 { /* Inline parser_nodes#AImport#n_visibility (var_aimport) on <var_aimport:AImport(AStdImport)> */
6806 var62
= var_aimport
->attrs
[COLOR_nitc__parser_nodes__AImport___n_visibility
].val
; /* _n_visibility on <var_aimport:AImport(AStdImport)> */
6807 if (unlikely(var62
== NULL
)) {
6808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility");
6809 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1094);
6813 RET_LABEL61
:(void)0;
6816 if (likely(varonce63
!=NULL
)) {
6819 var65
= "Error: only properties can be protected.";
6820 var66
= core__flat___NativeString___to_s_full(var65
, 40l, 40l);
6825 nitc___nitc__ModelBuilder___error(self
, var60
, var64
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
6828 { /* Inline model_base#MEntity#is_broken= (var_mmodule,1) on <var_mmodule:MModule> */
6829 var_mmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <var_mmodule:MModule> */
6830 RET_LABEL67
:(void)0;
6834 { /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on <var_nmodule:AModule> */
6835 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= ((val
*)NULL
); /* _mmodule on <var_nmodule:AModule> */
6836 RET_LABEL68
:(void)0;
6843 { /* Inline kernel#Object#== (var_sup,var_mmodule) on <var_sup:nullable MModule(MModule)> */
6844 var_other
= var_mmodule
;
6846 { /* Inline kernel#Object#is_same_instance (var_sup,var_other) on <var_sup:nullable MModule(MModule)> */
6847 var73
= var_sup
== var_other
;
6850 RET_LABEL72
:(void)0;
6855 RET_LABEL70
:(void)0;
6860 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
6861 var76
= var_aimport
->attrs
[COLOR_nitc__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
6862 if (unlikely(var76
== NULL
)) {
6863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6864 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1104);
6868 RET_LABEL75
:(void)0;
6871 if (unlikely(varonce77
==NULL
)) {
6872 var78
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
6873 if (likely(varonce79
!=NULL
)) {
6876 var81
= "Error: dependency loop in module ";
6877 var82
= core__flat___NativeString___to_s_full(var81
, 33l, 33l);
6881 ((struct instance_core__NativeArray
*)var78
)->values
[0]=var80
;
6882 if (likely(varonce83
!=NULL
)) {
6886 var86
= core__flat___NativeString___to_s_full(var85
, 1l, 1l);
6890 ((struct instance_core__NativeArray
*)var78
)->values
[2]=var84
;
6896 var87
= ((val
*(*)(val
* self
))(var_mmodule
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mmodule
); /* to_s on <var_mmodule:MModule>*/
6898 ((struct instance_core__NativeArray
*)var78
)->values
[1]=var87
;
6900 var88
= ((val
*(*)(val
* self
))(var78
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var78
); /* native_to_s on <var78:NativeArray[String]>*/
6904 nitc___nitc__ModelBuilder___error(self
, var74
, var88
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
6907 { /* Inline model_base#MEntity#is_broken= (var_mmodule,1) on <var_mmodule:MModule> */
6908 var_mmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <var_mmodule:MModule> */
6909 RET_LABEL89
:(void)0;
6913 { /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on <var_nmodule:AModule> */
6914 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= ((val
*)NULL
); /* _mmodule on <var_nmodule:AModule> */
6915 RET_LABEL90
:(void)0;
6921 { /* Inline mmodule#MModule#in_importation (var_sup) on <var_sup:nullable MModule(MModule)> */
6922 var93
= var_sup
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_sup:nullable MModule(MModule)> */
6923 if (unlikely(var93
== NULL
)) {
6924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
6925 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
6929 RET_LABEL92
:(void)0;
6933 var94
= poset___poset__POSetElement____60d(var91
, var_mmodule
);
6937 { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on <var_aimport:AImport(AStdImport)> */
6938 var97
= var_aimport
->attrs
[COLOR_nitc__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport:AImport(AStdImport)> */
6939 if (unlikely(var97
== NULL
)) {
6940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6941 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1104);
6945 RET_LABEL96
:(void)0;
6948 if (unlikely(varonce98
==NULL
)) {
6949 var99
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
6950 if (likely(varonce100
!=NULL
)) {
6951 var101
= varonce100
;
6953 var102
= "Error: dependency loop between modules ";
6954 var103
= core__flat___NativeString___to_s_full(var102
, 39l, 39l);
6956 varonce100
= var101
;
6958 ((struct instance_core__NativeArray
*)var99
)->values
[0]=var101
;
6959 if (likely(varonce104
!=NULL
)) {
6960 var105
= varonce104
;
6963 var107
= core__flat___NativeString___to_s_full(var106
, 5l, 5l);
6965 varonce104
= var105
;
6967 ((struct instance_core__NativeArray
*)var99
)->values
[2]=var105
;
6968 if (likely(varonce108
!=NULL
)) {
6969 var109
= varonce108
;
6972 var111
= core__flat___NativeString___to_s_full(var110
, 1l, 1l);
6974 varonce108
= var109
;
6976 ((struct instance_core__NativeArray
*)var99
)->values
[4]=var109
;
6982 var112
= ((val
*(*)(val
* self
))(var_mmodule
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mmodule
); /* to_s on <var_mmodule:MModule>*/
6984 ((struct instance_core__NativeArray
*)var99
)->values
[1]=var112
;
6986 var113
= ((val
*(*)(val
* self
))(var_sup
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sup
); /* to_s on <var_sup:nullable MModule(MModule)>*/
6988 ((struct instance_core__NativeArray
*)var99
)->values
[3]=var113
;
6990 var114
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
6994 nitc___nitc__ModelBuilder___error(self
, var95
, var114
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
6997 { /* Inline model_base#MEntity#is_broken= (var_mmodule,1) on <var_mmodule:MModule> */
6998 var_mmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <var_mmodule:MModule> */
6999 RET_LABEL115
:(void)0;
7003 { /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on <var_nmodule:AModule> */
7004 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= ((val
*)NULL
); /* _mmodule on <var_nmodule:AModule> */
7005 RET_LABEL116
:(void)0;
7012 nitc___nitc__MModule___set_visibility_for(var_mmodule
, var_sup
, var_mvisibility
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
7014 BREAK_label20
: (void)0;
7016 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_12
); /* next on <var_12:Iterator[AImport]>*/
7019 BREAK_label
: (void)0;
7021 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_12
); /* finish on <var_12:Iterator[AImport]>*/
7024 if (likely(varonce117
!=NULL
)) {
7025 var118
= varonce117
;
7028 var120
= core__flat___NativeString___to_s_full(var119
, 4l, 4l);
7030 varonce117
= var118
;
7032 var_mod_name
= var118
;
7034 var121
= nitc__loader___ModelBuilder___get_mmodule_by_name(self
, var_nmodule
, ((val
*)NULL
), var_mod_name
);
7036 var_sup122
= var121
;
7037 if (var_sup122
== NULL
) {
7038 var123
= 1; /* is null */
7040 var123
= 0; /* arg is null but recv is not */
7043 { /* Inline kernel#Object#== (var_sup122,((val*)NULL)) on <var_sup122:nullable MModule> */
7044 var_other
= ((val
*)NULL
);
7046 { /* Inline kernel#Object#is_same_instance (var_sup122,var_other) on <var_sup122:nullable MModule(MModule)> */
7047 var128
= var_sup122
== var_other
;
7050 RET_LABEL127
:(void)0;
7055 RET_LABEL125
:(void)0;
7061 { /* Inline model_base#MEntity#is_broken= (var_mmodule,1) on <var_mmodule:MModule> */
7062 var_mmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
= 1; /* _is_broken on <var_mmodule:MModule> */
7063 RET_LABEL129
:(void)0;
7067 { /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on <var_nmodule:AModule> */
7068 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= ((val
*)NULL
); /* _mmodule on <var_nmodule:AModule> */
7069 RET_LABEL130
:(void)0;
7074 core___core__Array___core__abstract_collection__SimpleCollection__add(var_imported_modules
, var_sup122
); /* Direct call array#Array#add on <var_imported_modules:Array[MModule]>*/
7078 var132
= nitc__model_base___core__Sys___public_visibility(var131
);
7081 nitc___nitc__MModule___set_visibility_for(var_mmodule
, var_sup122
, var132
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
7087 { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on <var_nmodule:AModule> */
7088 var135
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__AModule___n_imports
].val
; /* _n_imports on <var_nmodule:AModule> */
7089 if (unlikely(var135
== NULL
)) {
7090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
7091 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1056);
7095 RET_LABEL134
:(void)0;
7100 var137
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_136
);
7105 var139
= ((short int(*)(val
* self
))((((long)var_138
&3)?class_info
[((long)var_138
&3)]:var_138
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_138
); /* is_ok on <var_138:Iterator[AImport]>*/
7109 goto BREAK_label140
;
7112 var141
= ((val
*(*)(val
* self
))((((long)var_138
&3)?class_info
[((long)var_138
&3)]:var_138
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_138
); /* item on <var_138:Iterator[AImport]>*/
7114 var_aimport142
= var141
;
7115 /* <var_aimport142:AImport> isa AStdImport */
7116 cltype144
= type_nitc__AStdImport
.color
;
7117 idtype145
= type_nitc__AStdImport
.id
;
7118 if(cltype144
>= var_aimport142
->type
->table_size
) {
7121 var143
= var_aimport142
->type
->type_table
[cltype144
] == idtype145
;
7125 goto BREAK_label147
;
7128 if (likely(varonce148
!=NULL
)) {
7129 var149
= varonce148
;
7131 var150
= "conditional";
7132 var151
= core__flat___NativeString___to_s_full(var150
, 11l, 11l);
7134 varonce148
= var149
;
7137 var152
= nitc___nitc__Prod___get_annotations(var_aimport142
, var149
);
7139 var_atconditionals153
= var152
;
7141 var154
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_atconditionals153
);
7144 goto BREAK_label147
;
7148 { /* Inline parser_nodes#AStdImport#n_name (var_aimport142) on <var_aimport142:AImport(AStdImport)> */
7149 var157
= var_aimport142
->attrs
[COLOR_nitc__parser_nodes__AStdImport___n_name
].val
; /* _n_name on <var_aimport142:AImport(AStdImport)> */
7150 if (unlikely(var157
== NULL
)) {
7151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
7152 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1104);
7156 RET_LABEL156
:(void)0;
7160 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
7161 var160
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
7163 RET_LABEL159
:(void)0;
7167 var161
= nitc__loader___ModelBuilder___seach_module_by_amodule_name(self
, var155
, var158
);
7169 var_suppath
= var161
;
7170 if (var_suppath
== NULL
) {
7171 var162
= 1; /* is null */
7173 var162
= 0; /* arg is null but recv is not */
7176 { /* Inline kernel#Object#== (var_suppath,((val*)NULL)) on <var_suppath:nullable MModule> */
7177 var_other
= ((val
*)NULL
);
7179 { /* Inline kernel#Object#is_same_instance (var_suppath,var_other) on <var_suppath:nullable MModule(MModule)> */
7180 var167
= var_suppath
== var_other
;
7183 RET_LABEL166
:(void)0;
7188 RET_LABEL164
:(void)0;
7193 goto BREAK_label147
;
7196 var_168
= var_atconditionals153
;
7198 var169
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_168
);
7203 var171
= ((short int(*)(val
* self
))((((long)var_170
&3)?class_info
[((long)var_170
&3)]:var_170
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_170
); /* is_ok on <var_170:IndexedIterator[AAnnotation]>*/
7207 goto BREAK_label172
;
7210 var173
= ((val
*(*)(val
* self
))((((long)var_170
&3)?class_info
[((long)var_170
&3)]:var_170
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_170
); /* item on <var_170:IndexedIterator[AAnnotation]>*/
7212 var_atconditional
= var173
;
7214 { /* Inline parser_nodes#AAnnotation#n_args (var_atconditional) on <var_atconditional:AAnnotation> */
7215 var176
= var_atconditional
->attrs
[COLOR_nitc__parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <var_atconditional:AAnnotation> */
7216 if (unlikely(var176
== NULL
)) {
7217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
7218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2926);
7222 RET_LABEL175
:(void)0;
7227 var177
= nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var_nargs
);
7230 if (likely(varonce178
!=NULL
)) {
7231 var179
= varonce178
;
7233 var180
= "Syntax Error: `conditional` expects module identifiers as arguments.";
7234 var181
= core__flat___NativeString___to_s_full(var180
, 68l, 68l);
7236 varonce178
= var179
;
7239 nitc___nitc__ModelBuilder___error(self
, var_atconditional
, var179
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7241 goto BREAK_label182
;
7244 var183
= NEW_core__Array(&type_core__Array__nitc__MModule
);
7246 core___core__Array___core__kernel__Object__init(var183
); /* Direct call array#Array#init on <var183:Array[MModule]>*/
7250 core___core__Array___core__abstract_collection__SimpleCollection__add(var_rule
, var_suppath
); /* Direct call array#Array#add on <var_rule:Array[MModule]>*/
7253 core___core__Array___core__abstract_collection__SimpleCollection__add(var_rule
, var_mmodule
); /* Direct call array#Array#add on <var_rule:Array[MModule]>*/
7255 var_184
= var_nargs
;
7257 var185
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_184
);
7262 var187
= ((short int(*)(val
* self
))((((long)var_186
&3)?class_info
[((long)var_186
&3)]:var_186
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_186
); /* is_ok on <var_186:Iterator[AExpr]>*/
7266 goto BREAK_label188
;
7269 var189
= ((val
*(*)(val
* self
))((((long)var_186
&3)?class_info
[((long)var_186
&3)]:var_186
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_186
); /* item on <var_186:Iterator[AExpr]>*/
7273 var190
= nitc__parser_work___AExpr___as_id(var_narg
);
7276 if (var_id
== NULL
) {
7277 var191
= 1; /* is null */
7279 var191
= 0; /* arg is null but recv is not */
7282 var192
= ((short int(*)(val
* self
, val
* p0
))(var_id
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_id
, ((val
*)NULL
)); /* == on <var_id:nullable String>*/
7286 if (likely(varonce193
!=NULL
)) {
7287 var194
= varonce193
;
7289 var195
= "Syntax Error: `conditional` expects module identifier as arguments.";
7290 var196
= core__flat___NativeString___to_s_full(var195
, 67l, 67l);
7292 varonce193
= var194
;
7295 nitc___nitc__ModelBuilder___error(self
, var_narg
, var194
); /* Direct call modelbuilder_base#ModelBuilder#error on <self:ModelBuilder>*/
7297 goto BREAK_label197
;
7301 { /* Inline mmodule#MModule#mgroup (var_mmodule) on <var_mmodule:MModule> */
7302 var200
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_mmodule:MModule> */
7304 RET_LABEL199
:(void)0;
7308 var201
= nitc__loader___ModelBuilder___search_mmodule_by_name(self
, var_narg
, var198
, var_id
);
7311 if (var_mp
== NULL
) {
7312 var202
= 1; /* is null */
7314 var202
= 0; /* arg is null but recv is not */
7317 { /* Inline kernel#Object#== (var_mp,((val*)NULL)) on <var_mp:nullable MModule> */
7318 var_other
= ((val
*)NULL
);
7320 { /* Inline kernel#Object#is_same_instance (var_mp,var_other) on <var_mp:nullable MModule(MModule)> */
7321 var207
= var_mp
== var_other
;
7324 RET_LABEL206
:(void)0;
7329 RET_LABEL204
:(void)0;
7334 goto BREAK_label197
;
7338 core___core__Array___core__abstract_collection__SimpleCollection__add(var_rule
, var_mp
); /* Direct call array#Array#add on <var_rule:Array[MModule]>*/
7340 BREAK_label197
: (void)0;
7342 ((void(*)(val
* self
))((((long)var_186
&3)?class_info
[((long)var_186
&3)]:var_186
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_186
); /* next on <var_186:Iterator[AExpr]>*/
7345 BREAK_label188
: (void)0;
7347 ((void(*)(val
* self
))((((long)var_186
&3)?class_info
[((long)var_186
&3)]:var_186
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_186
); /* finish on <var_186:Iterator[AExpr]>*/
7350 { /* Inline loader#ModelBuilder#conditional_importations (self) on <self:ModelBuilder> */
7351 var210
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___conditional_importations
].val
; /* _conditional_importations on <self:ModelBuilder> */
7352 if (unlikely(var210
== NULL
)) {
7353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conditional_importations");
7354 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 944);
7358 RET_LABEL209
:(void)0;
7362 core___core__Array___core__abstract_collection__SimpleCollection__add(var208
, var_rule
); /* Direct call array#Array#add on <var208:Array[SequenceRead[MModule]]>*/
7364 BREAK_label182
: (void)0;
7366 ((void(*)(val
* self
))((((long)var_170
&3)?class_info
[((long)var_170
&3)]:var_170
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_170
); /* next on <var_170:IndexedIterator[AAnnotation]>*/
7369 BREAK_label172
: (void)0;
7371 ((void(*)(val
* self
))((((long)var_170
&3)?class_info
[((long)var_170
&3)]:var_170
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_170
); /* finish on <var_170:IndexedIterator[AAnnotation]>*/
7373 BREAK_label147
: (void)0;
7375 ((void(*)(val
* self
))((((long)var_138
&3)?class_info
[((long)var_138
&3)]:var_138
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_138
); /* next on <var_138:Iterator[AImport]>*/
7378 BREAK_label140
: (void)0;
7380 ((void(*)(val
* self
))((((long)var_138
&3)?class_info
[((long)var_138
&3)]:var_138
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_138
); /* finish on <var_138:Iterator[AImport]>*/
7383 nitc___nitc__MModule___set_imported_mmodules(var_mmodule
, var_imported_modules
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mmodule:MModule>*/
7386 nitc__loader___ModelBuilder___apply_conditional_importations(self
, var_mmodule
); /* Direct call loader#ModelBuilder#apply_conditional_importations on <self:ModelBuilder>*/
7389 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
7390 var213
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
7391 if (unlikely(var213
== NULL
)) {
7392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7393 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
7397 RET_LABEL212
:(void)0;
7400 if (unlikely(varonce214
==NULL
)) {
7401 var215
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
7402 if (likely(varonce216
!=NULL
)) {
7403 var217
= varonce216
;
7405 var218
= " imports ";
7406 var219
= core__flat___NativeString___to_s_full(var218
, 9l, 9l);
7408 varonce216
= var217
;
7410 ((struct instance_core__NativeArray
*)var215
)->values
[1]=var217
;
7412 var215
= varonce214
;
7416 var220
= ((val
*(*)(val
* self
))(var_mmodule
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mmodule
); /* to_s on <var_mmodule:MModule>*/
7418 ((struct instance_core__NativeArray
*)var215
)->values
[0]=var220
;
7420 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7421 var223
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7422 if (unlikely(var223
== NULL
)) {
7423 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7424 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
7428 RET_LABEL222
:(void)0;
7432 var224
= poset___poset__POSetElement___direct_greaters(var221
);
7434 if (likely(varonce225
!=NULL
)) {
7435 var226
= varonce225
;
7438 var228
= core__flat___NativeString___to_s_full(var227
, 2l, 2l);
7440 varonce225
= var226
;
7443 var229
= core__abstract_text___Collection___join(var224
, var226
);
7445 ((struct instance_core__NativeArray
*)var215
)->values
[2]=var229
;
7447 var230
= ((val
*(*)(val
* self
))(var215
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var215
); /* native_to_s on <var215:NativeArray[String]>*/
7449 varonce214
= var215
;
7451 nitc___nitc__ToolContext___info(var211
, var230
, 3l); /* Direct call toolcontext#ToolContext#info on <var211:ToolContext>*/
7454 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7455 var233
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7456 if (unlikely(var233
== NULL
)) {
7457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7458 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
7462 RET_LABEL232
:(void)0;
7466 var234
= poset___poset__POSetElement___greaters(var231
);
7470 var236
= ((val
*(*)(val
* self
))((((long)var_235
&3)?class_info
[((long)var_235
&3)]:var_235
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_235
); /* iterator on <var_235:Collection[MModule]>*/
7475 var238
= ((short int(*)(val
* self
))((((long)var_237
&3)?class_info
[((long)var_237
&3)]:var_237
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_237
); /* is_ok on <var_237:Iterator[MModule]>*/
7479 goto BREAK_label239
;
7482 var240
= ((val
*(*)(val
* self
))((((long)var_237
&3)?class_info
[((long)var_237
&3)]:var_237
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_237
); /* item on <var_237:Iterator[MModule]>*/
7484 var_sup241
= var240
;
7486 { /* Inline mmodule#MModule#name (var_sup241) on <var_sup241:MModule> */
7487 var244
= var_sup241
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_sup241:MModule> */
7488 if (unlikely(var244
== NULL
)) {
7489 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7490 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
7494 RET_LABEL243
:(void)0;
7497 if (likely(varonce245
!=NULL
)) {
7498 var246
= varonce245
;
7501 var248
= core__flat___NativeString___to_s_full(var247
, 4l, 4l);
7503 varonce245
= var246
;
7506 var249
= ((short int(*)(val
* self
, val
* p0
))(var242
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var242
, var246
); /* == on <var242:String>*/
7511 var251
= nitc__model_base___core__Sys___public_visibility(var250
);
7514 nitc___nitc__MModule___set_visibility_for(var_mmodule
, var_sup241
, var251
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
7519 ((void(*)(val
* self
))((((long)var_237
&3)?class_info
[((long)var_237
&3)]:var_237
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_237
); /* next on <var_237:Iterator[MModule]>*/
7522 BREAK_label239
: (void)0;
7524 ((void(*)(val
* self
))((((long)var_237
&3)?class_info
[((long)var_237
&3)]:var_237
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_237
); /* finish on <var_237:Iterator[MModule]>*/
7527 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7528 var254
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7529 if (unlikely(var254
== NULL
)) {
7530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7531 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
7535 RET_LABEL253
:(void)0;
7539 var255
= poset___poset__POSetElement___direct_greaters(var252
);
7541 var_directs
= var255
;
7543 { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on <var_nmodule:AModule> */
7544 var258
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__AModule___n_imports
].val
; /* _n_imports on <var_nmodule:AModule> */
7545 if (unlikely(var258
== NULL
)) {
7546 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports");
7547 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1056);
7551 RET_LABEL257
:(void)0;
7556 var260
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_259
);
7561 var262
= ((short int(*)(val
* self
))((((long)var_261
&3)?class_info
[((long)var_261
&3)]:var_261
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_261
); /* is_ok on <var_261:Iterator[AImport]>*/
7565 goto BREAK_label263
;
7568 var264
= ((val
*(*)(val
* self
))((((long)var_261
&3)?class_info
[((long)var_261
&3)]:var_261
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_261
); /* item on <var_261:Iterator[AImport]>*/
7571 /* <var_nim:AImport> isa AStdImport */
7572 cltype266
= type_nitc__AStdImport
.color
;
7573 idtype267
= type_nitc__AStdImport
.id
;
7574 if(cltype266
>= var_nim
->type
->table_size
) {
7577 var265
= var_nim
->type
->type_table
[cltype266
] == idtype267
;
7581 goto BREAK_label269
;
7585 { /* Inline loader#AStdImport#mmodule (var_nim) on <var_nim:AImport(AStdImport)> */
7586 var272
= var_nim
->attrs
[COLOR_nitc__loader__AStdImport___mmodule
].val
; /* _mmodule on <var_nim:AImport(AStdImport)> */
7588 RET_LABEL271
:(void)0;
7592 if (var_im
== NULL
) {
7593 var273
= 1; /* is null */
7595 var273
= 0; /* arg is null but recv is not */
7598 { /* Inline kernel#Object#== (var_im,((val*)NULL)) on <var_im:nullable MModule> */
7599 var_other
= ((val
*)NULL
);
7601 { /* Inline kernel#Object#is_same_instance (var_im,var_other) on <var_im:nullable MModule(MModule)> */
7602 var278
= var_im
== var_other
;
7605 RET_LABEL277
:(void)0;
7610 RET_LABEL275
:(void)0;
7615 goto BREAK_label269
;
7619 var279
= ((short int(*)(val
* self
, val
* p0
))((((long)var_directs
&3)?class_info
[((long)var_directs
&3)]:var_directs
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var_directs
, var_im
); /* has on <var_directs:Collection[MModule]>*/
7622 goto BREAK_label269
;
7625 BREAK_label269
: (void)0;
7627 ((void(*)(val
* self
))((((long)var_261
&3)?class_info
[((long)var_261
&3)]:var_261
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_261
); /* next on <var_261:Iterator[AImport]>*/
7630 BREAK_label263
: (void)0;
7632 ((void(*)(val
* self
))((((long)var_261
&3)?class_info
[((long)var_261
&3)]:var_261
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_261
); /* finish on <var_261:Iterator[AImport]>*/
7636 /* method loader#ModelBuilder#conditional_importations for (self: ModelBuilder): Array[SequenceRead[MModule]] */
7637 val
* nitc__loader___ModelBuilder___conditional_importations(val
* self
) {
7638 val
* var
/* : Array[SequenceRead[MModule]] */;
7639 val
* var1
/* : Array[SequenceRead[MModule]] */;
7640 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___conditional_importations
].val
; /* _conditional_importations on <self:ModelBuilder> */
7641 if (unlikely(var1
== NULL
)) {
7642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conditional_importations");
7643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 944);
7650 /* method loader#ModelBuilder#apply_conditional_importations for (self: ModelBuilder, MModule) */
7651 void nitc__loader___ModelBuilder___apply_conditional_importations(val
* self
, val
* p0
) {
7652 val
* var_mmodule
/* var mmodule: MModule */;
7653 short int var_check_conditional_importations
/* var check_conditional_importations: Bool */;
7654 val
* var
/* : Array[SequenceRead[MModule]] */;
7655 val
* var2
/* : Array[SequenceRead[MModule]] */;
7656 val
* var_
/* var : Array[SequenceRead[MModule]] */;
7657 val
* var3
/* : IndexedIterator[nullable Object] */;
7658 val
* var_4
/* var : IndexedIterator[SequenceRead[MModule]] */;
7659 short int var5
/* : Bool */;
7660 val
* var6
/* : nullable Object */;
7661 val
* var_ci
/* var ci: SequenceRead[MModule] */;
7662 long var_i
/* var i: Int */;
7663 long var7
/* : Int */;
7664 long var_8
/* var : Int */;
7665 short int var9
/* : Bool */;
7666 short int var11
/* : Bool */;
7669 const char* var_class_name
;
7670 short int var12
/* : Bool */;
7671 val
* var13
/* : nullable Object */;
7672 val
* var_m
/* var m: MModule */;
7673 val
* var14
/* : POSetElement[MModule] */;
7674 val
* var16
/* : POSetElement[MModule] */;
7675 val
* var17
/* : Collection[nullable Object] */;
7676 short int var18
/* : Bool */;
7677 short int var19
/* : Bool */;
7678 long var21
/* : Int */;
7679 val
* var22
/* : nullable Object */;
7680 val
* var_sup
/* var sup: MModule */;
7681 val
* var23
/* : nullable AModule */;
7682 val
* var_ast
/* var ast: nullable AModule */;
7683 short int var24
/* : Bool */;
7684 short int var25
/* : Bool */;
7685 val
* var_other
/* var other: nullable Object */;
7686 short int var27
/* : Bool */;
7687 short int var29
/* : Bool */;
7688 val
* var30
/* : POSetElement[MModule] */;
7689 val
* var32
/* : POSetElement[MModule] */;
7690 val
* var33
/* : Collection[nullable Object] */;
7691 short int var34
/* : Bool */;
7692 val
* var35
/* : ToolContext */;
7693 val
* var37
/* : ToolContext */;
7694 val
* var38
/* : NativeArray[String] */;
7695 static val
* varonce
;
7696 static val
* varonce39
;
7697 val
* var40
/* : String */;
7698 char* var41
/* : NativeString */;
7699 val
* var42
/* : String */;
7700 val
* var43
/* : String */;
7701 val
* var44
/* : String */;
7702 val
* var45
/* : String */;
7703 val
* var46
/* : Sys */;
7704 val
* var47
/* : MVisibility */;
7705 val
* var48
/* : Array[MModule] */;
7706 val
* var_49
/* var : Array[MModule] */;
7708 var_check_conditional_importations
= 1;
7710 if (var_check_conditional_importations
){
7711 var_check_conditional_importations
= 0;
7713 { /* Inline loader#ModelBuilder#conditional_importations (self) on <self:ModelBuilder> */
7714 var2
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___conditional_importations
].val
; /* _conditional_importations on <self:ModelBuilder> */
7715 if (unlikely(var2
== NULL
)) {
7716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conditional_importations");
7717 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 944);
7726 var3
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
7731 var5
= ((short int(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_4
); /* is_ok on <var_4:IndexedIterator[SequenceRead[MModule]]>*/
7738 var6
= ((val
*(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_4
); /* item on <var_4:IndexedIterator[SequenceRead[MModule]]>*/
7743 var7
= ((long(*)(val
* self
))((((long)var_ci
&3)?class_info
[((long)var_ci
&3)]:var_ci
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(var_ci
); /* length on <var_ci:SequenceRead[MModule]>*/
7748 { /* Inline kernel#Int#< (var_i,var_8) on <var_i:Int> */
7749 /* Covariant cast for argument 0 (i) <var_8:Int> isa OTHER */
7750 /* <var_8:Int> isa OTHER */
7751 var11
= 1; /* easy <var_8:Int> isa OTHER*/
7752 if (unlikely(!var11
)) {
7753 var_class_name
= type_core__Int
.name
;
7754 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7755 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
7758 var12
= var_i
< var_8
;
7761 RET_LABEL10
:(void)0;
7769 var13
= ((val
*(*)(val
* self
, long p0
))((((long)var_ci
&3)?class_info
[((long)var_ci
&3)]:var_ci
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var_ci
, var_i
); /* [] on <var_ci:SequenceRead[MModule]>*/
7773 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7774 var16
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7775 if (unlikely(var16
== NULL
)) {
7776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7777 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
7781 RET_LABEL15
:(void)0;
7785 var17
= poset___poset__POSetElement___greaters(var14
);
7788 var18
= ((short int(*)(val
* self
, val
* p0
))((((long)var17
&3)?class_info
[((long)var17
&3)]:var17
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var17
, var_m
); /* has on <var17:Collection[nullable Object](Collection[MModule])>*/
7796 var21
= core___core__Int___Discrete__successor(var_i
, 1l);
7800 BREAK_label
: (void)0;
7802 var22
= ((val
*(*)(val
* self
))((((long)var_ci
&3)?class_info
[((long)var_ci
&3)]:var_ci
->class)->vft
[COLOR_core__abstract_collection__Collection__first
]))(var_ci
); /* first on <var_ci:SequenceRead[MModule]>*/
7806 var23
= nitc__loader___MModule___load(var_sup
, self
);
7809 if (var_ast
== NULL
) {
7810 var24
= 1; /* is null */
7812 var24
= 0; /* arg is null but recv is not */
7815 { /* Inline kernel#Object#== (var_ast,((val*)NULL)) on <var_ast:nullable AModule> */
7816 var_other
= ((val
*)NULL
);
7818 { /* Inline kernel#Object#is_same_instance (var_ast,var_other) on <var_ast:nullable AModule(AModule)> */
7819 var29
= var_ast
== var_other
;
7822 RET_LABEL28
:(void)0;
7827 RET_LABEL26
:(void)0;
7836 { /* Inline mmodule#MModule#in_importation (var_mmodule) on <var_mmodule:MModule> */
7837 var32
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mmodule:MModule> */
7838 if (unlikely(var32
== NULL
)) {
7839 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
7840 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
7844 RET_LABEL31
:(void)0;
7848 var33
= poset___poset__POSetElement___greaters(var30
);
7851 var34
= ((short int(*)(val
* self
, val
* p0
))((((long)var33
&3)?class_info
[((long)var33
&3)]:var33
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var33
, var_sup
); /* has on <var33:Collection[nullable Object](Collection[MModule])>*/
7858 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
7859 var37
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
7860 if (unlikely(var37
== NULL
)) {
7861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7862 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
7866 RET_LABEL36
:(void)0;
7869 if (unlikely(varonce
==NULL
)) {
7870 var38
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
7871 if (likely(varonce39
!=NULL
)) {
7874 var41
= " conditionally imports ";
7875 var42
= core__flat___NativeString___to_s_full(var41
, 23l, 23l);
7879 ((struct instance_core__NativeArray
*)var38
)->values
[1]=var40
;
7885 var43
= ((val
*(*)(val
* self
))(var_mmodule
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mmodule
); /* to_s on <var_mmodule:MModule>*/
7887 ((struct instance_core__NativeArray
*)var38
)->values
[0]=var43
;
7889 var44
= ((val
*(*)(val
* self
))(var_sup
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_sup
); /* to_s on <var_sup:MModule>*/
7891 ((struct instance_core__NativeArray
*)var38
)->values
[2]=var44
;
7893 var45
= ((val
*(*)(val
* self
))(var38
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var38
); /* native_to_s on <var38:NativeArray[String]>*/
7897 nitc___nitc__ToolContext___info(var35
, var45
, 3l); /* Direct call toolcontext#ToolContext#info on <var35:ToolContext>*/
7901 var47
= nitc__model_base___core__Sys___public_visibility(var46
);
7904 nitc___nitc__MModule___set_visibility_for(var_mmodule
, var_sup
, var47
); /* Direct call mmodule#MModule#set_visibility_for on <var_mmodule:MModule>*/
7906 var48
= NEW_core__Array(&type_core__Array__nitc__MModule
);
7908 core___core__Array___with_capacity(var48
, 1l); /* Direct call array#Array#with_capacity on <var48:Array[MModule]>*/
7912 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_49
, var_sup
); /* Direct call array#AbstractArray#push on <var_49:Array[MModule]>*/
7915 nitc___nitc__MModule___set_imported_mmodules(var_mmodule
, var_49
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mmodule:MModule>*/
7917 var_check_conditional_importations
= 1;
7920 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_4
); /* next on <var_4:IndexedIterator[SequenceRead[MModule]]>*/
7925 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_4
); /* finish on <var_4:IndexedIterator[SequenceRead[MModule]]>*/
7931 BREAK_label50
: (void)0;
7934 /* method loader#ModelBuilder#nmodules for (self: ModelBuilder): Array[AModule] */
7935 val
* nitc__loader___ModelBuilder___nmodules(val
* self
) {
7936 val
* var
/* : Array[AModule] */;
7937 val
* var1
/* : Array[AModule] */;
7938 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___nmodules
].val
; /* _nmodules on <self:ModelBuilder> */
7939 if (unlikely(var1
== NULL
)) {
7940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
7941 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 995);
7948 /* method loader#ModelBuilder#mmodule2nmodule for (self: ModelBuilder): HashMap[MModule, AModule] */
7949 val
* nitc__loader___ModelBuilder___mmodule2nmodule(val
* self
) {
7950 val
* var
/* : HashMap[MModule, AModule] */;
7951 val
* var1
/* : HashMap[MModule, AModule] */;
7952 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
7953 if (unlikely(var1
== NULL
)) {
7954 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
7955 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 998);
7962 /* method loader#ModelBuilder#mmodule2node for (self: ModelBuilder, MModule): nullable AModule */
7963 val
* nitc__loader___ModelBuilder___mmodule2node(val
* self
, val
* p0
) {
7964 val
* var
/* : nullable AModule */;
7965 val
* var_mmodule
/* var mmodule: MModule */;
7966 val
* var1
/* : HashMap[MModule, AModule] */;
7967 val
* var3
/* : HashMap[MModule, AModule] */;
7968 val
* var4
/* : nullable Object */;
7971 { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on <self:ModelBuilder> */
7972 var3
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
7973 if (unlikely(var3
== NULL
)) {
7974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
7975 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 998);
7983 var4
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var1
, var_mmodule
);
7990 /* method loader#MModule#parse for (self: MModule, ModelBuilder): nullable AModule */
7991 val
* nitc__loader___MModule___parse(val
* self
, val
* p0
) {
7992 val
* var
/* : nullable AModule */;
7993 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7994 val
* var1
/* : HashMap[MModule, AModule] */;
7995 val
* var3
/* : HashMap[MModule, AModule] */;
7996 val
* var4
/* : nullable Object */;
7997 val
* var_nmodule
/* var nmodule: nullable AModule */;
7998 short int var5
/* : Bool */;
7999 short int var6
/* : Bool */;
8000 val
* var_other
/* var other: nullable Object */;
8001 short int var8
/* : Bool */;
8002 short int var9
/* : Bool */;
8003 val
* var10
/* : nullable String */;
8004 val
* var12
/* : nullable String */;
8005 val
* var_filepath
/* var filepath: nullable String */;
8006 short int var13
/* : Bool */;
8007 short int var14
/* : Bool */;
8008 short int var16
/* : Bool */;
8009 short int var17
/* : Bool */;
8010 val
* var18
/* : nullable AModule */;
8011 short int var19
/* : Bool */;
8012 short int var20
/* : Bool */;
8013 val
* var_other22
/* var other: nullable Object */;
8014 short int var23
/* : Bool */;
8015 short int var25
/* : Bool */;
8016 val
* var27
/* : Location */;
8017 val
* var29
/* : Location */;
8018 val
* var31
/* : nullable MGroup */;
8019 val
* var33
/* : nullable MGroup */;
8020 val
* var34
/* : Array[MModule] */;
8021 val
* var36
/* : Array[MModule] */;
8022 var_modelbuilder
= p0
;
8024 { /* Inline loader#ModelBuilder#mmodule2nmodule (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8025 var3
= var_modelbuilder
->attrs
[COLOR_nitc__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <var_modelbuilder:ModelBuilder> */
8026 if (unlikely(var3
== NULL
)) {
8027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
8028 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 998);
8036 var4
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var1
, self
);
8039 if (var_nmodule
== NULL
) {
8040 var5
= 0; /* is null */
8042 var5
= 1; /* arg is null and recv is not */
8045 { /* Inline kernel#Object#!= (var_nmodule,((val*)NULL)) on <var_nmodule:nullable AModule> */
8046 var_other
= ((val
*)NULL
);
8048 var8
= ((short int(*)(val
* self
, val
* p0
))(var_nmodule
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nmodule
, var_other
); /* == on <var_nmodule:nullable AModule(AModule)>*/
8063 { /* Inline mmodule#MModule#filepath (self) on <self:MModule> */
8064 var12
= self
->attrs
[COLOR_nitc__mmodule__MModule___filepath
].val
; /* _filepath on <self:MModule> */
8066 RET_LABEL11
:(void)0;
8069 var_filepath
= var10
;
8070 if (var_filepath
== NULL
) {
8071 var13
= 0; /* is null */
8073 var13
= 1; /* arg is null and recv is not */
8076 { /* Inline kernel#Object#!= (var_filepath,((val*)NULL)) on <var_filepath:nullable String> */
8077 var_other
= ((val
*)NULL
);
8079 var16
= ((short int(*)(val
* self
, val
* p0
))(var_filepath
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_filepath
, var_other
); /* == on <var_filepath:nullable String(String)>*/
8084 RET_LABEL15
:(void)0;
8088 if (unlikely(!var13
)) {
8089 PRINT_ERROR("Runtime error: %s", "Assert failed");
8090 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 1030);
8094 var18
= nitc__loader___ModelBuilder___load_module_ast(var_modelbuilder
, var_filepath
);
8096 var_nmodule
= var18
;
8097 if (var_nmodule
== NULL
) {
8098 var19
= 1; /* is null */
8100 var19
= 0; /* arg is null but recv is not */
8103 { /* Inline kernel#Object#== (var_nmodule,((val*)NULL)) on <var_nmodule:nullable AModule> */
8104 var_other22
= ((val
*)NULL
);
8106 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other22) on <var_nmodule:nullable AModule(AModule)> */
8107 var25
= var_nmodule
== var_other22
;
8110 RET_LABEL24
:(void)0;
8115 RET_LABEL21
:(void)0;
8125 { /* Inline loader#AModule#mmodule= (var_nmodule,self) on <var_nmodule:nullable AModule(AModule)> */
8126 var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= self
; /* _mmodule on <var_nmodule:nullable AModule(AModule)> */
8127 RET_LABEL26
:(void)0;
8131 { /* Inline parser_nodes#ANode#location (var_nmodule) on <var_nmodule:nullable AModule(AModule)> */
8132 var29
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_nmodule:nullable AModule(AModule)> */
8133 if (unlikely(var29
== NULL
)) {
8134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
8135 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 24);
8139 RET_LABEL28
:(void)0;
8143 { /* Inline mmodule#MModule#location= (self,var27) on <self:MModule> */
8144 self
->attrs
[COLOR_nitc__mmodule__MModule___location
].val
= var27
; /* _location on <self:MModule> */
8145 RET_LABEL30
:(void)0;
8149 { /* Inline mmodule#MModule#mgroup (self) on <self:MModule> */
8150 var33
= self
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <self:MModule> */
8152 RET_LABEL32
:(void)0;
8156 nitc__loader___ModelBuilder___build_a_mmodule(var_modelbuilder
, var31
, var_nmodule
); /* Direct call loader#ModelBuilder#build_a_mmodule on <var_modelbuilder:ModelBuilder>*/
8159 { /* Inline loader#ModelBuilder#parsed_modules (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
8160 var36
= var_modelbuilder
->attrs
[COLOR_nitc__loader__ModelBuilder___parsed_modules
].val
; /* _parsed_modules on <var_modelbuilder:ModelBuilder> */
8161 if (unlikely(var36
== NULL
)) {
8162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parsed_modules");
8163 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 320);
8167 RET_LABEL35
:(void)0;
8171 core___core__Array___core__abstract_collection__SimpleCollection__add(var34
, self
); /* Direct call array#Array#add on <var34:Array[MModule]>*/
8178 /* method loader#MModule#load for (self: MModule, ModelBuilder): nullable AModule */
8179 val
* nitc__loader___MModule___load(val
* self
, val
* p0
) {
8180 val
* var
/* : nullable AModule */;
8181 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
8182 val
* var1
/* : nullable AModule */;
8183 val
* var_nmodule
/* var nmodule: nullable AModule */;
8184 short int var2
/* : Bool */;
8185 short int var3
/* : Bool */;
8186 val
* var_other
/* var other: nullable Object */;
8187 short int var5
/* : Bool */;
8188 short int var7
/* : Bool */;
8189 var_modelbuilder
= p0
;
8191 var1
= nitc__loader___MModule___parse(self
, var_modelbuilder
);
8194 if (var_nmodule
== NULL
) {
8195 var2
= 1; /* is null */
8197 var2
= 0; /* arg is null but recv is not */
8200 { /* Inline kernel#Object#== (var_nmodule,((val*)NULL)) on <var_nmodule:nullable AModule> */
8201 var_other
= ((val
*)NULL
);
8203 { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
8204 var7
= var_nmodule
== var_other
;
8222 nitc__loader___ModelBuilder___build_module_importation(var_modelbuilder
, var_nmodule
); /* Direct call loader#ModelBuilder#build_module_importation on <var_modelbuilder:ModelBuilder>*/
8229 /* method loader#MPackage#ini= for (self: MPackage, nullable ConfigTree) */
8230 void nitc__loader___MPackage___ini_61d(val
* self
, val
* p0
) {
8231 self
->attrs
[COLOR_nitc__loader__MPackage___ini
].val
= p0
; /* _ini on <self:MPackage> */
8234 /* method loader#MGroup#scanned for (self: MGroup): Bool */
8235 short int nitc__loader___MGroup___scanned(val
* self
) {
8236 short int var
/* : Bool */;
8237 short int var1
/* : Bool */;
8238 var1
= self
->attrs
[COLOR_nitc__loader__MGroup___scanned
].s
; /* _scanned on <self:MGroup> */
8243 /* method loader#MGroup#scanned= for (self: MGroup, Bool) */
8244 void nitc__loader___MGroup___scanned_61d(val
* self
, short int p0
) {
8245 self
->attrs
[COLOR_nitc__loader__MGroup___scanned
].s
= p0
; /* _scanned on <self:MGroup> */
8248 /* method loader#MGroup#mmodules_by_name for (self: MGroup, String): Array[MModule] */
8249 val
* nitc__loader___MGroup___mmodules_by_name(val
* self
, val
* p0
) {
8250 val
* var
/* : Array[MModule] */;
8251 val
* var_name
/* var name: String */;
8252 val
* var1
/* : Array[MModule] */;
8253 val
* var_res
/* var res: Array[MModule] */;
8254 val
* var2
/* : POSetElement[MGroup] */;
8255 val
* var4
/* : POSetElement[MGroup] */;
8256 val
* var5
/* : Collection[nullable Object] */;
8257 val
* var_
/* var : Collection[MGroup] */;
8258 val
* var6
/* : Iterator[nullable Object] */;
8259 val
* var_7
/* var : Iterator[MGroup] */;
8260 short int var8
/* : Bool */;
8261 val
* var9
/* : nullable Object */;
8262 val
* var_g
/* var g: MGroup */;
8263 val
* var10
/* : Array[MModule] */;
8264 val
* var12
/* : Array[MModule] */;
8265 val
* var_13
/* var : Array[MModule] */;
8266 val
* var14
/* : IndexedIterator[nullable Object] */;
8267 val
* var_15
/* var : IndexedIterator[MModule] */;
8268 short int var16
/* : Bool */;
8269 val
* var18
/* : nullable Object */;
8270 val
* var_mp
/* var mp: MModule */;
8271 val
* var19
/* : String */;
8272 val
* var21
/* : String */;
8273 short int var22
/* : Bool */;
8275 var1
= NEW_core__Array(&type_core__Array__nitc__MModule
);
8277 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[MModule]>*/
8281 { /* Inline mpackage#MGroup#in_nesting (self) on <self:MGroup> */
8282 var4
= self
->attrs
[COLOR_nitc__mpackage__MGroup___in_nesting
].val
; /* _in_nesting on <self:MGroup> */
8283 if (unlikely(var4
== NULL
)) {
8284 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_nesting");
8285 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 85);
8293 var5
= poset___poset__POSetElement___smallers(var2
);
8297 var6
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MGroup]>*/
8302 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[MGroup]>*/
8309 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[MGroup]>*/
8313 { /* Inline mmodule#MGroup#mmodules (var_g) on <var_g:MGroup> */
8314 var12
= var_g
->attrs
[COLOR_nitc__mmodule__MGroup___mmodules
].val
; /* _mmodules on <var_g:MGroup> */
8315 if (unlikely(var12
== NULL
)) {
8316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules");
8317 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 55);
8321 RET_LABEL11
:(void)0;
8326 var14
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_13
);
8331 var16
= ((short int(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_15
); /* is_ok on <var_15:IndexedIterator[MModule]>*/
8338 var18
= ((val
*(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_15
); /* item on <var_15:IndexedIterator[MModule]>*/
8342 { /* Inline mmodule#MModule#name (var_mp) on <var_mp:MModule> */
8343 var21
= var_mp
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mp:MModule> */
8344 if (unlikely(var21
== NULL
)) {
8345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8346 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
8350 RET_LABEL20
:(void)0;
8354 var22
= ((short int(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var19
, var_name
); /* == on <var19:String>*/
8358 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var_mp
); /* Direct call array#Array#add on <var_res:Array[MModule]>*/
8363 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_15
); /* next on <var_15:IndexedIterator[MModule]>*/
8366 BREAK_label17
: (void)0;
8368 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_15
); /* finish on <var_15:IndexedIterator[MModule]>*/
8371 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[MGroup]>*/
8374 BREAK_label
: (void)0;
8376 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[MGroup]>*/
8383 /* method loader#SourceFile#mmodule for (self: SourceFile): nullable MModule */
8384 val
* nitc__loader___SourceFile___mmodule(val
* self
) {
8385 val
* var
/* : nullable MModule */;
8386 val
* var1
/* : nullable MModule */;
8387 var1
= self
->attrs
[COLOR_nitc__loader__SourceFile___mmodule
].val
; /* _mmodule on <self:SourceFile> */
8392 /* method loader#SourceFile#mmodule= for (self: SourceFile, nullable MModule) */
8393 void nitc__loader___SourceFile___mmodule_61d(val
* self
, val
* p0
) {
8394 self
->attrs
[COLOR_nitc__loader__SourceFile___mmodule
].val
= p0
; /* _mmodule on <self:SourceFile> */
8397 /* method loader#AStdImport#mmodule for (self: AStdImport): nullable MModule */
8398 val
* nitc__loader___AStdImport___mmodule(val
* self
) {
8399 val
* var
/* : nullable MModule */;
8400 val
* var1
/* : nullable MModule */;
8401 var1
= self
->attrs
[COLOR_nitc__loader__AStdImport___mmodule
].val
; /* _mmodule on <self:AStdImport> */
8406 /* method loader#AStdImport#mmodule= for (self: AStdImport, nullable MModule) */
8407 void nitc__loader___AStdImport___mmodule_61d(val
* self
, val
* p0
) {
8408 self
->attrs
[COLOR_nitc__loader__AStdImport___mmodule
].val
= p0
; /* _mmodule on <self:AStdImport> */
8411 /* method loader#AModule#mmodule for (self: AModule): nullable MModule */
8412 val
* nitc__loader___AModule___mmodule(val
* self
) {
8413 val
* var
/* : nullable MModule */;
8414 val
* var1
/* : nullable MModule */;
8415 var1
= self
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
; /* _mmodule on <self:AModule> */
8420 /* method loader#AModule#mmodule= for (self: AModule, nullable MModule) */
8421 void nitc__loader___AModule___mmodule_61d(val
* self
, val
* p0
) {
8422 self
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
= p0
; /* _mmodule on <self:AModule> */
8425 /* method loader#AModule#is_importation_done for (self: AModule): Bool */
8426 short int nitc__loader___AModule___is_importation_done(val
* self
) {
8427 short int var
/* : Bool */;
8428 short int var1
/* : Bool */;
8429 var1
= self
->attrs
[COLOR_nitc__loader__AModule___is_importation_done
].s
; /* _is_importation_done on <self:AModule> */
8434 /* method loader#AModule#is_importation_done= for (self: AModule, Bool) */
8435 void nitc__loader___AModule___is_importation_done_61d(val
* self
, short int p0
) {
8436 self
->attrs
[COLOR_nitc__loader__AModule___is_importation_done
].s
= p0
; /* _is_importation_done on <self:AModule> */