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 if(catchStack
.cursor
>= 0){
9 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 44);
19 /* method loader$ToolContext$opt_only_metamodel for (self: ToolContext): OptionBool */
20 val
* nitc__loader___ToolContext___opt_only_metamodel(val
* self
) {
21 val
* var
/* : OptionBool */;
22 val
* var1
/* : OptionBool */;
23 var1
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:ToolContext> */
24 if (unlikely(var1
== NULL
)) {
25 if(catchStack
.cursor
>= 0){
26 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
28 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
29 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 47);
36 /* method loader$ToolContext$opt_only_parse for (self: ToolContext): OptionBool */
37 val
* nitc__loader___ToolContext___opt_only_parse(val
* self
) {
38 val
* var
/* : OptionBool */;
39 val
* var1
/* : OptionBool */;
40 var1
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:ToolContext> */
41 if (unlikely(var1
== NULL
)) {
42 if(catchStack
.cursor
>= 0){
43 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
45 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
46 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 50);
53 /* method loader$ToolContext$init for (self: ToolContext) */
54 void nitc__loader___ToolContext___core__kernel__Object__init(val
* self
) {
55 val
* var
/* : OptionContext */;
56 val
* var2
/* : OptionContext */;
57 val
* var3
/* : OptionArray */;
58 val
* var5
/* : OptionArray */;
59 val
* var6
/* : OptionBool */;
60 val
* var8
/* : OptionBool */;
61 val
* var9
/* : OptionBool */;
62 val
* var11
/* : OptionBool */;
63 val
* var12
/* : Array[Option] */;
64 val
* var13
/* : NativeArray[Option] */;
66 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__loader___ToolContext___core__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
69 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
70 var2
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
71 if (unlikely(var2
== NULL
)) {
72 if(catchStack
.cursor
>= 0){
73 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
75 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
76 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
84 { /* Inline loader$ToolContext$opt_path (self) on <self:ToolContext> */
85 var5
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_path
].val
; /* _opt_path on <self:ToolContext> */
86 if (unlikely(var5
== NULL
)) {
87 if(catchStack
.cursor
>= 0){
88 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
90 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
91 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 44);
99 { /* Inline loader$ToolContext$opt_only_parse (self) on <self:ToolContext> */
100 var8
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <self:ToolContext> */
101 if (unlikely(var8
== NULL
)) {
102 if(catchStack
.cursor
>= 0){
103 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
106 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 50);
114 { /* Inline loader$ToolContext$opt_only_metamodel (self) on <self:ToolContext> */
115 var11
= self
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_metamodel
].val
; /* _opt_only_metamodel on <self:ToolContext> */
116 if (unlikely(var11
== NULL
)) {
117 if(catchStack
.cursor
>= 0){
118 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel");
121 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 47);
128 var12
= NEW_core__Array(&type_core__Array__opts__Option
);
129 { /* var12 = array_instance Array[Option] */
130 var13
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__opts__Option
);
131 ((struct instance_core__NativeArray
*)var13
)->values
[0] = (val
*) var3
;
132 ((struct instance_core__NativeArray
*)var13
)->values
[1] = (val
*) var6
;
133 ((struct instance_core__NativeArray
*)var13
)->values
[2] = (val
*) var9
;
135 ((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]>*/
139 opts___opts__OptionContext___add_option(var
, var12
); /* Direct call opts$OptionContext$add_option on <var:OptionContext>*/
143 /* method loader$ModelBuilder$init for (self: ModelBuilder) */
144 void nitc__loader___ModelBuilder___core__kernel__Object__init(val
* self
) {
145 val
* var
/* : Array[String] */;
146 val
* var2
/* : Array[String] */;
147 val
* var3
/* : ToolContext */;
148 val
* var5
/* : ToolContext */;
149 val
* var6
/* : OptionArray */;
150 val
* var8
/* : OptionArray */;
151 val
* var9
/* : nullable Object */;
152 val
* var11
/* : nullable Object */;
154 val
* var12
/* : String */;
155 char* var13
/* : CString */;
156 val
* var14
/* : String */;
157 val
* var15
/* : nullable Int */;
158 val
* var16
/* : nullable Int */;
159 val
* var17
/* : nullable Bool */;
160 val
* var18
/* : nullable Bool */;
161 val
* var19
/* : String */;
162 val
* var_path_env
/* var path_env: String */;
163 short int var20
/* : Bool */;
164 short int var21
/* : Bool */;
165 val
* var22
/* : Array[String] */;
166 val
* var24
/* : Array[String] */;
167 val
* var25
/* : Array[String] */;
168 val
* var26
/* : Pattern */;
169 val
* var27
/* : ToolContext */;
170 val
* var29
/* : ToolContext */;
171 val
* var30
/* : nullable String */;
172 val
* var32
/* : nullable String */;
173 val
* var_nit_dir
/* var nit_dir: nullable String */;
174 short int var33
/* : Bool */;
175 short int var34
/* : Bool */;
176 val
* var_other
/* var other: nullable Object */;
177 short int var36
/* : Bool */;
178 short int var37
/* : Bool */;
179 static val
* varonce38
;
180 val
* var39
/* : String */;
181 char* var40
/* : CString */;
182 val
* var41
/* : String */;
183 val
* var42
/* : nullable Int */;
184 val
* var43
/* : nullable Int */;
185 val
* var44
/* : nullable Bool */;
186 val
* var45
/* : nullable Bool */;
187 val
* var46
/* : String */;
188 val
* var_libname
/* var libname: String */;
189 short int var47
/* : Bool */;
190 val
* var48
/* : Array[String] */;
191 val
* var50
/* : Array[String] */;
192 static val
* varonce51
;
193 val
* var52
/* : String */;
194 char* var53
/* : CString */;
195 val
* var54
/* : String */;
196 val
* var55
/* : nullable Int */;
197 val
* var56
/* : nullable Int */;
198 val
* var57
/* : nullable Bool */;
199 val
* var58
/* : nullable Bool */;
200 val
* var59
/* : String */;
201 short int var60
/* : Bool */;
202 val
* var61
/* : Array[String] */;
203 val
* var63
/* : Array[String] */;
205 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__loader___ModelBuilder___core__kernel__Object__init
]))(self
); /* init on <self:ModelBuilder>*/
208 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
209 var2
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
210 if (unlikely(var2
== NULL
)) {
211 if(catchStack
.cursor
>= 0){
212 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
215 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
223 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
224 var5
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
225 if (unlikely(var5
== NULL
)) {
226 if(catchStack
.cursor
>= 0){
227 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
230 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
238 { /* Inline loader$ToolContext$opt_path (var3) on <var3:ToolContext> */
239 var8
= var3
->attrs
[COLOR_nitc__loader__ToolContext___opt_path
].val
; /* _opt_path on <var3:ToolContext> */
240 if (unlikely(var8
== NULL
)) {
241 if(catchStack
.cursor
>= 0){
242 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path");
245 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 44);
253 { /* Inline opts$Option$value (var6) on <var6:OptionArray> */
254 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionArray> */
260 core___core__Sequence___append(var
, var9
); /* Direct call abstract_collection$Sequence$append on <var:Array[String]>*/
262 if (likely(varonce
!=NULL
)) {
266 var15
= (val
*)(8l<<2|1);
267 var16
= (val
*)(8l<<2|1);
268 var17
= (val
*)((long)(0)<<2|3);
269 var18
= (val
*)((long)(0)<<2|3);
270 var14
= core__flat___CString___to_s_unsafe(var13
, var15
, var16
, var17
, var18
);
275 var19
= core__environ___String___environ(var12
);
277 var_path_env
= var19
;
279 var20
= ((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>*/
284 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
285 var24
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
286 if (unlikely(var24
== NULL
)) {
287 if(catchStack
.cursor
>= 0){
288 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
291 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
299 var26
= (val
*)((long)(':')<<2|2);
300 var25
= core__string_search___Text___split_with(var_path_env
, var26
);
303 core___core__Sequence___append(var22
, var25
); /* Direct call abstract_collection$Sequence$append on <var22:Array[String]>*/
308 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
309 var29
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
310 if (unlikely(var29
== NULL
)) {
311 if(catchStack
.cursor
>= 0){
312 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
315 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
323 { /* Inline toolcontext$ToolContext$nit_dir (var27) on <var27:ToolContext> */
324 var32
= var27
->attrs
[COLOR_nitc__toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var27:ToolContext> */
330 if (var_nit_dir
== NULL
) {
331 var33
= 0; /* is null */
333 var33
= 1; /* arg is null and recv is not */
336 { /* Inline kernel$Object$!= (var_nit_dir,((val*)NULL)) on <var_nit_dir:nullable String> */
337 var_other
= ((val
*)NULL
);
339 var36
= ((short int(*)(val
* self
, val
* p0
))(var_nit_dir
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nit_dir
, var_other
); /* == on <var_nit_dir:nullable String(String)>*/
349 if (likely(varonce38
!=NULL
)) {
353 var42
= (val
*)(3l<<2|1);
354 var43
= (val
*)(3l<<2|1);
355 var44
= (val
*)((long)(0)<<2|3);
356 var45
= (val
*)((long)(0)<<2|3);
357 var41
= core__flat___CString___to_s_unsafe(var40
, var42
, var43
, var44
, var45
);
362 var46
= core__file___String____47d(var_nit_dir
, var39
);
366 var47
= core__file___Text___file_exists(var_libname
);
370 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
371 var50
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
372 if (unlikely(var50
== NULL
)) {
373 if(catchStack
.cursor
>= 0){
374 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
377 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
385 core___core__Array___core__abstract_collection__SimpleCollection__add(var48
, var_libname
); /* Direct call array$Array$add on <var48:Array[String]>*/
389 if (likely(varonce51
!=NULL
)) {
393 var55
= (val
*)(7l<<2|1);
394 var56
= (val
*)(7l<<2|1);
395 var57
= (val
*)((long)(0)<<2|3);
396 var58
= (val
*)((long)(0)<<2|3);
397 var54
= core__flat___CString___to_s_unsafe(var53
, var55
, var56
, var57
, var58
);
402 var59
= core__file___String____47d(var_nit_dir
, var52
);
406 var60
= core__file___Text___file_exists(var_libname
);
410 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
411 var63
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
412 if (unlikely(var63
== NULL
)) {
413 if(catchStack
.cursor
>= 0){
414 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
417 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
425 core___core__Array___core__abstract_collection__SimpleCollection__add(var61
, var_libname
); /* Direct call array$Array$add on <var61:Array[String]>*/
433 /* method loader$ModelBuilder$parse for (self: ModelBuilder, Sequence[String]): Array[MModule] */
434 val
* nitc__loader___ModelBuilder___parse(val
* self
, val
* p0
) {
435 val
* var
/* : Array[MModule] */;
436 val
* var_modules
/* var modules: Sequence[String] */;
437 val
* var1
/* : Sys */;
438 long var2
/* : Int */;
439 long var4
/* : Int */;
440 long var_time0
/* var time0: Int */;
441 val
* var5
/* : ToolContext */;
442 val
* var7
/* : ToolContext */;
444 val
* var8
/* : String */;
445 char* var9
/* : CString */;
446 val
* var10
/* : String */;
447 val
* var11
/* : nullable Int */;
448 val
* var12
/* : nullable Int */;
449 val
* var13
/* : nullable Bool */;
450 val
* var14
/* : nullable Bool */;
451 val
* var15
/* : ArraySet[MModule] */;
452 val
* var_mmodules
/* var mmodules: ArraySet[MModule] */;
453 val
* var_
/* var : Sequence[String] */;
454 val
* var16
/* : Iterator[nullable Object] */;
455 val
* var_17
/* var : IndexedIterator[String] */;
456 short int var18
/* : Bool */;
457 val
* var19
/* : nullable Object */;
458 val
* var_a
/* var a: String */;
459 val
* var20
/* : nullable AModule */;
460 val
* var_nmodule
/* var nmodule: nullable AModule */;
461 short int var21
/* : Bool */;
462 short int var22
/* : Bool */;
463 val
* var_other
/* var other: nullable Object */;
464 short int var24
/* : Bool */;
465 short int var26
/* : Bool */;
466 val
* var28
/* : nullable MModule */;
467 val
* var30
/* : nullable MModule */;
468 val
* var_mmodule
/* var mmodule: nullable MModule */;
469 short int var31
/* : Bool */;
470 short int var32
/* : Bool */;
471 short int var34
/* : Bool */;
472 short int var36
/* : Bool */;
473 val
* var37
/* : Sys */;
474 long var38
/* : Int */;
475 long var40
/* : Int */;
476 long var_time1
/* var time1: Int */;
477 val
* var41
/* : ToolContext */;
478 val
* var43
/* : ToolContext */;
479 val
* var45
/* : NativeArray[String] */;
480 static val
* varonce44
;
481 static val
* varonce46
;
482 val
* var47
/* : String */;
483 char* var48
/* : CString */;
484 val
* var49
/* : String */;
485 val
* var50
/* : nullable Int */;
486 val
* var51
/* : nullable Int */;
487 val
* var52
/* : nullable Bool */;
488 val
* var53
/* : nullable Bool */;
489 static val
* varonce54
;
490 val
* var55
/* : String */;
491 char* var56
/* : CString */;
492 val
* var57
/* : String */;
493 val
* var58
/* : nullable Int */;
494 val
* var59
/* : nullable Int */;
495 val
* var60
/* : nullable Bool */;
496 val
* var61
/* : nullable Bool */;
497 long var62
/* : Int */;
498 short int var64
/* : Bool */;
501 const char* var_class_name
;
502 long var65
/* : Int */;
503 val
* var66
/* : String */;
504 val
* var67
/* : String */;
505 val
* var68
/* : ToolContext */;
506 val
* var70
/* : ToolContext */;
507 short int var71
/* : Bool */;
508 val
* var72
/* : ToolContext */;
509 val
* var74
/* : ToolContext */;
510 val
* var75
/* : OptionBool */;
511 val
* var77
/* : OptionBool */;
512 val
* var78
/* : nullable Object */;
513 val
* var80
/* : nullable Object */;
514 short int var81
/* : Bool */;
515 val
* var82
/* : ToolContext */;
516 val
* var84
/* : ToolContext */;
517 static val
* varonce85
;
518 val
* var86
/* : String */;
519 char* var87
/* : CString */;
520 val
* var88
/* : String */;
521 val
* var89
/* : nullable Int */;
522 val
* var90
/* : nullable Int */;
523 val
* var91
/* : nullable Bool */;
524 val
* var92
/* : nullable Bool */;
525 val
* var93
/* : ToolContext */;
526 val
* var95
/* : ToolContext */;
527 val
* var96
/* : Array[nullable Object] */;
531 { /* Inline time$Sys$get_time (var1) on <var1:Sys> */
532 struct nitni_instance
* var_for_c_0
;
533 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
534 var_for_c_0
->value
= var1
;
535 var4
= core__time___Sys_get_time___impl(var_for_c_0
);
543 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
544 var7
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
545 if (unlikely(var7
== NULL
)) {
546 if(catchStack
.cursor
>= 0){
547 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
550 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
557 if (likely(varonce
!=NULL
)) {
560 var9
= "*** PARSE ***";
561 var11
= (val
*)(13l<<2|1);
562 var12
= (val
*)(13l<<2|1);
563 var13
= (val
*)((long)(0)<<2|3);
564 var14
= (val
*)((long)(0)<<2|3);
565 var10
= core__flat___CString___to_s_unsafe(var9
, var11
, var12
, var13
, var14
);
570 nitc___nitc__ToolContext___info(var5
, var8
, 1l); /* Direct call toolcontext$ToolContext$info on <var5:ToolContext>*/
572 var15
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MModule
);
574 core___core__ArraySet___core__kernel__Object__init(var15
); /* Direct call array$ArraySet$init on <var15:ArraySet[MModule]>*/
576 var_mmodules
= var15
;
579 var16
= ((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]>*/
584 var18
= ((short int(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_17
); /* is_ok on <var_17:IndexedIterator[String]>*/
591 var19
= ((val
*(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_17
); /* item on <var_17:IndexedIterator[String]>*/
595 var20
= nitc__loader___ModelBuilder___load_module(self
, var_a
);
598 if (var_nmodule
== NULL
) {
599 var21
= 1; /* is null */
601 var21
= 0; /* arg is null but recv is not */
604 { /* Inline kernel$Object$== (var_nmodule,((val*)NULL)) on <var_nmodule:nullable AModule> */
605 var_other
= ((val
*)NULL
);
607 { /* Inline kernel$Object$is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
608 var26
= var_nmodule
== var_other
;
625 { /* Inline loader$AModule$mmodule (var_nmodule) on <var_nmodule:nullable AModule(AModule)> */
626 var30
= var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:nullable AModule(AModule)> */
632 if (var_mmodule
== NULL
) {
633 var31
= 1; /* is null */
635 var31
= 0; /* arg is null but recv is not */
638 { /* Inline kernel$Object$== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
639 var_other
= ((val
*)NULL
);
641 { /* Inline kernel$Object$is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
642 var36
= var_mmodule
== var_other
;
659 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_mmodules
, var_mmodule
); /* Direct call array$ArraySet$add on <var_mmodules:ArraySet[MModule]>*/
661 BREAK_label27
: (void)0;
663 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_17
); /* next on <var_17:IndexedIterator[String]>*/
666 BREAK_label
: (void)0;
668 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_17
); /* finish on <var_17:IndexedIterator[String]>*/
672 { /* Inline time$Sys$get_time (var37) on <var37:Sys> */
673 struct nitni_instance
* var_for_c_0
;
674 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
675 var_for_c_0
->value
= var37
;
676 var40
= core__time___Sys_get_time___impl(var_for_c_0
);
684 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
685 var43
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
686 if (unlikely(var43
== NULL
)) {
687 if(catchStack
.cursor
>= 0){
688 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
691 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
698 if (unlikely(varonce44
==NULL
)) {
699 var45
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
700 if (likely(varonce46
!=NULL
)) {
703 var48
= "*** END PARSE: ";
704 var50
= (val
*)(15l<<2|1);
705 var51
= (val
*)(15l<<2|1);
706 var52
= (val
*)((long)(0)<<2|3);
707 var53
= (val
*)((long)(0)<<2|3);
708 var49
= core__flat___CString___to_s_unsafe(var48
, var50
, var51
, var52
, var53
);
712 ((struct instance_core__NativeArray
*)var45
)->values
[0]=var47
;
713 if (likely(varonce54
!=NULL
)) {
717 var58
= (val
*)(4l<<2|1);
718 var59
= (val
*)(4l<<2|1);
719 var60
= (val
*)((long)(0)<<2|3);
720 var61
= (val
*)((long)(0)<<2|3);
721 var57
= core__flat___CString___to_s_unsafe(var56
, var58
, var59
, var60
, var61
);
725 ((struct instance_core__NativeArray
*)var45
)->values
[2]=var55
;
731 { /* Inline kernel$Int$- (var_time1,var_time0) on <var_time1:Int> */
732 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
733 /* <var_time0:Int> isa OTHER */
734 var64
= 1; /* easy <var_time0:Int> isa OTHER*/
735 if (unlikely(!var64
)) {
736 var_class_name
= type_core__Int
.name
;
737 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
738 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
741 var65
= var_time1
- var_time0
;
747 var66
= core__flat___Int___core__abstract_text__Object__to_s(var62
);
748 ((struct instance_core__NativeArray
*)var45
)->values
[1]=var66
;
750 var67
= ((val
*(*)(val
* self
))(var45
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var45
); /* native_to_s on <var45:NativeArray[String]>*/
754 nitc___nitc__ToolContext___info(var41
, var67
, 2l); /* Direct call toolcontext$ToolContext$info on <var41:ToolContext>*/
757 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
758 var70
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
759 if (unlikely(var70
== NULL
)) {
760 if(catchStack
.cursor
>= 0){
761 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
764 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
772 var71
= nitc___nitc__ToolContext___check_errors(var68
);
775 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
776 var74
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
777 if (unlikely(var74
== NULL
)) {
778 if(catchStack
.cursor
>= 0){
779 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
782 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
790 { /* Inline loader$ToolContext$opt_only_parse (var72) on <var72:ToolContext> */
791 var77
= var72
->attrs
[COLOR_nitc__loader__ToolContext___opt_only_parse
].val
; /* _opt_only_parse on <var72:ToolContext> */
792 if (unlikely(var77
== NULL
)) {
793 if(catchStack
.cursor
>= 0){
794 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse");
797 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 50);
805 { /* Inline opts$Option$value (var75) on <var75:OptionBool> */
806 var80
= var75
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var75:OptionBool> */
811 var81
= (short int)((long)(var78
)>>2);
814 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
815 var84
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
816 if (unlikely(var84
== NULL
)) {
817 if(catchStack
.cursor
>= 0){
818 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
821 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
828 if (likely(varonce85
!=NULL
)) {
831 var87
= "*** ONLY PARSE...";
832 var89
= (val
*)(17l<<2|1);
833 var90
= (val
*)(17l<<2|1);
834 var91
= (val
*)((long)(0)<<2|3);
835 var92
= (val
*)((long)(0)<<2|3);
836 var88
= core__flat___CString___to_s_unsafe(var87
, var89
, var90
, var91
, var92
);
841 nitc___nitc__ToolContext___info(var82
, var86
, 1l); /* Direct call toolcontext$ToolContext$info on <var82:ToolContext>*/
844 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
845 var95
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
846 if (unlikely(var95
== NULL
)) {
847 if(catchStack
.cursor
>= 0){
848 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
850 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
851 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
859 nitc___nitc__ToolContext___quit(var93
); /* Direct call toolcontext$ToolContext$quit on <var93:ToolContext>*/
864 var96
= core__array___Collection___to_a(var_mmodules
);
871 /* method loader$ModelBuilder$paths for (self: ModelBuilder): Array[String] */
872 val
* nitc__loader___ModelBuilder___paths(val
* self
) {
873 val
* var
/* : Array[String] */;
874 val
* var1
/* : Array[String] */;
875 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
876 if (unlikely(var1
== NULL
)) {
877 if(catchStack
.cursor
>= 0){
878 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
881 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
888 /* method loader$ModelBuilder$search_mmodule_by_name for (self: ModelBuilder, nullable ANode, nullable MGroup, String): nullable MModule */
889 val
* nitc__loader___ModelBuilder___search_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
890 val
* var
/* : nullable MModule */;
891 val
* var_anode
/* var anode: nullable ANode */;
892 val
* var_mgroup
/* var mgroup: nullable MGroup */;
893 val
* var_name
/* var name: String */;
894 val
* var_c
/* var c: nullable MGroup */;
895 short int var1
/* : Bool */;
896 short int var2
/* : Bool */;
897 val
* var_other
/* var other: nullable Object */;
898 short int var4
/* : Bool */;
899 short int var5
/* : Bool */;
900 val
* var6
/* : MPackage */;
901 val
* var8
/* : MPackage */;
902 val
* var9
/* : nullable MGroup */;
903 val
* var11
/* : nullable MGroup */;
904 val
* var_r
/* var r: nullable MGroup */;
905 short int var12
/* : Bool */;
906 short int var13
/* : Bool */;
907 short int var15
/* : Bool */;
908 short int var16
/* : Bool */;
909 val
* var17
/* : Array[MModule] */;
910 val
* var_res
/* var res: Array[MModule] */;
911 short int var18
/* : Bool */;
912 val
* var19
/* : nullable Object */;
913 val
* var20
/* : Array[String] */;
914 val
* var22
/* : Array[String] */;
915 val
* var_lookpaths
/* var lookpaths: Array[String] */;
916 short int var23
/* : Bool */;
917 short int var24
/* : Bool */;
918 short int var26
/* : Bool */;
919 short int var27
/* : Bool */;
920 val
* var28
/* : MPackage */;
921 val
* var30
/* : MPackage */;
922 val
* var31
/* : nullable MGroup */;
923 val
* var33
/* : nullable MGroup */;
924 val
* var34
/* : nullable String */;
925 val
* var_dirname
/* var dirname: nullable String */;
926 short int var35
/* : Bool */;
927 short int var36
/* : Bool */;
928 short int var38
/* : Bool */;
929 short int var39
/* : Bool */;
931 val
* var40
/* : String */;
932 char* var41
/* : CString */;
933 val
* var42
/* : String */;
934 val
* var43
/* : nullable Int */;
935 val
* var44
/* : nullable Int */;
936 val
* var45
/* : nullable Bool */;
937 val
* var46
/* : nullable Bool */;
938 val
* var47
/* : String */;
939 val
* var48
/* : String */;
940 short int var49
/* : Bool */;
941 short int var50
/* : Bool */;
942 short int var51
/* : Bool */;
943 short int var_
/* var : Bool */;
944 short int var52
/* : Bool */;
945 val
* var53
/* : Array[nullable Object] */;
946 val
* var_loc
/* var loc: nullable Object */;
947 short int var54
/* : Bool */;
948 short int var55
/* : Bool */;
949 short int var57
/* : Bool */;
950 short int var58
/* : Bool */;
951 val
* var59
/* : Location */;
952 val
* var60
/* : nullable MModule */;
953 val
* var_candidate
/* var candidate: nullable MModule */;
954 short int var61
/* : Bool */;
955 short int var62
/* : Bool */;
956 val
* var_other64
/* var other: nullable Object */;
957 short int var65
/* : Bool */;
958 short int var67
/* : Bool */;
959 short int var68
/* : Bool */;
960 short int var69
/* : Bool */;
961 short int var71
/* : Bool */;
962 short int var72
/* : Bool */;
963 val
* var74
/* : NativeArray[String] */;
964 static val
* varonce73
;
965 static val
* varonce75
;
966 val
* var76
/* : String */;
967 char* var77
/* : CString */;
968 val
* var78
/* : String */;
969 val
* var79
/* : nullable Int */;
970 val
* var80
/* : nullable Int */;
971 val
* var81
/* : nullable Bool */;
972 val
* var82
/* : nullable Bool */;
973 static val
* varonce83
;
974 val
* var84
/* : String */;
975 char* var85
/* : CString */;
976 val
* var86
/* : String */;
977 val
* var87
/* : nullable Int */;
978 val
* var88
/* : nullable Int */;
979 val
* var89
/* : nullable Bool */;
980 val
* var90
/* : nullable Bool */;
981 static val
* varonce91
;
982 val
* var92
/* : String */;
983 char* var93
/* : CString */;
984 val
* var94
/* : String */;
985 val
* var95
/* : nullable Int */;
986 val
* var96
/* : nullable Int */;
987 val
* var97
/* : nullable Bool */;
988 val
* var98
/* : nullable Bool */;
989 static val
* varonce99
;
990 val
* var100
/* : String */;
991 char* var101
/* : CString */;
992 val
* var102
/* : String */;
993 val
* var103
/* : nullable Int */;
994 val
* var104
/* : nullable Int */;
995 val
* var105
/* : nullable Bool */;
996 val
* var106
/* : nullable Bool */;
997 val
* var107
/* : String */;
998 val
* var109
/* : String */;
999 static val
* varonce110
;
1000 val
* var111
/* : String */;
1001 char* var112
/* : CString */;
1002 val
* var113
/* : String */;
1003 val
* var114
/* : nullable Int */;
1004 val
* var115
/* : nullable Int */;
1005 val
* var116
/* : nullable Bool */;
1006 val
* var117
/* : nullable Bool */;
1007 val
* var118
/* : String */;
1008 val
* var119
/* : String */;
1009 val
* var121
/* : NativeArray[String] */;
1010 static val
* varonce120
;
1011 static val
* varonce122
;
1012 val
* var123
/* : String */;
1013 char* var124
/* : CString */;
1014 val
* var125
/* : String */;
1015 val
* var126
/* : nullable Int */;
1016 val
* var127
/* : nullable Int */;
1017 val
* var128
/* : nullable Bool */;
1018 val
* var129
/* : nullable Bool */;
1019 static val
* varonce130
;
1020 val
* var131
/* : String */;
1021 char* var132
/* : CString */;
1022 val
* var133
/* : String */;
1023 val
* var134
/* : nullable Int */;
1024 val
* var135
/* : nullable Int */;
1025 val
* var136
/* : nullable Bool */;
1026 val
* var137
/* : nullable Bool */;
1027 static val
* varonce138
;
1028 val
* var139
/* : String */;
1029 char* var140
/* : CString */;
1030 val
* var141
/* : String */;
1031 val
* var142
/* : nullable Int */;
1032 val
* var143
/* : nullable Int */;
1033 val
* var144
/* : nullable Bool */;
1034 val
* var145
/* : nullable Bool */;
1035 static val
* varonce146
;
1036 val
* var147
/* : String */;
1037 char* var148
/* : CString */;
1038 val
* var149
/* : String */;
1039 val
* var150
/* : nullable Int */;
1040 val
* var151
/* : nullable Int */;
1041 val
* var152
/* : nullable Bool */;
1042 val
* var153
/* : nullable Bool */;
1043 val
* var154
/* : String */;
1044 val
* var155
/* : String */;
1049 if (var_c
== NULL
) {
1050 var1
= 0; /* is null */
1052 var1
= 1; /* arg is null and recv is not */
1055 { /* Inline kernel$Object$!= (var_c,((val*)NULL)) on <var_c:nullable MGroup> */
1056 var_other
= ((val
*)NULL
);
1058 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)>*/
1069 { /* Inline mpackage$MGroup$mpackage (var_c) on <var_c:nullable MGroup(MGroup)> */
1070 var8
= var_c
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_c:nullable MGroup(MGroup)> */
1071 if (unlikely(var8
== NULL
)) {
1072 if(catchStack
.cursor
>= 0){
1073 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
1076 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
1084 { /* Inline mpackage$MPackage$root (var6) on <var6:MPackage> */
1085 var11
= var6
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
; /* _root on <var6:MPackage> */
1087 RET_LABEL10
:(void)0;
1091 if (var_r
== NULL
) {
1092 var12
= 0; /* is null */
1094 var12
= 1; /* arg is null and recv is not */
1097 { /* Inline kernel$Object$!= (var_r,((val*)NULL)) on <var_r:nullable MGroup> */
1098 var_other
= ((val
*)NULL
);
1100 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)>*/
1105 RET_LABEL14
:(void)0;
1109 if (unlikely(!var12
)) {
1110 if(catchStack
.cursor
>= 0){
1111 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1113 PRINT_ERROR("Runtime error: %s", "Assert failed");
1114 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 229);
1118 nitc__loader___ModelBuilder___scan_group(self
, var_r
); /* Direct call loader$ModelBuilder$scan_group on <self:ModelBuilder>*/
1121 var17
= nitc__loader___MGroup___mmodules_by_name(var_r
, var_name
);
1125 var18
= core___core__Collection___not_empty(var_res
);
1129 var19
= core___core__SequenceRead___Collection__first(var_res
);
1138 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
1139 var22
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
1140 if (unlikely(var22
== NULL
)) {
1141 if(catchStack
.cursor
>= 0){
1142 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1144 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
1145 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
1149 RET_LABEL21
:(void)0;
1152 var_lookpaths
= var20
;
1153 if (var_mgroup
== NULL
) {
1154 var23
= 0; /* is null */
1156 var23
= 1; /* arg is null and recv is not */
1159 { /* Inline kernel$Object$!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
1160 var_other
= ((val
*)NULL
);
1162 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)>*/
1167 RET_LABEL25
:(void)0;
1173 { /* Inline mpackage$MGroup$mpackage (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
1174 var30
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:nullable MGroup(MGroup)> */
1175 if (unlikely(var30
== NULL
)) {
1176 if(catchStack
.cursor
>= 0){
1177 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
1180 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
1184 RET_LABEL29
:(void)0;
1188 { /* Inline mpackage$MPackage$root (var28) on <var28:MPackage> */
1189 var33
= var28
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
; /* _root on <var28:MPackage> */
1191 RET_LABEL32
:(void)0;
1194 if (var31
== NULL
) {
1195 if(catchStack
.cursor
>= 0){
1196 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1198 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1199 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 241);
1202 var34
= nitc___nitc__MGroup___filepath(var31
);
1204 var_dirname
= var34
;
1205 if (var_dirname
== NULL
) {
1206 var35
= 0; /* is null */
1208 var35
= 1; /* arg is null and recv is not */
1211 { /* Inline kernel$Object$!= (var_dirname,((val*)NULL)) on <var_dirname:nullable String> */
1212 var_other
= ((val
*)NULL
);
1214 var38
= ((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)>*/
1219 RET_LABEL37
:(void)0;
1224 if (likely(varonce
!=NULL
)) {
1228 var43
= (val
*)(2l<<2|1);
1229 var44
= (val
*)(2l<<2|1);
1230 var45
= (val
*)((long)(0)<<2|3);
1231 var46
= (val
*)((long)(0)<<2|3);
1232 var42
= core__flat___CString___to_s_unsafe(var41
, var43
, var44
, var45
, var46
);
1237 var47
= core__file___String___join_path(var_dirname
, var40
);
1240 var48
= core__file___String___simplify_path(var47
);
1242 var_dirname
= var48
;
1244 var50
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_lookpaths
, var_dirname
);
1250 var52
= core__file___Text___file_exists(var_dirname
);
1258 var53
= core__array___Collection___to_a(var_lookpaths
);
1260 var_lookpaths
= var53
;
1262 core___core__Array___core__abstract_collection__SimpleCollection__add(var_lookpaths
, var_dirname
); /* Direct call array$Array$add on <var_lookpaths:Array[String]>*/
1270 var_loc
= ((val
*)NULL
);
1271 if (var_anode
== NULL
) {
1272 var54
= 0; /* is null */
1274 var54
= 1; /* arg is null and recv is not */
1277 { /* Inline kernel$Object$!= (var_anode,((val*)NULL)) on <var_anode:nullable ANode> */
1278 var_other
= ((val
*)NULL
);
1280 var57
= ((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)>*/
1285 RET_LABEL56
:(void)0;
1291 var59
= ((val
*(*)(val
* self
))(var_anode
->class->vft
[COLOR_nitc__parser_nodes__ANode__hot_location
]))(var_anode
); /* hot_location on <var_anode:nullable ANode(ANode)>*/
1297 var60
= nitc__loader___ModelBuilder___search_module_in_paths(self
, var_loc
, var_name
, var_lookpaths
);
1299 var_candidate
= var60
;
1300 if (var_candidate
== NULL
) {
1301 var61
= 1; /* is null */
1303 var61
= 0; /* arg is null but recv is not */
1306 { /* Inline kernel$Object$== (var_candidate,((val*)NULL)) on <var_candidate:nullable MModule> */
1307 var_other64
= ((val
*)NULL
);
1309 { /* Inline kernel$Object$is_same_instance (var_candidate,var_other64) on <var_candidate:nullable MModule(MModule)> */
1310 var67
= var_candidate
== var_other64
;
1313 RET_LABEL66
:(void)0;
1318 RET_LABEL63
:(void)0;
1323 if (var_mgroup
== NULL
) {
1324 var68
= 0; /* is null */
1326 var68
= 1; /* arg is null and recv is not */
1329 { /* Inline kernel$Object$!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
1330 var_other
= ((val
*)NULL
);
1332 var71
= ((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)>*/
1337 RET_LABEL70
:(void)0;
1342 if (unlikely(varonce73
==NULL
)) {
1343 var74
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
1344 if (likely(varonce75
!=NULL
)) {
1347 var77
= "Error: cannot find module `";
1348 var79
= (val
*)(27l<<2|1);
1349 var80
= (val
*)(27l<<2|1);
1350 var81
= (val
*)((long)(0)<<2|3);
1351 var82
= (val
*)((long)(0)<<2|3);
1352 var78
= core__flat___CString___to_s_unsafe(var77
, var79
, var80
, var81
, var82
);
1356 ((struct instance_core__NativeArray
*)var74
)->values
[0]=var76
;
1357 if (likely(varonce83
!=NULL
)) {
1361 var87
= (val
*)(8l<<2|1);
1362 var88
= (val
*)(8l<<2|1);
1363 var89
= (val
*)((long)(0)<<2|3);
1364 var90
= (val
*)((long)(0)<<2|3);
1365 var86
= core__flat___CString___to_s_unsafe(var85
, var87
, var88
, var89
, var90
);
1369 ((struct instance_core__NativeArray
*)var74
)->values
[2]=var84
;
1370 if (likely(varonce91
!=NULL
)) {
1373 var93
= "`. Tried: ";
1374 var95
= (val
*)(10l<<2|1);
1375 var96
= (val
*)(10l<<2|1);
1376 var97
= (val
*)((long)(0)<<2|3);
1377 var98
= (val
*)((long)(0)<<2|3);
1378 var94
= core__flat___CString___to_s_unsafe(var93
, var95
, var96
, var97
, var98
);
1382 ((struct instance_core__NativeArray
*)var74
)->values
[4]=var92
;
1383 if (likely(varonce99
!=NULL
)) {
1387 var103
= (val
*)(1l<<2|1);
1388 var104
= (val
*)(1l<<2|1);
1389 var105
= (val
*)((long)(0)<<2|3);
1390 var106
= (val
*)((long)(0)<<2|3);
1391 var102
= core__flat___CString___to_s_unsafe(var101
, var103
, var104
, var105
, var106
);
1395 ((struct instance_core__NativeArray
*)var74
)->values
[6]=var100
;
1400 ((struct instance_core__NativeArray
*)var74
)->values
[1]=var_name
;
1402 { /* Inline mpackage$MGroup$name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
1403 var109
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
1404 if (unlikely(var109
== NULL
)) {
1405 if(catchStack
.cursor
>= 0){
1406 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1409 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 70);
1413 RET_LABEL108
:(void)0;
1416 ((struct instance_core__NativeArray
*)var74
)->values
[3]=var107
;
1417 if (likely(varonce110
!=NULL
)) {
1418 var111
= varonce110
;
1421 var114
= (val
*)(2l<<2|1);
1422 var115
= (val
*)(2l<<2|1);
1423 var116
= (val
*)((long)(0)<<2|3);
1424 var117
= (val
*)((long)(0)<<2|3);
1425 var113
= core__flat___CString___to_s_unsafe(var112
, var114
, var115
, var116
, var117
);
1427 varonce110
= var111
;
1430 var118
= core__abstract_text___Collection___join(var_lookpaths
, var111
, ((val
*)NULL
));
1432 ((struct instance_core__NativeArray
*)var74
)->values
[5]=var118
;
1434 var119
= ((val
*(*)(val
* self
))(var74
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var74
); /* native_to_s on <var74:NativeArray[String]>*/
1438 nitc___nitc__ModelBuilder___error(self
, var_anode
, var119
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
1441 if (unlikely(varonce120
==NULL
)) {
1442 var121
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
1443 if (likely(varonce122
!=NULL
)) {
1444 var123
= varonce122
;
1446 var124
= "Error: cannot find module `";
1447 var126
= (val
*)(27l<<2|1);
1448 var127
= (val
*)(27l<<2|1);
1449 var128
= (val
*)((long)(0)<<2|3);
1450 var129
= (val
*)((long)(0)<<2|3);
1451 var125
= core__flat___CString___to_s_unsafe(var124
, var126
, var127
, var128
, var129
);
1453 varonce122
= var123
;
1455 ((struct instance_core__NativeArray
*)var121
)->values
[0]=var123
;
1456 if (likely(varonce130
!=NULL
)) {
1457 var131
= varonce130
;
1459 var132
= "`. Tried: ";
1460 var134
= (val
*)(10l<<2|1);
1461 var135
= (val
*)(10l<<2|1);
1462 var136
= (val
*)((long)(0)<<2|3);
1463 var137
= (val
*)((long)(0)<<2|3);
1464 var133
= core__flat___CString___to_s_unsafe(var132
, var134
, var135
, var136
, var137
);
1466 varonce130
= var131
;
1468 ((struct instance_core__NativeArray
*)var121
)->values
[2]=var131
;
1469 if (likely(varonce138
!=NULL
)) {
1470 var139
= varonce138
;
1473 var142
= (val
*)(1l<<2|1);
1474 var143
= (val
*)(1l<<2|1);
1475 var144
= (val
*)((long)(0)<<2|3);
1476 var145
= (val
*)((long)(0)<<2|3);
1477 var141
= core__flat___CString___to_s_unsafe(var140
, var142
, var143
, var144
, var145
);
1479 varonce138
= var139
;
1481 ((struct instance_core__NativeArray
*)var121
)->values
[4]=var139
;
1483 var121
= varonce120
;
1486 ((struct instance_core__NativeArray
*)var121
)->values
[1]=var_name
;
1487 if (likely(varonce146
!=NULL
)) {
1488 var147
= varonce146
;
1491 var150
= (val
*)(2l<<2|1);
1492 var151
= (val
*)(2l<<2|1);
1493 var152
= (val
*)((long)(0)<<2|3);
1494 var153
= (val
*)((long)(0)<<2|3);
1495 var149
= core__flat___CString___to_s_unsafe(var148
, var150
, var151
, var152
, var153
);
1497 varonce146
= var147
;
1500 var154
= core__abstract_text___Collection___join(var_lookpaths
, var147
, ((val
*)NULL
));
1502 ((struct instance_core__NativeArray
*)var121
)->values
[3]=var154
;
1504 var155
= ((val
*(*)(val
* self
))(var121
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var121
); /* native_to_s on <var121:NativeArray[String]>*/
1506 varonce120
= var121
;
1508 nitc___nitc__ModelBuilder___error(self
, var_anode
, var155
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
1515 var
= var_candidate
;
1520 /* method loader$ModelBuilder$get_mmodule_by_name for (self: ModelBuilder, nullable ANode, nullable MGroup, String): nullable MModule */
1521 val
* nitc__loader___ModelBuilder___get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1522 val
* var
/* : nullable MModule */;
1523 val
* var_anode
/* var anode: nullable ANode */;
1524 val
* var_mgroup
/* var mgroup: nullable MGroup */;
1525 val
* var_name
/* var name: String */;
1526 val
* var1
/* : nullable MModule */;
1527 val
* var_mmodule
/* var mmodule: nullable MModule */;
1528 short int var2
/* : Bool */;
1529 short int var3
/* : Bool */;
1530 val
* var_other
/* var other: nullable Object */;
1531 short int var5
/* : Bool */;
1532 short int var7
/* : Bool */;
1533 val
* var8
/* : nullable AModule */;
1534 val
* var_ast
/* var ast: nullable AModule */;
1535 short int var9
/* : Bool */;
1536 short int var10
/* : Bool */;
1537 short int var12
/* : Bool */;
1538 short int var14
/* : Bool */;
1543 var1
= nitc__loader___ModelBuilder___search_mmodule_by_name(self
, var_anode
, var_mgroup
, var_name
);
1546 if (var_mmodule
== NULL
) {
1547 var2
= 1; /* is null */
1549 var2
= 0; /* arg is null but recv is not */
1552 { /* Inline kernel$Object$== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
1553 var_other
= ((val
*)NULL
);
1555 { /* Inline kernel$Object$is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
1556 var7
= var_mmodule
== var_other
;
1574 var8
= nitc__loader___MModule___load(var_mmodule
, self
);
1577 if (var_ast
== NULL
) {
1578 var9
= 1; /* is null */
1580 var9
= 0; /* arg is null but recv is not */
1583 { /* Inline kernel$Object$== (var_ast,((val*)NULL)) on <var_ast:nullable AModule> */
1584 var_other
= ((val
*)NULL
);
1586 { /* Inline kernel$Object$is_same_instance (var_ast,var_other) on <var_ast:nullable AModule(AModule)> */
1587 var14
= var_ast
== var_other
;
1590 RET_LABEL13
:(void)0;
1595 RET_LABEL11
:(void)0;
1609 /* method loader$ModelBuilder$search_module_in_paths for (self: ModelBuilder, nullable Location, String, Collection[String]): nullable MModule */
1610 val
* nitc__loader___ModelBuilder___search_module_in_paths(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1611 val
* var
/* : nullable MModule */;
1612 val
* var_location
/* var location: nullable Location */;
1613 val
* var_name
/* var name: String */;
1614 val
* var_lookpaths
/* var lookpaths: Collection[String] */;
1615 val
* var1
/* : ArraySet[MModule] */;
1616 val
* var_res
/* var res: ArraySet[MModule] */;
1617 val
* var_
/* var : Collection[String] */;
1618 val
* var2
/* : Iterator[nullable Object] */;
1619 val
* var_3
/* var : Iterator[String] */;
1620 short int var4
/* : Bool */;
1621 val
* var5
/* : nullable Object */;
1622 val
* var_dirname
/* var dirname: String */;
1623 val
* var6
/* : NativeArray[String] */;
1624 static val
* varonce
;
1625 static val
* varonce7
;
1626 val
* var8
/* : String */;
1627 char* var9
/* : CString */;
1628 val
* var10
/* : String */;
1629 val
* var11
/* : nullable Int */;
1630 val
* var12
/* : nullable Int */;
1631 val
* var13
/* : nullable Bool */;
1632 val
* var14
/* : nullable Bool */;
1633 val
* var15
/* : String */;
1634 val
* var16
/* : String */;
1635 val
* var17
/* : String */;
1636 val
* var18
/* : nullable MModule */;
1637 val
* var_mp
/* var mp: nullable MModule */;
1638 short int var19
/* : Bool */;
1639 short int var20
/* : Bool */;
1640 val
* var_other
/* var other: nullable Object */;
1641 short int var22
/* : Bool */;
1642 short int var23
/* : Bool */;
1643 val
* var24
/* : String */;
1644 val
* var25
/* : String */;
1645 val
* var26
/* : nullable MGroup */;
1646 val
* var_g
/* var g: nullable MGroup */;
1647 short int var27
/* : Bool */;
1648 short int var28
/* : Bool */;
1649 short int var30
/* : Bool */;
1650 short int var31
/* : Bool */;
1651 val
* var32
/* : Array[MModule] */;
1652 short int var33
/* : Bool */;
1653 long var34
/* : Int */;
1654 short int var35
/* : Bool */;
1655 short int var37
/* : Bool */;
1658 const char* var_class_name
;
1659 short int var38
/* : Bool */;
1660 val
* var39
/* : ToolContext */;
1661 val
* var41
/* : ToolContext */;
1662 val
* var43
/* : NativeArray[String] */;
1663 static val
* varonce42
;
1664 static val
* varonce44
;
1665 val
* var45
/* : String */;
1666 char* var46
/* : CString */;
1667 val
* var47
/* : String */;
1668 val
* var48
/* : nullable Int */;
1669 val
* var49
/* : nullable Int */;
1670 val
* var50
/* : nullable Bool */;
1671 val
* var51
/* : nullable Bool */;
1672 static val
* varonce52
;
1673 val
* var53
/* : String */;
1674 char* var54
/* : CString */;
1675 val
* var55
/* : String */;
1676 val
* var56
/* : nullable Int */;
1677 val
* var57
/* : nullable Int */;
1678 val
* var58
/* : nullable Bool */;
1679 val
* var59
/* : nullable Bool */;
1680 static val
* varonce60
;
1681 val
* var61
/* : String */;
1682 char* var62
/* : CString */;
1683 val
* var63
/* : String */;
1684 val
* var64
/* : nullable Int */;
1685 val
* var65
/* : nullable Int */;
1686 val
* var66
/* : nullable Bool */;
1687 val
* var67
/* : nullable Bool */;
1688 val
* var68
/* : Array[String] */;
1689 val
* var_69
/* var : Array[String] */;
1690 val
* var_70
/* var : ArraySet[MModule] */;
1691 val
* var71
/* : Iterator[nullable Object] */;
1692 val
* var_72
/* var : Iterator[MModule] */;
1693 short int var73
/* : Bool */;
1694 val
* var75
/* : nullable Object */;
1695 val
* var_x
/* var x: MModule */;
1696 val
* var76
/* : String */;
1697 val
* var77
/* : nullable String */;
1698 val
* var78
/* : String */;
1699 static val
* varonce79
;
1700 val
* var80
/* : String */;
1701 char* var81
/* : CString */;
1702 val
* var82
/* : String */;
1703 val
* var83
/* : nullable Int */;
1704 val
* var84
/* : nullable Int */;
1705 val
* var85
/* : nullable Bool */;
1706 val
* var86
/* : nullable Bool */;
1707 val
* var87
/* : String */;
1708 val
* var88
/* : String */;
1709 val
* var89
/* : Message */;
1710 val
* var90
/* : nullable Object */;
1714 var1
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MModule
);
1716 core___core__ArraySet___core__kernel__Object__init(var1
); /* Direct call array$ArraySet$init on <var1:ArraySet[MModule]>*/
1719 var_
= var_lookpaths
;
1721 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]>*/
1726 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]>*/
1733 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]>*/
1736 if (unlikely(varonce
==NULL
)) {
1737 var6
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
1738 if (likely(varonce7
!=NULL
)) {
1742 var11
= (val
*)(4l<<2|1);
1743 var12
= (val
*)(4l<<2|1);
1744 var13
= (val
*)((long)(0)<<2|3);
1745 var14
= (val
*)((long)(0)<<2|3);
1746 var10
= core__flat___CString___to_s_unsafe(var9
, var11
, var12
, var13
, var14
);
1750 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var8
;
1755 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var_name
;
1757 var15
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
1761 var16
= core__file___String____47d(var_dirname
, var15
);
1764 var17
= core__file___String___simplify_path(var16
);
1767 var18
= nitc__loader___ModelBuilder___identify_module(self
, var17
);
1770 if (var_mp
== NULL
) {
1771 var19
= 0; /* is null */
1773 var19
= 1; /* arg is null and recv is not */
1776 { /* Inline kernel$Object$!= (var_mp,((val*)NULL)) on <var_mp:nullable MModule> */
1777 var_other
= ((val
*)NULL
);
1779 var22
= ((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)>*/
1784 RET_LABEL21
:(void)0;
1790 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_res
, var_mp
); /* Direct call array$ArraySet$add on <var_res:ArraySet[MModule]>*/
1795 var24
= core__file___String____47d(var_dirname
, var_name
);
1798 var25
= core__file___String___simplify_path(var24
);
1801 var26
= nitc__loader___ModelBuilder___identify_group(self
, var25
);
1804 if (var_g
== NULL
) {
1805 var27
= 0; /* is null */
1807 var27
= 1; /* arg is null and recv is not */
1810 { /* Inline kernel$Object$!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
1811 var_other
= ((val
*)NULL
);
1813 var30
= ((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)>*/
1818 RET_LABEL29
:(void)0;
1824 nitc__loader___ModelBuilder___scan_group(self
, var_g
); /* Direct call loader$ModelBuilder$scan_group on <self:ModelBuilder>*/
1827 var32
= nitc__loader___MGroup___mmodules_by_name(var_g
, var_name
);
1830 core___core__SimpleCollection___add_all(var_res
, var32
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_res:ArraySet[MModule]>*/
1835 ((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]>*/
1838 BREAK_label
: (void)0;
1840 ((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]>*/
1843 var33
= core___core__ArraySet___core__abstract_collection__Collection__is_empty(var_res
);
1851 var34
= core___core__ArraySet___core__abstract_collection__Collection__length(var_res
);
1854 { /* Inline kernel$Int$> (var34,1l) on <var34:Int> */
1855 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1856 /* <1l:Int> isa OTHER */
1857 var37
= 1; /* easy <1l:Int> isa OTHER*/
1858 if (unlikely(!var37
)) {
1859 var_class_name
= type_core__Int
.name
;
1860 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1861 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
1867 RET_LABEL36
:(void)0;
1872 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
1873 var41
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1874 if (unlikely(var41
== NULL
)) {
1875 if(catchStack
.cursor
>= 0){
1876 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1879 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1883 RET_LABEL40
:(void)0;
1886 if (unlikely(varonce42
==NULL
)) {
1887 var43
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
1888 if (likely(varonce44
!=NULL
)) {
1891 var46
= "Error: conflicting module files for `";
1892 var48
= (val
*)(37l<<2|1);
1893 var49
= (val
*)(37l<<2|1);
1894 var50
= (val
*)((long)(0)<<2|3);
1895 var51
= (val
*)((long)(0)<<2|3);
1896 var47
= core__flat___CString___to_s_unsafe(var46
, var48
, var49
, var50
, var51
);
1900 ((struct instance_core__NativeArray
*)var43
)->values
[0]=var45
;
1901 if (likely(varonce52
!=NULL
)) {
1905 var56
= (val
*)(4l<<2|1);
1906 var57
= (val
*)(4l<<2|1);
1907 var58
= (val
*)((long)(0)<<2|3);
1908 var59
= (val
*)((long)(0)<<2|3);
1909 var55
= core__flat___CString___to_s_unsafe(var54
, var56
, var57
, var58
, var59
);
1913 ((struct instance_core__NativeArray
*)var43
)->values
[2]=var53
;
1914 if (likely(varonce60
!=NULL
)) {
1918 var64
= (val
*)(1l<<2|1);
1919 var65
= (val
*)(1l<<2|1);
1920 var66
= (val
*)((long)(0)<<2|3);
1921 var67
= (val
*)((long)(0)<<2|3);
1922 var63
= core__flat___CString___to_s_unsafe(var62
, var64
, var65
, var66
, var67
);
1926 ((struct instance_core__NativeArray
*)var43
)->values
[4]=var61
;
1931 ((struct instance_core__NativeArray
*)var43
)->values
[1]=var_name
;
1932 var68
= NEW_core__Array(&type_core__Array__core__String
);
1934 core___core__Array___with_capacity(var68
, 1l); /* Direct call array$Array$with_capacity on <var68:Array[String]>*/
1939 var71
= core___core__ArraySet___core__abstract_collection__Collection__iterator(var_70
);
1944 var73
= ((short int(*)(val
* self
))((((long)var_72
&3)?class_info
[((long)var_72
&3)]:var_72
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_72
); /* is_ok on <var_72:Iterator[MModule]>*/
1951 var75
= ((val
*(*)(val
* self
))((((long)var_72
&3)?class_info
[((long)var_72
&3)]:var_72
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_72
); /* item on <var_72:Iterator[MModule]>*/
1955 var77
= nitc___nitc__MModule___filepath(var_x
);
1961 var78
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_x
);
1966 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_69
, var76
); /* Direct call array$AbstractArray$push on <var_69:Array[String]>*/
1969 ((void(*)(val
* self
))((((long)var_72
&3)?class_info
[((long)var_72
&3)]:var_72
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_72
); /* next on <var_72:Iterator[MModule]>*/
1972 BREAK_label74
: (void)0;
1974 ((void(*)(val
* self
))((((long)var_72
&3)?class_info
[((long)var_72
&3)]:var_72
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_72
); /* finish on <var_72:Iterator[MModule]>*/
1976 if (likely(varonce79
!=NULL
)) {
1980 var83
= (val
*)(4l<<2|1);
1981 var84
= (val
*)(4l<<2|1);
1982 var85
= (val
*)((long)(0)<<2|3);
1983 var86
= (val
*)((long)(0)<<2|3);
1984 var82
= core__flat___CString___to_s_unsafe(var81
, var83
, var84
, var85
, var86
);
1989 var87
= core__abstract_text___Collection___join(var_69
, var80
, ((val
*)NULL
));
1991 ((struct instance_core__NativeArray
*)var43
)->values
[3]=var87
;
1993 var88
= ((val
*(*)(val
* self
))(var43
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var43
); /* native_to_s on <var43:NativeArray[String]>*/
1997 var89
= nitc___nitc__ToolContext___error(var39
, var_location
, var88
);
2002 var90
= core___core__ArraySet___core__abstract_collection__Collection__first(var_res
);
2009 /* method loader$ModelBuilder$search_group_in_paths for (self: ModelBuilder, String, Collection[String]): ArraySet[MGroup] */
2010 val
* nitc__loader___ModelBuilder___search_group_in_paths(val
* self
, val
* p0
, val
* p1
) {
2011 val
* var
/* : ArraySet[MGroup] */;
2012 val
* var_name
/* var name: String */;
2013 val
* var_lookpaths
/* var lookpaths: Collection[String] */;
2014 val
* var1
/* : ArraySet[MGroup] */;
2015 val
* var_res
/* var res: ArraySet[MGroup] */;
2016 val
* var_
/* var : Collection[String] */;
2017 val
* var2
/* : Iterator[nullable Object] */;
2018 val
* var_3
/* var : Iterator[String] */;
2019 short int var4
/* : Bool */;
2020 val
* var5
/* : nullable Object */;
2021 val
* var_dirname
/* var dirname: String */;
2022 val
* var6
/* : String */;
2023 val
* var7
/* : nullable MGroup */;
2024 val
* var_mg
/* var mg: nullable MGroup */;
2025 short int var8
/* : Bool */;
2026 short int var9
/* : Bool */;
2027 val
* var_other
/* var other: nullable Object */;
2028 short int var11
/* : Bool */;
2029 short int var12
/* : Bool */;
2032 var1
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MGroup
);
2034 core___core__ArraySet___core__kernel__Object__init(var1
); /* Direct call array$ArraySet$init on <var1:ArraySet[MGroup]>*/
2037 var_
= var_lookpaths
;
2039 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]>*/
2044 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]>*/
2051 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]>*/
2055 var6
= core__file___String____47d(var_dirname
, var_name
);
2058 var7
= nitc__loader___ModelBuilder___identify_group(self
, var6
);
2061 if (var_mg
== NULL
) {
2062 var8
= 0; /* is null */
2064 var8
= 1; /* arg is null and recv is not */
2067 { /* Inline kernel$Object$!= (var_mg,((val*)NULL)) on <var_mg:nullable MGroup> */
2068 var_other
= ((val
*)NULL
);
2070 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)>*/
2075 RET_LABEL10
:(void)0;
2081 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_res
, var_mg
); /* Direct call array$ArraySet$add on <var_res:ArraySet[MGroup]>*/
2086 ((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]>*/
2089 BREAK_label
: (void)0;
2091 ((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]>*/
2098 /* method loader$ModelBuilder$identified_modules_by_path for (self: ModelBuilder): HashMap[String, nullable MModule] */
2099 val
* nitc__loader___ModelBuilder___identified_modules_by_path(val
* self
) {
2100 val
* var
/* : HashMap[String, nullable MModule] */;
2101 val
* var1
/* : HashMap[String, nullable MModule] */;
2102 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
2103 if (unlikely(var1
== NULL
)) {
2104 if(catchStack
.cursor
>= 0){
2105 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
2108 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 316);
2115 /* method loader$ModelBuilder$identified_modules for (self: ModelBuilder): Array[MModule] */
2116 val
* nitc__loader___ModelBuilder___identified_modules(val
* self
) {
2117 val
* var
/* : Array[MModule] */;
2118 val
* var1
/* : Array[MModule] */;
2119 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules
].val
; /* _identified_modules on <self:ModelBuilder> */
2120 if (unlikely(var1
== NULL
)) {
2121 if(catchStack
.cursor
>= 0){
2122 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules");
2125 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 319);
2132 /* method loader$ModelBuilder$parsed_modules for (self: ModelBuilder): Array[MModule] */
2133 val
* nitc__loader___ModelBuilder___parsed_modules(val
* self
) {
2134 val
* var
/* : Array[MModule] */;
2135 val
* var1
/* : Array[MModule] */;
2136 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___parsed_modules
].val
; /* _parsed_modules on <self:ModelBuilder> */
2137 if (unlikely(var1
== NULL
)) {
2138 if(catchStack
.cursor
>= 0){
2139 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parsed_modules");
2142 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 325);
2149 /* method loader$ModelBuilder$last_loader_error for (self: ModelBuilder): nullable String */
2150 val
* nitc__loader___ModelBuilder___last_loader_error(val
* self
) {
2151 val
* var
/* : nullable String */;
2152 val
* var1
/* : nullable String */;
2153 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
; /* _last_loader_error on <self:ModelBuilder> */
2158 /* method loader$ModelBuilder$last_loader_error= for (self: ModelBuilder, nullable String) */
2159 void nitc__loader___ModelBuilder___last_loader_error_61d(val
* self
, val
* p0
) {
2160 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= p0
; /* _last_loader_error on <self:ModelBuilder> */
2163 /* method loader$ModelBuilder$identify_module for (self: ModelBuilder, String): nullable MModule */
2164 val
* nitc__loader___ModelBuilder___identify_module(val
* self
, val
* p0
) {
2165 val
* var
/* : nullable MModule */;
2166 val
* var_path
/* var path: String */;
2167 static val
* varonce
;
2168 val
* var2
/* : String */;
2169 char* var3
/* : CString */;
2170 val
* var4
/* : String */;
2171 val
* var5
/* : nullable Int */;
2172 val
* var6
/* : nullable Int */;
2173 val
* var7
/* : nullable Bool */;
2174 val
* var8
/* : nullable Bool */;
2175 short int var9
/* : Bool */;
2176 short int var10
/* : Bool */;
2177 val
* var11
/* : SequenceRead[Char] */;
2178 val
* var12
/* : nullable Object */;
2179 short int var13
/* : Bool */;
2180 short int var14
/* : Bool */;
2181 val
* var15
/* : Array[String] */;
2182 val
* var17
/* : Array[String] */;
2183 val
* var18
/* : nullable MModule */;
2184 val
* var_res
/* var res: nullable MModule */;
2185 short int var19
/* : Bool */;
2186 short int var20
/* : Bool */;
2187 val
* var_other
/* var other: nullable Object */;
2188 short int var22
/* : Bool */;
2189 short int var23
/* : Bool */;
2190 short int var24
/* : Bool */;
2191 val
* var25
/* : nullable MGroup */;
2192 val
* var_mgroup
/* var mgroup: nullable MGroup */;
2193 short int var26
/* : Bool */;
2194 short int var27
/* : Bool */;
2195 short int var29
/* : Bool */;
2196 short int var30
/* : Bool */;
2197 val
* var31
/* : nullable String */;
2198 val
* var32
/* : String */;
2199 val
* var34
/* : String */;
2200 static val
* varonce35
;
2201 val
* var36
/* : String */;
2202 char* var37
/* : CString */;
2203 val
* var38
/* : String */;
2204 val
* var39
/* : nullable Int */;
2205 val
* var40
/* : nullable Int */;
2206 val
* var41
/* : nullable Bool */;
2207 val
* var42
/* : nullable Bool */;
2208 val
* var43
/* : Text */;
2209 val
* var44
/* : String */;
2210 val
* var_owner_path
/* var owner_path: String */;
2211 short int var45
/* : Bool */;
2212 val
* var46
/* : SequenceRead[Char] */;
2213 val
* var47
/* : nullable Object */;
2214 short int var48
/* : Bool */;
2215 static val
* varonce49
;
2216 val
* var50
/* : String */;
2217 char* var51
/* : CString */;
2218 val
* var52
/* : String */;
2219 val
* var53
/* : nullable Int */;
2220 val
* var54
/* : nullable Int */;
2221 val
* var55
/* : nullable Bool */;
2222 val
* var56
/* : nullable Bool */;
2223 val
* var57
/* : Array[String] */;
2224 val
* var_ids
/* var ids: Array[String] */;
2225 val
* var58
/* : nullable Object */;
2226 val
* var59
/* : nullable MGroup */;
2227 val
* var_g
/* var g: nullable MGroup */;
2228 short int var60
/* : Bool */;
2229 short int var61
/* : Bool */;
2230 short int var63
/* : Bool */;
2231 short int var64
/* : Bool */;
2232 val
* var65
/* : nullable Object */;
2233 val
* var66
/* : Array[MModule] */;
2234 val
* var_ms
/* var ms: Array[MModule] */;
2235 val
* var_
/* var : Array[MModule] */;
2236 val
* var67
/* : IndexedIterator[nullable Object] */;
2237 val
* var_68
/* var : IndexedIterator[MModule] */;
2238 short int var69
/* : Bool */;
2239 val
* var71
/* : nullable Object */;
2240 val
* var_m
/* var m: MModule */;
2241 val
* var72
/* : String */;
2242 short int var73
/* : Bool */;
2243 long var74
/* : Int */;
2244 long var76
/* : Int */;
2245 short int var77
/* : Bool */;
2246 short int var79
/* : Bool */;
2249 const char* var_class_name
;
2250 short int var80
/* : Bool */;
2251 long var81
/* : Int */;
2252 long var83
/* : Int */;
2253 short int var84
/* : Bool */;
2254 short int var86
/* : Bool */;
2255 val
* var87
/* : nullable Object */;
2256 long var88
/* : Int */;
2257 long var90
/* : Int */;
2258 short int var91
/* : Bool */;
2259 short int var93
/* : Bool */;
2262 const char* var_class_name96
;
2263 short int var97
/* : Bool */;
2264 val
* var98
/* : Array[String] */;
2265 val
* var_l
/* var l: Array[String] */;
2266 val
* var_99
/* var : Array[MModule] */;
2267 val
* var100
/* : IndexedIterator[nullable Object] */;
2268 val
* var_101
/* var : IndexedIterator[MModule] */;
2269 short int var102
/* : Bool */;
2270 val
* var104
/* : nullable Object */;
2271 val
* var_m105
/* var m: MModule */;
2272 val
* var106
/* : nullable String */;
2273 val
* var_fp
/* var fp: nullable String */;
2274 short int var107
/* : Bool */;
2275 short int var108
/* : Bool */;
2276 short int var110
/* : Bool */;
2277 short int var111
/* : Bool */;
2278 val
* var113
/* : NativeArray[String] */;
2279 static val
* varonce112
;
2280 static val
* varonce114
;
2281 val
* var115
/* : String */;
2282 char* var116
/* : CString */;
2283 val
* var117
/* : String */;
2284 val
* var118
/* : nullable Int */;
2285 val
* var119
/* : nullable Int */;
2286 val
* var120
/* : nullable Bool */;
2287 val
* var121
/* : nullable Bool */;
2288 static val
* varonce122
;
2289 val
* var123
/* : String */;
2290 char* var124
/* : CString */;
2291 val
* var125
/* : String */;
2292 val
* var126
/* : nullable Int */;
2293 val
* var127
/* : nullable Int */;
2294 val
* var128
/* : nullable Bool */;
2295 val
* var129
/* : nullable Bool */;
2296 val
* var130
/* : String */;
2297 static val
* varonce131
;
2298 val
* var132
/* : String */;
2299 char* var133
/* : CString */;
2300 val
* var134
/* : String */;
2301 val
* var135
/* : nullable Int */;
2302 val
* var136
/* : nullable Int */;
2303 val
* var137
/* : nullable Bool */;
2304 val
* var138
/* : nullable Bool */;
2305 val
* var140
/* : NativeArray[String] */;
2306 static val
* varonce139
;
2307 static val
* varonce141
;
2308 val
* var142
/* : String */;
2309 char* var143
/* : CString */;
2310 val
* var144
/* : String */;
2311 val
* var145
/* : nullable Int */;
2312 val
* var146
/* : nullable Int */;
2313 val
* var147
/* : nullable Bool */;
2314 val
* var148
/* : nullable Bool */;
2315 static val
* varonce149
;
2316 val
* var150
/* : String */;
2317 char* var151
/* : CString */;
2318 val
* var152
/* : String */;
2319 val
* var153
/* : nullable Int */;
2320 val
* var154
/* : nullable Int */;
2321 val
* var155
/* : nullable Bool */;
2322 val
* var156
/* : nullable Bool */;
2323 val
* var157
/* : String */;
2324 val
* var158
/* : String */;
2325 val
* var160
/* : NativeArray[String] */;
2326 static val
* varonce159
;
2327 static val
* varonce161
;
2328 val
* var162
/* : String */;
2329 char* var163
/* : CString */;
2330 val
* var164
/* : String */;
2331 val
* var165
/* : nullable Int */;
2332 val
* var166
/* : nullable Int */;
2333 val
* var167
/* : nullable Bool */;
2334 val
* var168
/* : nullable Bool */;
2335 static val
* varonce169
;
2336 val
* var170
/* : String */;
2337 char* var171
/* : CString */;
2338 val
* var172
/* : String */;
2339 val
* var173
/* : nullable Int */;
2340 val
* var174
/* : nullable Int */;
2341 val
* var175
/* : nullable Bool */;
2342 val
* var176
/* : nullable Bool */;
2343 static val
* varonce177
;
2344 val
* var178
/* : String */;
2345 char* var179
/* : CString */;
2346 val
* var180
/* : String */;
2347 val
* var181
/* : nullable Int */;
2348 val
* var182
/* : nullable Int */;
2349 val
* var183
/* : nullable Bool */;
2350 val
* var184
/* : nullable Bool */;
2351 static val
* varonce185
;
2352 val
* var186
/* : String */;
2353 char* var187
/* : CString */;
2354 val
* var188
/* : String */;
2355 val
* var189
/* : nullable Int */;
2356 val
* var190
/* : nullable Int */;
2357 val
* var191
/* : nullable Bool */;
2358 val
* var192
/* : nullable Bool */;
2359 val
* var193
/* : String */;
2360 val
* var194
/* : String */;
2361 val
* var196
/* : BestDistance[String] */;
2362 long var197
/* : Int */;
2363 long var198
/* : Int */;
2364 short int var200
/* : Bool */;
2367 const char* var_class_name203
;
2368 long var204
/* : Int */;
2369 val
* var_bests
/* var bests: BestDistance[String] */;
2370 val
* var205
/* : MPackage */;
2371 val
* var207
/* : MPackage */;
2372 val
* var208
/* : POSet[MGroup] */;
2373 val
* var210
/* : POSet[MGroup] */;
2374 val
* var_211
/* var : POSet[MGroup] */;
2375 val
* var212
/* : Iterator[nullable Object] */;
2376 val
* var_213
/* var : Iterator[MGroup] */;
2377 short int var214
/* : Bool */;
2378 val
* var216
/* : nullable Object */;
2379 val
* var_sg
/* var sg: MGroup */;
2380 val
* var217
/* : Array[MModule] */;
2381 val
* var219
/* : Array[MModule] */;
2382 val
* var_220
/* var : Array[MModule] */;
2383 val
* var221
/* : IndexedIterator[nullable Object] */;
2384 val
* var_222
/* var : IndexedIterator[MModule] */;
2385 short int var223
/* : Bool */;
2386 val
* var225
/* : nullable Object */;
2387 val
* var_m226
/* var m: MModule */;
2388 val
* var227
/* : String */;
2389 long var228
/* : Int */;
2390 long var_d
/* var d: Int */;
2391 val
* var229
/* : String */;
2392 short int var230
/* : Bool */;
2393 val
* var232
/* : NativeArray[String] */;
2394 static val
* varonce231
;
2395 static val
* varonce233
;
2396 val
* var234
/* : String */;
2397 char* var235
/* : CString */;
2398 val
* var236
/* : String */;
2399 val
* var237
/* : nullable Int */;
2400 val
* var238
/* : nullable Int */;
2401 val
* var239
/* : nullable Bool */;
2402 val
* var240
/* : nullable Bool */;
2403 static val
* varonce241
;
2404 val
* var242
/* : String */;
2405 char* var243
/* : CString */;
2406 val
* var244
/* : String */;
2407 val
* var245
/* : nullable Int */;
2408 val
* var246
/* : nullable Int */;
2409 val
* var247
/* : nullable Bool */;
2410 val
* var248
/* : nullable Bool */;
2411 val
* var249
/* : String */;
2412 val
* var_last_loader_error
/* var last_loader_error: String */;
2413 val
* var250
/* : Set[nullable Object] */;
2414 val
* var252
/* : Set[nullable Object] */;
2415 short int var253
/* : Bool */;
2416 static val
* varonce254
;
2417 val
* var255
/* : String */;
2418 char* var256
/* : CString */;
2419 val
* var257
/* : String */;
2420 val
* var258
/* : nullable Int */;
2421 val
* var259
/* : nullable Int */;
2422 val
* var260
/* : nullable Bool */;
2423 val
* var261
/* : nullable Bool */;
2424 val
* var262
/* : Set[nullable Object] */;
2425 val
* var264
/* : Set[nullable Object] */;
2426 static val
* varonce265
;
2427 val
* var266
/* : String */;
2428 char* var267
/* : CString */;
2429 val
* var268
/* : String */;
2430 val
* var269
/* : nullable Int */;
2431 val
* var270
/* : nullable Int */;
2432 val
* var271
/* : nullable Bool */;
2433 val
* var272
/* : nullable Bool */;
2434 static val
* varonce273
;
2435 val
* var274
/* : String */;
2436 char* var275
/* : CString */;
2437 val
* var276
/* : String */;
2438 val
* var277
/* : nullable Int */;
2439 val
* var278
/* : nullable Int */;
2440 val
* var279
/* : nullable Bool */;
2441 val
* var280
/* : nullable Bool */;
2442 val
* var281
/* : String */;
2443 val
* var282
/* : Text */;
2444 static val
* varonce283
;
2445 val
* var284
/* : String */;
2446 char* var285
/* : CString */;
2447 val
* var286
/* : String */;
2448 val
* var287
/* : nullable Int */;
2449 val
* var288
/* : nullable Int */;
2450 val
* var289
/* : nullable Bool */;
2451 val
* var290
/* : nullable Bool */;
2452 val
* var291
/* : Text */;
2453 val
* var292
/* : Text */;
2454 short int var294
/* : Bool */;
2455 short int var295
/* : Bool */;
2456 val
* var296
/* : HashMap[String, nullable MModule] */;
2457 val
* var298
/* : HashMap[String, nullable MModule] */;
2458 short int var299
/* : Bool */;
2459 val
* var300
/* : HashMap[String, nullable MModule] */;
2460 val
* var302
/* : HashMap[String, nullable MModule] */;
2461 val
* var303
/* : nullable Object */;
2462 val
* var304
/* : String */;
2463 val
* var_rp
/* var rp: String */;
2464 val
* var305
/* : HashMap[String, nullable MModule] */;
2465 val
* var307
/* : HashMap[String, nullable MModule] */;
2466 short int var308
/* : Bool */;
2467 val
* var309
/* : HashMap[String, nullable MModule] */;
2468 val
* var311
/* : HashMap[String, nullable MModule] */;
2469 val
* var312
/* : nullable Object */;
2470 static val
* varonce313
;
2471 val
* var314
/* : String */;
2472 char* var315
/* : CString */;
2473 val
* var316
/* : String */;
2474 val
* var317
/* : nullable Int */;
2475 val
* var318
/* : nullable Int */;
2476 val
* var319
/* : nullable Bool */;
2477 val
* var320
/* : nullable Bool */;
2478 val
* var321
/* : String */;
2479 val
* var_pn
/* var pn: String */;
2480 static val
* varonce322
;
2481 val
* var323
/* : String */;
2482 char* var324
/* : CString */;
2483 val
* var325
/* : String */;
2484 val
* var326
/* : nullable Int */;
2485 val
* var327
/* : nullable Int */;
2486 val
* var328
/* : nullable Bool */;
2487 val
* var329
/* : nullable Bool */;
2488 val
* var330
/* : String */;
2489 val
* var331
/* : String */;
2490 val
* var_mgrouppath
/* var mgrouppath: String */;
2491 val
* var332
/* : nullable MGroup */;
2492 val
* var_mgroup333
/* var mgroup: nullable MGroup */;
2493 short int var334
/* : Bool */;
2494 short int var335
/* : Bool */;
2495 short int var337
/* : Bool */;
2496 short int var338
/* : Bool */;
2497 val
* var339
/* : MPackage */;
2498 val
* var341
/* : MPackage */;
2499 val
* var_mpackage
/* var mpackage: MPackage */;
2500 short int var342
/* : Bool */;
2501 short int var343
/* : Bool */;
2502 val
* var344
/* : ToolContext */;
2503 val
* var346
/* : ToolContext */;
2504 val
* var348
/* : NativeArray[String] */;
2505 static val
* varonce347
;
2506 static val
* varonce349
;
2507 val
* var350
/* : String */;
2508 char* var351
/* : CString */;
2509 val
* var352
/* : String */;
2510 val
* var353
/* : nullable Int */;
2511 val
* var354
/* : nullable Int */;
2512 val
* var355
/* : nullable Bool */;
2513 val
* var356
/* : nullable Bool */;
2514 static val
* varonce357
;
2515 val
* var358
/* : String */;
2516 char* var359
/* : CString */;
2517 val
* var360
/* : String */;
2518 val
* var361
/* : nullable Int */;
2519 val
* var362
/* : nullable Int */;
2520 val
* var363
/* : nullable Bool */;
2521 val
* var364
/* : nullable Bool */;
2522 static val
* varonce365
;
2523 val
* var366
/* : String */;
2524 char* var367
/* : CString */;
2525 val
* var368
/* : String */;
2526 val
* var369
/* : nullable Int */;
2527 val
* var370
/* : nullable Int */;
2528 val
* var371
/* : nullable Bool */;
2529 val
* var372
/* : nullable Bool */;
2530 val
* var373
/* : String */;
2531 val
* var374
/* : String */;
2532 short int var375
/* : Bool */;
2533 short int var376
/* : Bool */;
2534 val
* var_other378
/* var other: nullable Object */;
2535 short int var379
/* : Bool */;
2536 short int var381
/* : Bool */;
2537 val
* var382
/* : Location */;
2538 val
* var_loc
/* var loc: Location */;
2539 val
* var383
/* : MPackage */;
2540 val
* var384
/* : Model */;
2541 val
* var386
/* : Model */;
2542 val
* var_mpackage387
/* var mpackage: MPackage */;
2543 val
* var388
/* : MGroup */;
2544 val
* var390
/* : ToolContext */;
2545 val
* var392
/* : ToolContext */;
2546 val
* var394
/* : NativeArray[String] */;
2547 static val
* varonce393
;
2548 static val
* varonce395
;
2549 val
* var396
/* : String */;
2550 char* var397
/* : CString */;
2551 val
* var398
/* : String */;
2552 val
* var399
/* : nullable Int */;
2553 val
* var400
/* : nullable Int */;
2554 val
* var401
/* : nullable Bool */;
2555 val
* var402
/* : nullable Bool */;
2556 static val
* varonce403
;
2557 val
* var404
/* : String */;
2558 char* var405
/* : CString */;
2559 val
* var406
/* : String */;
2560 val
* var407
/* : nullable Int */;
2561 val
* var408
/* : nullable Int */;
2562 val
* var409
/* : nullable Bool */;
2563 val
* var410
/* : nullable Bool */;
2564 val
* var411
/* : String */;
2565 val
* var412
/* : String */;
2566 val
* var414
/* : NativeArray[String] */;
2567 static val
* varonce413
;
2568 static val
* varonce415
;
2569 val
* var416
/* : String */;
2570 char* var417
/* : CString */;
2571 val
* var418
/* : String */;
2572 val
* var419
/* : nullable Int */;
2573 val
* var420
/* : nullable Int */;
2574 val
* var421
/* : nullable Bool */;
2575 val
* var422
/* : nullable Bool */;
2576 val
* var423
/* : String */;
2577 val
* var424
/* : String */;
2578 val
* var_inipath
/* var inipath: String */;
2579 short int var425
/* : Bool */;
2580 val
* var426
/* : ConfigTree */;
2581 val
* var_ini
/* var ini: ConfigTree */;
2582 val
* var428
/* : Location */;
2583 val
* var_loc429
/* var loc: Location */;
2584 val
* var430
/* : MModule */;
2585 val
* var431
/* : Model */;
2586 val
* var433
/* : Model */;
2587 val
* var_res434
/* var res: MModule */;
2588 val
* var435
/* : HashMap[String, nullable MModule] */;
2589 val
* var437
/* : HashMap[String, nullable MModule] */;
2590 val
* var438
/* : HashMap[String, nullable MModule] */;
2591 val
* var440
/* : HashMap[String, nullable MModule] */;
2592 val
* var441
/* : Array[MModule] */;
2593 val
* var443
/* : Array[MModule] */;
2596 { /* Inline loader$ModelBuilder$last_loader_error= (self,((val*)NULL)) on <self:ModelBuilder> */
2597 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= ((val
*)NULL
); /* _last_loader_error on <self:ModelBuilder> */
2601 if (likely(varonce
!=NULL
)) {
2605 var5
= (val
*)(4l<<2|1);
2606 var6
= (val
*)(4l<<2|1);
2607 var7
= (val
*)((long)(0)<<2|3);
2608 var8
= (val
*)((long)(0)<<2|3);
2609 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
2614 var9
= core___core__Text___has_suffix(var_path
, var2
);
2619 var11
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_path
); /* chars on <var_path:String>*/
2622 var12
= (val
*)((long)('/')<<2|2);
2623 var13
= ((short int(*)(val
* self
, val
* p0
))((((long)var11
&3)?class_info
[((long)var11
&3)]:var11
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var11
, var12
); /* has on <var11:SequenceRead[Char]>*/
2628 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
2629 var17
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
2630 if (unlikely(var17
== NULL
)) {
2631 if(catchStack
.cursor
>= 0){
2632 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
2635 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
2639 RET_LABEL16
:(void)0;
2643 var18
= nitc__loader___ModelBuilder___search_module_in_paths(self
, ((val
*)NULL
), var_path
, var15
);
2646 if (var_res
== NULL
) {
2647 var19
= 0; /* is null */
2649 var19
= 1; /* arg is null and recv is not */
2652 { /* Inline kernel$Object$!= (var_res,((val*)NULL)) on <var_res:nullable MModule> */
2653 var_other
= ((val
*)NULL
);
2655 var22
= ((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)>*/
2660 RET_LABEL21
:(void)0;
2672 var24
= core__file___Text___file_exists(var_path
);
2676 var25
= nitc__loader___ModelBuilder___identify_group(self
, var_path
);
2679 if (var_mgroup
== NULL
) {
2680 var26
= 0; /* is null */
2682 var26
= 1; /* arg is null and recv is not */
2685 { /* Inline kernel$Object$!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
2686 var_other
= ((val
*)NULL
);
2688 var29
= ((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)>*/
2693 RET_LABEL28
:(void)0;
2699 var31
= nitc___nitc__MGroup___filepath(var_mgroup
);
2702 { /* Inline mpackage$MGroup$name (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
2703 var34
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___name
].val
; /* _name on <var_mgroup:nullable MGroup(MGroup)> */
2704 if (unlikely(var34
== NULL
)) {
2705 if(catchStack
.cursor
>= 0){
2706 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2708 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2709 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 70);
2713 RET_LABEL33
:(void)0;
2716 if (likely(varonce35
!=NULL
)) {
2720 var39
= (val
*)(4l<<2|1);
2721 var40
= (val
*)(4l<<2|1);
2722 var41
= (val
*)((long)(0)<<2|3);
2723 var42
= (val
*)((long)(0)<<2|3);
2724 var38
= core__flat___CString___to_s_unsafe(var37
, var39
, var40
, var41
, var42
);
2729 var43
= ((val
*(*)(val
* self
, val
* p0
))(var32
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var32
, var36
); /* + on <var32:String>*/
2731 if (var31
== NULL
) {
2732 if(catchStack
.cursor
>= 0){
2733 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2735 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2736 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 370);
2739 var44
= core__file___String___join_path(var31
, var43
);
2741 var_owner_path
= var44
;
2743 var45
= core__file___Text___file_exists(var_owner_path
);
2746 var_path
= var_owner_path
;
2755 var46
= ((val
*(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_path
); /* chars on <var_path:String>*/
2758 var47
= (val
*)((long)(':')<<2|2);
2759 var48
= ((short int(*)(val
* self
, val
* p0
))((((long)var46
&3)?class_info
[((long)var46
&3)]:var46
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var46
, var47
); /* has on <var46:SequenceRead[Char]>*/
2762 if (likely(varonce49
!=NULL
)) {
2766 var53
= (val
*)(2l<<2|1);
2767 var54
= (val
*)(2l<<2|1);
2768 var55
= (val
*)((long)(0)<<2|3);
2769 var56
= (val
*)((long)(0)<<2|3);
2770 var52
= core__flat___CString___to_s_unsafe(var51
, var53
, var54
, var55
, var56
);
2775 var57
= core__string_search___Text___split(var_path
, var50
);
2779 var58
= core___core__SequenceRead___Collection__first(var_ids
);
2782 var59
= nitc__loader___ModelBuilder___identify_group(self
, var58
);
2785 if (var_g
== NULL
) {
2786 var60
= 0; /* is null */
2788 var60
= 1; /* arg is null and recv is not */
2791 { /* Inline kernel$Object$!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
2792 var_other
= ((val
*)NULL
);
2794 var63
= ((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)>*/
2799 RET_LABEL62
:(void)0;
2805 nitc__loader___ModelBuilder___scan_group(self
, var_g
); /* Direct call loader$ModelBuilder$scan_group on <self:ModelBuilder>*/
2808 var65
= core___core__SequenceRead___last(var_ids
);
2811 var66
= nitc__loader___MGroup___mmodules_by_name(var_g
, var65
);
2816 var67
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
2821 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]>*/
2828 var71
= ((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]>*/
2832 var72
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_m
);
2835 var73
= ((short int(*)(val
* self
, val
* p0
))(var72
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var72
, var_path
); /* == on <var72:String>*/
2843 ((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]>*/
2846 BREAK_label70
: (void)0;
2848 ((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]>*/
2851 { /* Inline array$AbstractArrayRead$length (var_ids) on <var_ids:Array[String]> */
2852 var76
= var_ids
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_ids:Array[String]> */
2854 RET_LABEL75
:(void)0;
2858 { /* Inline kernel$Int$<= (var74,2l) on <var74:Int> */
2859 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
2860 /* <2l:Int> isa OTHER */
2861 var79
= 1; /* easy <2l:Int> isa OTHER*/
2862 if (unlikely(!var79
)) {
2863 var_class_name
= type_core__Int
.name
;
2864 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2865 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
2868 var80
= var74
<= 2l;
2871 RET_LABEL78
:(void)0;
2876 { /* Inline array$AbstractArrayRead$length (var_ms) on <var_ms:Array[MModule]> */
2877 var83
= var_ms
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_ms:Array[MModule]> */
2879 RET_LABEL82
:(void)0;
2883 { /* Inline kernel$Int$== (var81,1l) on <var81:Int> */
2884 var86
= var81
== 1l;
2887 RET_LABEL85
:(void)0;
2892 var87
= core___core__SequenceRead___Collection__first(var_ms
);
2899 { /* Inline array$AbstractArrayRead$length (var_ms) on <var_ms:Array[MModule]> */
2900 var90
= var_ms
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_ms:Array[MModule]> */
2902 RET_LABEL89
:(void)0;
2906 { /* Inline kernel$Int$> (var88,1l) on <var88:Int> */
2907 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2908 /* <1l:Int> isa OTHER */
2909 var93
= 1; /* easy <1l:Int> isa OTHER*/
2910 if (unlikely(!var93
)) {
2911 var_class_name96
= type_core__Int
.name
;
2912 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96
);
2913 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
2919 RET_LABEL92
:(void)0;
2923 var98
= NEW_core__Array(&type_core__Array__core__String
);
2925 core___core__Array___core__kernel__Object__init(var98
); /* Direct call array$Array$init on <var98:Array[String]>*/
2930 var100
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_99
);
2935 var102
= ((short int(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_101
); /* is_ok on <var_101:IndexedIterator[MModule]>*/
2939 goto BREAK_label103
;
2942 var104
= ((val
*(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_101
); /* item on <var_101:IndexedIterator[MModule]>*/
2946 var106
= nitc___nitc__MModule___filepath(var_m105
);
2949 if (var_fp
== NULL
) {
2950 var107
= 0; /* is null */
2952 var107
= 1; /* arg is null and recv is not */
2955 { /* Inline kernel$Object$!= (var_fp,((val*)NULL)) on <var_fp:nullable String> */
2956 var_other
= ((val
*)NULL
);
2958 var110
= ((short int(*)(val
* self
, val
* p0
))(var_fp
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_fp
, var_other
); /* == on <var_fp:nullable String(String)>*/
2963 RET_LABEL109
:(void)0;
2968 if (unlikely(varonce112
==NULL
)) {
2969 var113
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
2970 if (likely(varonce114
!=NULL
)) {
2971 var115
= varonce114
;
2974 var118
= (val
*)(2l<<2|1);
2975 var119
= (val
*)(2l<<2|1);
2976 var120
= (val
*)((long)(0)<<2|3);
2977 var121
= (val
*)((long)(0)<<2|3);
2978 var117
= core__flat___CString___to_s_unsafe(var116
, var118
, var119
, var120
, var121
);
2980 varonce114
= var115
;
2982 ((struct instance_core__NativeArray
*)var113
)->values
[0]=var115
;
2983 if (likely(varonce122
!=NULL
)) {
2984 var123
= varonce122
;
2987 var126
= (val
*)(1l<<2|1);
2988 var127
= (val
*)(1l<<2|1);
2989 var128
= (val
*)((long)(0)<<2|3);
2990 var129
= (val
*)((long)(0)<<2|3);
2991 var125
= core__flat___CString___to_s_unsafe(var124
, var126
, var127
, var128
, var129
);
2993 varonce122
= var123
;
2995 ((struct instance_core__NativeArray
*)var113
)->values
[2]=var123
;
2997 var113
= varonce112
;
3000 ((struct instance_core__NativeArray
*)var113
)->values
[1]=var_fp
;
3002 var130
= ((val
*(*)(val
* self
))(var113
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var113
); /* native_to_s on <var113:NativeArray[String]>*/
3004 varonce112
= var113
;
3007 if (likely(varonce131
!=NULL
)) {
3008 var132
= varonce131
;
3011 var135
= (val
*)(0l<<2|1);
3012 var136
= (val
*)(0l<<2|1);
3013 var137
= (val
*)((long)(0)<<2|3);
3014 var138
= (val
*)((long)(0)<<2|3);
3015 var134
= core__flat___CString___to_s_unsafe(var133
, var135
, var136
, var137
, var138
);
3017 varonce131
= var132
;
3021 if (unlikely(varonce139
==NULL
)) {
3022 var140
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
3023 if (likely(varonce141
!=NULL
)) {
3024 var142
= varonce141
;
3027 var145
= (val
*)(1l<<2|1);
3028 var146
= (val
*)(1l<<2|1);
3029 var147
= (val
*)((long)(0)<<2|3);
3030 var148
= (val
*)((long)(0)<<2|3);
3031 var144
= core__flat___CString___to_s_unsafe(var143
, var145
, var146
, var147
, var148
);
3033 varonce141
= var142
;
3035 ((struct instance_core__NativeArray
*)var140
)->values
[0]=var142
;
3036 if (likely(varonce149
!=NULL
)) {
3037 var150
= varonce149
;
3040 var153
= (val
*)(1l<<2|1);
3041 var154
= (val
*)(1l<<2|1);
3042 var155
= (val
*)((long)(0)<<2|3);
3043 var156
= (val
*)((long)(0)<<2|3);
3044 var152
= core__flat___CString___to_s_unsafe(var151
, var153
, var154
, var155
, var156
);
3046 varonce149
= var150
;
3048 ((struct instance_core__NativeArray
*)var140
)->values
[2]=var150
;
3050 var140
= varonce139
;
3054 var157
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_m105
);
3056 ((struct instance_core__NativeArray
*)var140
)->values
[1]=var157
;
3057 ((struct instance_core__NativeArray
*)var140
)->values
[3]=var_fp
;
3059 var158
= ((val
*(*)(val
* self
))(var140
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var140
); /* native_to_s on <var140:NativeArray[String]>*/
3061 varonce139
= var140
;
3063 core___core__Array___core__abstract_collection__SimpleCollection__add(var_l
, var158
); /* Direct call array$Array$add on <var_l:Array[String]>*/
3066 ((void(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_101
); /* next on <var_101:IndexedIterator[MModule]>*/
3069 BREAK_label103
: (void)0;
3071 ((void(*)(val
* self
))((((long)var_101
&3)?class_info
[((long)var_101
&3)]:var_101
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_101
); /* finish on <var_101:IndexedIterator[MModule]>*/
3073 if (unlikely(varonce159
==NULL
)) {
3074 var160
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
3075 if (likely(varonce161
!=NULL
)) {
3076 var162
= varonce161
;
3078 var163
= "Error: conflicting module for `";
3079 var165
= (val
*)(31l<<2|1);
3080 var166
= (val
*)(31l<<2|1);
3081 var167
= (val
*)((long)(0)<<2|3);
3082 var168
= (val
*)((long)(0)<<2|3);
3083 var164
= core__flat___CString___to_s_unsafe(var163
, var165
, var166
, var167
, var168
);
3085 varonce161
= var162
;
3087 ((struct instance_core__NativeArray
*)var160
)->values
[0]=var162
;
3088 if (likely(varonce169
!=NULL
)) {
3089 var170
= varonce169
;
3092 var173
= (val
*)(3l<<2|1);
3093 var174
= (val
*)(3l<<2|1);
3094 var175
= (val
*)((long)(0)<<2|3);
3095 var176
= (val
*)((long)(0)<<2|3);
3096 var172
= core__flat___CString___to_s_unsafe(var171
, var173
, var174
, var175
, var176
);
3098 varonce169
= var170
;
3100 ((struct instance_core__NativeArray
*)var160
)->values
[2]=var170
;
3101 if (likely(varonce177
!=NULL
)) {
3102 var178
= varonce177
;
3105 var181
= (val
*)(1l<<2|1);
3106 var182
= (val
*)(1l<<2|1);
3107 var183
= (val
*)((long)(0)<<2|3);
3108 var184
= (val
*)((long)(0)<<2|3);
3109 var180
= core__flat___CString___to_s_unsafe(var179
, var181
, var182
, var183
, var184
);
3111 varonce177
= var178
;
3113 ((struct instance_core__NativeArray
*)var160
)->values
[4]=var178
;
3115 var160
= varonce159
;
3118 ((struct instance_core__NativeArray
*)var160
)->values
[1]=var_path
;
3119 if (likely(varonce185
!=NULL
)) {
3120 var186
= varonce185
;
3123 var189
= (val
*)(2l<<2|1);
3124 var190
= (val
*)(2l<<2|1);
3125 var191
= (val
*)((long)(0)<<2|3);
3126 var192
= (val
*)((long)(0)<<2|3);
3127 var188
= core__flat___CString___to_s_unsafe(var187
, var189
, var190
, var191
, var192
);
3129 varonce185
= var186
;
3132 var193
= core__abstract_text___Collection___join(var_l
, var186
, ((val
*)NULL
));
3134 ((struct instance_core__NativeArray
*)var160
)->values
[3]=var193
;
3136 var194
= ((val
*(*)(val
* self
))(var160
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var160
); /* native_to_s on <var160:NativeArray[String]>*/
3138 varonce159
= var160
;
3140 { /* Inline loader$ModelBuilder$last_loader_error= (self,var194) on <self:ModelBuilder> */
3141 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= var194
; /* _last_loader_error on <self:ModelBuilder> */
3142 RET_LABEL195
:(void)0;
3151 var196
= NEW_more_collections__BestDistance(&type_more_collections__BestDistance__core__String
);
3153 var197
= ((long(*)(val
* self
))(var_path
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_path
); /* length on <var_path:String>*/
3156 { /* Inline kernel$Int$/ (var197,2l) on <var197:Int> */
3157 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
3158 /* <2l:Int> isa OTHER */
3159 var200
= 1; /* easy <2l:Int> isa OTHER*/
3160 if (unlikely(!var200
)) {
3161 var_class_name203
= type_core__Int
.name
;
3162 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name203
);
3163 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 733);
3166 var204
= var197
/ 2l;
3169 RET_LABEL199
:(void)0;
3173 ((void(*)(val
* self
, long p0
))(var196
->class->vft
[COLOR_more_collections__BestDistance__best_distance_61d
]))(var196
, var198
); /* best_distance= on <var196:BestDistance[String]>*/
3176 ((void(*)(val
* self
))(var196
->class->vft
[COLOR_core__kernel__Object__init
]))(var196
); /* init on <var196:BestDistance[String]>*/
3180 { /* Inline mpackage$MGroup$mpackage (var_g) on <var_g:nullable MGroup(MGroup)> */
3181 var207
= var_g
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_g:nullable MGroup(MGroup)> */
3182 if (unlikely(var207
== NULL
)) {
3183 if(catchStack
.cursor
>= 0){
3184 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
3187 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
3191 RET_LABEL206
:(void)0;
3195 { /* Inline mpackage$MPackage$mgroups (var205) on <var205:MPackage> */
3196 var210
= var205
->attrs
[COLOR_nitc__mpackage__MPackage___mgroups
].val
; /* _mgroups on <var205:MPackage> */
3197 if (unlikely(var210
== NULL
)) {
3198 if(catchStack
.cursor
>= 0){
3199 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
3202 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 42);
3206 RET_LABEL209
:(void)0;
3211 var212
= poset___poset__POSet___core__abstract_collection__Collection__iterator(var_211
);
3216 var214
= ((short int(*)(val
* self
))((((long)var_213
&3)?class_info
[((long)var_213
&3)]:var_213
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_213
); /* is_ok on <var_213:Iterator[MGroup]>*/
3220 goto BREAK_label215
;
3223 var216
= ((val
*(*)(val
* self
))((((long)var_213
&3)?class_info
[((long)var_213
&3)]:var_213
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_213
); /* item on <var_213:Iterator[MGroup]>*/
3227 { /* Inline mmodule$MGroup$mmodules (var_sg) on <var_sg:MGroup> */
3228 var219
= var_sg
->attrs
[COLOR_nitc__mmodule__MGroup___mmodules
].val
; /* _mmodules on <var_sg:MGroup> */
3229 if (unlikely(var219
== NULL
)) {
3230 if(catchStack
.cursor
>= 0){
3231 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodules");
3234 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 54);
3238 RET_LABEL218
:(void)0;
3243 var221
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_220
);
3248 var223
= ((short int(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_222
); /* is_ok on <var_222:IndexedIterator[MModule]>*/
3252 goto BREAK_label224
;
3255 var225
= ((val
*(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_222
); /* item on <var_222:IndexedIterator[MModule]>*/
3259 var227
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_m226
);
3262 var228
= core___core__Text___levenshtein_distance(var_path
, var227
);
3266 var229
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_m226
);
3269 var230
= more_collections___more_collections__BestDistance___update(var_bests
, var_d
, var229
);
3272 ((void(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_222
); /* next on <var_222:IndexedIterator[MModule]>*/
3275 BREAK_label224
: (void)0;
3277 ((void(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_222
); /* finish on <var_222:IndexedIterator[MModule]>*/
3280 ((void(*)(val
* self
))((((long)var_213
&3)?class_info
[((long)var_213
&3)]:var_213
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_213
); /* next on <var_213:Iterator[MGroup]>*/
3283 BREAK_label215
: (void)0;
3285 ((void(*)(val
* self
))((((long)var_213
&3)?class_info
[((long)var_213
&3)]:var_213
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_213
); /* finish on <var_213:Iterator[MGroup]>*/
3287 if (unlikely(varonce231
==NULL
)) {
3288 var232
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3289 if (likely(varonce233
!=NULL
)) {
3290 var234
= varonce233
;
3292 var235
= "Error: cannot find module `";
3293 var237
= (val
*)(27l<<2|1);
3294 var238
= (val
*)(27l<<2|1);
3295 var239
= (val
*)((long)(0)<<2|3);
3296 var240
= (val
*)((long)(0)<<2|3);
3297 var236
= core__flat___CString___to_s_unsafe(var235
, var237
, var238
, var239
, var240
);
3299 varonce233
= var234
;
3301 ((struct instance_core__NativeArray
*)var232
)->values
[0]=var234
;
3302 if (likely(varonce241
!=NULL
)) {
3303 var242
= varonce241
;
3306 var245
= (val
*)(2l<<2|1);
3307 var246
= (val
*)(2l<<2|1);
3308 var247
= (val
*)((long)(0)<<2|3);
3309 var248
= (val
*)((long)(0)<<2|3);
3310 var244
= core__flat___CString___to_s_unsafe(var243
, var245
, var246
, var247
, var248
);
3312 varonce241
= var242
;
3314 ((struct instance_core__NativeArray
*)var232
)->values
[2]=var242
;
3316 var232
= varonce231
;
3319 ((struct instance_core__NativeArray
*)var232
)->values
[1]=var_path
;
3321 var249
= ((val
*(*)(val
* self
))(var232
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var232
); /* native_to_s on <var232:NativeArray[String]>*/
3323 varonce231
= var232
;
3324 var_last_loader_error
= var249
;
3326 { /* Inline more_collections$BestDistance$best_items (var_bests) on <var_bests:BestDistance[String]> */
3327 var252
= var_bests
->attrs
[COLOR_more_collections__BestDistance___best_items
].val
; /* _best_items on <var_bests:BestDistance[String]> */
3328 if (unlikely(var252
== NULL
)) {
3329 if(catchStack
.cursor
>= 0){
3330 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _best_items");
3333 PRINT_ERROR(" (%s:%d)\n", FILE_more_collections
, 562);
3337 RET_LABEL251
:(void)0;
3341 var253
= core___core__Collection___not_empty(var250
);
3344 if (likely(varonce254
!=NULL
)) {
3345 var255
= varonce254
;
3347 var256
= " Did you mean ";
3348 var258
= (val
*)(14l<<2|1);
3349 var259
= (val
*)(14l<<2|1);
3350 var260
= (val
*)((long)(0)<<2|3);
3351 var261
= (val
*)((long)(0)<<2|3);
3352 var257
= core__flat___CString___to_s_unsafe(var256
, var258
, var259
, var260
, var261
);
3354 varonce254
= var255
;
3357 { /* Inline more_collections$BestDistance$best_items (var_bests) on <var_bests:BestDistance[String]> */
3358 var264
= var_bests
->attrs
[COLOR_more_collections__BestDistance___best_items
].val
; /* _best_items on <var_bests:BestDistance[String]> */
3359 if (unlikely(var264
== NULL
)) {
3360 if(catchStack
.cursor
>= 0){
3361 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3363 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _best_items");
3364 PRINT_ERROR(" (%s:%d)\n", FILE_more_collections
, 562);
3368 RET_LABEL263
:(void)0;
3371 if (likely(varonce265
!=NULL
)) {
3372 var266
= varonce265
;
3375 var269
= (val
*)(2l<<2|1);
3376 var270
= (val
*)(2l<<2|1);
3377 var271
= (val
*)((long)(0)<<2|3);
3378 var272
= (val
*)((long)(0)<<2|3);
3379 var268
= core__flat___CString___to_s_unsafe(var267
, var269
, var270
, var271
, var272
);
3381 varonce265
= var266
;
3383 if (likely(varonce273
!=NULL
)) {
3384 var274
= varonce273
;
3387 var277
= (val
*)(4l<<2|1);
3388 var278
= (val
*)(4l<<2|1);
3389 var279
= (val
*)((long)(0)<<2|3);
3390 var280
= (val
*)((long)(0)<<2|3);
3391 var276
= core__flat___CString___to_s_unsafe(var275
, var277
, var278
, var279
, var280
);
3393 varonce273
= var274
;
3396 var281
= core__abstract_text___Collection___join(var262
, var266
, var274
);
3399 var282
= ((val
*(*)(val
* self
, val
* p0
))(var255
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var255
, var281
); /* + on <var255:String>*/
3401 if (likely(varonce283
!=NULL
)) {
3402 var284
= varonce283
;
3405 var287
= (val
*)(1l<<2|1);
3406 var288
= (val
*)(1l<<2|1);
3407 var289
= (val
*)((long)(0)<<2|3);
3408 var290
= (val
*)((long)(0)<<2|3);
3409 var286
= core__flat___CString___to_s_unsafe(var285
, var287
, var288
, var289
, var290
);
3411 varonce283
= var284
;
3414 var291
= ((val
*(*)(val
* self
, val
* p0
))(var282
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var282
, var284
); /* + on <var282:Text(String)>*/
3417 var292
= ((val
*(*)(val
* self
, val
* p0
))(var_last_loader_error
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var_last_loader_error
, var291
); /* + on <var_last_loader_error:String>*/
3419 var_last_loader_error
= var292
;
3423 { /* Inline loader$ModelBuilder$last_loader_error= (self,var_last_loader_error) on <self:ModelBuilder> */
3424 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= var_last_loader_error
; /* _last_loader_error on <self:ModelBuilder> */
3425 RET_LABEL293
:(void)0;
3436 BREAK_label
: (void)0;
3440 var294
= core__file___Text___file_exists(var_path
);
3449 { /* Inline loader$ModelBuilder$identified_modules_by_path (self) on <self:ModelBuilder> */
3450 var298
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
3451 if (unlikely(var298
== NULL
)) {
3452 if(catchStack
.cursor
>= 0){
3453 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
3456 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 316);
3460 RET_LABEL297
:(void)0;
3464 var299
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var296
, var_path
);
3468 { /* Inline loader$ModelBuilder$identified_modules_by_path (self) on <self:ModelBuilder> */
3469 var302
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
3470 if (unlikely(var302
== NULL
)) {
3471 if(catchStack
.cursor
>= 0){
3472 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
3475 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 316);
3479 RET_LABEL301
:(void)0;
3483 var303
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var300
, var_path
);
3490 var304
= nitc__loader___ModelBuilder___module_absolute_path(self
, var_path
);
3494 { /* Inline loader$ModelBuilder$identified_modules_by_path (self) on <self:ModelBuilder> */
3495 var307
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
3496 if (unlikely(var307
== NULL
)) {
3497 if(catchStack
.cursor
>= 0){
3498 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
3501 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 316);
3505 RET_LABEL306
:(void)0;
3509 var308
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var305
, var_rp
);
3513 { /* Inline loader$ModelBuilder$identified_modules_by_path (self) on <self:ModelBuilder> */
3514 var311
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
3515 if (unlikely(var311
== NULL
)) {
3516 if(catchStack
.cursor
>= 0){
3517 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
3520 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 316);
3524 RET_LABEL310
:(void)0;
3528 var312
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var309
, var_rp
);
3534 if (likely(varonce313
!=NULL
)) {
3535 var314
= varonce313
;
3538 var317
= (val
*)(4l<<2|1);
3539 var318
= (val
*)(4l<<2|1);
3540 var319
= (val
*)((long)(0)<<2|3);
3541 var320
= (val
*)((long)(0)<<2|3);
3542 var316
= core__flat___CString___to_s_unsafe(var315
, var317
, var318
, var319
, var320
);
3544 varonce313
= var314
;
3547 var321
= ((val
*(*)(val
* self
, val
* p0
))(var_path
->class->vft
[COLOR_core__file__String__basename
]))(var_path
, var314
); /* basename on <var_path:String>*/
3550 if (likely(varonce322
!=NULL
)) {
3551 var323
= varonce322
;
3554 var326
= (val
*)(2l<<2|1);
3555 var327
= (val
*)(2l<<2|1);
3556 var328
= (val
*)((long)(0)<<2|3);
3557 var329
= (val
*)((long)(0)<<2|3);
3558 var325
= core__flat___CString___to_s_unsafe(var324
, var326
, var327
, var328
, var329
);
3560 varonce322
= var323
;
3563 var330
= core__file___String___join_path(var_path
, var323
);
3566 var331
= core__file___String___simplify_path(var330
);
3568 var_mgrouppath
= var331
;
3570 var332
= nitc__loader___ModelBuilder___identify_group(self
, var_mgrouppath
);
3572 var_mgroup333
= var332
;
3573 if (var_mgroup333
== NULL
) {
3574 var334
= 0; /* is null */
3576 var334
= 1; /* arg is null and recv is not */
3579 { /* Inline kernel$Object$!= (var_mgroup333,((val*)NULL)) on <var_mgroup333:nullable MGroup> */
3580 var_other
= ((val
*)NULL
);
3582 var337
= ((short int(*)(val
* self
, val
* p0
))(var_mgroup333
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mgroup333
, var_other
); /* == on <var_mgroup333:nullable MGroup(MGroup)>*/
3587 RET_LABEL336
:(void)0;
3593 { /* Inline mpackage$MGroup$mpackage (var_mgroup333) on <var_mgroup333:nullable MGroup(MGroup)> */
3594 var341
= var_mgroup333
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup333:nullable MGroup(MGroup)> */
3595 if (unlikely(var341
== NULL
)) {
3596 if(catchStack
.cursor
>= 0){
3597 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
3600 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
3604 RET_LABEL340
:(void)0;
3607 var_mpackage
= var339
;
3609 var342
= nitc__loader___MPackage___accept(var_mpackage
, var_path
);
3613 var_mgroup333
= ((val
*)NULL
);
3615 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
3616 var346
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3617 if (unlikely(var346
== NULL
)) {
3618 if(catchStack
.cursor
>= 0){
3619 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3621 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3622 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
3626 RET_LABEL345
:(void)0;
3629 if (unlikely(varonce347
==NULL
)) {
3630 var348
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
3631 if (likely(varonce349
!=NULL
)) {
3632 var350
= varonce349
;
3634 var351
= "module `";
3635 var353
= (val
*)(8l<<2|1);
3636 var354
= (val
*)(8l<<2|1);
3637 var355
= (val
*)((long)(0)<<2|3);
3638 var356
= (val
*)((long)(0)<<2|3);
3639 var352
= core__flat___CString___to_s_unsafe(var351
, var353
, var354
, var355
, var356
);
3641 varonce349
= var350
;
3643 ((struct instance_core__NativeArray
*)var348
)->values
[0]=var350
;
3644 if (likely(varonce357
!=NULL
)) {
3645 var358
= varonce357
;
3647 var359
= "` excluded from package `";
3648 var361
= (val
*)(25l<<2|1);
3649 var362
= (val
*)(25l<<2|1);
3650 var363
= (val
*)((long)(0)<<2|3);
3651 var364
= (val
*)((long)(0)<<2|3);
3652 var360
= core__flat___CString___to_s_unsafe(var359
, var361
, var362
, var363
, var364
);
3654 varonce357
= var358
;
3656 ((struct instance_core__NativeArray
*)var348
)->values
[2]=var358
;
3657 if (likely(varonce365
!=NULL
)) {
3658 var366
= varonce365
;
3661 var369
= (val
*)(1l<<2|1);
3662 var370
= (val
*)(1l<<2|1);
3663 var371
= (val
*)((long)(0)<<2|3);
3664 var372
= (val
*)((long)(0)<<2|3);
3665 var368
= core__flat___CString___to_s_unsafe(var367
, var369
, var370
, var371
, var372
);
3667 varonce365
= var366
;
3669 ((struct instance_core__NativeArray
*)var348
)->values
[4]=var366
;
3671 var348
= varonce347
;
3674 ((struct instance_core__NativeArray
*)var348
)->values
[1]=var_path
;
3676 var373
= ((val
*(*)(val
* self
))(var_mpackage
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpackage
); /* to_s on <var_mpackage:MPackage>*/
3678 ((struct instance_core__NativeArray
*)var348
)->values
[3]=var373
;
3680 var374
= ((val
*(*)(val
* self
))(var348
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var348
); /* native_to_s on <var348:NativeArray[String]>*/
3682 varonce347
= var348
;
3684 nitc___nitc__ToolContext___info(var344
, var374
, 2l); /* Direct call toolcontext$ToolContext$info on <var344:ToolContext>*/
3690 if (var_mgroup333
== NULL
) {
3691 var375
= 1; /* is null */
3693 var375
= 0; /* arg is null but recv is not */
3696 { /* Inline kernel$Object$== (var_mgroup333,((val*)NULL)) on <var_mgroup333:nullable MGroup> */
3697 var_other378
= ((val
*)NULL
);
3699 { /* Inline kernel$Object$is_same_instance (var_mgroup333,var_other378) on <var_mgroup333:nullable MGroup(MGroup)> */
3700 var381
= var_mgroup333
== var_other378
;
3703 RET_LABEL380
:(void)0;
3708 RET_LABEL377
:(void)0;
3713 var382
= NEW_nitc__Location(&type_nitc__Location
);
3715 nitc___nitc__Location___opaque_file(var382
, var_path
); /* Direct call location$Location$opaque_file on <var382:Location>*/
3718 var383
= NEW_nitc__MPackage(&type_nitc__MPackage
);
3720 { /* Inline modelbuilder_base$ModelBuilder$model (self) on <self:ModelBuilder> */
3721 var386
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
3722 if (unlikely(var386
== NULL
)) {
3723 if(catchStack
.cursor
>= 0){
3724 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3727 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
3731 RET_LABEL385
:(void)0;
3735 ((void(*)(val
* self
, val
* p0
))(var383
->class->vft
[COLOR_nitc__mpackage__MPackage__name_61d
]))(var383
, var_pn
); /* name= on <var383:MPackage>*/
3738 ((void(*)(val
* self
, val
* p0
))(var383
->class->vft
[COLOR_nitc__mpackage__MPackage__model_61d
]))(var383
, var384
); /* model= on <var383:MPackage>*/
3741 ((void(*)(val
* self
, val
* p0
))(var383
->class->vft
[COLOR_nitc__mpackage__MPackage__location_61d
]))(var383
, var_loc
); /* location= on <var383:MPackage>*/
3744 ((void(*)(val
* self
))(var383
->class->vft
[COLOR_core__kernel__Object__init
]))(var383
); /* init on <var383:MPackage>*/
3746 var_mpackage387
= var383
;
3747 var388
= NEW_nitc__MGroup(&type_nitc__MGroup
);
3749 ((void(*)(val
* self
, val
* p0
))(var388
->class->vft
[COLOR_nitc__mpackage__MGroup__name_61d
]))(var388
, var_pn
); /* name= on <var388:MGroup>*/
3752 ((void(*)(val
* self
, val
* p0
))(var388
->class->vft
[COLOR_nitc__mpackage__MGroup__location_61d
]))(var388
, var_loc
); /* location= on <var388:MGroup>*/
3755 ((void(*)(val
* self
, val
* p0
))(var388
->class->vft
[COLOR_nitc__mpackage__MGroup__mpackage_61d
]))(var388
, var_mpackage387
); /* mpackage= on <var388:MGroup>*/
3758 ((void(*)(val
* self
, val
* p0
))(var388
->class->vft
[COLOR_nitc__mpackage__MGroup__parent_61d
]))(var388
, ((val
*)NULL
)); /* parent= on <var388:MGroup>*/
3761 ((void(*)(val
* self
))(var388
->class->vft
[COLOR_core__kernel__Object__init
]))(var388
); /* init on <var388:MGroup>*/
3763 var_mgroup333
= var388
;
3765 { /* Inline mpackage$MPackage$root= (var_mpackage387,var_mgroup333) on <var_mpackage387:MPackage> */
3766 var_mpackage387
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
= var_mgroup333
; /* _root on <var_mpackage387:MPackage> */
3767 RET_LABEL389
:(void)0;
3771 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
3772 var392
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
3773 if (unlikely(var392
== NULL
)) {
3774 if(catchStack
.cursor
>= 0){
3775 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3778 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
3782 RET_LABEL391
:(void)0;
3785 if (unlikely(varonce393
==NULL
)) {
3786 var394
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
3787 if (likely(varonce395
!=NULL
)) {
3788 var396
= varonce395
;
3790 var397
= "found singleton package `";
3791 var399
= (val
*)(25l<<2|1);
3792 var400
= (val
*)(25l<<2|1);
3793 var401
= (val
*)((long)(0)<<2|3);
3794 var402
= (val
*)((long)(0)<<2|3);
3795 var398
= core__flat___CString___to_s_unsafe(var397
, var399
, var400
, var401
, var402
);
3797 varonce395
= var396
;
3799 ((struct instance_core__NativeArray
*)var394
)->values
[0]=var396
;
3800 if (likely(varonce403
!=NULL
)) {
3801 var404
= varonce403
;
3804 var407
= (val
*)(5l<<2|1);
3805 var408
= (val
*)(5l<<2|1);
3806 var409
= (val
*)((long)(0)<<2|3);
3807 var410
= (val
*)((long)(0)<<2|3);
3808 var406
= core__flat___CString___to_s_unsafe(var405
, var407
, var408
, var409
, var410
);
3810 varonce403
= var404
;
3812 ((struct instance_core__NativeArray
*)var394
)->values
[2]=var404
;
3814 var394
= varonce393
;
3817 ((struct instance_core__NativeArray
*)var394
)->values
[1]=var_pn
;
3818 ((struct instance_core__NativeArray
*)var394
)->values
[3]=var_path
;
3820 var411
= ((val
*(*)(val
* self
))(var394
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var394
); /* native_to_s on <var394:NativeArray[String]>*/
3822 varonce393
= var394
;
3824 nitc___nitc__ToolContext___info(var390
, var411
, 2l); /* Direct call toolcontext$ToolContext$info on <var390:ToolContext>*/
3827 var412
= core__file___String___dirname(var_path
);
3829 if (unlikely(varonce413
==NULL
)) {
3830 var414
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3831 if (likely(varonce415
!=NULL
)) {
3832 var416
= varonce415
;
3835 var419
= (val
*)(4l<<2|1);
3836 var420
= (val
*)(4l<<2|1);
3837 var421
= (val
*)((long)(0)<<2|3);
3838 var422
= (val
*)((long)(0)<<2|3);
3839 var418
= core__flat___CString___to_s_unsafe(var417
, var419
, var420
, var421
, var422
);
3841 varonce415
= var416
;
3843 ((struct instance_core__NativeArray
*)var414
)->values
[1]=var416
;
3845 var414
= varonce413
;
3848 ((struct instance_core__NativeArray
*)var414
)->values
[0]=var_pn
;
3850 var423
= ((val
*(*)(val
* self
))(var414
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var414
); /* native_to_s on <var414:NativeArray[String]>*/
3852 varonce413
= var414
;
3854 var424
= core__file___String____47d(var412
, var423
);
3856 var_inipath
= var424
;
3858 var425
= core__file___Text___file_exists(var_inipath
);
3861 var426
= NEW_ini__ConfigTree(&type_ini__ConfigTree
);
3863 ((void(*)(val
* self
, val
* p0
))(var426
->class->vft
[COLOR_ini__ConfigTree__ini_file_61d
]))(var426
, var_inipath
); /* ini_file= on <var426:ConfigTree>*/
3866 ((void(*)(val
* self
))(var426
->class->vft
[COLOR_core__kernel__Object__init
]))(var426
); /* init on <var426:ConfigTree>*/
3870 { /* Inline loader$MPackage$ini= (var_mpackage387,var_ini) on <var_mpackage387:MPackage> */
3871 var_mpackage387
->attrs
[COLOR_nitc__loader__MPackage___ini
].val
= var_ini
; /* _ini on <var_mpackage387:MPackage> */
3872 RET_LABEL427
:(void)0;
3879 var428
= NEW_nitc__Location(&type_nitc__Location
);
3881 nitc___nitc__Location___opaque_file(var428
, var_path
); /* Direct call location$Location$opaque_file on <var428:Location>*/
3883 var_loc429
= var428
;
3884 var430
= NEW_nitc__MModule(&type_nitc__MModule
);
3886 { /* Inline modelbuilder_base$ModelBuilder$model (self) on <self:ModelBuilder> */
3887 var433
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
3888 if (unlikely(var433
== NULL
)) {
3889 if(catchStack
.cursor
>= 0){
3890 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3892 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
3893 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
3897 RET_LABEL432
:(void)0;
3901 ((void(*)(val
* self
, val
* p0
))(var430
->class->vft
[COLOR_nitc__mmodule__MModule__model_61d
]))(var430
, var431
); /* model= on <var430:MModule>*/
3904 ((void(*)(val
* self
, val
* p0
))(var430
->class->vft
[COLOR_nitc__mmodule__MModule__mgroup_61d
]))(var430
, var_mgroup333
); /* mgroup= on <var430:MModule>*/
3907 ((void(*)(val
* self
, val
* p0
))(var430
->class->vft
[COLOR_nitc__mmodule__MModule__name_61d
]))(var430
, var_pn
); /* name= on <var430:MModule>*/
3910 ((void(*)(val
* self
, val
* p0
))(var430
->class->vft
[COLOR_nitc__mmodule__MModule__location_61d
]))(var430
, var_loc429
); /* location= on <var430:MModule>*/
3913 ((void(*)(val
* self
))(var430
->class->vft
[COLOR_core__kernel__Object__init
]))(var430
); /* init on <var430:MModule>*/
3915 var_res434
= var430
;
3917 { /* Inline loader$ModelBuilder$identified_modules_by_path (self) on <self:ModelBuilder> */
3918 var437
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
3919 if (unlikely(var437
== NULL
)) {
3920 if(catchStack
.cursor
>= 0){
3921 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
3924 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 316);
3928 RET_LABEL436
:(void)0;
3932 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var435
, var_rp
, var_res434
); /* Direct call hash_collection$HashMap$[]= on <var435:HashMap[String, nullable MModule]>*/
3935 { /* Inline loader$ModelBuilder$identified_modules_by_path (self) on <self:ModelBuilder> */
3936 var440
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules_by_path
].val
; /* _identified_modules_by_path on <self:ModelBuilder> */
3937 if (unlikely(var440
== NULL
)) {
3938 if(catchStack
.cursor
>= 0){
3939 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules_by_path");
3942 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 316);
3946 RET_LABEL439
:(void)0;
3950 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var438
, var_path
, var_res434
); /* Direct call hash_collection$HashMap$[]= on <var438:HashMap[String, nullable MModule]>*/
3953 { /* Inline loader$ModelBuilder$identified_modules (self) on <self:ModelBuilder> */
3954 var443
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___identified_modules
].val
; /* _identified_modules on <self:ModelBuilder> */
3955 if (unlikely(var443
== NULL
)) {
3956 if(catchStack
.cursor
>= 0){
3957 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_modules");
3960 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 319);
3964 RET_LABEL442
:(void)0;
3968 core___core__Array___core__abstract_collection__SimpleCollection__add(var441
, var_res434
); /* Direct call array$Array$add on <var441:Array[MModule]>*/
3975 /* method loader$ModelBuilder$mgroups for (self: ModelBuilder): HashMap[String, nullable MGroup] */
3976 val
* nitc__loader___ModelBuilder___mgroups(val
* self
) {
3977 val
* var
/* : HashMap[String, nullable MGroup] */;
3978 val
* var1
/* : HashMap[String, nullable MGroup] */;
3979 var1
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
3980 if (unlikely(var1
== NULL
)) {
3981 if(catchStack
.cursor
>= 0){
3982 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3984 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
3985 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 477);
3992 /* method loader$ModelBuilder$identify_group for (self: ModelBuilder, String): nullable MGroup */
3993 val
* nitc__loader___ModelBuilder___identify_group(val
* self
, val
* p0
) {
3994 val
* var
/* : nullable MGroup */;
3995 val
* var_dirpath
/* var dirpath: String */;
3996 val
* var2
/* : nullable FileStat */;
3997 val
* var_stat
/* var stat: nullable FileStat */;
3998 short int var3
/* : Bool */;
3999 short int var4
/* : Bool */;
4000 short int var5
/* : Bool */;
4001 val
* var_other
/* var other: nullable Object */;
4002 short int var7
/* : Bool */;
4003 short int var9
/* : Bool */;
4004 short int var_
/* var : Bool */;
4005 short int var10
/* : Bool */;
4006 short int var11
/* : Bool */;
4007 val
* var12
/* : SequenceRead[Char] */;
4008 val
* var13
/* : nullable Object */;
4009 short int var14
/* : Bool */;
4010 val
* var15
/* : Array[String] */;
4011 val
* var17
/* : Array[String] */;
4012 val
* var_18
/* var : Array[String] */;
4013 val
* var19
/* : IndexedIterator[nullable Object] */;
4014 val
* var_20
/* var : IndexedIterator[String] */;
4015 short int var21
/* : Bool */;
4016 val
* var22
/* : nullable Object */;
4017 val
* var_p
/* var p: String */;
4018 val
* var23
/* : String */;
4019 val
* var_try
/* var try: String */;
4020 val
* var24
/* : nullable FileStat */;
4021 short int var25
/* : Bool */;
4022 short int var26
/* : Bool */;
4023 val
* var_other28
/* var other: nullable Object */;
4024 short int var29
/* : Bool */;
4025 short int var30
/* : Bool */;
4026 short int var31
/* : Bool */;
4027 short int var32
/* : Bool */;
4028 val
* var33
/* : NativeArray[String] */;
4029 static val
* varonce
;
4030 static val
* varonce34
;
4031 val
* var35
/* : String */;
4032 char* var36
/* : CString */;
4033 val
* var37
/* : String */;
4034 val
* var38
/* : nullable Int */;
4035 val
* var39
/* : nullable Int */;
4036 val
* var40
/* : nullable Bool */;
4037 val
* var41
/* : nullable Bool */;
4038 static val
* varonce42
;
4039 val
* var43
/* : String */;
4040 char* var44
/* : CString */;
4041 val
* var45
/* : String */;
4042 val
* var46
/* : nullable Int */;
4043 val
* var47
/* : nullable Int */;
4044 val
* var48
/* : nullable Bool */;
4045 val
* var49
/* : nullable Bool */;
4046 val
* var50
/* : String */;
4047 val
* var52
/* : String */;
4048 val
* var_rdp
/* var rdp: String */;
4049 val
* var53
/* : HashMap[String, nullable MGroup] */;
4050 val
* var55
/* : HashMap[String, nullable MGroup] */;
4051 short int var56
/* : Bool */;
4052 val
* var57
/* : HashMap[String, nullable MGroup] */;
4053 val
* var59
/* : HashMap[String, nullable MGroup] */;
4054 val
* var60
/* : nullable Object */;
4055 val
* var61
/* : String */;
4056 val
* var_pn
/* var pn: String */;
4057 val
* var_ini
/* var ini: nullable Object */;
4058 val
* var_parent
/* var parent: nullable Object */;
4059 static val
* varonce62
;
4060 val
* var63
/* : String */;
4061 char* var64
/* : CString */;
4062 val
* var65
/* : String */;
4063 val
* var66
/* : nullable Int */;
4064 val
* var67
/* : nullable Int */;
4065 val
* var68
/* : nullable Bool */;
4066 val
* var69
/* : nullable Bool */;
4067 val
* var70
/* : String */;
4068 val
* var_inipath
/* var inipath: String */;
4069 short int var71
/* : Bool */;
4070 val
* var72
/* : ConfigTree */;
4071 short int var73
/* : Bool */;
4072 short int var74
/* : Bool */;
4073 short int var76
/* : Bool */;
4074 short int var78
/* : Bool */;
4075 static val
* varonce79
;
4076 val
* var80
/* : String */;
4077 char* var81
/* : CString */;
4078 val
* var82
/* : String */;
4079 val
* var83
/* : nullable Int */;
4080 val
* var84
/* : nullable Int */;
4081 val
* var85
/* : nullable Bool */;
4082 val
* var86
/* : nullable Bool */;
4083 short int var87
/* : Bool */;
4084 val
* var88
/* : HashMap[String, nullable MGroup] */;
4085 val
* var90
/* : HashMap[String, nullable MGroup] */;
4086 val
* var92
/* : NativeArray[String] */;
4087 static val
* varonce91
;
4088 static val
* varonce93
;
4089 val
* var94
/* : String */;
4090 char* var95
/* : CString */;
4091 val
* var96
/* : String */;
4092 val
* var97
/* : nullable Int */;
4093 val
* var98
/* : nullable Int */;
4094 val
* var99
/* : nullable Bool */;
4095 val
* var100
/* : nullable Bool */;
4096 static val
* varonce101
;
4097 val
* var102
/* : String */;
4098 char* var103
/* : CString */;
4099 val
* var104
/* : String */;
4100 val
* var105
/* : nullable Int */;
4101 val
* var106
/* : nullable Int */;
4102 val
* var107
/* : nullable Bool */;
4103 val
* var108
/* : nullable Bool */;
4104 val
* var109
/* : String */;
4105 static val
* varonce111
;
4106 val
* var112
/* : String */;
4107 char* var113
/* : CString */;
4108 val
* var114
/* : String */;
4109 val
* var115
/* : nullable Int */;
4110 val
* var116
/* : nullable Int */;
4111 val
* var117
/* : nullable Bool */;
4112 val
* var118
/* : nullable Bool */;
4113 val
* var119
/* : String */;
4114 short int var120
/* : Bool */;
4115 val
* var121
/* : HashMap[String, nullable MGroup] */;
4116 val
* var123
/* : HashMap[String, nullable MGroup] */;
4117 val
* var125
/* : NativeArray[String] */;
4118 static val
* varonce124
;
4119 static val
* varonce126
;
4120 val
* var127
/* : String */;
4121 char* var128
/* : CString */;
4122 val
* var129
/* : String */;
4123 val
* var130
/* : nullable Int */;
4124 val
* var131
/* : nullable Int */;
4125 val
* var132
/* : nullable Bool */;
4126 val
* var133
/* : nullable Bool */;
4127 static val
* varonce134
;
4128 val
* var135
/* : String */;
4129 char* var136
/* : CString */;
4130 val
* var137
/* : String */;
4131 val
* var138
/* : nullable Int */;
4132 val
* var139
/* : nullable Int */;
4133 val
* var140
/* : nullable Bool */;
4134 val
* var141
/* : nullable Bool */;
4135 val
* var142
/* : String */;
4136 static val
* varonce144
;
4137 val
* var145
/* : String */;
4138 char* var146
/* : CString */;
4139 val
* var147
/* : String */;
4140 val
* var148
/* : nullable Int */;
4141 val
* var149
/* : nullable Int */;
4142 val
* var150
/* : nullable Bool */;
4143 val
* var151
/* : nullable Bool */;
4144 val
* var152
/* : String */;
4145 val
* var153
/* : String */;
4146 val
* var_parentpath
/* var parentpath: String */;
4147 static val
* varonce154
;
4148 val
* var155
/* : String */;
4149 char* var156
/* : CString */;
4150 val
* var157
/* : String */;
4151 val
* var158
/* : nullable Int */;
4152 val
* var159
/* : nullable Int */;
4153 val
* var160
/* : nullable Bool */;
4154 val
* var161
/* : nullable Bool */;
4155 val
* var162
/* : String */;
4156 val
* var_stopper
/* var stopper: String */;
4157 short int var163
/* : Bool */;
4158 short int var164
/* : Bool */;
4159 val
* var165
/* : nullable MGroup */;
4160 short int var166
/* : Bool */;
4161 short int var167
/* : Bool */;
4162 short int var169
/* : Bool */;
4163 short int var170
/* : Bool */;
4164 val
* var171
/* : MPackage */;
4165 val
* var173
/* : MPackage */;
4166 val
* var_mpackage
/* var mpackage: MPackage */;
4167 short int var174
/* : Bool */;
4168 short int var175
/* : Bool */;
4169 val
* var176
/* : ToolContext */;
4170 val
* var178
/* : ToolContext */;
4171 val
* var180
/* : NativeArray[String] */;
4172 static val
* varonce179
;
4173 static val
* varonce181
;
4174 val
* var182
/* : String */;
4175 char* var183
/* : CString */;
4176 val
* var184
/* : String */;
4177 val
* var185
/* : nullable Int */;
4178 val
* var186
/* : nullable Int */;
4179 val
* var187
/* : nullable Bool */;
4180 val
* var188
/* : nullable Bool */;
4181 static val
* varonce189
;
4182 val
* var190
/* : String */;
4183 char* var191
/* : CString */;
4184 val
* var192
/* : String */;
4185 val
* var193
/* : nullable Int */;
4186 val
* var194
/* : nullable Int */;
4187 val
* var195
/* : nullable Bool */;
4188 val
* var196
/* : nullable Bool */;
4189 static val
* varonce197
;
4190 val
* var198
/* : String */;
4191 char* var199
/* : CString */;
4192 val
* var200
/* : String */;
4193 val
* var201
/* : nullable Int */;
4194 val
* var202
/* : nullable Int */;
4195 val
* var203
/* : nullable Bool */;
4196 val
* var204
/* : nullable Bool */;
4197 val
* var205
/* : String */;
4198 val
* var206
/* : String */;
4199 short int var207
/* : Bool */;
4200 short int var208
/* : Bool */;
4201 short int var210
/* : Bool */;
4202 short int var212
/* : Bool */;
4203 val
* var213
/* : HashMap[String, nullable MGroup] */;
4204 val
* var215
/* : HashMap[String, nullable MGroup] */;
4205 val
* var217
/* : NativeArray[String] */;
4206 static val
* varonce216
;
4207 static val
* varonce218
;
4208 val
* var219
/* : String */;
4209 char* var220
/* : CString */;
4210 val
* var221
/* : String */;
4211 val
* var222
/* : nullable Int */;
4212 val
* var223
/* : nullable Int */;
4213 val
* var224
/* : nullable Bool */;
4214 val
* var225
/* : nullable Bool */;
4215 static val
* varonce226
;
4216 val
* var227
/* : String */;
4217 char* var228
/* : CString */;
4218 val
* var229
/* : String */;
4219 val
* var230
/* : nullable Int */;
4220 val
* var231
/* : nullable Int */;
4221 val
* var232
/* : nullable Bool */;
4222 val
* var233
/* : nullable Bool */;
4223 val
* var234
/* : String */;
4224 val
* var236
/* : Location */;
4225 val
* var_loc
/* var loc: Location */;
4226 short int var237
/* : Bool */;
4227 short int var238
/* : Bool */;
4228 short int var240
/* : Bool */;
4229 short int var242
/* : Bool */;
4230 short int var243
/* : Bool */;
4231 short int var244
/* : Bool */;
4232 short int var246
/* : Bool */;
4233 short int var247
/* : Bool */;
4234 val
* var248
/* : String */;
4235 static val
* varonce249
;
4236 val
* var250
/* : String */;
4237 char* var251
/* : CString */;
4238 val
* var252
/* : String */;
4239 val
* var253
/* : nullable Int */;
4240 val
* var254
/* : nullable Int */;
4241 val
* var255
/* : nullable Bool */;
4242 val
* var256
/* : nullable Bool */;
4243 val
* var257
/* : nullable String */;
4244 val
* var258
/* : MPackage */;
4245 val
* var259
/* : Model */;
4246 val
* var261
/* : Model */;
4247 val
* var_mpackage262
/* var mpackage: MPackage */;
4248 val
* var263
/* : MGroup */;
4249 val
* var_mgroup
/* var mgroup: nullable Object */;
4250 val
* var265
/* : ToolContext */;
4251 val
* var267
/* : ToolContext */;
4252 val
* var269
/* : NativeArray[String] */;
4253 static val
* varonce268
;
4254 static val
* varonce270
;
4255 val
* var271
/* : String */;
4256 char* var272
/* : CString */;
4257 val
* var273
/* : String */;
4258 val
* var274
/* : nullable Int */;
4259 val
* var275
/* : nullable Int */;
4260 val
* var276
/* : nullable Bool */;
4261 val
* var277
/* : nullable Bool */;
4262 static val
* varonce278
;
4263 val
* var279
/* : String */;
4264 char* var280
/* : CString */;
4265 val
* var281
/* : String */;
4266 val
* var282
/* : nullable Int */;
4267 val
* var283
/* : nullable Int */;
4268 val
* var284
/* : nullable Bool */;
4269 val
* var285
/* : nullable Bool */;
4270 val
* var286
/* : String */;
4271 val
* var287
/* : String */;
4272 val
* var289
/* : MGroup */;
4273 val
* var290
/* : MPackage */;
4274 val
* var292
/* : MPackage */;
4275 val
* var293
/* : ToolContext */;
4276 val
* var295
/* : ToolContext */;
4277 val
* var297
/* : NativeArray[String] */;
4278 static val
* varonce296
;
4279 static val
* varonce298
;
4280 val
* var299
/* : String */;
4281 char* var300
/* : CString */;
4282 val
* var301
/* : String */;
4283 val
* var302
/* : nullable Int */;
4284 val
* var303
/* : nullable Int */;
4285 val
* var304
/* : nullable Bool */;
4286 val
* var305
/* : nullable Bool */;
4287 static val
* varonce306
;
4288 val
* var307
/* : String */;
4289 char* var308
/* : CString */;
4290 val
* var309
/* : String */;
4291 val
* var310
/* : nullable Int */;
4292 val
* var311
/* : nullable Int */;
4293 val
* var312
/* : nullable Bool */;
4294 val
* var313
/* : nullable Bool */;
4295 val
* var314
/* : String */;
4296 val
* var315
/* : String */;
4297 static val
* varonce316
;
4298 val
* var317
/* : String */;
4299 char* var318
/* : CString */;
4300 val
* var319
/* : String */;
4301 val
* var320
/* : nullable Int */;
4302 val
* var321
/* : nullable Int */;
4303 val
* var322
/* : nullable Bool */;
4304 val
* var323
/* : nullable Bool */;
4305 val
* var324
/* : String */;
4306 val
* var_readme
/* var readme: String */;
4307 short int var325
/* : Bool */;
4308 short int var326
/* : Bool */;
4309 static val
* varonce327
;
4310 val
* var328
/* : String */;
4311 char* var329
/* : CString */;
4312 val
* var330
/* : String */;
4313 val
* var331
/* : nullable Int */;
4314 val
* var332
/* : nullable Int */;
4315 val
* var333
/* : nullable Bool */;
4316 val
* var334
/* : nullable Bool */;
4317 val
* var335
/* : String */;
4318 short int var336
/* : Bool */;
4319 val
* var337
/* : MDoc */;
4320 val
* var_mdoc
/* var mdoc: MDoc */;
4321 val
* var340
/* : HashMap[String, nullable MGroup] */;
4322 val
* var342
/* : HashMap[String, nullable MGroup] */;
4325 { /* Inline loader$ModelBuilder$last_loader_error= (self,((val*)NULL)) on <self:ModelBuilder> */
4326 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= ((val
*)NULL
); /* _last_loader_error on <self:ModelBuilder> */
4331 var2
= core__file___String___file_stat(var_dirpath
);
4334 if (var_stat
== NULL
) {
4335 var4
= 1; /* is null */
4337 var4
= 0; /* arg is null but recv is not */
4340 { /* Inline kernel$Object$== (var_stat,((val*)NULL)) on <var_stat:nullable FileStat> */
4341 var_other
= ((val
*)NULL
);
4343 { /* Inline kernel$Object$is_same_instance (var_stat,var_other) on <var_stat:nullable FileStat(FileStat)> */
4344 var9
= var_stat
== var_other
;
4361 var10
= core___core__FileStat___is_dir(var_stat
);
4368 var12
= ((val
*(*)(val
* self
))(var_dirpath
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_dirpath
); /* chars on <var_dirpath:String>*/
4371 var13
= (val
*)((long)('/')<<2|2);
4372 var14
= ((short int(*)(val
* self
, val
* p0
))((((long)var12
&3)?class_info
[((long)var12
&3)]:var12
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var12
, var13
); /* has on <var12:SequenceRead[Char]>*/
4380 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
4381 var17
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
4382 if (unlikely(var17
== NULL
)) {
4383 if(catchStack
.cursor
>= 0){
4384 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
4387 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
4391 RET_LABEL16
:(void)0;
4396 var19
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_18
);
4401 var21
= ((short int(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_20
); /* is_ok on <var_20:IndexedIterator[String]>*/
4408 var22
= ((val
*(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_20
); /* item on <var_20:IndexedIterator[String]>*/
4412 var23
= core__file___String____47d(var_p
, var_dirpath
);
4416 var24
= core__file___String___file_stat(var_try
);
4419 if (var_stat
== NULL
) {
4420 var25
= 0; /* is null */
4422 var25
= 1; /* arg is null and recv is not */
4425 { /* Inline kernel$Object$!= (var_stat,((val*)NULL)) on <var_stat:nullable FileStat> */
4426 var_other28
= ((val
*)NULL
);
4428 var29
= ((short int(*)(val
* self
, val
* p0
))(var_stat
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_stat
, var_other28
); /* == on <var_stat:nullable FileStat(FileStat)>*/
4433 RET_LABEL27
:(void)0;
4438 var_dirpath
= var_try
;
4443 ((void(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_20
); /* next on <var_20:IndexedIterator[String]>*/
4446 BREAK_label
: (void)0;
4448 ((void(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_20
); /* finish on <var_20:IndexedIterator[String]>*/
4456 var31
= core___core__FileStat___is_dir(var_stat
);
4460 if (unlikely(varonce
==NULL
)) {
4461 var33
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4462 if (likely(varonce34
!=NULL
)) {
4466 var38
= (val
*)(8l<<2|1);
4467 var39
= (val
*)(8l<<2|1);
4468 var40
= (val
*)((long)(0)<<2|3);
4469 var41
= (val
*)((long)(0)<<2|3);
4470 var37
= core__flat___CString___to_s_unsafe(var36
, var38
, var39
, var40
, var41
);
4474 ((struct instance_core__NativeArray
*)var33
)->values
[0]=var35
;
4475 if (likely(varonce42
!=NULL
)) {
4478 var44
= "` is not a directory.";
4479 var46
= (val
*)(21l<<2|1);
4480 var47
= (val
*)(21l<<2|1);
4481 var48
= (val
*)((long)(0)<<2|3);
4482 var49
= (val
*)((long)(0)<<2|3);
4483 var45
= core__flat___CString___to_s_unsafe(var44
, var46
, var47
, var48
, var49
);
4487 ((struct instance_core__NativeArray
*)var33
)->values
[2]=var43
;
4492 ((struct instance_core__NativeArray
*)var33
)->values
[1]=var_dirpath
;
4494 var50
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
4498 { /* Inline loader$ModelBuilder$last_loader_error= (self,var50) on <self:ModelBuilder> */
4499 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= var50
; /* _last_loader_error on <self:ModelBuilder> */
4500 RET_LABEL51
:(void)0;
4508 var52
= nitc__loader___ModelBuilder___module_absolute_path(self
, var_dirpath
);
4512 { /* Inline loader$ModelBuilder$mgroups (self) on <self:ModelBuilder> */
4513 var55
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
4514 if (unlikely(var55
== NULL
)) {
4515 if(catchStack
.cursor
>= 0){
4516 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
4519 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 477);
4523 RET_LABEL54
:(void)0;
4527 var56
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var53
, var_rdp
);
4531 { /* Inline loader$ModelBuilder$mgroups (self) on <self:ModelBuilder> */
4532 var59
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
4533 if (unlikely(var59
== NULL
)) {
4534 if(catchStack
.cursor
>= 0){
4535 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4537 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
4538 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 477);
4542 RET_LABEL58
:(void)0;
4546 var60
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var57
, var_rdp
);
4553 var61
= ((val
*(*)(val
* self
, val
* p0
))(var_rdp
->class->vft
[COLOR_core__file__String__basename
]))(var_rdp
, ((val
*)NULL
)); /* basename on <var_rdp:String>*/
4556 var_ini
= ((val
*)NULL
);
4557 var_parent
= ((val
*)NULL
);
4558 if (likely(varonce62
!=NULL
)) {
4561 var64
= "package.ini";
4562 var66
= (val
*)(11l<<2|1);
4563 var67
= (val
*)(11l<<2|1);
4564 var68
= (val
*)((long)(0)<<2|3);
4565 var69
= (val
*)((long)(0)<<2|3);
4566 var65
= core__flat___CString___to_s_unsafe(var64
, var66
, var67
, var68
, var69
);
4571 var70
= core__file___String____47d(var_dirpath
, var63
);
4573 var_inipath
= var70
;
4575 var71
= core__file___Text___file_exists(var_inipath
);
4578 var72
= NEW_ini__ConfigTree(&type_ini__ConfigTree
);
4580 ((void(*)(val
* self
, val
* p0
))(var72
->class->vft
[COLOR_ini__ConfigTree__ini_file_61d
]))(var72
, var_inipath
); /* ini_file= on <var72:ConfigTree>*/
4583 ((void(*)(val
* self
))(var72
->class->vft
[COLOR_core__kernel__Object__init
]))(var72
); /* init on <var72:ConfigTree>*/
4588 if (var_ini
== NULL
) {
4589 var73
= 1; /* is null */
4591 var73
= 0; /* arg is null but recv is not */
4594 { /* Inline kernel$Object$== (var_ini,((val*)NULL)) on <var_ini:nullable Object(nullable ConfigTree)> */
4595 var_other
= ((val
*)NULL
);
4597 { /* Inline kernel$Object$is_same_instance (var_ini,var_other) on <var_ini:nullable Object(ConfigTree)> */
4598 var78
= var_ini
== var_other
;
4601 RET_LABEL77
:(void)0;
4606 RET_LABEL75
:(void)0;
4611 if (likely(varonce79
!=NULL
)) {
4615 var83
= (val
*)(1l<<2|1);
4616 var84
= (val
*)(1l<<2|1);
4617 var85
= (val
*)((long)(0)<<2|3);
4618 var86
= (val
*)((long)(0)<<2|3);
4619 var82
= core__flat___CString___to_s_unsafe(var81
, var83
, var84
, var85
, var86
);
4624 var87
= ((short int(*)(val
* self
, val
* p0
))(var_rdp
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rdp
, var80
); /* == on <var_rdp:String>*/
4628 { /* Inline loader$ModelBuilder$mgroups (self) on <self:ModelBuilder> */
4629 var90
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
4630 if (unlikely(var90
== NULL
)) {
4631 if(catchStack
.cursor
>= 0){
4632 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
4635 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 477);
4639 RET_LABEL89
:(void)0;
4643 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var88
, var_rdp
, ((val
*)NULL
)); /* Direct call hash_collection$HashMap$[]= on <var88:HashMap[String, nullable MGroup]>*/
4645 if (unlikely(varonce91
==NULL
)) {
4646 var92
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4647 if (likely(varonce93
!=NULL
)) {
4651 var97
= (val
*)(8l<<2|1);
4652 var98
= (val
*)(8l<<2|1);
4653 var99
= (val
*)((long)(0)<<2|3);
4654 var100
= (val
*)((long)(0)<<2|3);
4655 var96
= core__flat___CString___to_s_unsafe(var95
, var97
, var98
, var99
, var100
);
4659 ((struct instance_core__NativeArray
*)var92
)->values
[0]=var94
;
4660 if (likely(varonce101
!=NULL
)) {
4661 var102
= varonce101
;
4663 var103
= "` is not a Nit package.";
4664 var105
= (val
*)(23l<<2|1);
4665 var106
= (val
*)(23l<<2|1);
4666 var107
= (val
*)((long)(0)<<2|3);
4667 var108
= (val
*)((long)(0)<<2|3);
4668 var104
= core__flat___CString___to_s_unsafe(var103
, var105
, var106
, var107
, var108
);
4670 varonce101
= var102
;
4672 ((struct instance_core__NativeArray
*)var92
)->values
[2]=var102
;
4677 ((struct instance_core__NativeArray
*)var92
)->values
[1]=var_dirpath
;
4679 var109
= ((val
*(*)(val
* self
))(var92
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var92
); /* native_to_s on <var92:NativeArray[String]>*/
4683 { /* Inline loader$ModelBuilder$last_loader_error= (self,var109) on <self:ModelBuilder> */
4684 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= var109
; /* _last_loader_error on <self:ModelBuilder> */
4685 RET_LABEL110
:(void)0;
4692 if (likely(varonce111
!=NULL
)) {
4693 var112
= varonce111
;
4695 var113
= "packages.ini";
4696 var115
= (val
*)(12l<<2|1);
4697 var116
= (val
*)(12l<<2|1);
4698 var117
= (val
*)((long)(0)<<2|3);
4699 var118
= (val
*)((long)(0)<<2|3);
4700 var114
= core__flat___CString___to_s_unsafe(var113
, var115
, var116
, var117
, var118
);
4702 varonce111
= var112
;
4705 var119
= core__file___String____47d(var_dirpath
, var112
);
4708 var120
= core__file___Text___file_exists(var119
);
4712 { /* Inline loader$ModelBuilder$mgroups (self) on <self:ModelBuilder> */
4713 var123
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
4714 if (unlikely(var123
== NULL
)) {
4715 if(catchStack
.cursor
>= 0){
4716 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
4719 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 477);
4723 RET_LABEL122
:(void)0;
4727 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var121
, var_rdp
, ((val
*)NULL
)); /* Direct call hash_collection$HashMap$[]= on <var121:HashMap[String, nullable MGroup]>*/
4729 if (unlikely(varonce124
==NULL
)) {
4730 var125
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4731 if (likely(varonce126
!=NULL
)) {
4732 var127
= varonce126
;
4734 var128
= "Error: `";
4735 var130
= (val
*)(8l<<2|1);
4736 var131
= (val
*)(8l<<2|1);
4737 var132
= (val
*)((long)(0)<<2|3);
4738 var133
= (val
*)((long)(0)<<2|3);
4739 var129
= core__flat___CString___to_s_unsafe(var128
, var130
, var131
, var132
, var133
);
4741 varonce126
= var127
;
4743 ((struct instance_core__NativeArray
*)var125
)->values
[0]=var127
;
4744 if (likely(varonce134
!=NULL
)) {
4745 var135
= varonce134
;
4747 var136
= "` is not a Nit package.";
4748 var138
= (val
*)(23l<<2|1);
4749 var139
= (val
*)(23l<<2|1);
4750 var140
= (val
*)((long)(0)<<2|3);
4751 var141
= (val
*)((long)(0)<<2|3);
4752 var137
= core__flat___CString___to_s_unsafe(var136
, var138
, var139
, var140
, var141
);
4754 varonce134
= var135
;
4756 ((struct instance_core__NativeArray
*)var125
)->values
[2]=var135
;
4758 var125
= varonce124
;
4761 ((struct instance_core__NativeArray
*)var125
)->values
[1]=var_dirpath
;
4763 var142
= ((val
*(*)(val
* self
))(var125
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var125
); /* native_to_s on <var125:NativeArray[String]>*/
4765 varonce124
= var125
;
4767 { /* Inline loader$ModelBuilder$last_loader_error= (self,var142) on <self:ModelBuilder> */
4768 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= var142
; /* _last_loader_error on <self:ModelBuilder> */
4769 RET_LABEL143
:(void)0;
4776 if (likely(varonce144
!=NULL
)) {
4777 var145
= varonce144
;
4780 var148
= (val
*)(2l<<2|1);
4781 var149
= (val
*)(2l<<2|1);
4782 var150
= (val
*)((long)(0)<<2|3);
4783 var151
= (val
*)((long)(0)<<2|3);
4784 var147
= core__flat___CString___to_s_unsafe(var146
, var148
, var149
, var150
, var151
);
4786 varonce144
= var145
;
4789 var152
= core__file___String___join_path(var_dirpath
, var145
);
4792 var153
= core__file___String___simplify_path(var152
);
4794 var_parentpath
= var153
;
4795 if (likely(varonce154
!=NULL
)) {
4796 var155
= varonce154
;
4798 var156
= "packages.ini";
4799 var158
= (val
*)(12l<<2|1);
4800 var159
= (val
*)(12l<<2|1);
4801 var160
= (val
*)((long)(0)<<2|3);
4802 var161
= (val
*)((long)(0)<<2|3);
4803 var157
= core__flat___CString___to_s_unsafe(var156
, var158
, var159
, var160
, var161
);
4805 varonce154
= var155
;
4808 var162
= core__file___String____47d(var_parentpath
, var155
);
4810 var_stopper
= var162
;
4812 var163
= core__file___Text___file_exists(var_stopper
);
4817 var165
= nitc__loader___ModelBuilder___identify_group(self
, var_parentpath
);
4819 var_parent
= var165
;
4820 if (var_parent
== NULL
) {
4821 var166
= 0; /* is null */
4823 var166
= 1; /* arg is null and recv is not */
4826 { /* Inline kernel$Object$!= (var_parent,((val*)NULL)) on <var_parent:nullable Object(nullable MGroup)> */
4827 var_other28
= ((val
*)NULL
);
4829 var169
= ((short int(*)(val
* self
, val
* p0
))(var_parent
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_parent
, var_other28
); /* == on <var_parent:nullable Object(MGroup)>*/
4834 RET_LABEL168
:(void)0;
4840 { /* Inline mpackage$MGroup$mpackage (var_parent) on <var_parent:nullable Object(MGroup)> */
4841 var173
= var_parent
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_parent:nullable Object(MGroup)> */
4842 if (unlikely(var173
== NULL
)) {
4843 if(catchStack
.cursor
>= 0){
4844 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4846 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
4847 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
4851 RET_LABEL172
:(void)0;
4854 var_mpackage
= var171
;
4856 var174
= nitc__loader___MPackage___accept(var_mpackage
, var_dirpath
);
4861 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
4862 var178
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
4863 if (unlikely(var178
== NULL
)) {
4864 if(catchStack
.cursor
>= 0){
4865 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4867 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4868 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
4872 RET_LABEL177
:(void)0;
4875 if (unlikely(varonce179
==NULL
)) {
4876 var180
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
4877 if (likely(varonce181
!=NULL
)) {
4878 var182
= varonce181
;
4880 var183
= "directory `";
4881 var185
= (val
*)(11l<<2|1);
4882 var186
= (val
*)(11l<<2|1);
4883 var187
= (val
*)((long)(0)<<2|3);
4884 var188
= (val
*)((long)(0)<<2|3);
4885 var184
= core__flat___CString___to_s_unsafe(var183
, var185
, var186
, var187
, var188
);
4887 varonce181
= var182
;
4889 ((struct instance_core__NativeArray
*)var180
)->values
[0]=var182
;
4890 if (likely(varonce189
!=NULL
)) {
4891 var190
= varonce189
;
4893 var191
= "` excluded from package `";
4894 var193
= (val
*)(25l<<2|1);
4895 var194
= (val
*)(25l<<2|1);
4896 var195
= (val
*)((long)(0)<<2|3);
4897 var196
= (val
*)((long)(0)<<2|3);
4898 var192
= core__flat___CString___to_s_unsafe(var191
, var193
, var194
, var195
, var196
);
4900 varonce189
= var190
;
4902 ((struct instance_core__NativeArray
*)var180
)->values
[2]=var190
;
4903 if (likely(varonce197
!=NULL
)) {
4904 var198
= varonce197
;
4907 var201
= (val
*)(1l<<2|1);
4908 var202
= (val
*)(1l<<2|1);
4909 var203
= (val
*)((long)(0)<<2|3);
4910 var204
= (val
*)((long)(0)<<2|3);
4911 var200
= core__flat___CString___to_s_unsafe(var199
, var201
, var202
, var203
, var204
);
4913 varonce197
= var198
;
4915 ((struct instance_core__NativeArray
*)var180
)->values
[4]=var198
;
4917 var180
= varonce179
;
4920 ((struct instance_core__NativeArray
*)var180
)->values
[1]=var_dirpath
;
4922 var205
= ((val
*(*)(val
* self
))(var_mpackage
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpackage
); /* to_s on <var_mpackage:MPackage>*/
4924 ((struct instance_core__NativeArray
*)var180
)->values
[3]=var205
;
4926 var206
= ((val
*(*)(val
* self
))(var180
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var180
); /* native_to_s on <var180:NativeArray[String]>*/
4928 varonce179
= var180
;
4930 nitc___nitc__ToolContext___info(var176
, var206
, 2l); /* Direct call toolcontext$ToolContext$info on <var176:ToolContext>*/
4932 var_parent
= ((val
*)NULL
);
4937 if (var_parent
== NULL
) {
4938 var207
= 1; /* is null */
4940 var207
= 0; /* arg is null but recv is not */
4943 { /* Inline kernel$Object$== (var_parent,((val*)NULL)) on <var_parent:nullable Object(nullable MGroup)> */
4944 var_other
= ((val
*)NULL
);
4946 { /* Inline kernel$Object$is_same_instance (var_parent,var_other) on <var_parent:nullable Object(MGroup)> */
4947 var212
= var_parent
== var_other
;
4950 RET_LABEL211
:(void)0;
4955 RET_LABEL209
:(void)0;
4961 { /* Inline loader$ModelBuilder$mgroups (self) on <self:ModelBuilder> */
4962 var215
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
4963 if (unlikely(var215
== NULL
)) {
4964 if(catchStack
.cursor
>= 0){
4965 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
4968 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 477);
4972 RET_LABEL214
:(void)0;
4976 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var213
, var_rdp
, ((val
*)NULL
)); /* Direct call hash_collection$HashMap$[]= on <var213:HashMap[String, nullable MGroup]>*/
4978 if (unlikely(varonce216
==NULL
)) {
4979 var217
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4980 if (likely(varonce218
!=NULL
)) {
4981 var219
= varonce218
;
4983 var220
= "Error: `";
4984 var222
= (val
*)(8l<<2|1);
4985 var223
= (val
*)(8l<<2|1);
4986 var224
= (val
*)((long)(0)<<2|3);
4987 var225
= (val
*)((long)(0)<<2|3);
4988 var221
= core__flat___CString___to_s_unsafe(var220
, var222
, var223
, var224
, var225
);
4990 varonce218
= var219
;
4992 ((struct instance_core__NativeArray
*)var217
)->values
[0]=var219
;
4993 if (likely(varonce226
!=NULL
)) {
4994 var227
= varonce226
;
4996 var228
= "` is not a Nit package.";
4997 var230
= (val
*)(23l<<2|1);
4998 var231
= (val
*)(23l<<2|1);
4999 var232
= (val
*)((long)(0)<<2|3);
5000 var233
= (val
*)((long)(0)<<2|3);
5001 var229
= core__flat___CString___to_s_unsafe(var228
, var230
, var231
, var232
, var233
);
5003 varonce226
= var227
;
5005 ((struct instance_core__NativeArray
*)var217
)->values
[2]=var227
;
5007 var217
= varonce216
;
5010 ((struct instance_core__NativeArray
*)var217
)->values
[1]=var_dirpath
;
5012 var234
= ((val
*(*)(val
* self
))(var217
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var217
); /* native_to_s on <var217:NativeArray[String]>*/
5014 varonce216
= var217
;
5016 { /* Inline loader$ModelBuilder$last_loader_error= (self,var234) on <self:ModelBuilder> */
5017 self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
= var234
; /* _last_loader_error on <self:ModelBuilder> */
5018 RET_LABEL235
:(void)0;
5029 var236
= NEW_nitc__Location(&type_nitc__Location
);
5031 nitc___nitc__Location___opaque_file(var236
, var_dirpath
); /* Direct call location$Location$opaque_file on <var236:Location>*/
5034 if (var_parent
== NULL
) {
5035 var237
= 1; /* is null */
5037 var237
= 0; /* arg is null but recv is not */
5040 { /* Inline kernel$Object$== (var_parent,((val*)NULL)) on <var_parent:nullable Object(nullable MGroup)> */
5041 var_other
= ((val
*)NULL
);
5043 { /* Inline kernel$Object$is_same_instance (var_parent,var_other) on <var_parent:nullable Object(MGroup)> */
5044 var242
= var_parent
== var_other
;
5047 RET_LABEL241
:(void)0;
5052 RET_LABEL239
:(void)0;
5057 if (var_ini
== NULL
) {
5058 var243
= 0; /* is null */
5060 var243
= 1; /* arg is null and recv is not */
5063 { /* Inline kernel$Object$!= (var_ini,((val*)NULL)) on <var_ini:nullable Object(nullable ConfigTree)> */
5064 var_other28
= ((val
*)NULL
);
5066 var246
= ((short int(*)(val
* self
, val
* p0
))(var_ini
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ini
, var_other28
); /* == on <var_ini:nullable Object(ConfigTree)>*/
5071 RET_LABEL245
:(void)0;
5076 if (likely(varonce249
!=NULL
)) {
5077 var250
= varonce249
;
5079 var251
= "package.name";
5080 var253
= (val
*)(12l<<2|1);
5081 var254
= (val
*)(12l<<2|1);
5082 var255
= (val
*)((long)(0)<<2|3);
5083 var256
= (val
*)((long)(0)<<2|3);
5084 var252
= core__flat___CString___to_s_unsafe(var251
, var253
, var254
, var255
, var256
);
5086 varonce249
= var250
;
5089 var257
= ini___ini__ConfigTree____91d_93d(var_ini
, var250
);
5099 var258
= NEW_nitc__MPackage(&type_nitc__MPackage
);
5101 { /* Inline modelbuilder_base$ModelBuilder$model (self) on <self:ModelBuilder> */
5102 var261
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
5103 if (unlikely(var261
== NULL
)) {
5104 if(catchStack
.cursor
>= 0){
5105 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
5108 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
5112 RET_LABEL260
:(void)0;
5116 ((void(*)(val
* self
, val
* p0
))(var258
->class->vft
[COLOR_nitc__mpackage__MPackage__name_61d
]))(var258
, var_pn
); /* name= on <var258:MPackage>*/
5119 ((void(*)(val
* self
, val
* p0
))(var258
->class->vft
[COLOR_nitc__mpackage__MPackage__model_61d
]))(var258
, var259
); /* model= on <var258:MPackage>*/
5122 ((void(*)(val
* self
, val
* p0
))(var258
->class->vft
[COLOR_nitc__mpackage__MPackage__location_61d
]))(var258
, var_loc
); /* location= on <var258:MPackage>*/
5125 ((void(*)(val
* self
))(var258
->class->vft
[COLOR_core__kernel__Object__init
]))(var258
); /* init on <var258:MPackage>*/
5127 var_mpackage262
= var258
;
5128 var263
= NEW_nitc__MGroup(&type_nitc__MGroup
);
5130 ((void(*)(val
* self
, val
* p0
))(var263
->class->vft
[COLOR_nitc__mpackage__MGroup__name_61d
]))(var263
, var_pn
); /* name= on <var263:MGroup>*/
5133 ((void(*)(val
* self
, val
* p0
))(var263
->class->vft
[COLOR_nitc__mpackage__MGroup__location_61d
]))(var263
, var_loc
); /* location= on <var263:MGroup>*/
5136 ((void(*)(val
* self
, val
* p0
))(var263
->class->vft
[COLOR_nitc__mpackage__MGroup__mpackage_61d
]))(var263
, var_mpackage262
); /* mpackage= on <var263:MGroup>*/
5139 ((void(*)(val
* self
, val
* p0
))(var263
->class->vft
[COLOR_nitc__mpackage__MGroup__parent_61d
]))(var263
, ((val
*)NULL
)); /* parent= on <var263:MGroup>*/
5142 ((void(*)(val
* self
))(var263
->class->vft
[COLOR_core__kernel__Object__init
]))(var263
); /* init on <var263:MGroup>*/
5144 var_mgroup
= var263
;
5146 { /* Inline mpackage$MPackage$root= (var_mpackage262,var_mgroup) on <var_mpackage262:MPackage> */
5147 var_mpackage262
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
= var_mgroup
; /* _root on <var_mpackage262:MPackage> */
5148 RET_LABEL264
:(void)0;
5152 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
5153 var267
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5154 if (unlikely(var267
== NULL
)) {
5155 if(catchStack
.cursor
>= 0){
5156 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5159 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
5163 RET_LABEL266
:(void)0;
5166 if (unlikely(varonce268
==NULL
)) {
5167 var269
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
5168 if (likely(varonce270
!=NULL
)) {
5169 var271
= varonce270
;
5171 var272
= "found package `";
5172 var274
= (val
*)(15l<<2|1);
5173 var275
= (val
*)(15l<<2|1);
5174 var276
= (val
*)((long)(0)<<2|3);
5175 var277
= (val
*)((long)(0)<<2|3);
5176 var273
= core__flat___CString___to_s_unsafe(var272
, var274
, var275
, var276
, var277
);
5178 varonce270
= var271
;
5180 ((struct instance_core__NativeArray
*)var269
)->values
[0]=var271
;
5181 if (likely(varonce278
!=NULL
)) {
5182 var279
= varonce278
;
5185 var282
= (val
*)(5l<<2|1);
5186 var283
= (val
*)(5l<<2|1);
5187 var284
= (val
*)((long)(0)<<2|3);
5188 var285
= (val
*)((long)(0)<<2|3);
5189 var281
= core__flat___CString___to_s_unsafe(var280
, var282
, var283
, var284
, var285
);
5191 varonce278
= var279
;
5193 ((struct instance_core__NativeArray
*)var269
)->values
[2]=var279
;
5195 var269
= varonce268
;
5199 var286
= ((val
*(*)(val
* self
))(var_mpackage262
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpackage262
); /* to_s on <var_mpackage262:MPackage>*/
5201 ((struct instance_core__NativeArray
*)var269
)->values
[1]=var286
;
5202 ((struct instance_core__NativeArray
*)var269
)->values
[3]=var_dirpath
;
5204 var287
= ((val
*(*)(val
* self
))(var269
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var269
); /* native_to_s on <var269:NativeArray[String]>*/
5206 varonce268
= var269
;
5208 nitc___nitc__ToolContext___info(var265
, var287
, 2l); /* Direct call toolcontext$ToolContext$info on <var265:ToolContext>*/
5211 { /* Inline loader$MPackage$ini= (var_mpackage262,var_ini) on <var_mpackage262:MPackage> */
5212 var_mpackage262
->attrs
[COLOR_nitc__loader__MPackage___ini
].val
= var_ini
; /* _ini on <var_mpackage262:MPackage> */
5213 RET_LABEL288
:(void)0;
5217 var289
= NEW_nitc__MGroup(&type_nitc__MGroup
);
5219 { /* Inline mpackage$MGroup$mpackage (var_parent) on <var_parent:nullable Object(MGroup)> */
5220 var292
= var_parent
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_parent:nullable Object(MGroup)> */
5221 if (unlikely(var292
== NULL
)) {
5222 if(catchStack
.cursor
>= 0){
5223 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
5226 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
5230 RET_LABEL291
:(void)0;
5234 ((void(*)(val
* self
, val
* p0
))(var289
->class->vft
[COLOR_nitc__mpackage__MGroup__name_61d
]))(var289
, var_pn
); /* name= on <var289:MGroup>*/
5237 ((void(*)(val
* self
, val
* p0
))(var289
->class->vft
[COLOR_nitc__mpackage__MGroup__location_61d
]))(var289
, var_loc
); /* location= on <var289:MGroup>*/
5240 ((void(*)(val
* self
, val
* p0
))(var289
->class->vft
[COLOR_nitc__mpackage__MGroup__mpackage_61d
]))(var289
, var290
); /* mpackage= on <var289:MGroup>*/
5243 ((void(*)(val
* self
, val
* p0
))(var289
->class->vft
[COLOR_nitc__mpackage__MGroup__parent_61d
]))(var289
, var_parent
); /* parent= on <var289:MGroup>*/
5246 ((void(*)(val
* self
))(var289
->class->vft
[COLOR_core__kernel__Object__init
]))(var289
); /* init on <var289:MGroup>*/
5248 var_mgroup
= var289
;
5250 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
5251 var295
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5252 if (unlikely(var295
== NULL
)) {
5253 if(catchStack
.cursor
>= 0){
5254 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5257 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
5261 RET_LABEL294
:(void)0;
5264 if (unlikely(varonce296
==NULL
)) {
5265 var297
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
5266 if (likely(varonce298
!=NULL
)) {
5267 var299
= varonce298
;
5269 var300
= "found sub group `";
5270 var302
= (val
*)(17l<<2|1);
5271 var303
= (val
*)(17l<<2|1);
5272 var304
= (val
*)((long)(0)<<2|3);
5273 var305
= (val
*)((long)(0)<<2|3);
5274 var301
= core__flat___CString___to_s_unsafe(var300
, var302
, var303
, var304
, var305
);
5276 varonce298
= var299
;
5278 ((struct instance_core__NativeArray
*)var297
)->values
[0]=var299
;
5279 if (likely(varonce306
!=NULL
)) {
5280 var307
= varonce306
;
5283 var310
= (val
*)(5l<<2|1);
5284 var311
= (val
*)(5l<<2|1);
5285 var312
= (val
*)((long)(0)<<2|3);
5286 var313
= (val
*)((long)(0)<<2|3);
5287 var309
= core__flat___CString___to_s_unsafe(var308
, var310
, var311
, var312
, var313
);
5289 varonce306
= var307
;
5291 ((struct instance_core__NativeArray
*)var297
)->values
[2]=var307
;
5293 var297
= varonce296
;
5297 var314
= nitc___nitc__MGroup___nitc__model_base__MEntity__full_name(var_mgroup
);
5299 ((struct instance_core__NativeArray
*)var297
)->values
[1]=var314
;
5300 ((struct instance_core__NativeArray
*)var297
)->values
[3]=var_dirpath
;
5302 var315
= ((val
*(*)(val
* self
))(var297
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var297
); /* native_to_s on <var297:NativeArray[String]>*/
5304 varonce296
= var297
;
5306 nitc___nitc__ToolContext___info(var293
, var315
, 2l); /* Direct call toolcontext$ToolContext$info on <var293:ToolContext>*/
5309 if (likely(varonce316
!=NULL
)) {
5310 var317
= varonce316
;
5312 var318
= "README.md";
5313 var320
= (val
*)(9l<<2|1);
5314 var321
= (val
*)(9l<<2|1);
5315 var322
= (val
*)((long)(0)<<2|3);
5316 var323
= (val
*)((long)(0)<<2|3);
5317 var319
= core__flat___CString___to_s_unsafe(var318
, var320
, var321
, var322
, var323
);
5319 varonce316
= var317
;
5322 var324
= core__file___String___join_path(var_dirpath
, var317
);
5324 var_readme
= var324
;
5326 var325
= core__file___Text___file_exists(var_readme
);
5330 if (likely(varonce327
!=NULL
)) {
5331 var328
= varonce327
;
5334 var331
= (val
*)(6l<<2|1);
5335 var332
= (val
*)(6l<<2|1);
5336 var333
= (val
*)((long)(0)<<2|3);
5337 var334
= (val
*)((long)(0)<<2|3);
5338 var330
= core__flat___CString___to_s_unsafe(var329
, var331
, var332
, var333
, var334
);
5340 varonce327
= var328
;
5343 var335
= core__file___String___join_path(var_dirpath
, var328
);
5345 var_readme
= var335
;
5349 var336
= core__file___Text___file_exists(var_readme
);
5353 var337
= nitc__loader___ModelBuilder___load_markdown(self
, var_readme
);
5357 { /* Inline mdoc$MEntity$mdoc= (var_mgroup,var_mdoc) on <var_mgroup:nullable Object(MGroup)> */
5358 var_mgroup
->attrs
[COLOR_nitc__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mgroup:nullable Object(MGroup)> */
5359 RET_LABEL338
:(void)0;
5363 { /* Inline mdoc$MDoc$original_mentity= (var_mdoc,var_mgroup) on <var_mdoc:MDoc> */
5364 var_mdoc
->attrs
[COLOR_nitc__mdoc__MDoc___original_mentity
].val
= var_mgroup
; /* _original_mentity on <var_mdoc:MDoc> */
5365 RET_LABEL339
:(void)0;
5371 { /* Inline loader$ModelBuilder$mgroups (self) on <self:ModelBuilder> */
5372 var342
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mgroups
].val
; /* _mgroups on <self:ModelBuilder> */
5373 if (unlikely(var342
== NULL
)) {
5374 if(catchStack
.cursor
>= 0){
5375 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5377 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups");
5378 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 477);
5382 RET_LABEL341
:(void)0;
5386 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var340
, var_rdp
, var_mgroup
); /* Direct call hash_collection$HashMap$[]= on <var340:HashMap[String, nullable MGroup]>*/
5393 /* method loader$ModelBuilder$load_markdown for (self: ModelBuilder, String): MDoc */
5394 val
* nitc__loader___ModelBuilder___load_markdown(val
* self
, val
* p0
) {
5395 val
* var
/* : MDoc */;
5396 val
* var_filepath
/* var filepath: String */;
5397 val
* var1
/* : FileReader */;
5398 val
* var_s
/* var s: FileReader */;
5399 val
* var2
/* : Array[String] */;
5400 val
* var_lines
/* var lines: Array[String] */;
5401 val
* var3
/* : Array[Int] */;
5402 val
* var_line_starts
/* var line_starts: Array[Int] */;
5403 long var_len
/* var len: Int */;
5404 short int var4
/* : Bool */;
5405 short int var5
/* : Bool */;
5406 val
* var6
/* : String */;
5407 val
* var_line
/* var line: String */;
5408 val
* var7
/* : nullable Object */;
5409 long var8
/* : Int */;
5410 long var9
/* : Int */;
5411 short int var11
/* : Bool */;
5414 const char* var_class_name
;
5415 long var12
/* : Int */;
5416 long var13
/* : Int */;
5417 short int var15
/* : Bool */;
5420 const char* var_class_name18
;
5421 long var19
/* : Int */;
5422 val
* var20
/* : SourceFile */;
5423 static val
* varonce
;
5424 val
* var21
/* : String */;
5425 char* var22
/* : CString */;
5426 val
* var23
/* : String */;
5427 val
* var24
/* : nullable Int */;
5428 val
* var25
/* : nullable Int */;
5429 val
* var26
/* : nullable Bool */;
5430 val
* var27
/* : nullable Bool */;
5431 val
* var28
/* : String */;
5432 val
* var_source
/* var source: SourceFile */;
5433 val
* var29
/* : Array[Int] */;
5434 val
* var31
/* : Array[Int] */;
5435 val
* var32
/* : MDoc */;
5436 val
* var33
/* : Location */;
5437 long var34
/* : Int */;
5438 long var36
/* : Int */;
5439 val
* var_mdoc
/* var mdoc: MDoc */;
5440 val
* var37
/* : Array[String] */;
5441 val
* var39
/* : Array[String] */;
5443 var1
= NEW_core__FileReader(&type_core__FileReader
);
5445 core___core__FileReader___open(var1
, var_filepath
); /* Direct call file$FileReader$open on <var1:FileReader>*/
5448 var2
= NEW_core__Array(&type_core__Array__core__String
);
5450 core___core__Array___core__kernel__Object__init(var2
); /* Direct call array$Array$init on <var2:Array[String]>*/
5453 var3
= NEW_core__Array(&type_core__Array__core__Int
);
5455 core___core__Array___core__kernel__Object__init(var3
); /* Direct call array$Array$init on <var3:Array[Int]>*/
5457 var_line_starts
= var3
;
5461 var4
= core___core__BufferedReader___Reader__eof(var_s
);
5466 var6
= core___core__Reader___read_line(var_s
);
5470 core___core__Array___core__abstract_collection__SimpleCollection__add(var_lines
, var_line
); /* Direct call array$Array$add on <var_lines:Array[String]>*/
5473 var7
= (val
*)(var_len
<<2|1);
5474 core___core__Array___core__abstract_collection__SimpleCollection__add(var_line_starts
, var7
); /* Direct call array$Array$add on <var_line_starts:Array[Int]>*/
5477 var8
= ((long(*)(val
* self
))(var_line
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_line
); /* length on <var_line:String>*/
5480 { /* Inline kernel$Int$+ (var8,1l) on <var8:Int> */
5481 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5482 /* <1l:Int> isa OTHER */
5483 var11
= 1; /* easy <1l:Int> isa OTHER*/
5484 if (unlikely(!var11
)) {
5485 var_class_name
= type_core__Int
.name
;
5486 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5487 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
5493 RET_LABEL10
:(void)0;
5497 { /* Inline kernel$Int$+ (var_len,var9) on <var_len:Int> */
5498 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
5499 /* <var9:Int> isa OTHER */
5500 var15
= 1; /* easy <var9:Int> isa OTHER*/
5501 if (unlikely(!var15
)) {
5502 var_class_name18
= type_core__Int
.name
;
5503 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
5504 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
5507 var19
= var_len
+ var9
;
5510 RET_LABEL14
:(void)0;
5518 BREAK_label
: (void)0;
5520 core___core__FileReader___core__stream__Stream__close(var_s
); /* Direct call file$FileReader$close on <var_s:FileReader>*/
5522 var20
= NEW_nitc__SourceFile(&type_nitc__SourceFile
);
5523 if (likely(varonce
!=NULL
)) {
5527 var24
= (val
*)(1l<<2|1);
5528 var25
= (val
*)(1l<<2|1);
5529 var26
= (val
*)((long)(0)<<2|3);
5530 var27
= (val
*)((long)(0)<<2|3);
5531 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
5536 var28
= core__abstract_text___Collection___join(var_lines
, var21
, ((val
*)NULL
));
5539 nitc___nitc__SourceFile___from_string(var20
, var_filepath
, var28
); /* Direct call location$SourceFile$from_string on <var20:SourceFile>*/
5543 { /* Inline location$SourceFile$line_starts (var_source) on <var_source:SourceFile> */
5544 var31
= var_source
->attrs
[COLOR_nitc__location__SourceFile___line_starts
].val
; /* _line_starts on <var_source:SourceFile> */
5545 if (unlikely(var31
== NULL
)) {
5546 if(catchStack
.cursor
>= 0){
5547 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
5550 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__location
, 46);
5554 RET_LABEL30
:(void)0;
5558 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var29
, var_line_starts
); /* Direct call array$Array$add_all on <var29:Array[Int]>*/
5560 var32
= NEW_nitc__MDoc(&type_nitc__MDoc
);
5561 var33
= NEW_nitc__Location(&type_nitc__Location
);
5563 { /* Inline array$AbstractArrayRead$length (var_lines) on <var_lines:Array[String]> */
5564 var36
= var_lines
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_lines:Array[String]> */
5566 RET_LABEL35
:(void)0;
5570 ((void(*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_nitc__location__Location__file_61d
]))(var33
, var_source
); /* file= on <var33:Location>*/
5573 ((void(*)(val
* self
, long p0
))(var33
->class->vft
[COLOR_nitc__location__Location__line_start_61d
]))(var33
, 1l); /* line_start= on <var33:Location>*/
5576 ((void(*)(val
* self
, long p0
))(var33
->class->vft
[COLOR_nitc__location__Location__line_end_61d
]))(var33
, var34
); /* line_end= on <var33:Location>*/
5579 ((void(*)(val
* self
, long p0
))(var33
->class->vft
[COLOR_nitc__location__Location__column_start_61d
]))(var33
, 0l); /* column_start= on <var33:Location>*/
5582 ((void(*)(val
* self
, long p0
))(var33
->class->vft
[COLOR_nitc__location__Location__column_end_61d
]))(var33
, 0l); /* column_end= on <var33:Location>*/
5585 ((void(*)(val
* self
))(var33
->class->vft
[COLOR_core__kernel__Object__init
]))(var33
); /* init on <var33:Location>*/
5588 ((void(*)(val
* self
, val
* p0
))(var32
->class->vft
[COLOR_nitc__mdoc__MDoc__location_61d
]))(var32
, var33
); /* location= on <var32:MDoc>*/
5591 ((void(*)(val
* self
))(var32
->class->vft
[COLOR_core__kernel__Object__init
]))(var32
); /* init on <var32:MDoc>*/
5595 { /* Inline mdoc$MDoc$content (var_mdoc) on <var_mdoc:MDoc> */
5596 var39
= var_mdoc
->attrs
[COLOR_nitc__mdoc__MDoc___content
].val
; /* _content on <var_mdoc:MDoc> */
5597 if (unlikely(var39
== NULL
)) {
5598 if(catchStack
.cursor
>= 0){
5599 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
5602 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mdoc
, 23);
5606 RET_LABEL38
:(void)0;
5610 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var37
, var_lines
); /* Direct call array$Array$add_all on <var37:Array[String]>*/
5617 /* method loader$ModelBuilder$scan_group for (self: ModelBuilder, MGroup) */
5618 void nitc__loader___ModelBuilder___scan_group(val
* self
, val
* p0
) {
5619 val
* var_mgroup
/* var mgroup: MGroup */;
5620 short int var
/* : Bool */;
5621 short int var2
/* : Bool */;
5622 val
* var4
/* : nullable String */;
5623 val
* var_p
/* var p: nullable String */;
5624 short int var5
/* : Bool */;
5625 short int var6
/* : Bool */;
5626 val
* var7
/* : Array[String] */;
5627 val
* var_files
/* var files: Array[String] */;
5628 val
* var8
/* : Sys */;
5629 val
* var9
/* : Comparator */;
5630 val
* var_
/* var : Array[String] */;
5631 val
* var10
/* : IndexedIterator[nullable Object] */;
5632 val
* var_11
/* var : IndexedIterator[String] */;
5633 short int var12
/* : Bool */;
5634 val
* var13
/* : nullable Object */;
5635 val
* var_f
/* var f: String */;
5636 val
* var14
/* : String */;
5637 val
* var_fp
/* var fp: String */;
5638 val
* var15
/* : nullable MGroup */;
5639 val
* var_g
/* var g: nullable MGroup */;
5640 short int var16
/* : Bool */;
5641 short int var17
/* : Bool */;
5642 val
* var_other
/* var other: nullable Object */;
5643 short int var19
/* : Bool */;
5644 short int var21
/* : Bool */;
5645 val
* var22
/* : nullable MModule */;
5646 val
* var23
/* : MPackage */;
5647 val
* var25
/* : MPackage */;
5648 val
* var26
/* : MPackage */;
5649 val
* var28
/* : MPackage */;
5650 short int var29
/* : Bool */;
5651 short int var31
/* : Bool */;
5652 short int var33
/* : Bool */;
5655 { /* Inline loader$MGroup$scanned (var_mgroup) on <var_mgroup:MGroup> */
5656 var2
= var_mgroup
->attrs
[COLOR_nitc__loader__MGroup___scanned
].s
; /* _scanned on <var_mgroup:MGroup> */
5666 { /* Inline loader$MGroup$scanned= (var_mgroup,1) on <var_mgroup:MGroup> */
5667 var_mgroup
->attrs
[COLOR_nitc__loader__MGroup___scanned
].s
= 1; /* _scanned on <var_mgroup:MGroup> */
5672 var4
= nitc___nitc__MGroup___filepath(var_mgroup
);
5675 if (var_p
== NULL
) {
5676 var5
= 1; /* is null */
5678 var5
= 0; /* arg is null but recv is not */
5681 var6
= ((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>*/
5689 var7
= core__file___String___files(var_p
);
5694 var9
= core__abstract_text___Sys___alpha_comparator(var8
);
5697 core___core__Comparator___sort(var9
, var_files
); /* Direct call sorter$Comparator$sort on <var9:Comparator>*/
5701 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
5706 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:IndexedIterator[String]>*/
5713 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:IndexedIterator[String]>*/
5717 var14
= core__file___String____47d(var_p
, var_f
);
5721 var15
= nitc__loader___ModelBuilder___identify_group(self
, var_fp
);
5724 if (var_g
== NULL
) {
5725 var16
= 1; /* is null */
5727 var16
= 0; /* arg is null but recv is not */
5730 { /* Inline kernel$Object$== (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
5731 var_other
= ((val
*)NULL
);
5733 { /* Inline kernel$Object$is_same_instance (var_g,var_other) on <var_g:nullable MGroup(MGroup)> */
5734 var21
= var_g
== var_other
;
5737 RET_LABEL20
:(void)0;
5742 RET_LABEL18
:(void)0;
5748 var22
= nitc__loader___ModelBuilder___identify_module(self
, var_fp
);
5752 { /* Inline mpackage$MGroup$mpackage (var_g) on <var_g:nullable MGroup(MGroup)> */
5753 var25
= var_g
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_g:nullable MGroup(MGroup)> */
5754 if (unlikely(var25
== NULL
)) {
5755 if(catchStack
.cursor
>= 0){
5756 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
5759 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
5763 RET_LABEL24
:(void)0;
5767 { /* Inline mpackage$MGroup$mpackage (var_mgroup) on <var_mgroup:MGroup> */
5768 var28
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:MGroup> */
5769 if (unlikely(var28
== NULL
)) {
5770 if(catchStack
.cursor
>= 0){
5771 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5773 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
5774 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
5778 RET_LABEL27
:(void)0;
5782 { /* Inline kernel$Object$== (var23,var26) on <var23:MPackage> */
5785 { /* Inline kernel$Object$is_same_instance (var23,var_other) on <var23:MPackage> */
5786 var33
= var23
== var_other
;
5789 RET_LABEL32
:(void)0;
5794 RET_LABEL30
:(void)0;
5799 nitc__loader___ModelBuilder___scan_group(self
, var_g
); /* Direct call loader$ModelBuilder$scan_group on <self:ModelBuilder>*/
5805 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:IndexedIterator[String]>*/
5808 BREAK_label
: (void)0;
5810 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:IndexedIterator[String]>*/
5814 /* method loader$ModelBuilder$module_absolute_path for (self: ModelBuilder, String): String */
5815 val
* nitc__loader___ModelBuilder___module_absolute_path(val
* self
, val
* p0
) {
5816 val
* var
/* : String */;
5817 val
* var_path
/* var path: String */;
5818 val
* var1
/* : String */;
5821 var1
= core__file___String___realpath(var_path
);
5828 /* method loader$ModelBuilder$load_module_ast for (self: ModelBuilder, String): nullable AModule */
5829 val
* nitc__loader___ModelBuilder___load_module_ast(val
* self
, val
* p0
) {
5830 val
* var
/* : nullable AModule */;
5831 val
* var_filename
/* var filename: String */;
5832 static val
* varonce
;
5833 val
* var1
/* : String */;
5834 char* var2
/* : CString */;
5835 val
* var3
/* : String */;
5836 val
* var4
/* : nullable Int */;
5837 val
* var5
/* : nullable Int */;
5838 val
* var6
/* : nullable Bool */;
5839 val
* var7
/* : nullable Bool */;
5840 short int var8
/* : Bool */;
5841 short int var9
/* : Bool */;
5842 val
* var10
/* : ToolContext */;
5843 val
* var12
/* : ToolContext */;
5844 val
* var14
/* : NativeArray[String] */;
5845 static val
* varonce13
;
5846 static val
* varonce15
;
5847 val
* var16
/* : String */;
5848 char* var17
/* : CString */;
5849 val
* var18
/* : String */;
5850 val
* var19
/* : nullable Int */;
5851 val
* var20
/* : nullable Int */;
5852 val
* var21
/* : nullable Bool */;
5853 val
* var22
/* : nullable Bool */;
5854 static val
* varonce23
;
5855 val
* var24
/* : String */;
5856 char* var25
/* : CString */;
5857 val
* var26
/* : String */;
5858 val
* var27
/* : nullable Int */;
5859 val
* var28
/* : nullable Int */;
5860 val
* var29
/* : nullable Bool */;
5861 val
* var30
/* : nullable Bool */;
5862 val
* var31
/* : String */;
5863 val
* var32
/* : Message */;
5864 short int var33
/* : Bool */;
5865 short int var34
/* : Bool */;
5866 val
* var35
/* : ToolContext */;
5867 val
* var37
/* : ToolContext */;
5868 val
* var39
/* : NativeArray[String] */;
5869 static val
* varonce38
;
5870 static val
* varonce40
;
5871 val
* var41
/* : String */;
5872 char* var42
/* : CString */;
5873 val
* var43
/* : String */;
5874 val
* var44
/* : nullable Int */;
5875 val
* var45
/* : nullable Int */;
5876 val
* var46
/* : nullable Bool */;
5877 val
* var47
/* : nullable Bool */;
5878 static val
* varonce48
;
5879 val
* var49
/* : String */;
5880 char* var50
/* : CString */;
5881 val
* var51
/* : String */;
5882 val
* var52
/* : nullable Int */;
5883 val
* var53
/* : nullable Int */;
5884 val
* var54
/* : nullable Bool */;
5885 val
* var55
/* : nullable Bool */;
5886 val
* var56
/* : String */;
5887 val
* var57
/* : Message */;
5888 val
* var58
/* : ToolContext */;
5889 val
* var60
/* : ToolContext */;
5890 val
* var62
/* : NativeArray[String] */;
5891 static val
* varonce61
;
5892 static val
* varonce63
;
5893 val
* var64
/* : String */;
5894 char* var65
/* : CString */;
5895 val
* var66
/* : String */;
5896 val
* var67
/* : nullable Int */;
5897 val
* var68
/* : nullable Int */;
5898 val
* var69
/* : nullable Bool */;
5899 val
* var70
/* : nullable Bool */;
5900 val
* var71
/* : String */;
5901 val
* var72
/* : FileReader */;
5902 val
* var_file
/* var file: FileReader */;
5903 val
* var73
/* : Lexer */;
5904 val
* var74
/* : SourceFile */;
5905 val
* var_lexer
/* var lexer: Lexer */;
5906 val
* var75
/* : Parser */;
5907 val
* var_parser
/* var parser: Parser */;
5908 val
* var76
/* : Start */;
5909 val
* var_tree
/* var tree: Start */;
5910 val
* var77
/* : nullable AModule */;
5911 val
* var79
/* : nullable AModule */;
5912 val
* var_nmodule
/* var nmodule: nullable AModule */;
5913 short int var80
/* : Bool */;
5914 short int var81
/* : Bool */;
5915 val
* var_other
/* var other: nullable Object */;
5916 short int var83
/* : Bool */;
5917 short int var85
/* : Bool */;
5918 val
* var86
/* : EOF */;
5919 val
* var88
/* : EOF */;
5920 val
* var_neof
/* var neof: EOF */;
5921 short int var89
/* : Bool */;
5924 val
* var90
/* : String */;
5925 val
* var92
/* : String */;
5927 if (likely(varonce
!=NULL
)) {
5931 var4
= (val
*)(4l<<2|1);
5932 var5
= (val
*)(4l<<2|1);
5933 var6
= (val
*)((long)(0)<<2|3);
5934 var7
= (val
*)((long)(0)<<2|3);
5935 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);
5940 var8
= core___core__Text___has_suffix(var_filename
, var1
);
5945 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
5946 var12
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
5947 if (unlikely(var12
== NULL
)) {
5948 if(catchStack
.cursor
>= 0){
5949 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5952 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
5956 RET_LABEL11
:(void)0;
5959 if (unlikely(varonce13
==NULL
)) {
5960 var14
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
5961 if (likely(varonce15
!=NULL
)) {
5964 var17
= "Error: file `";
5965 var19
= (val
*)(13l<<2|1);
5966 var20
= (val
*)(13l<<2|1);
5967 var21
= (val
*)((long)(0)<<2|3);
5968 var22
= (val
*)((long)(0)<<2|3);
5969 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
5973 ((struct instance_core__NativeArray
*)var14
)->values
[0]=var16
;
5974 if (likely(varonce23
!=NULL
)) {
5977 var25
= "` is not a valid nit module.";
5978 var27
= (val
*)(28l<<2|1);
5979 var28
= (val
*)(28l<<2|1);
5980 var29
= (val
*)((long)(0)<<2|3);
5981 var30
= (val
*)((long)(0)<<2|3);
5982 var26
= core__flat___CString___to_s_unsafe(var25
, var27
, var28
, var29
, var30
);
5986 ((struct instance_core__NativeArray
*)var14
)->values
[2]=var24
;
5991 ((struct instance_core__NativeArray
*)var14
)->values
[1]=var_filename
;
5993 var31
= ((val
*(*)(val
* self
))(var14
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var14
); /* native_to_s on <var14:NativeArray[String]>*/
5997 var32
= nitc___nitc__ToolContext___error(var10
, ((val
*)NULL
), var31
);
6004 var33
= core__file___Text___file_exists(var_filename
);
6009 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
6010 var37
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6011 if (unlikely(var37
== NULL
)) {
6012 if(catchStack
.cursor
>= 0){
6013 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6015 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6016 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6020 RET_LABEL36
:(void)0;
6023 if (unlikely(varonce38
==NULL
)) {
6024 var39
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6025 if (likely(varonce40
!=NULL
)) {
6028 var42
= "Error: file `";
6029 var44
= (val
*)(13l<<2|1);
6030 var45
= (val
*)(13l<<2|1);
6031 var46
= (val
*)((long)(0)<<2|3);
6032 var47
= (val
*)((long)(0)<<2|3);
6033 var43
= core__flat___CString___to_s_unsafe(var42
, var44
, var45
, var46
, var47
);
6037 ((struct instance_core__NativeArray
*)var39
)->values
[0]=var41
;
6038 if (likely(varonce48
!=NULL
)) {
6041 var50
= "` not found.";
6042 var52
= (val
*)(12l<<2|1);
6043 var53
= (val
*)(12l<<2|1);
6044 var54
= (val
*)((long)(0)<<2|3);
6045 var55
= (val
*)((long)(0)<<2|3);
6046 var51
= core__flat___CString___to_s_unsafe(var50
, var52
, var53
, var54
, var55
);
6050 ((struct instance_core__NativeArray
*)var39
)->values
[2]=var49
;
6055 ((struct instance_core__NativeArray
*)var39
)->values
[1]=var_filename
;
6057 var56
= ((val
*(*)(val
* self
))(var39
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var39
); /* native_to_s on <var39:NativeArray[String]>*/
6061 var57
= nitc___nitc__ToolContext___error(var35
, ((val
*)NULL
), var56
);
6068 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
6069 var60
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6070 if (unlikely(var60
== NULL
)) {
6071 if(catchStack
.cursor
>= 0){
6072 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6075 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6079 RET_LABEL59
:(void)0;
6082 if (unlikely(varonce61
==NULL
)) {
6083 var62
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
6084 if (likely(varonce63
!=NULL
)) {
6087 var65
= "load module ";
6088 var67
= (val
*)(12l<<2|1);
6089 var68
= (val
*)(12l<<2|1);
6090 var69
= (val
*)((long)(0)<<2|3);
6091 var70
= (val
*)((long)(0)<<2|3);
6092 var66
= core__flat___CString___to_s_unsafe(var65
, var67
, var68
, var69
, var70
);
6096 ((struct instance_core__NativeArray
*)var62
)->values
[0]=var64
;
6101 ((struct instance_core__NativeArray
*)var62
)->values
[1]=var_filename
;
6103 var71
= ((val
*(*)(val
* self
))(var62
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var62
); /* native_to_s on <var62:NativeArray[String]>*/
6107 nitc___nitc__ToolContext___info(var58
, var71
, 2l); /* Direct call toolcontext$ToolContext$info on <var58:ToolContext>*/
6109 var72
= NEW_core__FileReader(&type_core__FileReader
);
6111 core___core__FileReader___open(var72
, var_filename
); /* Direct call file$FileReader$open on <var72:FileReader>*/
6114 var73
= NEW_nitc__Lexer(&type_nitc__Lexer
);
6115 var74
= NEW_nitc__SourceFile(&type_nitc__SourceFile
);
6117 ((void(*)(val
* self
, val
* p0
))(var74
->class->vft
[COLOR_nitc__location__SourceFile__filename_61d
]))(var74
, var_filename
); /* filename= on <var74:SourceFile>*/
6120 ((void(*)(val
* self
, val
* p0
))(var74
->class->vft
[COLOR_nitc__location__SourceFile__stream_61d
]))(var74
, var_file
); /* stream= on <var74:SourceFile>*/
6123 ((void(*)(val
* self
))(var74
->class->vft
[COLOR_core__kernel__Object__init
]))(var74
); /* init on <var74:SourceFile>*/
6126 ((void(*)(val
* self
, val
* p0
))(var73
->class->vft
[COLOR_nitc__lexer_work__Lexer__file_61d
]))(var73
, var74
); /* file= on <var73:Lexer>*/
6129 ((void(*)(val
* self
))(var73
->class->vft
[COLOR_core__kernel__Object__init
]))(var73
); /* init on <var73:Lexer>*/
6132 var75
= NEW_nitc__Parser(&type_nitc__Parser
);
6134 ((void(*)(val
* self
, val
* p0
))(var75
->class->vft
[COLOR_nitc__parser_work__Parser__lexer_61d
]))(var75
, var_lexer
); /* lexer= on <var75:Parser>*/
6137 ((void(*)(val
* self
))(var75
->class->vft
[COLOR_core__kernel__Object__init
]))(var75
); /* init on <var75:Parser>*/
6141 var76
= nitc___nitc__Parser___parse(var_parser
);
6145 core___core__FileReader___core__stream__Stream__close(var_file
); /* Direct call file$FileReader$close on <var_file:FileReader>*/
6148 { /* Inline parser_nodes$Start$n_base (var_tree) on <var_tree:Start> */
6149 var79
= var_tree
->attrs
[COLOR_nitc__parser_nodes__Start___n_base
].val
; /* _n_base on <var_tree:Start> */
6151 RET_LABEL78
:(void)0;
6154 var_nmodule
= var77
;
6155 if (var_nmodule
== NULL
) {
6156 var80
= 1; /* is null */
6158 var80
= 0; /* arg is null but recv is not */
6161 { /* Inline kernel$Object$== (var_nmodule,((val*)NULL)) on <var_nmodule:nullable AModule> */
6162 var_other
= ((val
*)NULL
);
6164 { /* Inline kernel$Object$is_same_instance (var_nmodule,var_other) on <var_nmodule:nullable AModule(AModule)> */
6165 var85
= var_nmodule
== var_other
;
6168 RET_LABEL84
:(void)0;
6173 RET_LABEL82
:(void)0;
6179 { /* Inline parser_nodes$Start$n_eof (var_tree) on <var_tree:Start> */
6180 var88
= var_tree
->attrs
[COLOR_nitc__parser_nodes__Start___n_eof
].val
; /* _n_eof on <var_tree:Start> */
6181 if (unlikely(var88
== NULL
)) {
6182 if(catchStack
.cursor
>= 0){
6183 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eof");
6186 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 3056);
6190 RET_LABEL87
:(void)0;
6194 /* <var_neof:EOF> isa AError */
6195 cltype
= type_nitc__AError
.color
;
6196 idtype
= type_nitc__AError
.id
;
6197 if(cltype
>= var_neof
->type
->table_size
) {
6200 var89
= var_neof
->type
->type_table
[cltype
] == idtype
;
6202 if (unlikely(!var89
)) {
6203 if(catchStack
.cursor
>= 0){
6204 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6206 PRINT_ERROR("Runtime error: %s", "Assert failed");
6207 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 685);
6211 { /* Inline lexer_work$AError$message (var_neof) on <var_neof:EOF(AError)> */
6212 var92
= var_neof
->attrs
[COLOR_nitc__lexer_work__AError___message
].val
; /* _message on <var_neof:EOF(AError)> */
6213 if (unlikely(var92
== NULL
)) {
6214 if(catchStack
.cursor
>= 0){
6215 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message");
6218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__lexer_work
, 50);
6222 RET_LABEL91
:(void)0;
6226 nitc___nitc__ModelBuilder___error(self
, var_neof
, var90
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
6237 /* method loader$ModelBuilder$load_module for (self: ModelBuilder, String): nullable AModule */
6238 val
* nitc__loader___ModelBuilder___load_module(val
* self
, val
* p0
) {
6239 val
* var
/* : nullable AModule */;
6240 val
* var_filename
/* var filename: String */;
6241 val
* var1
/* : nullable MModule */;
6242 val
* var_mmodule
/* var mmodule: nullable MModule */;
6243 short int var2
/* : Bool */;
6244 short int var3
/* : Bool */;
6245 val
* var_other
/* var other: nullable Object */;
6246 short int var5
/* : Bool */;
6247 short int var7
/* : Bool */;
6248 val
* var8
/* : nullable String */;
6249 val
* var10
/* : nullable String */;
6250 val
* var_le
/* var le: nullable String */;
6251 short int var11
/* : Bool */;
6252 short int var12
/* : Bool */;
6253 val
* var_other14
/* var other: nullable Object */;
6254 short int var15
/* : Bool */;
6255 short int var16
/* : Bool */;
6256 val
* var17
/* : ToolContext */;
6257 val
* var19
/* : ToolContext */;
6258 val
* var20
/* : Message */;
6259 short int var21
/* : Bool */;
6260 val
* var22
/* : ToolContext */;
6261 val
* var24
/* : ToolContext */;
6262 val
* var25
/* : NativeArray[String] */;
6263 static val
* varonce
;
6264 static val
* varonce26
;
6265 val
* var27
/* : String */;
6266 char* var28
/* : CString */;
6267 val
* var29
/* : String */;
6268 val
* var30
/* : nullable Int */;
6269 val
* var31
/* : nullable Int */;
6270 val
* var32
/* : nullable Bool */;
6271 val
* var33
/* : nullable Bool */;
6272 static val
* varonce34
;
6273 val
* var35
/* : String */;
6274 char* var36
/* : CString */;
6275 val
* var37
/* : String */;
6276 val
* var38
/* : nullable Int */;
6277 val
* var39
/* : nullable Int */;
6278 val
* var40
/* : nullable Bool */;
6279 val
* var41
/* : nullable Bool */;
6280 val
* var42
/* : String */;
6281 val
* var43
/* : Message */;
6282 val
* var44
/* : ToolContext */;
6283 val
* var46
/* : ToolContext */;
6284 val
* var48
/* : NativeArray[String] */;
6285 static val
* varonce47
;
6286 static val
* varonce49
;
6287 val
* var50
/* : String */;
6288 char* var51
/* : CString */;
6289 val
* var52
/* : String */;
6290 val
* var53
/* : nullable Int */;
6291 val
* var54
/* : nullable Int */;
6292 val
* var55
/* : nullable Bool */;
6293 val
* var56
/* : nullable Bool */;
6294 static val
* varonce57
;
6295 val
* var58
/* : String */;
6296 char* var59
/* : CString */;
6297 val
* var60
/* : String */;
6298 val
* var61
/* : nullable Int */;
6299 val
* var62
/* : nullable Int */;
6300 val
* var63
/* : nullable Bool */;
6301 val
* var64
/* : nullable Bool */;
6302 val
* var65
/* : String */;
6303 val
* var66
/* : Message */;
6304 val
* var67
/* : nullable AModule */;
6307 var1
= nitc__loader___ModelBuilder___identify_module(self
, var_filename
);
6310 if (var_mmodule
== NULL
) {
6311 var2
= 1; /* is null */
6313 var2
= 0; /* arg is null but recv is not */
6316 { /* Inline kernel$Object$== (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
6317 var_other
= ((val
*)NULL
);
6319 { /* Inline kernel$Object$is_same_instance (var_mmodule,var_other) on <var_mmodule:nullable MModule(MModule)> */
6320 var7
= var_mmodule
== var_other
;
6334 { /* Inline loader$ModelBuilder$last_loader_error (self) on <self:ModelBuilder> */
6335 var10
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___last_loader_error
].val
; /* _last_loader_error on <self:ModelBuilder> */
6341 if (var_le
== NULL
) {
6342 var11
= 0; /* is null */
6344 var11
= 1; /* arg is null and recv is not */
6347 { /* Inline kernel$Object$!= (var_le,((val*)NULL)) on <var_le:nullable String> */
6348 var_other14
= ((val
*)NULL
);
6350 var15
= ((short int(*)(val
* self
, val
* p0
))(var_le
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_le
, var_other14
); /* == on <var_le:nullable String(String)>*/
6355 RET_LABEL13
:(void)0;
6361 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
6362 var19
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6363 if (unlikely(var19
== NULL
)) {
6364 if(catchStack
.cursor
>= 0){
6365 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6368 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6372 RET_LABEL18
:(void)0;
6376 var20
= nitc___nitc__ToolContext___error(var17
, ((val
*)NULL
), var_le
);
6380 var21
= core__file___Text___file_exists(var_filename
);
6384 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
6385 var24
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6386 if (unlikely(var24
== NULL
)) {
6387 if(catchStack
.cursor
>= 0){
6388 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6390 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6391 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6395 RET_LABEL23
:(void)0;
6398 if (unlikely(varonce
==NULL
)) {
6399 var25
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6400 if (likely(varonce26
!=NULL
)) {
6404 var30
= (val
*)(8l<<2|1);
6405 var31
= (val
*)(8l<<2|1);
6406 var32
= (val
*)((long)(0)<<2|3);
6407 var33
= (val
*)((long)(0)<<2|3);
6408 var29
= core__flat___CString___to_s_unsafe(var28
, var30
, var31
, var32
, var33
);
6412 ((struct instance_core__NativeArray
*)var25
)->values
[0]=var27
;
6413 if (likely(varonce34
!=NULL
)) {
6416 var36
= "` is not a Nit source file.";
6417 var38
= (val
*)(27l<<2|1);
6418 var39
= (val
*)(27l<<2|1);
6419 var40
= (val
*)((long)(0)<<2|3);
6420 var41
= (val
*)((long)(0)<<2|3);
6421 var37
= core__flat___CString___to_s_unsafe(var36
, var38
, var39
, var40
, var41
);
6425 ((struct instance_core__NativeArray
*)var25
)->values
[2]=var35
;
6430 ((struct instance_core__NativeArray
*)var25
)->values
[1]=var_filename
;
6432 var42
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var25
); /* native_to_s on <var25:NativeArray[String]>*/
6436 var43
= nitc___nitc__ToolContext___error(var22
, ((val
*)NULL
), var42
);
6440 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
6441 var46
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
6442 if (unlikely(var46
== NULL
)) {
6443 if(catchStack
.cursor
>= 0){
6444 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6447 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
6451 RET_LABEL45
:(void)0;
6454 if (unlikely(varonce47
==NULL
)) {
6455 var48
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6456 if (likely(varonce49
!=NULL
)) {
6459 var51
= "Error: cannot find module `";
6460 var53
= (val
*)(27l<<2|1);
6461 var54
= (val
*)(27l<<2|1);
6462 var55
= (val
*)((long)(0)<<2|3);
6463 var56
= (val
*)((long)(0)<<2|3);
6464 var52
= core__flat___CString___to_s_unsafe(var51
, var53
, var54
, var55
, var56
);
6468 ((struct instance_core__NativeArray
*)var48
)->values
[0]=var50
;
6469 if (likely(varonce57
!=NULL
)) {
6473 var61
= (val
*)(2l<<2|1);
6474 var62
= (val
*)(2l<<2|1);
6475 var63
= (val
*)((long)(0)<<2|3);
6476 var64
= (val
*)((long)(0)<<2|3);
6477 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
6481 ((struct instance_core__NativeArray
*)var48
)->values
[2]=var58
;
6486 ((struct instance_core__NativeArray
*)var48
)->values
[1]=var_filename
;
6488 var65
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var48
); /* native_to_s on <var48:NativeArray[String]>*/
6492 var66
= nitc___nitc__ToolContext___error(var44
, ((val
*)NULL
), var65
);
6501 var67
= nitc__loader___MModule___load(var_mmodule
, self
);
6508 /* method loader$ModelBuilder$build_a_mmodule for (self: ModelBuilder, nullable MGroup, AModule) */
6509 void nitc__loader___ModelBuilder___build_a_mmodule(val
* self
, val
* p0
, val
* p1
) {
6510 val
* var_mgroup
/* var mgroup: nullable MGroup */;
6511 val
* var_nmodule
/* var nmodule: AModule */;
6512 val
* var
/* : nullable MModule */;
6513 val
* var2
/* : nullable MModule */;
6514 val
* var_mmodule
/* var mmodule: nullable MModule */;
6515 short int var3
/* : Bool */;
6516 short int var4
/* : Bool */;
6517 val
* var_other
/* var other: nullable Object */;
6518 short int var6
/* : Bool */;
6519 short int var7
/* : Bool */;
6520 val
* var8
/* : nullable AModuledecl */;
6521 val
* var10
/* : nullable AModuledecl */;
6522 val
* var_decl
/* var decl: nullable AModuledecl */;
6523 short int var11
/* : Bool */;
6524 short int var12
/* : Bool */;
6525 short int var14
/* : Bool */;
6526 short int var15
/* : Bool */;
6527 val
* var16
/* : AModuleName */;
6528 val
* var18
/* : AModuleName */;
6529 val
* var19
/* : TId */;
6530 val
* var21
/* : TId */;
6531 val
* var22
/* : String */;
6532 val
* var_decl_name
/* var decl_name: String */;
6533 val
* var23
/* : String */;
6534 val
* var25
/* : String */;
6535 short int var26
/* : Bool */;
6536 short int var28
/* : Bool */;
6537 short int var29
/* : Bool */;
6538 val
* var30
/* : AModuleName */;
6539 val
* var32
/* : AModuleName */;
6540 static val
* varonce
;
6541 val
* var33
/* : String */;
6542 char* var34
/* : CString */;
6543 val
* var35
/* : String */;
6544 val
* var36
/* : nullable Int */;
6545 val
* var37
/* : nullable Int */;
6546 val
* var38
/* : nullable Bool */;
6547 val
* var39
/* : nullable Bool */;
6548 val
* var41
/* : NativeArray[String] */;
6549 static val
* varonce40
;
6550 static val
* varonce42
;
6551 val
* var43
/* : String */;
6552 char* var44
/* : CString */;
6553 val
* var45
/* : String */;
6554 val
* var46
/* : nullable Int */;
6555 val
* var47
/* : nullable Int */;
6556 val
* var48
/* : nullable Bool */;
6557 val
* var49
/* : nullable Bool */;
6558 static val
* varonce50
;
6559 val
* var51
/* : String */;
6560 char* var52
/* : CString */;
6561 val
* var53
/* : String */;
6562 val
* var54
/* : nullable Int */;
6563 val
* var55
/* : nullable Int */;
6564 val
* var56
/* : nullable Bool */;
6565 val
* var57
/* : nullable Bool */;
6566 static val
* varonce58
;
6567 val
* var59
/* : String */;
6568 char* var60
/* : CString */;
6569 val
* var61
/* : String */;
6570 val
* var62
/* : nullable Int */;
6571 val
* var63
/* : nullable Int */;
6572 val
* var64
/* : nullable Bool */;
6573 val
* var65
/* : nullable Bool */;
6574 val
* var66
/* : String */;
6575 val
* var68
/* : String */;
6576 val
* var69
/* : String */;
6577 short int var70
/* : Bool */;
6578 short int var71
/* : Bool */;
6579 short int var73
/* : Bool */;
6580 short int var74
/* : Bool */;
6581 val
* var75
/* : Model */;
6582 val
* var77
/* : Model */;
6583 val
* var78
/* : String */;
6584 val
* var80
/* : String */;
6585 val
* var81
/* : nullable Array[MModule] */;
6586 val
* var_others
/* var others: nullable Array[MModule] */;
6587 short int var82
/* : Bool */;
6588 short int var83
/* : Bool */;
6589 short int var85
/* : Bool */;
6590 short int var86
/* : Bool */;
6591 val
* var_
/* var : Array[MModule] */;
6592 val
* var87
/* : IndexedIterator[nullable Object] */;
6593 val
* var_88
/* var : IndexedIterator[MModule] */;
6594 short int var89
/* : Bool */;
6595 val
* var90
/* : nullable Object */;
6596 val
* var_other91
/* var other: MModule */;
6597 short int var92
/* : Bool */;
6598 short int var93
/* : Bool */;
6599 short int var94
/* : Bool */;
6600 short int var95
/* : Bool */;
6601 short int var97
/* : Bool */;
6602 short int var98
/* : Bool */;
6603 short int var_99
/* var : Bool */;
6604 val
* var100
/* : HashMap[MModule, AModule] */;
6605 val
* var102
/* : HashMap[MModule, AModule] */;
6606 short int var103
/* : Bool */;
6607 short int var_104
/* var : Bool */;
6608 val
* var105
/* : nullable MGroup */;
6609 val
* var107
/* : nullable MGroup */;
6610 short int var108
/* : Bool */;
6611 short int var109
/* : Bool */;
6612 short int var111
/* : Bool */;
6613 short int var112
/* : Bool */;
6614 short int var_113
/* var : Bool */;
6615 val
* var114
/* : nullable MGroup */;
6616 val
* var116
/* : nullable MGroup */;
6617 val
* var117
/* : MPackage */;
6618 val
* var119
/* : MPackage */;
6619 val
* var120
/* : MPackage */;
6620 val
* var122
/* : MPackage */;
6621 short int var123
/* : Bool */;
6622 val
* var_other125
/* var other: nullable Object */;
6623 short int var126
/* : Bool */;
6624 short int var128
/* : Bool */;
6625 short int var129
/* : Bool */;
6626 short int var130
/* : Bool */;
6627 short int var132
/* : Bool */;
6628 short int var134
/* : Bool */;
6629 val
* var_node
/* var node: ANode */;
6630 val
* var135
/* : AModuleName */;
6631 val
* var137
/* : AModuleName */;
6632 val
* var139
/* : NativeArray[String] */;
6633 static val
* varonce138
;
6634 static val
* varonce140
;
6635 val
* var141
/* : String */;
6636 char* var142
/* : CString */;
6637 val
* var143
/* : String */;
6638 val
* var144
/* : nullable Int */;
6639 val
* var145
/* : nullable Int */;
6640 val
* var146
/* : nullable Bool */;
6641 val
* var147
/* : nullable Bool */;
6642 static val
* varonce148
;
6643 val
* var149
/* : String */;
6644 char* var150
/* : CString */;
6645 val
* var151
/* : String */;
6646 val
* var152
/* : nullable Int */;
6647 val
* var153
/* : nullable Int */;
6648 val
* var154
/* : nullable Bool */;
6649 val
* var155
/* : nullable Bool */;
6650 static val
* varonce156
;
6651 val
* var157
/* : String */;
6652 char* var158
/* : CString */;
6653 val
* var159
/* : String */;
6654 val
* var160
/* : nullable Int */;
6655 val
* var161
/* : nullable Int */;
6656 val
* var162
/* : nullable Bool */;
6657 val
* var163
/* : nullable Bool */;
6658 val
* var164
/* : String */;
6659 val
* var165
/* : Location */;
6660 val
* var167
/* : Location */;
6661 val
* var168
/* : String */;
6662 val
* var169
/* : String */;
6663 val
* var170
/* : Array[AModule] */;
6664 val
* var172
/* : Array[AModule] */;
6665 val
* var173
/* : HashMap[MModule, AModule] */;
6666 val
* var175
/* : HashMap[MModule, AModule] */;
6667 val
* var176
/* : Location */;
6668 val
* var178
/* : Location */;
6669 val
* var179
/* : nullable SourceFile */;
6670 val
* var181
/* : nullable SourceFile */;
6671 val
* var_source
/* var source: nullable SourceFile */;
6672 short int var182
/* : Bool */;
6673 short int var183
/* : Bool */;
6674 short int var185
/* : Bool */;
6675 short int var186
/* : Bool */;
6676 val
* var187
/* : nullable MModule */;
6677 val
* var189
/* : nullable MModule */;
6678 short int var190
/* : Bool */;
6679 short int var191
/* : Bool */;
6680 short int var193
/* : Bool */;
6681 short int var195
/* : Bool */;
6682 short int var197
/* : Bool */;
6683 short int var198
/* : Bool */;
6684 short int var200
/* : Bool */;
6685 short int var201
/* : Bool */;
6686 val
* var202
/* : nullable ADoc */;
6687 val
* var204
/* : nullable ADoc */;
6688 val
* var_ndoc
/* var ndoc: nullable ADoc */;
6689 short int var205
/* : Bool */;
6690 short int var206
/* : Bool */;
6691 short int var208
/* : Bool */;
6692 short int var209
/* : Bool */;
6693 val
* var210
/* : MDoc */;
6694 val
* var_mdoc
/* var mdoc: MDoc */;
6695 static val
* varonce213
;
6696 val
* var214
/* : String */;
6697 char* var215
/* : CString */;
6698 val
* var216
/* : String */;
6699 val
* var217
/* : nullable Int */;
6700 val
* var218
/* : nullable Int */;
6701 val
* var219
/* : nullable Bool */;
6702 val
* var220
/* : nullable Bool */;
6703 val
* var221
/* : Array[AAnnotation] */;
6704 short int var222
/* : Bool */;
6705 short int var223
/* : Bool */;
6706 static val
* varonce225
;
6707 val
* var226
/* : String */;
6708 char* var227
/* : CString */;
6709 val
* var228
/* : String */;
6710 val
* var229
/* : nullable Int */;
6711 val
* var230
/* : nullable Int */;
6712 val
* var231
/* : nullable Bool */;
6713 val
* var232
/* : nullable Bool */;
6714 val
* var233
/* : Array[AAnnotation] */;
6715 short int var234
/* : Bool */;
6716 short int var235
/* : Bool */;
6720 { /* Inline loader$AModule$mmodule (var_nmodule) on <var_nmodule:AModule> */
6721 var2
= var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
6727 if (var_mmodule
== NULL
) {
6728 var3
= 0; /* is null */
6730 var3
= 1; /* arg is null and recv is not */
6733 { /* Inline kernel$Object$!= (var_mmodule,((val*)NULL)) on <var_mmodule:nullable MModule> */
6734 var_other
= ((val
*)NULL
);
6736 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)>*/
6745 if (unlikely(!var3
)) {
6746 if(catchStack
.cursor
>= 0){
6747 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6749 PRINT_ERROR("Runtime error: %s", "Assert failed");
6750 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 773);
6754 { /* Inline parser_nodes$AModule$n_moduledecl (var_nmodule) on <var_nmodule:AModule> */
6755 var10
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__AModule___n_moduledecl
].val
; /* _n_moduledecl on <var_nmodule:AModule> */
6761 if (var_decl
== NULL
) {
6762 var11
= 0; /* is null */
6764 var11
= 1; /* arg is null and recv is not */
6767 { /* Inline kernel$Object$!= (var_decl,((val*)NULL)) on <var_decl:nullable AModuledecl> */
6768 var_other
= ((val
*)NULL
);
6770 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)>*/
6775 RET_LABEL13
:(void)0;
6781 { /* Inline parser_nodes$AModuledecl$n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
6782 var18
= var_decl
->attrs
[COLOR_nitc__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
6783 if (unlikely(var18
== NULL
)) {
6784 if(catchStack
.cursor
>= 0){
6785 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6788 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1149);
6792 RET_LABEL17
:(void)0;
6796 { /* Inline parser_nodes$AModuleName$n_id (var16) on <var16:AModuleName> */
6797 var21
= var16
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var16:AModuleName> */
6798 if (unlikely(var21
== NULL
)) {
6799 if(catchStack
.cursor
>= 0){
6800 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
6803 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2919);
6807 RET_LABEL20
:(void)0;
6811 var22
= nitc__lexer_work___Token___text(var19
);
6813 var_decl_name
= var22
;
6815 { /* Inline mmodule$MModule$name (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
6816 var25
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:nullable MModule(MModule)> */
6817 if (unlikely(var25
== NULL
)) {
6818 if(catchStack
.cursor
>= 0){
6819 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6821 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6822 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 100);
6826 RET_LABEL24
:(void)0;
6830 { /* Inline kernel$Object$!= (var_decl_name,var23) on <var_decl_name:String> */
6833 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>*/
6838 RET_LABEL27
:(void)0;
6843 { /* Inline parser_nodes$AModuledecl$n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
6844 var32
= var_decl
->attrs
[COLOR_nitc__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
6845 if (unlikely(var32
== NULL
)) {
6846 if(catchStack
.cursor
>= 0){
6847 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
6850 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1149);
6854 RET_LABEL31
:(void)0;
6857 if (likely(varonce
!=NULL
)) {
6860 var34
= "module-name-mismatch";
6861 var36
= (val
*)(20l<<2|1);
6862 var37
= (val
*)(20l<<2|1);
6863 var38
= (val
*)((long)(0)<<2|3);
6864 var39
= (val
*)((long)(0)<<2|3);
6865 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
6869 if (unlikely(varonce40
==NULL
)) {
6870 var41
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
6871 if (likely(varonce42
!=NULL
)) {
6874 var44
= "Error: module name mismatch; declared ";
6875 var46
= (val
*)(38l<<2|1);
6876 var47
= (val
*)(38l<<2|1);
6877 var48
= (val
*)((long)(0)<<2|3);
6878 var49
= (val
*)((long)(0)<<2|3);
6879 var45
= core__flat___CString___to_s_unsafe(var44
, var46
, var47
, var48
, var49
);
6883 ((struct instance_core__NativeArray
*)var41
)->values
[0]=var43
;
6884 if (likely(varonce50
!=NULL
)) {
6887 var52
= " file named ";
6888 var54
= (val
*)(12l<<2|1);
6889 var55
= (val
*)(12l<<2|1);
6890 var56
= (val
*)((long)(0)<<2|3);
6891 var57
= (val
*)((long)(0)<<2|3);
6892 var53
= core__flat___CString___to_s_unsafe(var52
, var54
, var55
, var56
, var57
);
6896 ((struct instance_core__NativeArray
*)var41
)->values
[2]=var51
;
6897 if (likely(varonce58
!=NULL
)) {
6901 var62
= (val
*)(1l<<2|1);
6902 var63
= (val
*)(1l<<2|1);
6903 var64
= (val
*)((long)(0)<<2|3);
6904 var65
= (val
*)((long)(0)<<2|3);
6905 var61
= core__flat___CString___to_s_unsafe(var60
, var62
, var63
, var64
, var65
);
6909 ((struct instance_core__NativeArray
*)var41
)->values
[4]=var59
;
6914 ((struct instance_core__NativeArray
*)var41
)->values
[1]=var_decl_name
;
6916 { /* Inline mmodule$MModule$name (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
6917 var68
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:nullable MModule(MModule)> */
6918 if (unlikely(var68
== NULL
)) {
6919 if(catchStack
.cursor
>= 0){
6920 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6922 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6923 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 100);
6927 RET_LABEL67
:(void)0;
6930 ((struct instance_core__NativeArray
*)var41
)->values
[3]=var66
;
6932 var69
= ((val
*(*)(val
* self
))(var41
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var41
); /* native_to_s on <var41:NativeArray[String]>*/
6936 nitc___nitc__ModelBuilder___warning(self
, var30
, var33
, var69
); /* Direct call modelbuilder_base$ModelBuilder$warning on <self:ModelBuilder>*/
6942 if (var_mgroup
== NULL
) {
6943 var70
= 0; /* is null */
6945 var70
= 1; /* arg is null and recv is not */
6948 { /* Inline kernel$Object$!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
6949 var_other
= ((val
*)NULL
);
6951 var73
= ((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)>*/
6956 RET_LABEL72
:(void)0;
6962 { /* Inline modelbuilder_base$ModelBuilder$model (self) on <self:ModelBuilder> */
6963 var77
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___model
].val
; /* _model on <self:ModelBuilder> */
6964 if (unlikely(var77
== NULL
)) {
6965 if(catchStack
.cursor
>= 0){
6966 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
6969 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 44);
6973 RET_LABEL76
:(void)0;
6977 { /* Inline mmodule$MModule$name (var_mmodule) on <var_mmodule:nullable MModule(MModule)> */
6978 var80
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:nullable MModule(MModule)> */
6979 if (unlikely(var80
== NULL
)) {
6980 if(catchStack
.cursor
>= 0){
6981 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6984 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 100);
6988 RET_LABEL79
:(void)0;
6992 var81
= nitc__mmodule___Model___get_mmodules_by_name(var75
, var78
);
6995 if (var_others
== NULL
) {
6996 var82
= 0; /* is null */
6998 var82
= 1; /* arg is null and recv is not */
7001 { /* Inline kernel$Object$!= (var_others,((val*)NULL)) on <var_others:nullable Array[MModule]> */
7002 var_other
= ((val
*)NULL
);
7004 var85
= ((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])>*/
7009 RET_LABEL84
:(void)0;
7016 var87
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
7021 var89
= ((short int(*)(val
* self
))((((long)var_88
&3)?class_info
[((long)var_88
&3)]:var_88
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_88
); /* is_ok on <var_88:IndexedIterator[MModule]>*/
7028 var90
= ((val
*(*)(val
* self
))((((long)var_88
&3)?class_info
[((long)var_88
&3)]:var_88
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_88
); /* item on <var_88:IndexedIterator[MModule]>*/
7030 var_other91
= var90
;
7032 { /* Inline kernel$Object$!= (var_other91,var_mmodule) on <var_other91:MModule> */
7033 var_other
= var_mmodule
;
7035 var97
= ((short int(*)(val
* self
, val
* p0
))(var_other91
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_other91
, var_other
); /* == on <var_other91:MModule>*/
7040 RET_LABEL96
:(void)0;
7046 { /* Inline loader$ModelBuilder$mmodule2nmodule (self) on <self:ModelBuilder> */
7047 var102
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
7048 if (unlikely(var102
== NULL
)) {
7049 if(catchStack
.cursor
>= 0){
7050 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
7053 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 1094);
7057 RET_LABEL101
:(void)0;
7061 var103
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var100
, var_mmodule
);
7070 { /* Inline mmodule$MModule$mgroup (var_other91) on <var_other91:MModule> */
7071 var107
= var_other91
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_other91:MModule> */
7073 RET_LABEL106
:(void)0;
7076 if (var105
== NULL
) {
7077 var108
= 0; /* is null */
7079 var108
= 1; /* arg is null and recv is not */
7082 { /* Inline kernel$Object$!= (var105,((val*)NULL)) on <var105:nullable MGroup> */
7083 var_other
= ((val
*)NULL
);
7085 var111
= ((short int(*)(val
* self
, val
* p0
))(var105
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var105
, var_other
); /* == on <var105:nullable MGroup(MGroup)>*/
7090 RET_LABEL110
:(void)0;
7101 { /* Inline mmodule$MModule$mgroup (var_other91) on <var_other91:MModule> */
7102 var116
= var_other91
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_other91:MModule> */
7104 RET_LABEL115
:(void)0;
7107 if (var114
== NULL
) {
7108 if(catchStack
.cursor
>= 0){
7109 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7111 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7112 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 788);
7115 { /* Inline mpackage$MGroup$mpackage (var114) on <var114:nullable MGroup> */
7116 if (unlikely(var114
== NULL
)) {
7117 if(catchStack
.cursor
>= 0){
7118 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7120 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7121 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
7124 var119
= var114
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var114:nullable MGroup> */
7125 if (unlikely(var119
== NULL
)) {
7126 if(catchStack
.cursor
>= 0){
7127 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
7130 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
7134 RET_LABEL118
:(void)0;
7138 { /* Inline mpackage$MGroup$mpackage (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
7139 var122
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:nullable MGroup(MGroup)> */
7140 if (unlikely(var122
== NULL
)) {
7141 if(catchStack
.cursor
>= 0){
7142 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7144 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
7145 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
7149 RET_LABEL121
:(void)0;
7153 { /* Inline kernel$Object$== (var117,var120) on <var117:MPackage> */
7154 var_other125
= var120
;
7156 { /* Inline kernel$Object$is_same_instance (var117,var_other125) on <var117:MPackage> */
7157 var128
= var117
== var_other125
;
7160 RET_LABEL127
:(void)0;
7165 RET_LABEL124
:(void)0;
7173 if (var_decl
== NULL
) {
7174 var129
= 1; /* is null */
7176 var129
= 0; /* arg is null but recv is not */
7179 { /* Inline kernel$Object$== (var_decl,((val*)NULL)) on <var_decl:nullable AModuledecl> */
7180 var_other125
= ((val
*)NULL
);
7182 { /* Inline kernel$Object$is_same_instance (var_decl,var_other125) on <var_decl:nullable AModuledecl(AModuledecl)> */
7183 var134
= var_decl
== var_other125
;
7186 RET_LABEL133
:(void)0;
7191 RET_LABEL131
:(void)0;
7196 var_node
= var_nmodule
;
7199 { /* Inline parser_nodes$AModuledecl$n_name (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
7200 var137
= var_decl
->attrs
[COLOR_nitc__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_decl:nullable AModuledecl(AModuledecl)> */
7201 if (unlikely(var137
== NULL
)) {
7202 if(catchStack
.cursor
>= 0){
7203 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
7206 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1149);
7210 RET_LABEL136
:(void)0;
7215 if (unlikely(varonce138
==NULL
)) {
7216 var139
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
7217 if (likely(varonce140
!=NULL
)) {
7218 var141
= varonce140
;
7220 var142
= "Error: a module named `";
7221 var144
= (val
*)(23l<<2|1);
7222 var145
= (val
*)(23l<<2|1);
7223 var146
= (val
*)((long)(0)<<2|3);
7224 var147
= (val
*)((long)(0)<<2|3);
7225 var143
= core__flat___CString___to_s_unsafe(var142
, var144
, var145
, var146
, var147
);
7227 varonce140
= var141
;
7229 ((struct instance_core__NativeArray
*)var139
)->values
[0]=var141
;
7230 if (likely(varonce148
!=NULL
)) {
7231 var149
= varonce148
;
7233 var150
= "` already exists at ";
7234 var152
= (val
*)(20l<<2|1);
7235 var153
= (val
*)(20l<<2|1);
7236 var154
= (val
*)((long)(0)<<2|3);
7237 var155
= (val
*)((long)(0)<<2|3);
7238 var151
= core__flat___CString___to_s_unsafe(var150
, var152
, var153
, var154
, var155
);
7240 varonce148
= var149
;
7242 ((struct instance_core__NativeArray
*)var139
)->values
[2]=var149
;
7243 if (likely(varonce156
!=NULL
)) {
7244 var157
= varonce156
;
7247 var160
= (val
*)(1l<<2|1);
7248 var161
= (val
*)(1l<<2|1);
7249 var162
= (val
*)((long)(0)<<2|3);
7250 var163
= (val
*)((long)(0)<<2|3);
7251 var159
= core__flat___CString___to_s_unsafe(var158
, var160
, var161
, var162
, var163
);
7253 varonce156
= var157
;
7255 ((struct instance_core__NativeArray
*)var139
)->values
[4]=var157
;
7257 var139
= varonce138
;
7261 var164
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_other91
);
7263 ((struct instance_core__NativeArray
*)var139
)->values
[1]=var164
;
7265 { /* Inline mmodule$MModule$location (var_other91) on <var_other91:MModule> */
7266 var167
= var_other91
->attrs
[COLOR_nitc__mmodule__MModule___location
].val
; /* _location on <var_other91:MModule> */
7267 if (unlikely(var167
== NULL
)) {
7268 if(catchStack
.cursor
>= 0){
7269 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
7272 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 103);
7276 RET_LABEL166
:(void)0;
7280 var168
= ((val
*(*)(val
* self
))(var165
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var165
); /* to_s on <var165:Location>*/
7282 ((struct instance_core__NativeArray
*)var139
)->values
[3]=var168
;
7284 var169
= ((val
*(*)(val
* self
))(var139
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var139
); /* native_to_s on <var139:NativeArray[String]>*/
7286 varonce138
= var139
;
7288 nitc___nitc__ModelBuilder___error(self
, var_node
, var169
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
7294 ((void(*)(val
* self
))((((long)var_88
&3)?class_info
[((long)var_88
&3)]:var_88
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_88
); /* next on <var_88:IndexedIterator[MModule]>*/
7297 BREAK_label
: (void)0;
7299 ((void(*)(val
* self
))((((long)var_88
&3)?class_info
[((long)var_88
&3)]:var_88
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_88
); /* finish on <var_88:IndexedIterator[MModule]>*/
7306 { /* Inline loader$ModelBuilder$nmodules (self) on <self:ModelBuilder> */
7307 var172
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___nmodules
].val
; /* _nmodules on <self:ModelBuilder> */
7308 if (unlikely(var172
== NULL
)) {
7309 if(catchStack
.cursor
>= 0){
7310 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules");
7313 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 1091);
7317 RET_LABEL171
:(void)0;
7321 core___core__Array___core__abstract_collection__SimpleCollection__add(var170
, var_nmodule
); /* Direct call array$Array$add on <var170:Array[AModule]>*/
7324 { /* Inline loader$ModelBuilder$mmodule2nmodule (self) on <self:ModelBuilder> */
7325 var175
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___mmodule2nmodule
].val
; /* _mmodule2nmodule on <self:ModelBuilder> */
7326 if (unlikely(var175
== NULL
)) {
7327 if(catchStack
.cursor
>= 0){
7328 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule");
7331 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 1094);
7335 RET_LABEL174
:(void)0;
7339 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var173
, var_mmodule
, var_nmodule
); /* Direct call hash_collection$HashMap$[]= on <var173:HashMap[MModule, AModule]>*/
7342 { /* Inline parser_nodes$ANode$location (var_nmodule) on <var_nmodule:AModule> */
7343 var178
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_nmodule:AModule> */
7344 if (unlikely(var178
== NULL
)) {
7345 if(catchStack
.cursor
>= 0){
7346 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
7349 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 25);
7353 RET_LABEL177
:(void)0;
7357 { /* Inline location$Location$file (var176) on <var176:Location> */
7358 var181
= var176
->attrs
[COLOR_nitc__location__Location___file
].val
; /* _file on <var176:Location> */
7360 RET_LABEL180
:(void)0;
7363 var_source
= var179
;
7364 if (var_source
== NULL
) {
7365 var182
= 0; /* is null */
7367 var182
= 1; /* arg is null and recv is not */
7370 { /* Inline kernel$Object$!= (var_source,((val*)NULL)) on <var_source:nullable SourceFile> */
7371 var_other
= ((val
*)NULL
);
7373 var185
= ((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)>*/
7378 RET_LABEL184
:(void)0;
7384 { /* Inline loader$SourceFile$mmodule (var_source) on <var_source:nullable SourceFile(SourceFile)> */
7385 var189
= var_source
->attrs
[COLOR_nitc__loader__SourceFile___mmodule
].val
; /* _mmodule on <var_source:nullable SourceFile(SourceFile)> */
7387 RET_LABEL188
:(void)0;
7390 if (var187
== NULL
) {
7391 var190
= 1; /* is null */
7393 var190
= 0; /* arg is null but recv is not */
7396 { /* Inline kernel$Object$== (var187,((val*)NULL)) on <var187:nullable MModule> */
7397 var_other125
= ((val
*)NULL
);
7399 { /* Inline kernel$Object$is_same_instance (var187,var_other125) on <var187:nullable MModule(MModule)> */
7400 var195
= var187
== var_other125
;
7403 RET_LABEL194
:(void)0;
7408 RET_LABEL192
:(void)0;
7412 if (unlikely(!var190
)) {
7413 if(catchStack
.cursor
>= 0){
7414 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7416 PRINT_ERROR("Runtime error: %s", "Assert failed");
7417 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 802);
7421 { /* Inline loader$SourceFile$mmodule= (var_source,var_mmodule) on <var_source:nullable SourceFile(SourceFile)> */
7422 var_source
->attrs
[COLOR_nitc__loader__SourceFile___mmodule
].val
= var_mmodule
; /* _mmodule on <var_source:nullable SourceFile(SourceFile)> */
7423 RET_LABEL196
:(void)0;
7428 if (var_decl
== NULL
) {
7429 var197
= 0; /* is null */
7431 var197
= 1; /* arg is null and recv is not */
7434 { /* Inline kernel$Object$!= (var_decl,((val*)NULL)) on <var_decl:nullable AModuledecl> */
7435 var_other
= ((val
*)NULL
);
7437 var200
= ((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)>*/
7442 RET_LABEL199
:(void)0;
7448 { /* Inline parser_nodes$ADefinition$n_doc (var_decl) on <var_decl:nullable AModuledecl(AModuledecl)> */
7449 var204
= var_decl
->attrs
[COLOR_nitc__parser_nodes__ADefinition___n_doc
].val
; /* _n_doc on <var_decl:nullable AModuledecl(AModuledecl)> */
7451 RET_LABEL203
:(void)0;
7455 if (var_ndoc
== NULL
) {
7456 var205
= 0; /* is null */
7458 var205
= 1; /* arg is null and recv is not */
7461 { /* Inline kernel$Object$!= (var_ndoc,((val*)NULL)) on <var_ndoc:nullable ADoc> */
7462 var_other
= ((val
*)NULL
);
7464 var208
= ((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)>*/
7469 RET_LABEL207
:(void)0;
7475 var210
= nitc__modelbuilder_base___ADoc___to_mdoc(var_ndoc
);
7479 { /* Inline mdoc$MEntity$mdoc= (var_mmodule,var_mdoc) on <var_mmodule:nullable MModule(MModule)> */
7480 var_mmodule
->attrs
[COLOR_nitc__mdoc__MEntity___mdoc
].val
= var_mdoc
; /* _mdoc on <var_mmodule:nullable MModule(MModule)> */
7481 RET_LABEL211
:(void)0;
7485 { /* Inline mdoc$MDoc$original_mentity= (var_mdoc,var_mmodule) on <var_mdoc:MDoc> */
7486 var_mdoc
->attrs
[COLOR_nitc__mdoc__MDoc___original_mentity
].val
= var_mmodule
; /* _original_mentity on <var_mdoc:MDoc> */
7487 RET_LABEL212
:(void)0;
7492 if (likely(varonce213
!=NULL
)) {
7493 var214
= varonce213
;
7495 var215
= "test_suite";
7496 var217
= (val
*)(10l<<2|1);
7497 var218
= (val
*)(10l<<2|1);
7498 var219
= (val
*)((long)(0)<<2|3);
7499 var220
= (val
*)((long)(0)<<2|3);
7500 var216
= core__flat___CString___to_s_unsafe(var215
, var217
, var218
, var219
, var220
);
7502 varonce213
= var214
;
7505 var221
= nitc___nitc__Prod___get_annotations(var_decl
, var214
);
7508 var222
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var221
);
7512 { /* Inline mmodule$MModule$is_test_suite= (var_mmodule,var223) on <var_mmodule:nullable MModule(MModule)> */
7513 var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___is_test_suite
].s
= var223
; /* _is_test_suite on <var_mmodule:nullable MModule(MModule)> */
7514 RET_LABEL224
:(void)0;
7517 if (likely(varonce225
!=NULL
)) {
7518 var226
= varonce225
;
7520 var227
= "generated";
7521 var229
= (val
*)(9l<<2|1);
7522 var230
= (val
*)(9l<<2|1);
7523 var231
= (val
*)((long)(0)<<2|3);
7524 var232
= (val
*)((long)(0)<<2|3);
7525 var228
= core__flat___CString___to_s_unsafe(var227
, var229
, var230
, var231
, var232
);
7527 varonce225
= var226
;
7530 var233
= nitc___nitc__Prod___get_annotations(var_decl
, var226
);
7533 var234
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var233
);
7537 { /* Inline mmodule$MModule$is_generated= (var_mmodule,var235) on <var_mmodule:nullable MModule(MModule)> */
7538 var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___is_generated
].s
= var235
; /* _is_generated on <var_mmodule:nullable MModule(MModule)> */
7539 RET_LABEL236
:(void)0;
7546 /* method loader$ModelBuilder$seach_module_by_amodule_name for (self: ModelBuilder, AModuleName, nullable MGroup): nullable MModule */
7547 val
* nitc__loader___ModelBuilder___seach_module_by_amodule_name(val
* self
, val
* p0
, val
* p1
) {
7548 val
* var
/* : nullable MModule */;
7549 val
* var_n_name
/* var n_name: AModuleName */;
7550 val
* var_mgroup
/* var mgroup: nullable MGroup */;
7551 val
* var1
/* : TId */;
7552 val
* var3
/* : TId */;
7553 val
* var4
/* : String */;
7554 val
* var_mod_name
/* var mod_name: String */;
7555 val
* var5
/* : nullable TQuad */;
7556 val
* var7
/* : nullable TQuad */;
7557 short int var8
/* : Bool */;
7558 short int var9
/* : Bool */;
7559 val
* var_other
/* var other: nullable Object */;
7560 short int var11
/* : Bool */;
7561 short int var12
/* : Bool */;
7562 val
* var13
/* : ANodes[TId] */;
7563 val
* var15
/* : ANodes[TId] */;
7564 short int var16
/* : Bool */;
7565 val
* var17
/* : nullable MModule */;
7566 short int var18
/* : Bool */;
7567 short int var19
/* : Bool */;
7568 short int var21
/* : Bool */;
7569 short int var22
/* : Bool */;
7570 val
* var23
/* : MPackage */;
7571 val
* var25
/* : MPackage */;
7572 val
* var26
/* : nullable MGroup */;
7573 val
* var28
/* : nullable MGroup */;
7574 val
* var_r
/* var r: nullable MGroup */;
7575 short int var29
/* : Bool */;
7576 short int var30
/* : Bool */;
7577 short int var32
/* : Bool */;
7578 short int var33
/* : Bool */;
7579 val
* var34
/* : Array[MModule] */;
7580 val
* var_res
/* var res: Array[MModule] */;
7581 val
* var35
/* : Array[MModule] */;
7582 val
* var_
/* var : Array[MModule] */;
7583 val
* var_36
/* var : Array[MModule] */;
7584 val
* var37
/* : IndexedIterator[nullable Object] */;
7585 val
* var_38
/* var : IndexedIterator[MModule] */;
7586 short int var39
/* : Bool */;
7587 val
* var40
/* : nullable Object */;
7588 val
* var_x
/* var x: MModule */;
7589 short int var41
/* : Bool */;
7590 short int var42
/* : Bool */;
7591 long var43
/* : Int */;
7592 long var45
/* : Int */;
7593 short int var46
/* : Bool */;
7594 short int var48
/* : Bool */;
7597 const char* var_class_name
;
7598 short int var49
/* : Bool */;
7599 val
* var50
/* : NativeArray[String] */;
7600 static val
* varonce
;
7601 static val
* varonce51
;
7602 val
* var52
/* : String */;
7603 char* var53
/* : CString */;
7604 val
* var54
/* : String */;
7605 val
* var55
/* : nullable Int */;
7606 val
* var56
/* : nullable Int */;
7607 val
* var57
/* : nullable Bool */;
7608 val
* var58
/* : nullable Bool */;
7609 static val
* varonce59
;
7610 val
* var60
/* : String */;
7611 char* var61
/* : CString */;
7612 val
* var62
/* : String */;
7613 val
* var63
/* : nullable Int */;
7614 val
* var64
/* : nullable Int */;
7615 val
* var65
/* : nullable Bool */;
7616 val
* var66
/* : nullable Bool */;
7617 static val
* varonce67
;
7618 val
* var68
/* : String */;
7619 char* var69
/* : CString */;
7620 val
* var70
/* : String */;
7621 val
* var71
/* : nullable Int */;
7622 val
* var72
/* : nullable Int */;
7623 val
* var73
/* : nullable Bool */;
7624 val
* var74
/* : nullable Bool */;
7625 val
* var75
/* : Array[String] */;
7626 val
* var_76
/* var : Array[String] */;
7627 val
* var_77
/* var : Array[MModule] */;
7628 val
* var78
/* : IndexedIterator[nullable Object] */;
7629 val
* var_79
/* var : IndexedIterator[MModule] */;
7630 short int var80
/* : Bool */;
7631 val
* var82
/* : nullable Object */;
7632 val
* var_x83
/* var x: MModule */;
7633 val
* var84
/* : String */;
7634 val
* var85
/* : nullable String */;
7635 val
* var86
/* : String */;
7636 static val
* varonce87
;
7637 val
* var88
/* : String */;
7638 char* var89
/* : CString */;
7639 val
* var90
/* : String */;
7640 val
* var91
/* : nullable Int */;
7641 val
* var92
/* : nullable Int */;
7642 val
* var93
/* : nullable Bool */;
7643 val
* var94
/* : nullable Bool */;
7644 val
* var95
/* : String */;
7645 val
* var96
/* : String */;
7646 val
* var97
/* : nullable Object */;
7647 val
* var98
/* : ANodes[TId] */;
7648 val
* var100
/* : ANodes[TId] */;
7649 val
* var101
/* : nullable Object */;
7650 val
* var102
/* : String */;
7651 val
* var_root_name
/* var root_name: String */;
7652 val
* var103
/* : Array[String] */;
7653 val
* var105
/* : Array[String] */;
7654 val
* var106
/* : ArraySet[MGroup] */;
7655 val
* var_roots
/* var roots: ArraySet[MGroup] */;
7656 short int var107
/* : Bool */;
7657 val
* var109
/* : NativeArray[String] */;
7658 static val
* varonce108
;
7659 static val
* varonce110
;
7660 val
* var111
/* : String */;
7661 char* var112
/* : CString */;
7662 val
* var113
/* : String */;
7663 val
* var114
/* : nullable Int */;
7664 val
* var115
/* : nullable Int */;
7665 val
* var116
/* : nullable Bool */;
7666 val
* var117
/* : nullable Bool */;
7667 static val
* varonce118
;
7668 val
* var119
/* : String */;
7669 char* var120
/* : CString */;
7670 val
* var121
/* : String */;
7671 val
* var122
/* : nullable Int */;
7672 val
* var123
/* : nullable Int */;
7673 val
* var124
/* : nullable Bool */;
7674 val
* var125
/* : nullable Bool */;
7675 static val
* varonce126
;
7676 val
* var127
/* : String */;
7677 char* var128
/* : CString */;
7678 val
* var129
/* : String */;
7679 val
* var130
/* : nullable Int */;
7680 val
* var131
/* : nullable Int */;
7681 val
* var132
/* : nullable Bool */;
7682 val
* var133
/* : nullable Bool */;
7683 val
* var134
/* : Array[String] */;
7684 val
* var136
/* : Array[String] */;
7685 static val
* varonce137
;
7686 val
* var138
/* : String */;
7687 char* var139
/* : CString */;
7688 val
* var140
/* : String */;
7689 val
* var141
/* : nullable Int */;
7690 val
* var142
/* : nullable Int */;
7691 val
* var143
/* : nullable Bool */;
7692 val
* var144
/* : nullable Bool */;
7693 val
* var145
/* : String */;
7694 val
* var146
/* : String */;
7695 val
* var147
/* : ArraySet[MModule] */;
7696 val
* var_res148
/* var res: ArraySet[MModule] */;
7697 val
* var_149
/* var : ArraySet[MGroup] */;
7698 val
* var150
/* : Iterator[nullable Object] */;
7699 val
* var_151
/* var : Iterator[MGroup] */;
7700 short int var152
/* : Bool */;
7701 val
* var154
/* : nullable Object */;
7702 val
* var_r155
/* var r: MGroup */;
7703 val
* var156
/* : Array[MModule] */;
7704 val
* var_root_res
/* var root_res: Array[MModule] */;
7705 val
* var_157
/* var : Array[MModule] */;
7706 val
* var158
/* : IndexedIterator[nullable Object] */;
7707 val
* var_159
/* var : IndexedIterator[MModule] */;
7708 short int var160
/* : Bool */;
7709 val
* var162
/* : nullable Object */;
7710 val
* var_x163
/* var x: MModule */;
7711 short int var164
/* : Bool */;
7712 short int var165
/* : Bool */;
7713 long var166
/* : Int */;
7714 short int var167
/* : Bool */;
7715 short int var169
/* : Bool */;
7718 const char* var_class_name172
;
7719 short int var173
/* : Bool */;
7720 val
* var175
/* : NativeArray[String] */;
7721 static val
* varonce174
;
7722 static val
* varonce176
;
7723 val
* var177
/* : String */;
7724 char* var178
/* : CString */;
7725 val
* var179
/* : String */;
7726 val
* var180
/* : nullable Int */;
7727 val
* var181
/* : nullable Int */;
7728 val
* var182
/* : nullable Bool */;
7729 val
* var183
/* : nullable Bool */;
7730 static val
* varonce184
;
7731 val
* var185
/* : String */;
7732 char* var186
/* : CString */;
7733 val
* var187
/* : String */;
7734 val
* var188
/* : nullable Int */;
7735 val
* var189
/* : nullable Int */;
7736 val
* var190
/* : nullable Bool */;
7737 val
* var191
/* : nullable Bool */;
7738 static val
* varonce192
;
7739 val
* var193
/* : String */;
7740 char* var194
/* : CString */;
7741 val
* var195
/* : String */;
7742 val
* var196
/* : nullable Int */;
7743 val
* var197
/* : nullable Int */;
7744 val
* var198
/* : nullable Bool */;
7745 val
* var199
/* : nullable Bool */;
7746 val
* var200
/* : Array[String] */;
7747 val
* var_201
/* var : Array[String] */;
7748 val
* var_202
/* var : ArraySet[MModule] */;
7749 val
* var203
/* : Iterator[nullable Object] */;
7750 val
* var_204
/* var : Iterator[MModule] */;
7751 short int var205
/* : Bool */;
7752 val
* var207
/* : nullable Object */;
7753 val
* var_x208
/* var x: MModule */;
7754 val
* var209
/* : String */;
7755 val
* var210
/* : nullable String */;
7756 val
* var211
/* : String */;
7757 static val
* varonce212
;
7758 val
* var213
/* : String */;
7759 char* var214
/* : CString */;
7760 val
* var215
/* : String */;
7761 val
* var216
/* : nullable Int */;
7762 val
* var217
/* : nullable Int */;
7763 val
* var218
/* : nullable Bool */;
7764 val
* var219
/* : nullable Bool */;
7765 val
* var220
/* : String */;
7766 val
* var221
/* : String */;
7767 val
* var222
/* : nullable Object */;
7768 val
* var224
/* : NativeArray[String] */;
7769 static val
* varonce223
;
7770 static val
* varonce225
;
7771 val
* var226
/* : String */;
7772 char* var227
/* : CString */;
7773 val
* var228
/* : String */;
7774 val
* var229
/* : nullable Int */;
7775 val
* var230
/* : nullable Int */;
7776 val
* var231
/* : nullable Bool */;
7777 val
* var232
/* : nullable Bool */;
7778 static val
* varonce233
;
7779 val
* var234
/* : String */;
7780 char* var235
/* : CString */;
7781 val
* var236
/* : String */;
7782 val
* var237
/* : nullable Int */;
7783 val
* var238
/* : nullable Int */;
7784 val
* var239
/* : nullable Bool */;
7785 val
* var240
/* : nullable Bool */;
7786 static val
* varonce241
;
7787 val
* var242
/* : String */;
7788 char* var243
/* : CString */;
7789 val
* var244
/* : String */;
7790 val
* var245
/* : nullable Int */;
7791 val
* var246
/* : nullable Int */;
7792 val
* var247
/* : nullable Bool */;
7793 val
* var248
/* : nullable Bool */;
7794 static val
* varonce249
;
7795 val
* var250
/* : String */;
7796 char* var251
/* : CString */;
7797 val
* var252
/* : String */;
7798 val
* var253
/* : nullable Int */;
7799 val
* var254
/* : nullable Int */;
7800 val
* var255
/* : nullable Bool */;
7801 val
* var256
/* : nullable Bool */;
7802 val
* var257
/* : Array[String] */;
7803 val
* var259
/* : Array[String] */;
7804 static val
* varonce260
;
7805 val
* var261
/* : String */;
7806 char* var262
/* : CString */;
7807 val
* var263
/* : String */;
7808 val
* var264
/* : nullable Int */;
7809 val
* var265
/* : nullable Int */;
7810 val
* var266
/* : nullable Bool */;
7811 val
* var267
/* : nullable Bool */;
7812 val
* var268
/* : String */;
7813 val
* var269
/* : String */;
7817 { /* Inline parser_nodes$AModuleName$n_id (var_n_name) on <var_n_name:AModuleName> */
7818 var3
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_id
].val
; /* _n_id on <var_n_name:AModuleName> */
7819 if (unlikely(var3
== NULL
)) {
7820 if(catchStack
.cursor
>= 0){
7821 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7823 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
7824 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2919);
7832 var4
= nitc__lexer_work___Token___text(var1
);
7834 var_mod_name
= var4
;
7836 { /* Inline parser_nodes$AModuleName$n_quad (var_n_name) on <var_n_name:AModuleName> */
7837 var7
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_quad
].val
; /* _n_quad on <var_n_name:AModuleName> */
7843 var8
= 0; /* is null */
7845 var8
= 1; /* arg is null and recv is not */
7848 { /* Inline kernel$Object$!= (var5,((val*)NULL)) on <var5:nullable TQuad> */
7849 var_other
= ((val
*)NULL
);
7851 var11
= ((short int(*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var5
, var_other
); /* == on <var5:nullable TQuad(TQuad)>*/
7856 RET_LABEL10
:(void)0;
7861 var_mgroup
= ((val
*)NULL
);
7865 { /* Inline parser_nodes$AModuleName$n_path (var_n_name) on <var_n_name:AModuleName> */
7866 var15
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var_n_name:AModuleName> */
7867 if (unlikely(var15
== NULL
)) {
7868 if(catchStack
.cursor
>= 0){
7869 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
7872 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2916);
7876 RET_LABEL14
:(void)0;
7880 var16
= nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var13
);
7884 var17
= nitc__loader___ModelBuilder___search_mmodule_by_name(self
, var_n_name
, var_mgroup
, var_mod_name
);
7890 if (var_mgroup
== NULL
) {
7891 var18
= 0; /* is null */
7893 var18
= 1; /* arg is null and recv is not */
7896 { /* Inline kernel$Object$!= (var_mgroup,((val*)NULL)) on <var_mgroup:nullable MGroup> */
7897 var_other
= ((val
*)NULL
);
7899 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)>*/
7904 RET_LABEL20
:(void)0;
7910 { /* Inline mpackage$MGroup$mpackage (var_mgroup) on <var_mgroup:nullable MGroup(MGroup)> */
7911 var25
= var_mgroup
->attrs
[COLOR_nitc__mpackage__MGroup___mpackage
].val
; /* _mpackage on <var_mgroup:nullable MGroup(MGroup)> */
7912 if (unlikely(var25
== NULL
)) {
7913 if(catchStack
.cursor
>= 0){
7914 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7916 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpackage");
7917 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 76);
7921 RET_LABEL24
:(void)0;
7925 { /* Inline mpackage$MPackage$root (var23) on <var23:MPackage> */
7926 var28
= var23
->attrs
[COLOR_nitc__mpackage__MPackage___root
].val
; /* _root on <var23:MPackage> */
7928 RET_LABEL27
:(void)0;
7932 if (var_r
== NULL
) {
7933 var29
= 0; /* is null */
7935 var29
= 1; /* arg is null and recv is not */
7938 { /* Inline kernel$Object$!= (var_r,((val*)NULL)) on <var_r:nullable MGroup> */
7939 var_other
= ((val
*)NULL
);
7941 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)>*/
7946 RET_LABEL31
:(void)0;
7950 if (unlikely(!var29
)) {
7951 if(catchStack
.cursor
>= 0){
7952 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7954 PRINT_ERROR("Runtime error: %s", "Assert failed");
7955 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 841);
7959 nitc__loader___ModelBuilder___scan_group(self
, var_r
); /* Direct call loader$ModelBuilder$scan_group on <self:ModelBuilder>*/
7962 var34
= nitc__loader___MGroup___mmodules_by_name(var_r
, var_mod_name
);
7965 var35
= NEW_core__Array(&type_core__Array__nitc__MModule
);
7967 core___core__Array___with_capacity(var35
, 1l); /* Direct call array$Array$with_capacity on <var35:Array[MModule]>*/
7972 var37
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_36
);
7977 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]>*/
7984 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]>*/
7988 var41
= nitc__loader___ModelBuilder___match_amodulename(self
, var_n_name
, var_x
);
7992 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_x
); /* Direct call array$AbstractArray$push on <var_:Array[MModule]>*/
7997 ((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]>*/
8000 BREAK_label
: (void)0;
8002 ((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]>*/
8006 var42
= core___core__Collection___not_empty(var_res
);
8010 { /* Inline array$AbstractArrayRead$length (var_res) on <var_res:Array[MModule]> */
8011 var45
= var_res
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_res:Array[MModule]> */
8013 RET_LABEL44
:(void)0;
8017 { /* Inline kernel$Int$> (var43,1l) on <var43:Int> */
8018 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8019 /* <1l:Int> isa OTHER */
8020 var48
= 1; /* easy <1l:Int> isa OTHER*/
8021 if (unlikely(!var48
)) {
8022 var_class_name
= type_core__Int
.name
;
8023 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8024 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
8030 RET_LABEL47
:(void)0;
8034 if (unlikely(varonce
==NULL
)) {
8035 var50
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
8036 if (likely(varonce51
!=NULL
)) {
8039 var53
= "Error: conflicting module files for `";
8040 var55
= (val
*)(37l<<2|1);
8041 var56
= (val
*)(37l<<2|1);
8042 var57
= (val
*)((long)(0)<<2|3);
8043 var58
= (val
*)((long)(0)<<2|3);
8044 var54
= core__flat___CString___to_s_unsafe(var53
, var55
, var56
, var57
, var58
);
8048 ((struct instance_core__NativeArray
*)var50
)->values
[0]=var52
;
8049 if (likely(varonce59
!=NULL
)) {
8053 var63
= (val
*)(4l<<2|1);
8054 var64
= (val
*)(4l<<2|1);
8055 var65
= (val
*)((long)(0)<<2|3);
8056 var66
= (val
*)((long)(0)<<2|3);
8057 var62
= core__flat___CString___to_s_unsafe(var61
, var63
, var64
, var65
, var66
);
8061 ((struct instance_core__NativeArray
*)var50
)->values
[2]=var60
;
8062 if (likely(varonce67
!=NULL
)) {
8066 var71
= (val
*)(1l<<2|1);
8067 var72
= (val
*)(1l<<2|1);
8068 var73
= (val
*)((long)(0)<<2|3);
8069 var74
= (val
*)((long)(0)<<2|3);
8070 var70
= core__flat___CString___to_s_unsafe(var69
, var71
, var72
, var73
, var74
);
8074 ((struct instance_core__NativeArray
*)var50
)->values
[4]=var68
;
8079 ((struct instance_core__NativeArray
*)var50
)->values
[1]=var_mod_name
;
8080 var75
= NEW_core__Array(&type_core__Array__core__String
);
8082 core___core__Array___with_capacity(var75
, 1l); /* Direct call array$Array$with_capacity on <var75:Array[String]>*/
8087 var78
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_77
);
8092 var80
= ((short int(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_79
); /* is_ok on <var_79:IndexedIterator[MModule]>*/
8099 var82
= ((val
*(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_79
); /* item on <var_79:IndexedIterator[MModule]>*/
8103 var85
= nitc___nitc__MModule___filepath(var_x83
);
8109 var86
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_x83
);
8114 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_76
, var84
); /* Direct call array$AbstractArray$push on <var_76:Array[String]>*/
8117 ((void(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_79
); /* next on <var_79:IndexedIterator[MModule]>*/
8120 BREAK_label81
: (void)0;
8122 ((void(*)(val
* self
))((((long)var_79
&3)?class_info
[((long)var_79
&3)]:var_79
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_79
); /* finish on <var_79:IndexedIterator[MModule]>*/
8124 if (likely(varonce87
!=NULL
)) {
8128 var91
= (val
*)(4l<<2|1);
8129 var92
= (val
*)(4l<<2|1);
8130 var93
= (val
*)((long)(0)<<2|3);
8131 var94
= (val
*)((long)(0)<<2|3);
8132 var90
= core__flat___CString___to_s_unsafe(var89
, var91
, var92
, var93
, var94
);
8137 var95
= core__abstract_text___Collection___join(var_76
, var88
, ((val
*)NULL
));
8139 ((struct instance_core__NativeArray
*)var50
)->values
[3]=var95
;
8141 var96
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var50
); /* native_to_s on <var50:NativeArray[String]>*/
8145 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var96
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
8150 var97
= core___core__SequenceRead___Collection__first(var_res
);
8159 { /* Inline parser_nodes$AModuleName$n_path (var_n_name) on <var_n_name:AModuleName> */
8160 var100
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var_n_name:AModuleName> */
8161 if (unlikely(var100
== NULL
)) {
8162 if(catchStack
.cursor
>= 0){
8163 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
8166 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2916);
8170 RET_LABEL99
:(void)0;
8174 var101
= core___core__SequenceRead___Collection__first(var98
);
8177 var102
= nitc__lexer_work___Token___text(var101
);
8179 var_root_name
= var102
;
8181 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
8182 var105
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
8183 if (unlikely(var105
== NULL
)) {
8184 if(catchStack
.cursor
>= 0){
8185 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8187 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
8188 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
8192 RET_LABEL104
:(void)0;
8196 var106
= nitc__loader___ModelBuilder___search_group_in_paths(self
, var_root_name
, var103
);
8200 var107
= core___core__ArraySet___core__abstract_collection__Collection__is_empty(var_roots
);
8203 if (unlikely(varonce108
==NULL
)) {
8204 var109
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
8205 if (likely(varonce110
!=NULL
)) {
8206 var111
= varonce110
;
8208 var112
= "Error: cannot find `";
8209 var114
= (val
*)(20l<<2|1);
8210 var115
= (val
*)(20l<<2|1);
8211 var116
= (val
*)((long)(0)<<2|3);
8212 var117
= (val
*)((long)(0)<<2|3);
8213 var113
= core__flat___CString___to_s_unsafe(var112
, var114
, var115
, var116
, var117
);
8215 varonce110
= var111
;
8217 ((struct instance_core__NativeArray
*)var109
)->values
[0]=var111
;
8218 if (likely(varonce118
!=NULL
)) {
8219 var119
= varonce118
;
8221 var120
= "`. Tried: ";
8222 var122
= (val
*)(10l<<2|1);
8223 var123
= (val
*)(10l<<2|1);
8224 var124
= (val
*)((long)(0)<<2|3);
8225 var125
= (val
*)((long)(0)<<2|3);
8226 var121
= core__flat___CString___to_s_unsafe(var120
, var122
, var123
, var124
, var125
);
8228 varonce118
= var119
;
8230 ((struct instance_core__NativeArray
*)var109
)->values
[2]=var119
;
8231 if (likely(varonce126
!=NULL
)) {
8232 var127
= varonce126
;
8235 var130
= (val
*)(1l<<2|1);
8236 var131
= (val
*)(1l<<2|1);
8237 var132
= (val
*)((long)(0)<<2|3);
8238 var133
= (val
*)((long)(0)<<2|3);
8239 var129
= core__flat___CString___to_s_unsafe(var128
, var130
, var131
, var132
, var133
);
8241 varonce126
= var127
;
8243 ((struct instance_core__NativeArray
*)var109
)->values
[4]=var127
;
8245 var109
= varonce108
;
8248 ((struct instance_core__NativeArray
*)var109
)->values
[1]=var_root_name
;
8250 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
8251 var136
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
8252 if (unlikely(var136
== NULL
)) {
8253 if(catchStack
.cursor
>= 0){
8254 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
8257 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
8261 RET_LABEL135
:(void)0;
8264 if (likely(varonce137
!=NULL
)) {
8265 var138
= varonce137
;
8268 var141
= (val
*)(2l<<2|1);
8269 var142
= (val
*)(2l<<2|1);
8270 var143
= (val
*)((long)(0)<<2|3);
8271 var144
= (val
*)((long)(0)<<2|3);
8272 var140
= core__flat___CString___to_s_unsafe(var139
, var141
, var142
, var143
, var144
);
8274 varonce137
= var138
;
8277 var145
= core__abstract_text___Collection___join(var134
, var138
, ((val
*)NULL
));
8279 ((struct instance_core__NativeArray
*)var109
)->values
[3]=var145
;
8281 var146
= ((val
*(*)(val
* self
))(var109
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var109
); /* native_to_s on <var109:NativeArray[String]>*/
8283 varonce108
= var109
;
8285 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var146
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
8291 var147
= NEW_core__ArraySet(&type_core__ArraySet__nitc__MModule
);
8293 core___core__ArraySet___core__kernel__Object__init(var147
); /* Direct call array$ArraySet$init on <var147:ArraySet[MModule]>*/
8295 var_res148
= var147
;
8296 var_149
= var_roots
;
8298 var150
= core___core__ArraySet___core__abstract_collection__Collection__iterator(var_149
);
8303 var152
= ((short int(*)(val
* self
))((((long)var_151
&3)?class_info
[((long)var_151
&3)]:var_151
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_151
); /* is_ok on <var_151:Iterator[MGroup]>*/
8307 goto BREAK_label153
;
8310 var154
= ((val
*(*)(val
* self
))((((long)var_151
&3)?class_info
[((long)var_151
&3)]:var_151
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_151
); /* item on <var_151:Iterator[MGroup]>*/
8314 nitc__loader___ModelBuilder___scan_group(self
, var_r155
); /* Direct call loader$ModelBuilder$scan_group on <self:ModelBuilder>*/
8317 var156
= nitc__loader___MGroup___mmodules_by_name(var_r155
, var_mod_name
);
8319 var_root_res
= var156
;
8320 var_157
= var_root_res
;
8322 var158
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_157
);
8327 var160
= ((short int(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_159
); /* is_ok on <var_159:IndexedIterator[MModule]>*/
8331 goto BREAK_label161
;
8334 var162
= ((val
*(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_159
); /* item on <var_159:IndexedIterator[MModule]>*/
8338 var164
= nitc__loader___ModelBuilder___match_amodulename(self
, var_n_name
, var_x163
);
8342 core___core__ArraySet___core__abstract_collection__SimpleCollection__add(var_res148
, var_x163
); /* Direct call array$ArraySet$add on <var_res148:ArraySet[MModule]>*/
8347 ((void(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_159
); /* next on <var_159:IndexedIterator[MModule]>*/
8350 BREAK_label161
: (void)0;
8352 ((void(*)(val
* self
))((((long)var_159
&3)?class_info
[((long)var_159
&3)]:var_159
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_159
); /* finish on <var_159:IndexedIterator[MModule]>*/
8355 ((void(*)(val
* self
))((((long)var_151
&3)?class_info
[((long)var_151
&3)]:var_151
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_151
); /* next on <var_151:Iterator[MGroup]>*/
8358 BREAK_label153
: (void)0;
8360 ((void(*)(val
* self
))((((long)var_151
&3)?class_info
[((long)var_151
&3)]:var_151
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_151
); /* finish on <var_151:Iterator[MGroup]>*/
8363 var165
= core___core__Collection___not_empty(var_res148
);
8367 var166
= core___core__ArraySet___core__abstract_collection__Collection__length(var_res148
);
8370 { /* Inline kernel$Int$> (var166,1l) on <var166:Int> */
8371 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8372 /* <1l:Int> isa OTHER */
8373 var169
= 1; /* easy <1l:Int> isa OTHER*/
8374 if (unlikely(!var169
)) {
8375 var_class_name172
= type_core__Int
.name
;
8376 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name172
);
8377 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
8380 var173
= var166
> 1l;
8383 RET_LABEL168
:(void)0;
8387 if (unlikely(varonce174
==NULL
)) {
8388 var175
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
8389 if (likely(varonce176
!=NULL
)) {
8390 var177
= varonce176
;
8392 var178
= "Error: conflicting module files for `";
8393 var180
= (val
*)(37l<<2|1);
8394 var181
= (val
*)(37l<<2|1);
8395 var182
= (val
*)((long)(0)<<2|3);
8396 var183
= (val
*)((long)(0)<<2|3);
8397 var179
= core__flat___CString___to_s_unsafe(var178
, var180
, var181
, var182
, var183
);
8399 varonce176
= var177
;
8401 ((struct instance_core__NativeArray
*)var175
)->values
[0]=var177
;
8402 if (likely(varonce184
!=NULL
)) {
8403 var185
= varonce184
;
8406 var188
= (val
*)(4l<<2|1);
8407 var189
= (val
*)(4l<<2|1);
8408 var190
= (val
*)((long)(0)<<2|3);
8409 var191
= (val
*)((long)(0)<<2|3);
8410 var187
= core__flat___CString___to_s_unsafe(var186
, var188
, var189
, var190
, var191
);
8412 varonce184
= var185
;
8414 ((struct instance_core__NativeArray
*)var175
)->values
[2]=var185
;
8415 if (likely(varonce192
!=NULL
)) {
8416 var193
= varonce192
;
8419 var196
= (val
*)(1l<<2|1);
8420 var197
= (val
*)(1l<<2|1);
8421 var198
= (val
*)((long)(0)<<2|3);
8422 var199
= (val
*)((long)(0)<<2|3);
8423 var195
= core__flat___CString___to_s_unsafe(var194
, var196
, var197
, var198
, var199
);
8425 varonce192
= var193
;
8427 ((struct instance_core__NativeArray
*)var175
)->values
[4]=var193
;
8429 var175
= varonce174
;
8432 ((struct instance_core__NativeArray
*)var175
)->values
[1]=var_mod_name
;
8433 var200
= NEW_core__Array(&type_core__Array__core__String
);
8435 core___core__Array___with_capacity(var200
, 1l); /* Direct call array$Array$with_capacity on <var200:Array[String]>*/
8438 var_202
= var_res148
;
8440 var203
= core___core__ArraySet___core__abstract_collection__Collection__iterator(var_202
);
8445 var205
= ((short int(*)(val
* self
))((((long)var_204
&3)?class_info
[((long)var_204
&3)]:var_204
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_204
); /* is_ok on <var_204:Iterator[MModule]>*/
8449 goto BREAK_label206
;
8452 var207
= ((val
*(*)(val
* self
))((((long)var_204
&3)?class_info
[((long)var_204
&3)]:var_204
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_204
); /* item on <var_204:Iterator[MModule]>*/
8456 var210
= nitc___nitc__MModule___filepath(var_x208
);
8462 var211
= nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var_x208
);
8467 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_201
, var209
); /* Direct call array$AbstractArray$push on <var_201:Array[String]>*/
8470 ((void(*)(val
* self
))((((long)var_204
&3)?class_info
[((long)var_204
&3)]:var_204
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_204
); /* next on <var_204:Iterator[MModule]>*/
8473 BREAK_label206
: (void)0;
8475 ((void(*)(val
* self
))((((long)var_204
&3)?class_info
[((long)var_204
&3)]:var_204
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_204
); /* finish on <var_204:Iterator[MModule]>*/
8477 if (likely(varonce212
!=NULL
)) {
8478 var213
= varonce212
;
8481 var216
= (val
*)(4l<<2|1);
8482 var217
= (val
*)(4l<<2|1);
8483 var218
= (val
*)((long)(0)<<2|3);
8484 var219
= (val
*)((long)(0)<<2|3);
8485 var215
= core__flat___CString___to_s_unsafe(var214
, var216
, var217
, var218
, var219
);
8487 varonce212
= var213
;
8490 var220
= core__abstract_text___Collection___join(var_201
, var213
, ((val
*)NULL
));
8492 ((struct instance_core__NativeArray
*)var175
)->values
[3]=var220
;
8494 var221
= ((val
*(*)(val
* self
))(var175
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var175
); /* native_to_s on <var175:NativeArray[String]>*/
8496 varonce174
= var175
;
8498 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var221
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
8503 var222
= core___core__ArraySet___core__abstract_collection__Collection__first(var_res148
);
8509 if (unlikely(varonce223
==NULL
)) {
8510 var224
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
8511 if (likely(varonce225
!=NULL
)) {
8512 var226
= varonce225
;
8514 var227
= "Error: cannot find module `";
8515 var229
= (val
*)(27l<<2|1);
8516 var230
= (val
*)(27l<<2|1);
8517 var231
= (val
*)((long)(0)<<2|3);
8518 var232
= (val
*)((long)(0)<<2|3);
8519 var228
= core__flat___CString___to_s_unsafe(var227
, var229
, var230
, var231
, var232
);
8521 varonce225
= var226
;
8523 ((struct instance_core__NativeArray
*)var224
)->values
[0]=var226
;
8524 if (likely(varonce233
!=NULL
)) {
8525 var234
= varonce233
;
8527 var235
= "` from `";
8528 var237
= (val
*)(8l<<2|1);
8529 var238
= (val
*)(8l<<2|1);
8530 var239
= (val
*)((long)(0)<<2|3);
8531 var240
= (val
*)((long)(0)<<2|3);
8532 var236
= core__flat___CString___to_s_unsafe(var235
, var237
, var238
, var239
, var240
);
8534 varonce233
= var234
;
8536 ((struct instance_core__NativeArray
*)var224
)->values
[2]=var234
;
8537 if (likely(varonce241
!=NULL
)) {
8538 var242
= varonce241
;
8540 var243
= "`. Tried: ";
8541 var245
= (val
*)(10l<<2|1);
8542 var246
= (val
*)(10l<<2|1);
8543 var247
= (val
*)((long)(0)<<2|3);
8544 var248
= (val
*)((long)(0)<<2|3);
8545 var244
= core__flat___CString___to_s_unsafe(var243
, var245
, var246
, var247
, var248
);
8547 varonce241
= var242
;
8549 ((struct instance_core__NativeArray
*)var224
)->values
[4]=var242
;
8550 if (likely(varonce249
!=NULL
)) {
8551 var250
= varonce249
;
8554 var253
= (val
*)(1l<<2|1);
8555 var254
= (val
*)(1l<<2|1);
8556 var255
= (val
*)((long)(0)<<2|3);
8557 var256
= (val
*)((long)(0)<<2|3);
8558 var252
= core__flat___CString___to_s_unsafe(var251
, var253
, var254
, var255
, var256
);
8560 varonce249
= var250
;
8562 ((struct instance_core__NativeArray
*)var224
)->values
[6]=var250
;
8564 var224
= varonce223
;
8567 ((struct instance_core__NativeArray
*)var224
)->values
[1]=var_mod_name
;
8568 ((struct instance_core__NativeArray
*)var224
)->values
[3]=var_root_name
;
8570 { /* Inline loader$ModelBuilder$paths (self) on <self:ModelBuilder> */
8571 var259
= self
->attrs
[COLOR_nitc__loader__ModelBuilder___paths
].val
; /* _paths on <self:ModelBuilder> */
8572 if (unlikely(var259
== NULL
)) {
8573 if(catchStack
.cursor
>= 0){
8574 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths");
8577 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader
, 213);
8581 RET_LABEL258
:(void)0;
8584 if (likely(varonce260
!=NULL
)) {
8585 var261
= varonce260
;
8588 var264
= (val
*)(2l<<2|1);
8589 var265
= (val
*)(2l<<2|1);
8590 var266
= (val
*)((long)(0)<<2|3);
8591 var267
= (val
*)((long)(0)<<2|3);
8592 var263
= core__flat___CString___to_s_unsafe(var262
, var264
, var265
, var266
, var267
);
8594 varonce260
= var261
;
8597 var268
= core__abstract_text___Collection___join(var257
, var261
, ((val
*)NULL
));
8599 ((struct instance_core__NativeArray
*)var224
)->values
[5]=var268
;
8601 var269
= ((val
*(*)(val
* self
))(var224
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var224
); /* native_to_s on <var224:NativeArray[String]>*/
8603 varonce223
= var224
;
8605 nitc___nitc__ModelBuilder___error(self
, var_n_name
, var269
); /* Direct call modelbuilder_base$ModelBuilder$error on <self:ModelBuilder>*/
8612 /* method loader$ModelBuilder$match_amodulename for (self: ModelBuilder, AModuleName, MModule): Bool */
8613 short int nitc__loader___ModelBuilder___match_amodulename(val
* self
, val
* p0
, val
* p1
) {
8614 short int var
/* : Bool */;
8615 val
* var_n_name
/* var n_name: AModuleName */;
8616 val
* var_m
/* var m: MModule */;
8617 val
* var1
/* : nullable MGroup */;
8618 val
* var3
/* : nullable MGroup */;
8619 val
* var_g
/* var g: nullable MGroup */;
8620 val
* var4
/* : ANodes[TId] */;
8621 val
* var6
/* : ANodes[TId] */;
8622 val
* var7
/* : IndexedIterator[ANode] */;
8623 val
* var_
/* var : IndexedIterator[TId] */;
8624 val
* var8
/* : Iterator[nullable Object] */;
8625 val
* var_9
/* var : Iterator[TId] */;
8626 short int var10
/* : Bool */;
8627 val
* var11
/* : nullable Object */;
8628 val
* var_grp
/* var grp: TId */;
8629 short int var12
/* : Bool */;
8630 short int var13
/* : Bool */;
8631 short int var14
/* : Bool */;
8632 val
* var_other
/* var other: nullable Object */;
8633 short int var16
/* : Bool */;
8634 short int var17
/* : Bool */;
8635 short int var_18
/* var : Bool */;
8636 val
* var19
/* : String */;
8637 val
* var20
/* : String */;
8638 val
* var22
/* : String */;
8639 short int var23
/* : Bool */;
8640 short int var25
/* : Bool */;
8641 short int var26
/* : Bool */;
8642 val
* var27
/* : nullable MGroup */;
8643 val
* var29
/* : nullable MGroup */;
8644 short int var31
/* : Bool */;
8645 short int var32
/* : Bool */;
8646 short int var34
/* : Bool */;
8647 short int var35
/* : Bool */;
8651 { /* Inline mmodule$MModule$mgroup (var_m) on <var_m:MModule> */
8652 var3
= var_m
->attrs
[COLOR_nitc__mmodule__MModule___mgroup
].val
; /* _mgroup on <var_m:MModule> */
8659 { /* Inline parser_nodes$AModuleName$n_path (var_n_name) on <var_n_name:AModuleName> */
8660 var6
= var_n_name
->attrs
[COLOR_nitc__parser_nodes__AModuleName___n_path
].val
; /* _n_path on <var_n_name:AModuleName> */
8661 if (unlikely(var6
== NULL
)) {
8662 if(catchStack
.cursor
>= 0){
8663 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path");
8666 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2916);
8674 var7
= nitc___nitc__ANodes___core__abstract_collection__SequenceRead__reverse_iterator(var4
);
8678 var8
= core___core__Iterator___iterator(var_
);
8683 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]>*/
8690 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]>*/
8694 if (var_g
== NULL
) {
8695 var13
= 0; /* is null */
8697 var13
= 1; /* arg is null and recv is not */
8700 { /* Inline kernel$Object$!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
8701 var_other
= ((val
*)NULL
);
8703 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)>*/
8708 RET_LABEL15
:(void)0;
8715 var19
= nitc__lexer_work___Token___text(var_grp
);
8718 { /* Inline mpackage$MGroup$name (var_g) on <var_g:nullable MGroup(MGroup)> */
8719 var22
= var_g
->attrs
[COLOR_nitc__mpackage__MGroup___name
].val
; /* _name on <var_g:nullable MGroup(MGroup)> */
8720 if (unlikely(var22
== NULL
)) {
8721 if(catchStack
.cursor
>= 0){
8722 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8725 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mpackage
, 70);
8729 RET_LABEL21
:(void)0;
8733 { /* Inline kernel$Object$!= (var19,var20) on <var19:String> */
8736 var25
= ((short int(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var19
, var_other
); /* == on <var19:String>*/
8741 RET_LABEL24
:(void)0;
8750 { /* Inline mpackage$MGroup$parent (var_g) on <var_g:nullable MGroup(MGroup)> */
8751 var29
= var_g
->attrs
[COLOR_nitc__mpackage__MGroup___parent
].val
; /* _parent on <var_g:nullable MGroup(MGroup)> */
8753 RET_LABEL28
:(void)0;
8761 BREAK_label30
: (void)0;
8763 ((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]>*/
8766 BREAK_label
: (void)0;
8768 ((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]>*/
8770 if (var_g
== NULL
) {
8771 var31
= 0; /* is null */
8773 var31
= 1; /* arg is null and recv is not */
8776 { /* Inline kernel$Object$!= (var_g,((val*)NULL)) on <var_g:nullable MGroup> */
8777 var_other
= ((val
*)NULL
);
8779 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)>*/
8784 RET_LABEL33
:(void)0;