1 #include "modelbuilder.sep.0.h"
2 /* method modelbuilder#ToolContext#opt_path for (self: ToolContext): OptionArray */
3 val
* modelbuilder__ToolContext__opt_path(val
* self
) {
4 val
* var
/* : OptionArray */;
5 val
* var1
/* : OptionArray */;
6 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_path
].val
; /* @opt_path on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_path");
9 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 37);
16 /* method modelbuilder#ToolContext#opt_path for (self: Object): OptionArray */
17 val
* VIRTUAL_modelbuilder__ToolContext__opt_path(val
* self
) {
18 val
* var
/* : OptionArray */;
19 val
* var1
/* : OptionArray */;
20 var1
= modelbuilder__ToolContext__opt_path(self
);
25 /* method modelbuilder#ToolContext#opt_path= for (self: ToolContext, OptionArray) */
26 void modelbuilder__ToolContext__opt_path_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_path
].val
= p0
; /* @opt_path on <self:ToolContext> */
30 /* method modelbuilder#ToolContext#opt_path= for (self: Object, OptionArray) */
31 void VIRTUAL_modelbuilder__ToolContext__opt_path_61d(val
* self
, val
* p0
) {
32 modelbuilder__ToolContext__opt_path_61d(self
, p0
);
35 /* method modelbuilder#ToolContext#opt_only_metamodel for (self: ToolContext): OptionBool */
36 val
* modelbuilder__ToolContext__opt_only_metamodel(val
* self
) {
37 val
* var
/* : OptionBool */;
38 val
* var1
/* : OptionBool */;
39 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_metamodel
].val
; /* @opt_only_metamodel on <self:ToolContext> */
41 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_only_metamodel");
42 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 40);
49 /* method modelbuilder#ToolContext#opt_only_metamodel for (self: Object): OptionBool */
50 val
* VIRTUAL_modelbuilder__ToolContext__opt_only_metamodel(val
* self
) {
51 val
* var
/* : OptionBool */;
52 val
* var1
/* : OptionBool */;
53 var1
= modelbuilder__ToolContext__opt_only_metamodel(self
);
58 /* method modelbuilder#ToolContext#opt_only_metamodel= for (self: ToolContext, OptionBool) */
59 void modelbuilder__ToolContext__opt_only_metamodel_61d(val
* self
, val
* p0
) {
60 self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_metamodel
].val
= p0
; /* @opt_only_metamodel on <self:ToolContext> */
63 /* method modelbuilder#ToolContext#opt_only_metamodel= for (self: Object, OptionBool) */
64 void VIRTUAL_modelbuilder__ToolContext__opt_only_metamodel_61d(val
* self
, val
* p0
) {
65 modelbuilder__ToolContext__opt_only_metamodel_61d(self
, p0
);
68 /* method modelbuilder#ToolContext#opt_only_parse for (self: ToolContext): OptionBool */
69 val
* modelbuilder__ToolContext__opt_only_parse(val
* self
) {
70 val
* var
/* : OptionBool */;
71 val
* var1
/* : OptionBool */;
72 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_parse
].val
; /* @opt_only_parse on <self:ToolContext> */
74 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_only_parse");
75 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 43);
82 /* method modelbuilder#ToolContext#opt_only_parse for (self: Object): OptionBool */
83 val
* VIRTUAL_modelbuilder__ToolContext__opt_only_parse(val
* self
) {
84 val
* var
/* : OptionBool */;
85 val
* var1
/* : OptionBool */;
86 var1
= modelbuilder__ToolContext__opt_only_parse(self
);
91 /* method modelbuilder#ToolContext#opt_only_parse= for (self: ToolContext, OptionBool) */
92 void modelbuilder__ToolContext__opt_only_parse_61d(val
* self
, val
* p0
) {
93 self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_parse
].val
= p0
; /* @opt_only_parse on <self:ToolContext> */
96 /* method modelbuilder#ToolContext#opt_only_parse= for (self: Object, OptionBool) */
97 void VIRTUAL_modelbuilder__ToolContext__opt_only_parse_61d(val
* self
, val
* p0
) {
98 modelbuilder__ToolContext__opt_only_parse_61d(self
, p0
);
101 /* method modelbuilder#ToolContext#init for (self: ToolContext) */
102 void modelbuilder__ToolContext__init(val
* self
) {
103 val
* var
/* : OptionContext */;
104 val
* var1
/* : OptionArray */;
105 val
* var2
/* : OptionBool */;
106 val
* var3
/* : OptionBool */;
107 val
* var4
/* : Array[Option] */;
108 long var5
/* : Int */;
109 val
* var6
/* : NativeArray[Option] */;
110 ((void (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
111 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
112 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__opt_path
]))(self
) /* opt_path on <self:ToolContext>*/;
113 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_parse
]))(self
) /* opt_only_parse on <self:ToolContext>*/;
114 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_metamodel
]))(self
) /* opt_only_metamodel on <self:ToolContext>*/;
115 var4
= NEW_array__Array(&type_array__Arrayopts__Option
);
116 { /* var4 = array_instance Array[Option] */
118 var6
= NEW_array__NativeArray(var5
, &type_array__NativeArrayopts__Option
);
119 ((struct instance_array__NativeArray
*)var6
)->values
[0] = (val
*) var1
;
120 ((struct instance_array__NativeArray
*)var6
)->values
[1] = (val
*) var2
;
121 ((struct instance_array__NativeArray
*)var6
)->values
[2] = (val
*) var3
;
122 ((void (*)(val
*, val
*, long))(var4
->class->vft
[COLOR_array__Array__with_native
]))(var4
, var6
, var5
) /* with_native on <var4:Array[Option]>*/;
124 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var
, var4
) /* add_option on <var:OptionContext>*/;
127 /* method modelbuilder#ToolContext#init for (self: Object) */
128 void VIRTUAL_modelbuilder__ToolContext__init(val
* self
) {
129 modelbuilder__ToolContext__init(self
);
132 /* method modelbuilder#ToolContext#modelbuilder for (self: ToolContext): ModelBuilder */
133 val
* modelbuilder__ToolContext__modelbuilder(val
* self
) {
134 val
* var
/* : ModelBuilder */;
135 val
* var1
/* : nullable ModelBuilder */;
136 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder_real
]))(self
) /* modelbuilder_real on <self:ToolContext>*/;
138 fprintf(stderr
, "Runtime error: %s", "Cast failed");
139 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 52);
147 /* method modelbuilder#ToolContext#modelbuilder for (self: Object): ModelBuilder */
148 val
* VIRTUAL_modelbuilder__ToolContext__modelbuilder(val
* self
) {
149 val
* var
/* : ModelBuilder */;
150 val
* var1
/* : ModelBuilder */;
151 var1
= modelbuilder__ToolContext__modelbuilder(self
);
156 /* method modelbuilder#ToolContext#modelbuilder_real for (self: ToolContext): nullable ModelBuilder */
157 val
* modelbuilder__ToolContext__modelbuilder_real(val
* self
) {
158 val
* var
/* : nullable ModelBuilder */;
159 val
* var1
/* : nullable ModelBuilder */;
160 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___64dmodelbuilder_real
].val
; /* @modelbuilder_real on <self:ToolContext> */
165 /* method modelbuilder#ToolContext#modelbuilder_real for (self: Object): nullable ModelBuilder */
166 val
* VIRTUAL_modelbuilder__ToolContext__modelbuilder_real(val
* self
) {
167 val
* var
/* : nullable ModelBuilder */;
168 val
* var1
/* : nullable ModelBuilder */;
169 var1
= modelbuilder__ToolContext__modelbuilder_real(self
);
174 /* method modelbuilder#ToolContext#modelbuilder_real= for (self: ToolContext, nullable ModelBuilder) */
175 void modelbuilder__ToolContext__modelbuilder_real_61d(val
* self
, val
* p0
) {
176 self
->attrs
[COLOR_modelbuilder__ToolContext___64dmodelbuilder_real
].val
= p0
; /* @modelbuilder_real on <self:ToolContext> */
179 /* method modelbuilder#ToolContext#modelbuilder_real= for (self: Object, nullable ModelBuilder) */
180 void VIRTUAL_modelbuilder__ToolContext__modelbuilder_real_61d(val
* self
, val
* p0
) {
181 modelbuilder__ToolContext__modelbuilder_real_61d(self
, p0
);
184 /* method modelbuilder#ToolContext#run_global_phases for (self: ToolContext, MModule) */
185 void modelbuilder__ToolContext__run_global_phases(val
* self
, val
* p0
) {
186 val
* var_mainmodule
/* var mainmodule: MModule */;
187 val
* var
/* : Sequence[Phase] */;
188 val
* var1
/* : Iterator[nullable Object] */;
189 short int var2
/* : Bool */;
190 val
* var3
/* : nullable Object */;
191 val
* var_phase
/* var phase: Phase */;
193 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__ToolContext__phases_list
]))(self
) /* phases_list on <self:ToolContext>*/;
194 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:Sequence[Phase]>*/;
196 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
198 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
200 ((void (*)(val
*, val
*))(var_phase
->class->vft
[COLOR_modelbuilder__Phase__process_mainmodule
]))(var_phase
, var_mainmodule
) /* process_mainmodule on <var_phase:Phase>*/;
201 CONTINUE_label
: (void)0;
202 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
204 BREAK_label
: (void)0;
207 /* method modelbuilder#ToolContext#run_global_phases for (self: Object, MModule) */
208 void VIRTUAL_modelbuilder__ToolContext__run_global_phases(val
* self
, val
* p0
) {
209 modelbuilder__ToolContext__run_global_phases(self
, p0
);
212 /* method modelbuilder#Phase#process_mainmodule for (self: Phase, MModule) */
213 void modelbuilder__Phase__process_mainmodule(val
* self
, val
* p0
) {
214 val
* var_mainmodule
/* var mainmodule: MModule */;
218 /* method modelbuilder#Phase#process_mainmodule for (self: Object, MModule) */
219 void VIRTUAL_modelbuilder__Phase__process_mainmodule(val
* self
, val
* p0
) {
220 modelbuilder__Phase__process_mainmodule(self
, p0
);
223 /* method modelbuilder#ModelBuilder#model for (self: ModelBuilder): Model */
224 val
* modelbuilder__ModelBuilder__model(val
* self
) {
225 val
* var
/* : Model */;
226 val
* var1
/* : Model */;
227 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmodel
].val
; /* @model on <self:ModelBuilder> */
229 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @model");
230 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 73);
237 /* method modelbuilder#ModelBuilder#model for (self: Object): Model */
238 val
* VIRTUAL_modelbuilder__ModelBuilder__model(val
* self
) {
239 val
* var
/* : Model */;
240 val
* var1
/* : Model */;
241 var1
= modelbuilder__ModelBuilder__model(self
);
246 /* method modelbuilder#ModelBuilder#model= for (self: ModelBuilder, Model) */
247 void modelbuilder__ModelBuilder__model_61d(val
* self
, val
* p0
) {
248 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmodel
].val
= p0
; /* @model on <self:ModelBuilder> */
251 /* method modelbuilder#ModelBuilder#model= for (self: Object, Model) */
252 void VIRTUAL_modelbuilder__ModelBuilder__model_61d(val
* self
, val
* p0
) {
253 modelbuilder__ModelBuilder__model_61d(self
, p0
);
256 /* method modelbuilder#ModelBuilder#toolcontext for (self: ModelBuilder): ToolContext */
257 val
* modelbuilder__ModelBuilder__toolcontext(val
* self
) {
258 val
* var
/* : ToolContext */;
259 val
* var1
/* : ToolContext */;
260 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtoolcontext
].val
; /* @toolcontext on <self:ModelBuilder> */
262 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @toolcontext");
263 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 76);
270 /* method modelbuilder#ModelBuilder#toolcontext for (self: Object): ToolContext */
271 val
* VIRTUAL_modelbuilder__ModelBuilder__toolcontext(val
* self
) {
272 val
* var
/* : ToolContext */;
273 val
* var1
/* : ToolContext */;
274 var1
= modelbuilder__ModelBuilder__toolcontext(self
);
279 /* method modelbuilder#ModelBuilder#toolcontext= for (self: ModelBuilder, ToolContext) */
280 void modelbuilder__ModelBuilder__toolcontext_61d(val
* self
, val
* p0
) {
281 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:ModelBuilder> */
284 /* method modelbuilder#ModelBuilder#toolcontext= for (self: Object, ToolContext) */
285 void VIRTUAL_modelbuilder__ModelBuilder__toolcontext_61d(val
* self
, val
* p0
) {
286 modelbuilder__ModelBuilder__toolcontext_61d(self
, p0
);
289 /* method modelbuilder#ModelBuilder#run_phases for (self: ModelBuilder) */
290 void modelbuilder__ModelBuilder__run_phases(val
* self
) {
291 val
* var
/* : Model */;
292 val
* var1
/* : Array[MModule] */;
293 val
* var2
/* : Array[nullable Object] */;
294 val
* var_mmodules
/* var mmodules: Array[MModule] */;
295 val
* var3
/* : Model */;
296 val
* var4
/* : POSet[MModule] */;
297 val
* var5
/* : Array[AModule] */;
298 val
* var_nmodules
/* var nmodules: Array[AModule] */;
299 val
* var6
/* : Iterator[nullable Object] */;
300 short int var7
/* : Bool */;
301 val
* var8
/* : nullable Object */;
302 val
* var_mm
/* var mm: MModule */;
303 val
* var9
/* : HashMap[MModule, AModule] */;
304 val
* var10
/* : nullable Object */;
305 val
* var11
/* : ToolContext */;
306 val
* var12
/* : ToolContext */;
307 val
* var13
/* : OptionBool */;
308 val
* var14
/* : nullable Object */;
309 short int var15
/* : Bool */;
310 val
* var16
/* : ToolContext */;
312 val
* var17
/* : String */;
313 char* var18
/* : NativeString */;
314 long var19
/* : Int */;
315 val
* var20
/* : String */;
316 long var21
/* : Int */;
317 long var22
/* : Int */;
318 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
319 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_mmodule__Model__mmodules
]))(var
) /* mmodules on <var:Model>*/;
320 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_array__Collection__to_a
]))(var1
) /* to_a on <var1:Array[MModule]>*/;
322 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
323 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_mmodule__Model__mmodule_importation_hierarchy
]))(var3
) /* mmodule_importation_hierarchy on <var3:Model>*/;
324 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_sorter__AbstractSorter__sort
]))(var4
, var_mmodules
) /* sort on <var4:POSet[MModule]>*/;
325 var5
= NEW_array__Array(&type_array__Arrayparser_nodes__AModule
);
326 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[AModule]>*/;
328 var6
= ((val
* (*)(val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_mmodules
) /* iterator on <var_mmodules:Array[MModule]>*/;
330 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
332 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
334 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(self
) /* mmodule2nmodule on <self:ModelBuilder>*/;
335 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_mm
) /* [] on <var9:HashMap[MModule, AModule]>*/;
336 ((void (*)(val
*, val
*))(var_nmodules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_nmodules
, var10
) /* add on <var_nmodules:Array[AModule]>*/;
337 CONTINUE_label
: (void)0;
338 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
340 BREAK_label
: (void)0;
341 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
342 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_phase__ToolContext__run_phases
]))(var11
, var_nmodules
) /* run_phases on <var11:ToolContext>*/;
343 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
344 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_metamodel
]))(var12
) /* opt_only_metamodel on <var12:ToolContext>*/;
345 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_opts__Option__value
]))(var13
) /* value on <var13:OptionBool>*/;
346 var15
= ((struct instance_kernel__Bool
*)var14
)->value
; /* autounbox from nullable Object to Bool */;
348 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
352 var18
= "*** ONLY METAMODEL";
354 var20
= string__NativeString__to_s_with_length(var18
, var19
);
359 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var16
, var17
, var21
) /* info on <var16:ToolContext>*/;
361 ((void (*)(val
*, long))(self
->class->vft
[COLOR_kernel__Object__exit
]))(self
, var22
) /* exit on <self:ModelBuilder>*/;
366 /* method modelbuilder#ModelBuilder#run_phases for (self: Object) */
367 void VIRTUAL_modelbuilder__ModelBuilder__run_phases(val
* self
) {
368 modelbuilder__ModelBuilder__run_phases(self
);
371 /* method modelbuilder#ModelBuilder#init for (self: ModelBuilder, Model, ToolContext) */
372 void modelbuilder__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
373 val
* var_model
/* var model: Model */;
374 val
* var_toolcontext
/* var toolcontext: ToolContext */;
375 val
* var
/* : nullable ModelBuilder */;
376 val
* var1
/* : null */;
377 short int var2
/* : Bool */;
378 val
* var3
/* : Array[String] */;
379 val
* var4
/* : OptionArray */;
380 val
* var5
/* : nullable Object */;
382 val
* var6
/* : String */;
383 char* var7
/* : NativeString */;
384 long var8
/* : Int */;
385 val
* var9
/* : String */;
386 val
* var10
/* : String */;
387 val
* var_path_env
/* var path_env: String */;
388 short int var11
/* : Bool */;
389 short int var12
/* : Bool */;
390 val
* var13
/* : Array[String] */;
391 char var14
/* : Char */;
392 val
* var15
/* : Array[String] */;
393 val
* var16
/* : Pattern */;
394 static val
* varonce17
;
395 val
* var18
/* : String */;
396 char* var19
/* : NativeString */;
397 long var20
/* : Int */;
398 val
* var21
/* : String */;
399 val
* var22
/* : String */;
400 short int var23
/* : Bool */;
401 short int var24
/* : Bool */;
402 val
* var25
/* : Array[Object] */;
403 long var26
/* : Int */;
404 val
* var_
/* var : Array[Object] */;
405 static val
* varonce27
;
406 val
* var28
/* : String */;
407 char* var29
/* : NativeString */;
408 long var30
/* : Int */;
409 val
* var31
/* : String */;
410 static val
* varonce32
;
411 val
* var33
/* : String */;
412 char* var34
/* : NativeString */;
413 long var35
/* : Int */;
414 val
* var36
/* : String */;
415 val
* var37
/* : String */;
416 val
* var_libname
/* var libname: String */;
417 short int var38
/* : Bool */;
418 val
* var39
/* : Array[String] */;
419 val
* var40
/* : Array[Object] */;
420 long var41
/* : Int */;
421 val
* var_42
/* var : Array[Object] */;
422 static val
* varonce43
;
423 val
* var44
/* : String */;
424 char* var45
/* : NativeString */;
425 long var46
/* : Int */;
426 val
* var47
/* : String */;
427 val
* var48
/* : Sys */;
428 val
* var49
/* : String */;
429 val
* var50
/* : String */;
430 static val
* varonce51
;
431 val
* var52
/* : String */;
432 char* var53
/* : NativeString */;
433 long var54
/* : Int */;
434 val
* var55
/* : String */;
435 val
* var56
/* : String */;
436 val
* var_libname57
/* var libname: String */;
437 short int var58
/* : Bool */;
438 val
* var59
/* : Array[String] */;
439 val
* var60
/* : String */;
441 var_toolcontext
= p1
;
442 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model_61d
]))(self
, var_model
) /* model= on <self:ModelBuilder>*/;
443 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext_61d
]))(self
, var_toolcontext
) /* toolcontext= on <self:ModelBuilder>*/;
444 var
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder_real
]))(var_toolcontext
) /* modelbuilder_real on <var_toolcontext:ToolContext>*/;
447 var2
= 1; /* is null */
449 var2
= 0; /* arg is null but recv is not */
452 fprintf(stderr
, "Runtime error: %s", "Assert failed");
453 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 102);
456 ((void (*)(val
*, val
*))(var_toolcontext
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder_real_61d
]))(var_toolcontext
, self
) /* modelbuilder_real= on <var_toolcontext:ToolContext>*/;
457 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
458 var4
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_modelbuilder__ToolContext__opt_path
]))(var_toolcontext
) /* opt_path on <var_toolcontext:ToolContext>*/;
459 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_opts__Option__value
]))(var4
) /* value on <var4:OptionArray>*/;
460 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var3
, var5
) /* append on <var3:Array[String]>*/;
466 var9
= string__NativeString__to_s_with_length(var7
, var8
);
470 var10
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_environ__String__environ
]))(var6
) /* environ on <var6:String>*/;
471 var_path_env
= var10
;
472 var11
= ((short int (*)(val
*))(var_path_env
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_path_env
) /* is_empty on <var_path_env:String>*/;
475 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
477 var16
= BOX_kernel__Char(var14
); /* autobox from Char to Pattern */
478 var15
= ((val
* (*)(val
*, val
*))(var_path_env
->class->vft
[COLOR_string_search__String__split_with
]))(var_path_env
, var16
) /* split_with on <var_path_env:String>*/;
479 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var13
, var15
) /* append on <var13:Array[String]>*/;
487 var21
= string__NativeString__to_s_with_length(var19
, var20
);
491 var22
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_environ__String__environ
]))(var18
) /* environ on <var18:String>*/;
492 var_path_env
= var22
;
493 var23
= ((short int (*)(val
*))(var_path_env
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_path_env
) /* is_empty on <var_path_env:String>*/;
496 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
498 ((void (*)(val
*, long))(var25
->class->vft
[COLOR_array__Array__with_capacity
]))(var25
, var26
) /* with_capacity on <var25:Array[Object]>*/;
505 var31
= string__NativeString__to_s_with_length(var29
, var30
);
509 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var28
) /* add on <var_:Array[Object]>*/;
510 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_path_env
) /* add on <var_:Array[Object]>*/;
516 var36
= string__NativeString__to_s_with_length(var34
, var35
);
520 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var33
) /* add on <var_:Array[Object]>*/;
521 var37
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
523 var38
= ((short int (*)(val
*))(var_libname
->class->vft
[COLOR_file__String__file_exists
]))(var_libname
) /* file_exists on <var_libname:String>*/;
525 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
526 ((void (*)(val
*, val
*))(var39
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var39
, var_libname
) /* add on <var39:Array[String]>*/;
531 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
533 ((void (*)(val
*, long))(var40
->class->vft
[COLOR_array__Array__with_capacity
]))(var40
, var41
) /* with_capacity on <var40:Array[Object]>*/;
540 var47
= string__NativeString__to_s_with_length(var45
, var46
);
544 ((void (*)(val
*, val
*))(var_42
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_42
, var44
) /* add on <var_42:Array[Object]>*/;
545 var48
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
546 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Sys__program_name
]))(var48
) /* program_name on <var48:Sys>*/;
547 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_file__String__dirname
]))(var49
) /* dirname on <var49:String>*/;
548 ((void (*)(val
*, val
*))(var_42
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_42
, var50
) /* add on <var_42:Array[Object]>*/;
554 var55
= string__NativeString__to_s_with_length(var53
, var54
);
558 ((void (*)(val
*, val
*))(var_42
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_42
, var52
) /* add on <var_42:Array[Object]>*/;
559 var56
= ((val
* (*)(val
*))(var_42
->class->vft
[COLOR_string__Object__to_s
]))(var_42
) /* to_s on <var_42:Array[Object]>*/;
560 var_libname57
= var56
;
561 var58
= ((short int (*)(val
*))(var_libname57
->class->vft
[COLOR_file__String__file_exists
]))(var_libname57
) /* file_exists on <var_libname57:String>*/;
563 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
564 var60
= ((val
* (*)(val
*))(var_libname57
->class->vft
[COLOR_file__String__simplify_path
]))(var_libname57
) /* simplify_path on <var_libname57:String>*/;
565 ((void (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var59
, var60
) /* add on <var59:Array[String]>*/;
570 /* method modelbuilder#ModelBuilder#init for (self: Object, Model, ToolContext) */
571 void VIRTUAL_modelbuilder__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
572 modelbuilder__ModelBuilder__init(self
, p0
, p1
);
575 /* method modelbuilder#ModelBuilder#parse for (self: ModelBuilder, Sequence[String]): Array[MModule] */
576 val
* modelbuilder__ModelBuilder__parse(val
* self
, val
* p0
) {
577 val
* var
/* : Array[MModule] */;
578 val
* var_modules
/* var modules: Sequence[String] */;
579 long var1
/* : Int */;
580 long var_time0
/* var time0: Int */;
581 val
* var2
/* : ToolContext */;
583 val
* var3
/* : String */;
584 char* var4
/* : NativeString */;
585 long var5
/* : Int */;
586 val
* var6
/* : String */;
587 long var7
/* : Int */;
588 val
* var8
/* : ArraySet[MModule] */;
589 val
* var_mmodules
/* var mmodules: ArraySet[MModule] */;
590 val
* var9
/* : Iterator[nullable Object] */;
591 short int var10
/* : Bool */;
592 val
* var11
/* : nullable Object */;
593 val
* var_a
/* var a: String */;
594 val
* var12
/* : nullable AModule */;
595 val
* var_nmodule
/* var nmodule: nullable AModule */;
596 val
* var13
/* : null */;
597 short int var14
/* : Bool */;
598 val
* var15
/* : nullable MModule */;
599 long var16
/* : Int */;
600 long var_time1
/* var time1: Int */;
601 val
* var17
/* : ToolContext */;
602 static val
* varonce18
;
603 val
* var19
/* : String */;
604 char* var20
/* : NativeString */;
605 long var21
/* : Int */;
606 val
* var22
/* : String */;
607 long var23
/* : Int */;
608 long var25
/* : Int */;
609 static val
* varonce26
;
610 val
* var27
/* : String */;
611 char* var28
/* : NativeString */;
612 long var29
/* : Int */;
613 val
* var30
/* : String */;
614 val
* var31
/* : Array[Object] */;
615 long var32
/* : Int */;
616 val
* var33
/* : NativeArray[Object] */;
617 val
* var34
/* : Object */;
618 val
* var35
/* : String */;
619 long var36
/* : Int */;
620 val
* var37
/* : ToolContext */;
621 val
* var38
/* : ToolContext */;
622 val
* var39
/* : OptionBool */;
623 val
* var40
/* : nullable Object */;
624 short int var41
/* : Bool */;
625 val
* var42
/* : ToolContext */;
626 static val
* varonce43
;
627 val
* var44
/* : String */;
628 char* var45
/* : NativeString */;
629 long var46
/* : Int */;
630 val
* var47
/* : String */;
631 long var48
/* : Int */;
632 long var49
/* : Int */;
633 val
* var50
/* : Array[nullable Object] */;
635 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
637 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
641 var4
= "*** PARSE ***";
643 var6
= string__NativeString__to_s_with_length(var4
, var5
);
648 ((void (*)(val
*, val
*, long))(var2
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var2
, var3
, var7
) /* info on <var2:ToolContext>*/;
649 var8
= NEW_array__ArraySet(&type_array__ArraySetmmodule__MModule
);
650 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__ArraySet__init
]))(var8
) /* init on <var8:ArraySet[MModule]>*/;
652 var9
= ((val
* (*)(val
*))(var_modules
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_modules
) /* iterator on <var_modules:Sequence[String]>*/;
654 var10
= ((short int (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var9
) /* is_ok on <var9:Iterator[nullable Object]>*/;
656 var11
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var9
) /* item on <var9:Iterator[nullable Object]>*/;
658 var12
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var_a
) /* load_module on <self:ModelBuilder>*/;
661 if (var_nmodule
== NULL
) {
662 var14
= 1; /* is null */
664 var14
= 0; /* arg is null but recv is not */
670 var15
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_nmodule
) /* mmodule on <var_nmodule:nullable AModule(AModule)>*/;
672 fprintf(stderr
, "Runtime error: %s", "Cast failed");
673 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 139);
676 ((void (*)(val
*, val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mmodules
, var15
) /* add on <var_mmodules:ArraySet[MModule]>*/;
677 CONTINUE_label
: (void)0;
678 ((void (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var9
) /* next on <var9:Iterator[nullable Object]>*/;
680 BREAK_label
: (void)0;
681 var16
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
683 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
687 var20
= "*** END PARSE: ";
689 var22
= string__NativeString__to_s_with_length(var20
, var21
);
693 { /* Inline kernel#Int#- (var_time1,var_time0) */
694 var25
= var_time1
- var_time0
;
704 var30
= string__NativeString__to_s_with_length(var28
, var29
);
708 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
709 { /* var31 = array_instance Array[Object] */
711 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
712 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var19
;
713 var34
= BOX_kernel__Int(var23
); /* autobox from Int to Object */
714 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var34
;
715 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var27
;
716 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
718 var35
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
720 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var17
, var35
, var36
) /* info on <var17:ToolContext>*/;
721 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
722 ((void (*)(val
*))(var37
->class->vft
[COLOR_toolcontext__ToolContext__check_errors
]))(var37
) /* check_errors on <var37:ToolContext>*/;
723 var38
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
724 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_parse
]))(var38
) /* opt_only_parse on <var38:ToolContext>*/;
725 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_opts__Option__value
]))(var39
) /* value on <var39:OptionBool>*/;
726 var41
= ((struct instance_kernel__Bool
*)var40
)->value
; /* autounbox from nullable Object to Bool */;
728 var42
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
732 var45
= "*** ONLY PARSE...";
734 var47
= string__NativeString__to_s_with_length(var45
, var46
);
739 ((void (*)(val
*, val
*, long))(var42
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var42
, var44
, var48
) /* info on <var42:ToolContext>*/;
741 ((void (*)(val
*, long))(self
->class->vft
[COLOR_kernel__Object__exit
]))(self
, var49
) /* exit on <self:ModelBuilder>*/;
744 var50
= ((val
* (*)(val
*))(var_mmodules
->class->vft
[COLOR_array__Collection__to_a
]))(var_mmodules
) /* to_a on <var_mmodules:ArraySet[MModule]>*/;
750 /* method modelbuilder#ModelBuilder#parse for (self: Object, Sequence[String]): Array[MModule] */
751 val
* VIRTUAL_modelbuilder__ModelBuilder__parse(val
* self
, val
* p0
) {
752 val
* var
/* : Array[MModule] */;
753 val
* var1
/* : Array[MModule] */;
754 var1
= modelbuilder__ModelBuilder__parse(self
, p0
);
759 /* method modelbuilder#ModelBuilder#try_get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */
760 val
* modelbuilder__ModelBuilder__try_get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
761 val
* var
/* : nullable MClass */;
762 val
* var_anode
/* var anode: ANode */;
763 val
* var_mmodule
/* var mmodule: MModule */;
764 val
* var_name
/* var name: String */;
765 val
* var1
/* : Model */;
766 val
* var2
/* : nullable Array[MClass] */;
767 val
* var_classes
/* var classes: nullable Array[MClass] */;
768 val
* var3
/* : null */;
769 short int var4
/* : Bool */;
770 val
* var5
/* : null */;
771 val
* var6
/* : null */;
772 val
* var_res
/* var res: nullable MClass */;
773 val
* var7
/* : Iterator[nullable Object] */;
774 short int var8
/* : Bool */;
775 val
* var9
/* : nullable Object */;
776 val
* var_mclass
/* var mclass: MClass */;
777 val
* var10
/* : POSetElement[MModule] */;
778 val
* var11
/* : MModule */;
779 short int var12
/* : Bool */;
780 short int var13
/* : Bool */;
781 val
* var14
/* : MModule */;
782 val
* var15
/* : MVisibility */;
783 short int var16
/* : Bool */;
784 short int var17
/* : Bool */;
785 val
* var18
/* : null */;
786 short int var19
/* : Bool */;
788 val
* var20
/* : String */;
789 char* var21
/* : NativeString */;
790 long var22
/* : Int */;
791 val
* var23
/* : String */;
792 static val
* varonce24
;
793 val
* var25
/* : String */;
794 char* var26
/* : NativeString */;
795 long var27
/* : Int */;
796 val
* var28
/* : String */;
797 val
* var29
/* : String */;
798 static val
* varonce30
;
799 val
* var31
/* : String */;
800 char* var32
/* : NativeString */;
801 long var33
/* : Int */;
802 val
* var34
/* : String */;
803 val
* var35
/* : String */;
804 val
* var36
/* : Array[Object] */;
805 long var37
/* : Int */;
806 val
* var38
/* : NativeArray[Object] */;
807 val
* var39
/* : String */;
808 val
* var40
/* : null */;
812 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
813 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_model__Model__get_mclasses_by_name
]))(var1
, var_name
) /* get_mclasses_by_name on <var1:Model>*/;
816 if (var_classes
== NULL
) {
817 var4
= 1; /* is null */
819 var4
= 0; /* arg is null but recv is not */
829 var7
= ((val
* (*)(val
*))(var_classes
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_classes
) /* iterator on <var_classes:nullable Array[MClass](Array[MClass])>*/;
831 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
833 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
835 var10
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__in_importation
]))(var_mmodule
) /* in_importation on <var_mmodule:MModule>*/;
836 var11
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__intro_mmodule
]))(var_mclass
) /* intro_mmodule on <var_mclass:MClass>*/;
837 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_poset__POSetElement___60d_61d
]))(var10
, var11
) /* <= on <var10:POSetElement[MModule]>*/;
843 var14
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__intro_mmodule
]))(var_mclass
) /* intro_mmodule on <var_mclass:MClass>*/;
844 var15
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__visibility
]))(var_mclass
) /* visibility on <var_mclass:MClass>*/;
845 var16
= ((short int (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__is_visible
]))(var_mmodule
, var14
, var15
) /* is_visible on <var_mmodule:MModule>*/;
852 if (var_res
== NULL
) {
853 var19
= 1; /* is null */
855 var19
= 0; /* arg is null but recv is not */
858 var_res
= var_mclass
;
863 var21
= "Ambigous class name \'";
865 var23
= string__NativeString__to_s_with_length(var21
, var22
);
872 var26
= "\'; conflict between ";
874 var28
= string__NativeString__to_s_with_length(var26
, var27
);
878 var29
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__full_name
]))(var_mclass
) /* full_name on <var_mclass:MClass>*/;
884 var34
= string__NativeString__to_s_with_length(var32
, var33
);
888 var35
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MClass__full_name
]))(var_res
) /* full_name on <var_res:nullable MClass(MClass)>*/;
889 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
890 { /* var36 = array_instance Array[Object] */
892 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
893 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var20
;
894 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var_name
;
895 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var25
;
896 ((struct instance_array__NativeArray
*)var38
)->values
[3] = (val
*) var29
;
897 ((struct instance_array__NativeArray
*)var38
)->values
[4] = (val
*) var31
;
898 ((struct instance_array__NativeArray
*)var38
)->values
[5] = (val
*) var35
;
899 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
901 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
902 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var39
) /* error on <self:ModelBuilder>*/;
907 CONTINUE_label
: (void)0;
908 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
910 BREAK_label
: (void)0;
916 /* method modelbuilder#ModelBuilder#try_get_mclass_by_name for (self: Object, ANode, MModule, String): nullable MClass */
917 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
918 val
* var
/* : nullable MClass */;
919 val
* var1
/* : nullable MClass */;
920 var1
= modelbuilder__ModelBuilder__try_get_mclass_by_name(self
, p0
, p1
, p2
);
925 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2 for (self: ModelBuilder, ANode, MModule, MType, String): nullable MProperty */
926 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
927 val
* var
/* : nullable MProperty */;
928 val
* var_anode
/* var anode: ANode */;
929 val
* var_mmodule
/* var mmodule: MModule */;
930 val
* var_mtype
/* var mtype: MType */;
931 val
* var_name
/* var name: String */;
932 val
* var1
/* : Model */;
933 val
* var2
/* : nullable Array[MProperty] */;
934 val
* var_props
/* var props: nullable Array[MProperty] */;
935 val
* var3
/* : null */;
936 short int var4
/* : Bool */;
937 val
* var5
/* : null */;
938 val
* var6
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
939 val
* var7
/* : nullable Object */;
940 val
* var_cache
/* var cache: nullable MProperty */;
941 val
* var8
/* : null */;
942 short int var9
/* : Bool */;
943 val
* var10
/* : null */;
944 val
* var_res
/* var res: nullable MProperty */;
945 val
* var11
/* : null */;
946 val
* var_ress
/* var ress: nullable Array[MProperty] */;
947 val
* var12
/* : Iterator[nullable Object] */;
948 short int var13
/* : Bool */;
949 val
* var14
/* : nullable Object */;
950 val
* var_mprop
/* var mprop: MProperty */;
951 short int var15
/* : Bool */;
952 short int var16
/* : Bool */;
953 val
* var17
/* : MClassDef */;
954 val
* var18
/* : MModule */;
955 val
* var19
/* : MVisibility */;
956 short int var20
/* : Bool */;
957 short int var21
/* : Bool */;
958 val
* var22
/* : null */;
959 short int var23
/* : Bool */;
960 val
* var24
/* : MClassDef */;
961 val
* var25
/* : MClassType */;
962 val
* var_restype
/* var restype: MClassType */;
963 val
* var26
/* : MClassDef */;
964 val
* var27
/* : MClassType */;
965 val
* var_mproptype
/* var mproptype: MClassType */;
966 val
* var28
/* : null */;
967 short int var29
/* : Bool */;
968 val
* var30
/* : null */;
969 short int var31
/* : Bool */;
970 val
* var32
/* : null */;
971 short int var33
/* : Bool */;
972 val
* var34
/* : Array[MProperty] */;
973 val
* var35
/* : null */;
974 short int var36
/* : Bool */;
975 val
* var37
/* : MClassDef */;
976 val
* var38
/* : MClassType */;
977 val
* var_restype39
/* var restype: MClassType */;
978 val
* var40
/* : Iterator[nullable Object] */;
979 short int var41
/* : Bool */;
980 val
* var42
/* : nullable Object */;
981 val
* var_mprop43
/* var mprop: MProperty */;
982 val
* var44
/* : MClassDef */;
983 val
* var45
/* : MClassType */;
984 val
* var_mproptype46
/* var mproptype: MClassType */;
985 val
* var47
/* : null */;
986 short int var48
/* : Bool */;
987 short int var49
/* : Bool */;
989 val
* var50
/* : String */;
990 char* var51
/* : NativeString */;
991 long var52
/* : Int */;
992 val
* var53
/* : String */;
993 static val
* varonce54
;
994 val
* var55
/* : String */;
995 char* var56
/* : NativeString */;
996 long var57
/* : Int */;
997 val
* var58
/* : String */;
998 static val
* varonce59
;
999 val
* var60
/* : String */;
1000 char* var61
/* : NativeString */;
1001 long var62
/* : Int */;
1002 val
* var63
/* : String */;
1003 val
* var64
/* : String */;
1004 static val
* varonce65
;
1005 val
* var66
/* : String */;
1006 char* var67
/* : NativeString */;
1007 long var68
/* : Int */;
1008 val
* var69
/* : String */;
1009 val
* var70
/* : String */;
1010 val
* var71
/* : Array[Object] */;
1011 long var72
/* : Int */;
1012 val
* var73
/* : NativeArray[Object] */;
1013 val
* var74
/* : String */;
1014 val
* var75
/* : null */;
1015 val
* var77
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1020 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
1021 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_model__Model__get_mproperties_by_name
]))(var1
, var_name
) /* get_mproperties_by_name on <var1:Model>*/;
1024 if (var_props
== NULL
) {
1025 var4
= 1; /* is null */
1027 var4
= 0; /* arg is null but recv is not */
1035 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache
]))(self
) /* try_get_mproperty_by_name2_cache on <self:ModelBuilder>*/;
1036 var7
= ((val
* (*)(val
*, val
*, val
*, val
*))(var6
->class->vft
[COLOR_more_collections__HashMap3___91d_93d
]))(var6
, var_mmodule
, var_mtype
, var_name
) /* [] on <var6:HashMap3[MModule, MType, String, nullable MProperty]>*/;
1039 if (var_cache
== NULL
) {
1040 var9
= 0; /* is null */
1042 var9
= 1; /* arg is null and recv is not */
1053 var12
= ((val
* (*)(val
*))(var_props
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_props
) /* iterator on <var_props:nullable Array[MProperty](Array[MProperty])>*/;
1055 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
1057 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
1059 var15
= ((short int (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__has_mproperty
]))(var_mtype
, var_mmodule
, var_mprop
) /* has_mproperty on <var_mtype:MType>*/;
1062 goto CONTINUE_label
;
1065 var17
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_mprop
) /* intro_mclassdef on <var_mprop:MProperty>*/;
1066 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var17
) /* mmodule on <var17:MClassDef>*/;
1067 var19
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1068 var20
= ((short int (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__is_visible
]))(var_mmodule
, var18
, var19
) /* is_visible on <var_mmodule:MModule>*/;
1071 goto CONTINUE_label
;
1075 if (var_res
== NULL
) {
1076 var23
= 1; /* is null */
1078 var23
= 0; /* arg is null but recv is not */
1081 var_res
= var_mprop
;
1083 var24
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_res
) /* intro_mclassdef on <var_res:nullable MProperty(MProperty)>*/;
1084 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var24
) /* bound_mtype on <var24:MClassDef>*/;
1085 var_restype
= var25
;
1086 var26
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_mprop
) /* intro_mclassdef on <var_mprop:MProperty>*/;
1087 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var26
) /* bound_mtype on <var26:MClassDef>*/;
1088 var_mproptype
= var27
;
1090 var29
= ((short int (*)(val
*, val
*, val
*, val
*))(var_restype
->class->vft
[COLOR_model__MType__is_subtype
]))(var_restype
, var_mmodule
, var28
, var_mproptype
) /* is_subtype on <var_restype:MClassType>*/;
1094 var31
= ((short int (*)(val
*, val
*, val
*, val
*))(var_mproptype
->class->vft
[COLOR_model__MType__is_subtype
]))(var_mproptype
, var_mmodule
, var30
, var_restype
) /* is_subtype on <var_mproptype:MClassType>*/;
1096 var_res
= var_mprop
;
1099 if (var_ress
== NULL
) {
1100 var33
= 1; /* is null */
1102 var33
= 0; /* arg is null but recv is not */
1105 var34
= NEW_array__Array(&type_array__Arraymodel__MProperty
);
1106 ((void (*)(val
*))(var34
->class->vft
[COLOR_array__Array__init
]))(var34
) /* init on <var34:Array[MProperty]>*/;
1110 ((void (*)(val
*, val
*))(var_ress
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ress
, var_mprop
) /* add on <var_ress:nullable Array[MProperty](Array[MProperty])>*/;
1114 CONTINUE_label
: (void)0;
1115 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
1117 BREAK_label
: (void)0;
1119 if (var_ress
== NULL
) {
1120 var36
= 0; /* is null */
1122 var36
= 1; /* arg is null and recv is not */
1125 if (var_res
== NULL
) {
1126 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1127 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 217);
1130 var37
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_res
) /* intro_mclassdef on <var_res:nullable MProperty>*/;
1132 var38
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var37
) /* bound_mtype on <var37:MClassDef>*/;
1133 var_restype39
= var38
;
1134 var40
= ((val
* (*)(val
*))(var_ress
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_ress
) /* iterator on <var_ress:nullable Array[MProperty](Array[MProperty])>*/;
1136 var41
= ((short int (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var40
) /* is_ok on <var40:Iterator[nullable Object]>*/;
1138 var42
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var40
) /* item on <var40:Iterator[nullable Object]>*/;
1139 var_mprop43
= var42
;
1140 var44
= ((val
* (*)(val
*))(var_mprop43
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_mprop43
) /* intro_mclassdef on <var_mprop43:MProperty>*/;
1141 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var44
) /* bound_mtype on <var44:MClassDef>*/;
1142 var_mproptype46
= var45
;
1144 var48
= ((short int (*)(val
*, val
*, val
*, val
*))(var_restype39
->class->vft
[COLOR_model__MType__is_subtype
]))(var_restype39
, var_mmodule
, var47
, var_mproptype46
) /* is_subtype on <var_restype39:MClassType>*/;
1150 var51
= "Ambigous property name \'";
1152 var53
= string__NativeString__to_s_with_length(var51
, var52
);
1161 var58
= string__NativeString__to_s_with_length(var56
, var57
);
1168 var61
= "; conflict between ";
1170 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1174 var64
= ((val
* (*)(val
*))(var_mprop43
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop43
) /* full_name on <var_mprop43:MProperty>*/;
1180 var69
= string__NativeString__to_s_with_length(var67
, var68
);
1184 if (var_res
== NULL
) {
1185 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1186 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 221);
1189 var70
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MProperty__full_name
]))(var_res
) /* full_name on <var_res:nullable MProperty>*/;
1191 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
1192 { /* var71 = array_instance Array[Object] */
1194 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
1195 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var50
;
1196 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var_name
;
1197 ((struct instance_array__NativeArray
*)var73
)->values
[2] = (val
*) var55
;
1198 ((struct instance_array__NativeArray
*)var73
)->values
[3] = (val
*) var_mtype
;
1199 ((struct instance_array__NativeArray
*)var73
)->values
[4] = (val
*) var60
;
1200 ((struct instance_array__NativeArray
*)var73
)->values
[5] = (val
*) var64
;
1201 ((struct instance_array__NativeArray
*)var73
)->values
[6] = (val
*) var66
;
1202 ((struct instance_array__NativeArray
*)var73
)->values
[7] = (val
*) var70
;
1203 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
1205 var74
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
1206 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var74
) /* error on <self:ModelBuilder>*/;
1212 CONTINUE_label76
: (void)0;
1213 ((void (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var40
) /* next on <var40:Iterator[nullable Object]>*/;
1215 BREAK_label76
: (void)0;
1218 var77
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache
]))(self
) /* try_get_mproperty_by_name2_cache on <self:ModelBuilder>*/;
1219 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var77
->class->vft
[COLOR_more_collections__HashMap3___91d_93d_61d
]))(var77
, var_mmodule
, var_mtype
, var_name
, var_res
) /* []= on <var77:HashMap3[MModule, MType, String, nullable MProperty]>*/;
1225 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2 for (self: Object, ANode, MModule, MType, String): nullable MProperty */
1226 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1227 val
* var
/* : nullable MProperty */;
1228 val
* var1
/* : nullable MProperty */;
1229 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(self
, p0
, p1
, p2
, p3
);
1234 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache for (self: ModelBuilder): HashMap3[MModule, MType, String, nullable MProperty] */
1235 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(val
* self
) {
1236 val
* var
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1237 val
* var1
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1238 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtry_get_mproperty_by_name2_cache
].val
; /* @try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
1240 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @try_get_mproperty_by_name2_cache");
1241 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 231);
1248 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache for (self: Object): HashMap3[MModule, MType, String, nullable MProperty] */
1249 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(val
* self
) {
1250 val
* var
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1251 val
* var1
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1252 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(self
);
1257 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache= for (self: ModelBuilder, HashMap3[MModule, MType, String, nullable MProperty]) */
1258 void modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache_61d(val
* self
, val
* p0
) {
1259 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtry_get_mproperty_by_name2_cache
].val
= p0
; /* @try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
1262 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache= for (self: Object, HashMap3[MModule, MType, String, nullable MProperty]) */
1263 void VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache_61d(val
* self
, val
* p0
) {
1264 modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache_61d(self
, p0
);
1267 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name for (self: ModelBuilder, ANode, MClassDef, String): nullable MProperty */
1268 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1269 val
* var
/* : nullable MProperty */;
1270 val
* var_anode
/* var anode: ANode */;
1271 val
* var_mclassdef
/* var mclassdef: MClassDef */;
1272 val
* var_name
/* var name: String */;
1273 val
* var1
/* : MModule */;
1274 val
* var2
/* : MClassType */;
1275 val
* var3
/* : nullable MProperty */;
1279 var1
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_mclassdef
) /* mmodule on <var_mclassdef:MClassDef>*/;
1280 var2
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_mclassdef
) /* bound_mtype on <var_mclassdef:MClassDef>*/;
1281 var3
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name2
]))(self
, var_anode
, var1
, var2
, var_name
) /* try_get_mproperty_by_name2 on <self:ModelBuilder>*/;
1287 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name for (self: Object, ANode, MClassDef, String): nullable MProperty */
1288 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1289 val
* var
/* : nullable MProperty */;
1290 val
* var1
/* : nullable MProperty */;
1291 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(self
, p0
, p1
, p2
);
1296 /* method modelbuilder#ModelBuilder#paths for (self: ModelBuilder): Array[String] */
1297 val
* modelbuilder__ModelBuilder__paths(val
* self
) {
1298 val
* var
/* : Array[String] */;
1299 val
* var1
/* : Array[String] */;
1300 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dpaths
].val
; /* @paths on <self:ModelBuilder> */
1302 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @paths");
1303 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 240);
1310 /* method modelbuilder#ModelBuilder#paths for (self: Object): Array[String] */
1311 val
* VIRTUAL_modelbuilder__ModelBuilder__paths(val
* self
) {
1312 val
* var
/* : Array[String] */;
1313 val
* var1
/* : Array[String] */;
1314 var1
= modelbuilder__ModelBuilder__paths(self
);
1319 /* method modelbuilder#ModelBuilder#paths= for (self: ModelBuilder, Array[String]) */
1320 void modelbuilder__ModelBuilder__paths_61d(val
* self
, val
* p0
) {
1321 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dpaths
].val
= p0
; /* @paths on <self:ModelBuilder> */
1324 /* method modelbuilder#ModelBuilder#paths= for (self: Object, Array[String]) */
1325 void VIRTUAL_modelbuilder__ModelBuilder__paths_61d(val
* self
, val
* p0
) {
1326 modelbuilder__ModelBuilder__paths_61d(self
, p0
);
1329 /* method modelbuilder#ModelBuilder#get_mmodule_by_name for (self: ModelBuilder, ANode, nullable MModule, String): nullable MModule */
1330 val
* modelbuilder__ModelBuilder__get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1331 val
* var
/* : nullable MModule */;
1332 val
* var_anode
/* var anode: ANode */;
1333 val
* var_mmodule
/* var mmodule: nullable MModule */;
1334 val
* var_name
/* var name: String */;
1335 val
* var1
/* : Array[String] */;
1336 val
* var_tries
/* var tries: Array[String] */;
1337 val
* var2
/* : null */;
1338 short int var3
/* : Bool */;
1339 val
* var4
/* : nullable MGroup */;
1340 val
* var_mgroup
/* var mgroup: nullable MGroup */;
1341 val
* var5
/* : null */;
1342 short int var6
/* : Bool */;
1343 val
* var7
/* : nullable String */;
1344 val
* var_dirname
/* var dirname: nullable String */;
1345 val
* var8
/* : null */;
1346 short int var9
/* : Bool */;
1347 static val
* varonce
;
1348 val
* var10
/* : String */;
1349 char* var11
/* : NativeString */;
1350 long var12
/* : Int */;
1351 val
* var13
/* : String */;
1352 short int var14
/* : Bool */;
1353 static val
* varonce15
;
1354 val
* var16
/* : String */;
1355 char* var17
/* : NativeString */;
1356 long var18
/* : Int */;
1357 val
* var19
/* : String */;
1358 val
* var20
/* : String */;
1359 val
* var21
/* : String */;
1360 static val
* varonce22
;
1361 val
* var23
/* : String */;
1362 char* var24
/* : NativeString */;
1363 long var25
/* : Int */;
1364 val
* var26
/* : String */;
1365 val
* var27
/* : String */;
1366 val
* var_try_file
/* var try_file: String */;
1367 short int var28
/* : Bool */;
1368 val
* var29
/* : String */;
1369 val
* var30
/* : nullable AModule */;
1370 val
* var_res
/* var res: nullable AModule */;
1371 val
* var31
/* : null */;
1372 short int var32
/* : Bool */;
1373 val
* var33
/* : null */;
1374 val
* var34
/* : nullable MModule */;
1375 static val
* varonce35
;
1376 val
* var36
/* : String */;
1377 char* var37
/* : NativeString */;
1378 long var38
/* : Int */;
1379 val
* var39
/* : String */;
1380 val
* var40
/* : String */;
1381 val
* var41
/* : String */;
1382 static val
* varonce42
;
1383 val
* var43
/* : String */;
1384 char* var44
/* : NativeString */;
1385 long var45
/* : Int */;
1386 val
* var46
/* : String */;
1387 val
* var47
/* : String */;
1388 val
* var48
/* : String */;
1389 static val
* varonce49
;
1390 val
* var50
/* : String */;
1391 char* var51
/* : NativeString */;
1392 long var52
/* : Int */;
1393 val
* var53
/* : String */;
1394 val
* var54
/* : String */;
1395 short int var55
/* : Bool */;
1396 static val
* varonce56
;
1397 val
* var57
/* : String */;
1398 char* var58
/* : NativeString */;
1399 long var59
/* : Int */;
1400 val
* var60
/* : String */;
1401 val
* var61
/* : String */;
1402 val
* var62
/* : String */;
1403 val
* var63
/* : nullable MGroup */;
1404 val
* var64
/* : String */;
1405 val
* var65
/* : nullable AModule */;
1406 val
* var_res66
/* var res: nullable AModule */;
1407 val
* var67
/* : null */;
1408 short int var68
/* : Bool */;
1409 val
* var69
/* : null */;
1410 val
* var70
/* : nullable MModule */;
1411 val
* var71
/* : nullable MGroup */;
1412 val
* var72
/* : Array[String] */;
1413 val
* var_lookpaths
/* var lookpaths: Array[String] */;
1414 short int var73
/* : Bool */;
1415 val
* var74
/* : null */;
1416 short int var75
/* : Bool */;
1417 short int var_
/* var : Bool */;
1418 val
* var76
/* : nullable MGroup */;
1419 val
* var77
/* : null */;
1420 short int var78
/* : Bool */;
1421 val
* var79
/* : nullable MGroup */;
1422 val
* var80
/* : MProject */;
1423 val
* var81
/* : nullable MGroup */;
1424 val
* var82
/* : nullable String */;
1425 val
* var_dirname83
/* var dirname: nullable String */;
1426 val
* var84
/* : null */;
1427 short int var85
/* : Bool */;
1428 static val
* varonce86
;
1429 val
* var87
/* : String */;
1430 char* var88
/* : NativeString */;
1431 long var89
/* : Int */;
1432 val
* var90
/* : String */;
1433 val
* var91
/* : String */;
1434 val
* var92
/* : String */;
1435 short int var93
/* : Bool */;
1436 short int var94
/* : Bool */;
1437 short int var95
/* : Bool */;
1438 short int var_96
/* var : Bool */;
1439 short int var97
/* : Bool */;
1440 val
* var98
/* : Array[nullable Object] */;
1441 val
* var99
/* : null */;
1442 val
* var_candidate
/* var candidate: nullable String */;
1443 val
* var100
/* : Iterator[nullable Object] */;
1444 short int var101
/* : Bool */;
1445 val
* var102
/* : nullable Object */;
1446 val
* var_dirname103
/* var dirname: String */;
1447 static val
* varonce104
;
1448 val
* var105
/* : String */;
1449 char* var106
/* : NativeString */;
1450 long var107
/* : Int */;
1451 val
* var108
/* : String */;
1452 val
* var109
/* : String */;
1453 val
* var110
/* : String */;
1454 static val
* varonce111
;
1455 val
* var112
/* : String */;
1456 char* var113
/* : NativeString */;
1457 long var114
/* : Int */;
1458 val
* var115
/* : String */;
1459 val
* var116
/* : String */;
1460 val
* var117
/* : String */;
1461 val
* var_try_file118
/* var try_file: String */;
1462 short int var119
/* : Bool */;
1463 val
* var120
/* : null */;
1464 short int var121
/* : Bool */;
1465 short int var122
/* : Bool */;
1466 val
* var123
/* : String */;
1467 val
* var_abs_candidate
/* var abs_candidate: String */;
1468 val
* var124
/* : String */;
1469 val
* var_abs_try_file
/* var abs_try_file: String */;
1470 short int var125
/* : Bool */;
1471 static val
* varonce126
;
1472 val
* var127
/* : String */;
1473 char* var128
/* : NativeString */;
1474 long var129
/* : Int */;
1475 val
* var130
/* : String */;
1476 static val
* varonce131
;
1477 val
* var132
/* : String */;
1478 char* var133
/* : NativeString */;
1479 long var134
/* : Int */;
1480 val
* var135
/* : String */;
1481 static val
* varonce136
;
1482 val
* var137
/* : String */;
1483 char* var138
/* : NativeString */;
1484 long var139
/* : Int */;
1485 val
* var140
/* : String */;
1486 val
* var141
/* : Array[Object] */;
1487 long var142
/* : Int */;
1488 val
* var143
/* : NativeArray[Object] */;
1489 val
* var144
/* : String */;
1490 static val
* varonce145
;
1491 val
* var146
/* : String */;
1492 char* var147
/* : NativeString */;
1493 long var148
/* : Int */;
1494 val
* var149
/* : String */;
1495 val
* var150
/* : String */;
1496 val
* var151
/* : String */;
1497 static val
* varonce152
;
1498 val
* var153
/* : String */;
1499 char* var154
/* : NativeString */;
1500 long var155
/* : Int */;
1501 val
* var156
/* : String */;
1502 val
* var157
/* : String */;
1503 val
* var158
/* : String */;
1504 static val
* varonce159
;
1505 val
* var160
/* : String */;
1506 char* var161
/* : NativeString */;
1507 long var162
/* : Int */;
1508 val
* var163
/* : String */;
1509 val
* var164
/* : String */;
1510 val
* var165
/* : String */;
1511 short int var166
/* : Bool */;
1512 val
* var167
/* : null */;
1513 short int var168
/* : Bool */;
1514 short int var169
/* : Bool */;
1515 val
* var170
/* : String */;
1516 val
* var_abs_candidate171
/* var abs_candidate: String */;
1517 val
* var172
/* : String */;
1518 val
* var_abs_try_file173
/* var abs_try_file: String */;
1519 short int var174
/* : Bool */;
1520 static val
* varonce175
;
1521 val
* var176
/* : String */;
1522 char* var177
/* : NativeString */;
1523 long var178
/* : Int */;
1524 val
* var179
/* : String */;
1525 static val
* varonce180
;
1526 val
* var181
/* : String */;
1527 char* var182
/* : NativeString */;
1528 long var183
/* : Int */;
1529 val
* var184
/* : String */;
1530 static val
* varonce185
;
1531 val
* var186
/* : String */;
1532 char* var187
/* : NativeString */;
1533 long var188
/* : Int */;
1534 val
* var189
/* : String */;
1535 val
* var190
/* : Array[Object] */;
1536 long var191
/* : Int */;
1537 val
* var192
/* : NativeArray[Object] */;
1538 val
* var193
/* : String */;
1539 val
* var195
/* : null */;
1540 short int var196
/* : Bool */;
1541 val
* var197
/* : null */;
1542 short int var198
/* : Bool */;
1543 static val
* varonce199
;
1544 val
* var200
/* : String */;
1545 char* var201
/* : NativeString */;
1546 long var202
/* : Int */;
1547 val
* var203
/* : String */;
1548 static val
* varonce204
;
1549 val
* var205
/* : String */;
1550 char* var206
/* : NativeString */;
1551 long var207
/* : Int */;
1552 val
* var208
/* : String */;
1553 static val
* varonce209
;
1554 val
* var210
/* : String */;
1555 char* var211
/* : NativeString */;
1556 long var212
/* : Int */;
1557 val
* var213
/* : String */;
1558 static val
* varonce214
;
1559 val
* var215
/* : String */;
1560 char* var216
/* : NativeString */;
1561 long var217
/* : Int */;
1562 val
* var218
/* : String */;
1563 val
* var219
/* : String */;
1564 val
* var220
/* : Array[Object] */;
1565 long var221
/* : Int */;
1566 val
* var222
/* : NativeArray[Object] */;
1567 val
* var223
/* : String */;
1568 static val
* varonce224
;
1569 val
* var225
/* : String */;
1570 char* var226
/* : NativeString */;
1571 long var227
/* : Int */;
1572 val
* var228
/* : String */;
1573 static val
* varonce229
;
1574 val
* var230
/* : String */;
1575 char* var231
/* : NativeString */;
1576 long var232
/* : Int */;
1577 val
* var233
/* : String */;
1578 static val
* varonce234
;
1579 val
* var235
/* : String */;
1580 char* var236
/* : NativeString */;
1581 long var237
/* : Int */;
1582 val
* var238
/* : String */;
1583 val
* var239
/* : String */;
1584 val
* var240
/* : Array[Object] */;
1585 long var241
/* : Int */;
1586 val
* var242
/* : NativeArray[Object] */;
1587 val
* var243
/* : String */;
1588 val
* var244
/* : null */;
1589 val
* var245
/* : nullable AModule */;
1590 val
* var_res246
/* var res: nullable AModule */;
1591 val
* var247
/* : null */;
1592 short int var248
/* : Bool */;
1593 val
* var249
/* : null */;
1594 val
* var250
/* : nullable MModule */;
1598 var1
= NEW_array__Array(&type_array__Arraystring__String
);
1599 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[String]>*/;
1602 if (var_mmodule
== NULL
) {
1603 var3
= 0; /* is null */
1605 var3
= 1; /* arg is null and recv is not */
1608 var4
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__mgroup
]))(var_mmodule
) /* mgroup on <var_mmodule:nullable MModule(MModule)>*/;
1612 if (var_mgroup
== NULL
) {
1613 var6
= 0; /* is null */
1615 var6
= 1; /* arg is null and recv is not */
1618 var7
= ((val
* (*)(val
*))(var_mgroup
->class->vft
[COLOR_mproject__MGroup__filepath
]))(var_mgroup
) /* filepath on <var_mgroup:nullable MGroup(MGroup)>*/;
1621 if (var_dirname
== NULL
) {
1622 var9
= 1; /* is null */
1624 var9
= 0; /* arg is null but recv is not */
1635 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1639 var14
= ((short int (*)(val
*, val
*))(var_dirname
->class->vft
[COLOR_string__AbstractString__has_suffix
]))(var_dirname
, var10
) /* has_suffix on <var_dirname:nullable String(String)>*/;
1649 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1653 var20
= ((val
* (*)(val
*, val
*))(var_dirname
->class->vft
[COLOR_string__String___43d
]))(var_dirname
, var16
) /* + on <var_dirname:nullable String(String)>*/;
1654 var21
= ((val
* (*)(val
*, val
*))(var20
->class->vft
[COLOR_string__String___43d
]))(var20
, var_name
) /* + on <var20:String>*/;
1660 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1664 var27
= ((val
* (*)(val
*, val
*))(var21
->class->vft
[COLOR_string__String___43d
]))(var21
, var23
) /* + on <var21:String>*/;
1665 var_try_file
= var27
;
1666 ((void (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tries
, var_try_file
) /* add on <var_tries:Array[String]>*/;
1667 var28
= ((short int (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file
) /* file_exists on <var_try_file:String>*/;
1669 var29
= ((val
* (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__simplify_path
]))(var_try_file
) /* simplify_path on <var_try_file:String>*/;
1670 var30
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var29
) /* load_module on <self:ModelBuilder>*/;
1673 if (var_res
== NULL
) {
1674 var32
= 1; /* is null */
1676 var32
= 0; /* arg is null but recv is not */
1684 var34
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_res
) /* mmodule on <var_res:nullable AModule(AModule)>*/;
1685 if (var34
== NULL
) {
1686 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1687 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 272);
1699 var39
= string__NativeString__to_s_with_length(var37
, var38
);
1703 var40
= ((val
* (*)(val
*, val
*))(var_dirname
->class->vft
[COLOR_string__String___43d
]))(var_dirname
, var36
) /* + on <var_dirname:nullable String(String)>*/;
1704 var41
= ((val
* (*)(val
*, val
*))(var40
->class->vft
[COLOR_string__String___43d
]))(var40
, var_name
) /* + on <var40:String>*/;
1710 var46
= string__NativeString__to_s_with_length(var44
, var45
);
1714 var47
= ((val
* (*)(val
*, val
*))(var41
->class->vft
[COLOR_string__String___43d
]))(var41
, var43
) /* + on <var41:String>*/;
1715 var48
= ((val
* (*)(val
*, val
*))(var47
->class->vft
[COLOR_string__String___43d
]))(var47
, var_name
) /* + on <var47:String>*/;
1721 var53
= string__NativeString__to_s_with_length(var51
, var52
);
1725 var54
= ((val
* (*)(val
*, val
*))(var48
->class->vft
[COLOR_string__String___43d
]))(var48
, var50
) /* + on <var48:String>*/;
1726 var_try_file
= var54
;
1727 var55
= ((short int (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file
) /* file_exists on <var_try_file:String>*/;
1734 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1738 var61
= ((val
* (*)(val
*, val
*))(var_dirname
->class->vft
[COLOR_string__String___43d
]))(var_dirname
, var57
) /* + on <var_dirname:nullable String(String)>*/;
1739 var62
= ((val
* (*)(val
*, val
*))(var61
->class->vft
[COLOR_string__String___43d
]))(var61
, var_name
) /* + on <var61:String>*/;
1740 var63
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__get_mgroup
]))(self
, var62
) /* get_mgroup on <self:ModelBuilder>*/;
1742 var64
= ((val
* (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__simplify_path
]))(var_try_file
) /* simplify_path on <var_try_file:String>*/;
1743 var65
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var64
) /* load_module on <self:ModelBuilder>*/;
1746 if (var_res66
== NULL
) {
1747 var68
= 1; /* is null */
1749 var68
= 0; /* arg is null but recv is not */
1757 var70
= ((val
* (*)(val
*))(var_res66
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_res66
) /* mmodule on <var_res66:nullable AModule(AModule)>*/;
1758 if (var70
== NULL
) {
1759 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1760 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 281);
1767 var71
= ((val
* (*)(val
*))(var_mgroup
->class->vft
[COLOR_mproject__MGroup__parent
]))(var_mgroup
) /* parent on <var_mgroup:nullable MGroup(MGroup)>*/;
1769 CONTINUE_label
: (void)0;
1771 BREAK_label
: (void)0;
1774 var72
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
1775 var_lookpaths
= var72
;
1777 if (var_mmodule
== NULL
) {
1778 var75
= 0; /* is null */
1780 var75
= 1; /* arg is null and recv is not */
1784 var76
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__mgroup
]))(var_mmodule
) /* mgroup on <var_mmodule:nullable MModule(MModule)>*/;
1786 if (var76
== NULL
) {
1787 var78
= 0; /* is null */
1789 var78
= 1; /* arg is null and recv is not */
1796 var79
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__mgroup
]))(var_mmodule
) /* mgroup on <var_mmodule:nullable MModule(MModule)>*/;
1797 if (var79
== NULL
) {
1798 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1799 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 294);
1802 var80
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_mproject__MGroup__mproject
]))(var79
) /* mproject on <var79:nullable MGroup>*/;
1804 var81
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_mproject__MProject__root
]))(var80
) /* root on <var80:MProject>*/;
1805 if (var81
== NULL
) {
1806 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1807 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 294);
1810 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_mproject__MGroup__filepath
]))(var81
) /* filepath on <var81:nullable MGroup>*/;
1812 var_dirname83
= var82
;
1814 if (var_dirname83
== NULL
) {
1815 var85
= 0; /* is null */
1817 var85
= 1; /* arg is null and recv is not */
1825 var90
= string__NativeString__to_s_with_length(var88
, var89
);
1829 var91
= ((val
* (*)(val
*, val
*))(var_dirname83
->class->vft
[COLOR_file__String__join_path
]))(var_dirname83
, var87
) /* join_path on <var_dirname83:nullable String(String)>*/;
1830 var92
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_file__String__simplify_path
]))(var91
) /* simplify_path on <var91:String>*/;
1831 var_dirname83
= var92
;
1832 var94
= ((short int (*)(val
*, val
*))(var_lookpaths
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_lookpaths
, var_dirname83
) /* has on <var_lookpaths:Array[String]>*/;
1836 var97
= ((short int (*)(val
*))(var_dirname83
->class->vft
[COLOR_file__String__file_exists
]))(var_dirname83
) /* file_exists on <var_dirname83:nullable String(String)>*/;
1842 var98
= ((val
* (*)(val
*))(var_lookpaths
->class->vft
[COLOR_array__Collection__to_a
]))(var_lookpaths
) /* to_a on <var_lookpaths:Array[String]>*/;
1843 var_lookpaths
= var98
;
1844 ((void (*)(val
*, val
*))(var_lookpaths
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_lookpaths
, var_dirname83
) /* add on <var_lookpaths:Array[String]>*/;
1852 var_candidate
= var99
;
1853 var100
= ((val
* (*)(val
*))(var_lookpaths
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_lookpaths
) /* iterator on <var_lookpaths:Array[String]>*/;
1855 var101
= ((short int (*)(val
*))(var100
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var100
) /* is_ok on <var100:Iterator[nullable Object]>*/;
1857 var102
= ((val
* (*)(val
*))(var100
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var100
) /* item on <var100:Iterator[nullable Object]>*/;
1858 var_dirname103
= var102
;
1860 var105
= varonce104
;
1864 var108
= string__NativeString__to_s_with_length(var106
, var107
);
1866 varonce104
= var105
;
1868 var109
= ((val
* (*)(val
*, val
*))(var_dirname103
->class->vft
[COLOR_string__String___43d
]))(var_dirname103
, var105
) /* + on <var_dirname103:String>*/;
1869 var110
= ((val
* (*)(val
*, val
*))(var109
->class->vft
[COLOR_string__String___43d
]))(var109
, var_name
) /* + on <var109:String>*/;
1871 var112
= varonce111
;
1875 var115
= string__NativeString__to_s_with_length(var113
, var114
);
1877 varonce111
= var112
;
1879 var116
= ((val
* (*)(val
*, val
*))(var110
->class->vft
[COLOR_string__String___43d
]))(var110
, var112
) /* + on <var110:String>*/;
1880 var117
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_file__String__simplify_path
]))(var116
) /* simplify_path on <var116:String>*/;
1881 var_try_file118
= var117
;
1882 ((void (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tries
, var_try_file118
) /* add on <var_tries:Array[String]>*/;
1883 var119
= ((short int (*)(val
*))(var_try_file118
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file118
) /* file_exists on <var_try_file118:String>*/;
1886 if (var_candidate
== NULL
) {
1887 var121
= 1; /* is null */
1889 var121
= 0; /* arg is null but recv is not */
1892 var_candidate
= var_try_file118
;
1894 var122
= ((short int (*)(val
*, val
*))(var_candidate
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_candidate
, var_try_file118
) /* != on <var_candidate:nullable String(String)>*/;
1896 var123
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_candidate
) /* module_absolute_path on <self:ModelBuilder>*/;
1897 var_abs_candidate
= var123
;
1898 var124
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_try_file118
) /* module_absolute_path on <self:ModelBuilder>*/;
1899 var_abs_try_file
= var124
;
1900 var125
= ((short int (*)(val
*, val
*))(var_abs_candidate
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_abs_candidate
, var_abs_try_file
) /* != on <var_abs_candidate:String>*/;
1903 var127
= varonce126
;
1905 var128
= "Error: conflicting module file for ";
1907 var130
= string__NativeString__to_s_with_length(var128
, var129
);
1909 varonce126
= var127
;
1912 var132
= varonce131
;
1916 var135
= string__NativeString__to_s_with_length(var133
, var134
);
1918 varonce131
= var132
;
1921 var137
= varonce136
;
1925 var140
= string__NativeString__to_s_with_length(var138
, var139
);
1927 varonce136
= var137
;
1929 var141
= NEW_array__Array(&type_array__Arraykernel__Object
);
1930 { /* var141 = array_instance Array[Object] */
1932 var143
= NEW_array__NativeArray(var142
, &type_array__NativeArraykernel__Object
);
1933 ((struct instance_array__NativeArray
*)var143
)->values
[0] = (val
*) var127
;
1934 ((struct instance_array__NativeArray
*)var143
)->values
[1] = (val
*) var_name
;
1935 ((struct instance_array__NativeArray
*)var143
)->values
[2] = (val
*) var132
;
1936 ((struct instance_array__NativeArray
*)var143
)->values
[3] = (val
*) var_candidate
;
1937 ((struct instance_array__NativeArray
*)var143
)->values
[4] = (val
*) var137
;
1938 ((struct instance_array__NativeArray
*)var143
)->values
[5] = (val
*) var_try_file118
;
1939 ((void (*)(val
*, val
*, long))(var141
->class->vft
[COLOR_array__Array__with_native
]))(var141
, var143
, var142
) /* with_native on <var141:Array[Object]>*/;
1941 var144
= ((val
* (*)(val
*))(var141
->class->vft
[COLOR_string__Object__to_s
]))(var141
) /* to_s on <var141:Array[Object]>*/;
1942 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var144
) /* error on <self:ModelBuilder>*/;
1951 var146
= varonce145
;
1955 var149
= string__NativeString__to_s_with_length(var147
, var148
);
1957 varonce145
= var146
;
1959 var150
= ((val
* (*)(val
*, val
*))(var_dirname103
->class->vft
[COLOR_string__String___43d
]))(var_dirname103
, var146
) /* + on <var_dirname103:String>*/;
1960 var151
= ((val
* (*)(val
*, val
*))(var150
->class->vft
[COLOR_string__String___43d
]))(var150
, var_name
) /* + on <var150:String>*/;
1962 var153
= varonce152
;
1966 var156
= string__NativeString__to_s_with_length(var154
, var155
);
1968 varonce152
= var153
;
1970 var157
= ((val
* (*)(val
*, val
*))(var151
->class->vft
[COLOR_string__String___43d
]))(var151
, var153
) /* + on <var151:String>*/;
1971 var158
= ((val
* (*)(val
*, val
*))(var157
->class->vft
[COLOR_string__String___43d
]))(var157
, var_name
) /* + on <var157:String>*/;
1973 var160
= varonce159
;
1977 var163
= string__NativeString__to_s_with_length(var161
, var162
);
1979 varonce159
= var160
;
1981 var164
= ((val
* (*)(val
*, val
*))(var158
->class->vft
[COLOR_string__String___43d
]))(var158
, var160
) /* + on <var158:String>*/;
1982 var165
= ((val
* (*)(val
*))(var164
->class->vft
[COLOR_file__String__simplify_path
]))(var164
) /* simplify_path on <var164:String>*/;
1983 var_try_file118
= var165
;
1984 var166
= ((short int (*)(val
*))(var_try_file118
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file118
) /* file_exists on <var_try_file118:String>*/;
1987 if (var_candidate
== NULL
) {
1988 var168
= 1; /* is null */
1990 var168
= 0; /* arg is null but recv is not */
1993 var_candidate
= var_try_file118
;
1995 var169
= ((short int (*)(val
*, val
*))(var_candidate
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_candidate
, var_try_file118
) /* != on <var_candidate:nullable String(String)>*/;
1997 var170
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_candidate
) /* module_absolute_path on <self:ModelBuilder>*/;
1998 var_abs_candidate171
= var170
;
1999 var172
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_try_file118
) /* module_absolute_path on <self:ModelBuilder>*/;
2000 var_abs_try_file173
= var172
;
2001 var174
= ((short int (*)(val
*, val
*))(var_abs_candidate171
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_abs_candidate171
, var_abs_try_file173
) /* != on <var_abs_candidate171:String>*/;
2004 var176
= varonce175
;
2006 var177
= "Error: conflicting module file for ";
2008 var179
= string__NativeString__to_s_with_length(var177
, var178
);
2010 varonce175
= var176
;
2013 var181
= varonce180
;
2017 var184
= string__NativeString__to_s_with_length(var182
, var183
);
2019 varonce180
= var181
;
2022 var186
= varonce185
;
2026 var189
= string__NativeString__to_s_with_length(var187
, var188
);
2028 varonce185
= var186
;
2030 var190
= NEW_array__Array(&type_array__Arraykernel__Object
);
2031 { /* var190 = array_instance Array[Object] */
2033 var192
= NEW_array__NativeArray(var191
, &type_array__NativeArraykernel__Object
);
2034 ((struct instance_array__NativeArray
*)var192
)->values
[0] = (val
*) var176
;
2035 ((struct instance_array__NativeArray
*)var192
)->values
[1] = (val
*) var_name
;
2036 ((struct instance_array__NativeArray
*)var192
)->values
[2] = (val
*) var181
;
2037 ((struct instance_array__NativeArray
*)var192
)->values
[3] = (val
*) var_candidate
;
2038 ((struct instance_array__NativeArray
*)var192
)->values
[4] = (val
*) var186
;
2039 ((struct instance_array__NativeArray
*)var192
)->values
[5] = (val
*) var_try_file118
;
2040 ((void (*)(val
*, val
*, long))(var190
->class->vft
[COLOR_array__Array__with_native
]))(var190
, var192
, var191
) /* with_native on <var190:Array[Object]>*/;
2042 var193
= ((val
* (*)(val
*))(var190
->class->vft
[COLOR_string__Object__to_s
]))(var190
) /* to_s on <var190:Array[Object]>*/;
2043 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var193
) /* error on <self:ModelBuilder>*/;
2051 CONTINUE_label194
: (void)0;
2052 ((void (*)(val
*))(var100
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var100
) /* next on <var100:Iterator[nullable Object]>*/;
2054 BREAK_label194
: (void)0;
2056 if (var_candidate
== NULL
) {
2057 var196
= 1; /* is null */
2059 var196
= 0; /* arg is null but recv is not */
2063 if (var_mmodule
== NULL
) {
2064 var198
= 0; /* is null */
2066 var198
= 1; /* arg is null and recv is not */
2070 var200
= varonce199
;
2072 var201
= "Error: cannot find module ";
2074 var203
= string__NativeString__to_s_with_length(var201
, var202
);
2076 varonce199
= var200
;
2079 var205
= varonce204
;
2083 var208
= string__NativeString__to_s_with_length(var206
, var207
);
2085 varonce204
= var205
;
2088 var210
= varonce209
;
2090 var211
= ". tried ";
2092 var213
= string__NativeString__to_s_with_length(var211
, var212
);
2094 varonce209
= var210
;
2097 var215
= varonce214
;
2101 var218
= string__NativeString__to_s_with_length(var216
, var217
);
2103 varonce214
= var215
;
2105 var219
= ((val
* (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_string__Collection__join
]))(var_tries
, var215
) /* join on <var_tries:Array[String]>*/;
2106 var220
= NEW_array__Array(&type_array__Arraykernel__Object
);
2107 { /* var220 = array_instance Array[Object] */
2109 var222
= NEW_array__NativeArray(var221
, &type_array__NativeArraykernel__Object
);
2110 ((struct instance_array__NativeArray
*)var222
)->values
[0] = (val
*) var200
;
2111 ((struct instance_array__NativeArray
*)var222
)->values
[1] = (val
*) var_name
;
2112 ((struct instance_array__NativeArray
*)var222
)->values
[2] = (val
*) var205
;
2113 ((struct instance_array__NativeArray
*)var222
)->values
[3] = (val
*) var_mmodule
;
2114 ((struct instance_array__NativeArray
*)var222
)->values
[4] = (val
*) var210
;
2115 ((struct instance_array__NativeArray
*)var222
)->values
[5] = (val
*) var219
;
2116 ((void (*)(val
*, val
*, long))(var220
->class->vft
[COLOR_array__Array__with_native
]))(var220
, var222
, var221
) /* with_native on <var220:Array[Object]>*/;
2118 var223
= ((val
* (*)(val
*))(var220
->class->vft
[COLOR_string__Object__to_s
]))(var220
) /* to_s on <var220:Array[Object]>*/;
2119 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var223
) /* error on <self:ModelBuilder>*/;
2122 var225
= varonce224
;
2124 var226
= "Error: cannot find module ";
2126 var228
= string__NativeString__to_s_with_length(var226
, var227
);
2128 varonce224
= var225
;
2131 var230
= varonce229
;
2133 var231
= ". tried ";
2135 var233
= string__NativeString__to_s_with_length(var231
, var232
);
2137 varonce229
= var230
;
2140 var235
= varonce234
;
2144 var238
= string__NativeString__to_s_with_length(var236
, var237
);
2146 varonce234
= var235
;
2148 var239
= ((val
* (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_string__Collection__join
]))(var_tries
, var235
) /* join on <var_tries:Array[String]>*/;
2149 var240
= NEW_array__Array(&type_array__Arraykernel__Object
);
2150 { /* var240 = array_instance Array[Object] */
2152 var242
= NEW_array__NativeArray(var241
, &type_array__NativeArraykernel__Object
);
2153 ((struct instance_array__NativeArray
*)var242
)->values
[0] = (val
*) var225
;
2154 ((struct instance_array__NativeArray
*)var242
)->values
[1] = (val
*) var_name
;
2155 ((struct instance_array__NativeArray
*)var242
)->values
[2] = (val
*) var230
;
2156 ((struct instance_array__NativeArray
*)var242
)->values
[3] = (val
*) var239
;
2157 ((void (*)(val
*, val
*, long))(var240
->class->vft
[COLOR_array__Array__with_native
]))(var240
, var242
, var241
) /* with_native on <var240:Array[Object]>*/;
2159 var243
= ((val
* (*)(val
*))(var240
->class->vft
[COLOR_string__Object__to_s
]))(var240
) /* to_s on <var240:Array[Object]>*/;
2160 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var243
) /* error on <self:ModelBuilder>*/;
2167 var245
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var_candidate
) /* load_module on <self:ModelBuilder>*/;
2168 var_res246
= var245
;
2170 if (var_res246
== NULL
) {
2171 var248
= 1; /* is null */
2173 var248
= 0; /* arg is null but recv is not */
2181 var250
= ((val
* (*)(val
*))(var_res246
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_res246
) /* mmodule on <var_res246:nullable AModule(AModule)>*/;
2182 if (var250
== NULL
) {
2183 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2184 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 344);
2192 /* method modelbuilder#ModelBuilder#get_mmodule_by_name for (self: Object, ANode, nullable MModule, String): nullable MModule */
2193 val
* VIRTUAL_modelbuilder__ModelBuilder__get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2194 val
* var
/* : nullable MModule */;
2195 val
* var1
/* : nullable MModule */;
2196 var1
= modelbuilder__ModelBuilder__get_mmodule_by_name(self
, p0
, p1
, p2
);
2201 /* method modelbuilder#ModelBuilder#identified_files for (self: ModelBuilder): HashMap[String, nullable ModulePath] */
2202 val
* modelbuilder__ModelBuilder__identified_files(val
* self
) {
2203 val
* var
/* : HashMap[String, nullable ModulePath] */;
2204 val
* var1
/* : HashMap[String, nullable ModulePath] */;
2205 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64didentified_files
].val
; /* @identified_files on <self:ModelBuilder> */
2207 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @identified_files");
2208 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 347);
2215 /* method modelbuilder#ModelBuilder#identified_files for (self: Object): HashMap[String, nullable ModulePath] */
2216 val
* VIRTUAL_modelbuilder__ModelBuilder__identified_files(val
* self
) {
2217 val
* var
/* : HashMap[String, nullable ModulePath] */;
2218 val
* var1
/* : HashMap[String, nullable ModulePath] */;
2219 var1
= modelbuilder__ModelBuilder__identified_files(self
);
2224 /* method modelbuilder#ModelBuilder#identified_files= for (self: ModelBuilder, HashMap[String, nullable ModulePath]) */
2225 void modelbuilder__ModelBuilder__identified_files_61d(val
* self
, val
* p0
) {
2226 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64didentified_files
].val
= p0
; /* @identified_files on <self:ModelBuilder> */
2229 /* method modelbuilder#ModelBuilder#identified_files= for (self: Object, HashMap[String, nullable ModulePath]) */
2230 void VIRTUAL_modelbuilder__ModelBuilder__identified_files_61d(val
* self
, val
* p0
) {
2231 modelbuilder__ModelBuilder__identified_files_61d(self
, p0
);
2234 /* method modelbuilder#ModelBuilder#identify_file for (self: ModelBuilder, String): nullable ModulePath */
2235 val
* modelbuilder__ModelBuilder__identify_file(val
* self
, val
* p0
) {
2236 val
* var
/* : nullable ModulePath */;
2237 val
* var_path
/* var path: String */;
2238 short int var1
/* : Bool */;
2239 short int var2
/* : Bool */;
2240 val
* var3
/* : ToolContext */;
2241 val
* var4
/* : null */;
2242 static val
* varonce
;
2243 val
* var5
/* : String */;
2244 char* var6
/* : NativeString */;
2245 long var7
/* : Int */;
2246 val
* var8
/* : String */;
2247 static val
* varonce9
;
2248 val
* var10
/* : String */;
2249 char* var11
/* : NativeString */;
2250 long var12
/* : Int */;
2251 val
* var13
/* : String */;
2252 val
* var14
/* : Array[Object] */;
2253 long var15
/* : Int */;
2254 val
* var16
/* : NativeArray[Object] */;
2255 val
* var17
/* : String */;
2256 val
* var18
/* : null */;
2257 static val
* varonce19
;
2258 val
* var20
/* : String */;
2259 char* var21
/* : NativeString */;
2260 long var22
/* : Int */;
2261 val
* var23
/* : String */;
2262 val
* var24
/* : String */;
2263 val
* var_pn
/* var pn: String */;
2264 val
* var25
/* : String */;
2265 val
* var_rp
/* var rp: String */;
2266 val
* var26
/* : HashMap[String, nullable ModulePath] */;
2267 short int var27
/* : Bool */;
2268 val
* var28
/* : HashMap[String, nullable ModulePath] */;
2269 val
* var29
/* : nullable Object */;
2270 static val
* varonce30
;
2271 val
* var31
/* : String */;
2272 char* var32
/* : NativeString */;
2273 long var33
/* : Int */;
2274 val
* var34
/* : String */;
2275 val
* var35
/* : String */;
2276 val
* var36
/* : String */;
2277 val
* var_mgrouppath
/* var mgrouppath: String */;
2278 val
* var37
/* : nullable MGroup */;
2279 val
* var_mgroup
/* var mgroup: nullable MGroup */;
2280 val
* var38
/* : null */;
2281 short int var39
/* : Bool */;
2282 val
* var40
/* : MProject */;
2283 val
* var41
/* : Model */;
2284 val
* var_mproject
/* var mproject: MProject */;
2285 val
* var42
/* : MGroup */;
2286 val
* var43
/* : null */;
2287 val
* var44
/* : ToolContext */;
2288 static val
* varonce45
;
2289 val
* var46
/* : String */;
2290 char* var47
/* : NativeString */;
2291 long var48
/* : Int */;
2292 val
* var49
/* : String */;
2293 static val
* varonce50
;
2294 val
* var51
/* : String */;
2295 char* var52
/* : NativeString */;
2296 long var53
/* : Int */;
2297 val
* var54
/* : String */;
2298 val
* var55
/* : Array[Object] */;
2299 long var56
/* : Int */;
2300 val
* var57
/* : NativeArray[Object] */;
2301 val
* var58
/* : String */;
2302 long var59
/* : Int */;
2303 val
* var60
/* : ModulePath */;
2304 val
* var_res
/* var res: ModulePath */;
2305 val
* var61
/* : HashMap[String, nullable ModulePath] */;
2307 var1
= ((short int (*)(val
*))(var_path
->class->vft
[COLOR_file__String__file_exists
]))(var_path
) /* file_exists on <var_path:String>*/;
2310 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2317 var8
= string__NativeString__to_s_with_length(var6
, var7
);
2324 var11
= "` does not exists";
2326 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2330 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2331 { /* var14 = array_instance Array[Object] */
2333 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2334 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
2335 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_path
;
2336 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
2337 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2339 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2340 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var3
, var4
, var17
) /* error on <var3:ToolContext>*/;
2351 var23
= string__NativeString__to_s_with_length(var21
, var22
);
2355 var24
= ((val
* (*)(val
*, val
*))(var_path
->class->vft
[COLOR_file__String__basename
]))(var_path
, var20
) /* basename on <var_path:String>*/;
2357 var25
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_path
) /* module_absolute_path on <self:ModelBuilder>*/;
2359 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__identified_files
]))(self
) /* identified_files on <self:ModelBuilder>*/;
2360 var27
= ((short int (*)(val
*, val
*))(var26
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var26
, var_rp
) /* has_key on <var26:HashMap[String, nullable ModulePath]>*/;
2362 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__identified_files
]))(self
) /* identified_files on <self:ModelBuilder>*/;
2363 var29
= ((val
* (*)(val
*, val
*))(var28
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var28
, var_rp
) /* [] on <var28:HashMap[String, nullable ModulePath]>*/;
2373 var34
= string__NativeString__to_s_with_length(var32
, var33
);
2377 var35
= ((val
* (*)(val
*, val
*))(var_path
->class->vft
[COLOR_file__String__join_path
]))(var_path
, var31
) /* join_path on <var_path:String>*/;
2378 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_file__String__simplify_path
]))(var35
) /* simplify_path on <var35:String>*/;
2379 var_mgrouppath
= var36
;
2380 var37
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__get_mgroup
]))(self
, var_mgrouppath
) /* get_mgroup on <self:ModelBuilder>*/;
2383 if (var_mgroup
== NULL
) {
2384 var39
= 1; /* is null */
2386 var39
= 0; /* arg is null but recv is not */
2389 var40
= NEW_mproject__MProject(&type_mproject__MProject
);
2390 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
2391 ((void (*)(val
*, val
*, val
*))(var40
->class->vft
[COLOR_mproject__MProject__init
]))(var40
, var_pn
, var41
) /* init on <var40:MProject>*/;
2392 var_mproject
= var40
;
2393 var42
= NEW_mproject__MGroup(&type_mproject__MGroup
);
2395 ((void (*)(val
*, val
*, val
*, val
*))(var42
->class->vft
[COLOR_mproject__MGroup__init
]))(var42
, var_pn
, var_mproject
, var43
) /* init on <var42:MGroup>*/;
2397 ((void (*)(val
*, val
*))(var_mgroup
->class->vft
[COLOR_mproject__MGroup__filepath_61d
]))(var_mgroup
, var_path
) /* filepath= on <var_mgroup:nullable MGroup(MGroup)>*/;
2398 ((void (*)(val
*, val
*))(var_mproject
->class->vft
[COLOR_mproject__MProject__root_61d
]))(var_mproject
, var_mgroup
) /* root= on <var_mproject:MProject>*/;
2399 var44
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2403 var47
= "found project `";
2405 var49
= string__NativeString__to_s_with_length(var47
, var48
);
2414 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2418 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
2419 { /* var55 = array_instance Array[Object] */
2421 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
2422 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var46
;
2423 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var_pn
;
2424 ((struct instance_array__NativeArray
*)var57
)->values
[2] = (val
*) var51
;
2425 ((struct instance_array__NativeArray
*)var57
)->values
[3] = (val
*) var_path
;
2426 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
2428 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
2430 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var44
, var58
, var59
) /* info on <var44:ToolContext>*/;
2433 var60
= NEW_modelbuilder__ModulePath(&type_modelbuilder__ModulePath
);
2434 ((void (*)(val
*, val
*, val
*, val
*))(var60
->class->vft
[COLOR_modelbuilder__ModulePath__init
]))(var60
, var_pn
, var_path
, var_mgroup
) /* init on <var60:ModulePath>*/;
2436 var61
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__identified_files
]))(self
) /* identified_files on <self:ModelBuilder>*/;
2437 ((void (*)(val
*, val
*, val
*))(var61
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var61
, var_rp
, var_res
) /* []= on <var61:HashMap[String, nullable ModulePath]>*/;
2443 /* method modelbuilder#ModelBuilder#identify_file for (self: Object, String): nullable ModulePath */
2444 val
* VIRTUAL_modelbuilder__ModelBuilder__identify_file(val
* self
, val
* p0
) {
2445 val
* var
/* : nullable ModulePath */;
2446 val
* var1
/* : nullable ModulePath */;
2447 var1
= modelbuilder__ModelBuilder__identify_file(self
, p0
);
2452 /* method modelbuilder#ModelBuilder#mgroups for (self: ModelBuilder): HashMap[String, nullable MGroup] */
2453 val
* modelbuilder__ModelBuilder__mgroups(val
* self
) {
2454 val
* var
/* : HashMap[String, nullable MGroup] */;
2455 val
* var1
/* : HashMap[String, nullable MGroup] */;
2456 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmgroups
].val
; /* @mgroups on <self:ModelBuilder> */
2458 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mgroups");
2459 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 383);
2466 /* method modelbuilder#ModelBuilder#mgroups for (self: Object): HashMap[String, nullable MGroup] */
2467 val
* VIRTUAL_modelbuilder__ModelBuilder__mgroups(val
* self
) {
2468 val
* var
/* : HashMap[String, nullable MGroup] */;
2469 val
* var1
/* : HashMap[String, nullable MGroup] */;
2470 var1
= modelbuilder__ModelBuilder__mgroups(self
);
2475 /* method modelbuilder#ModelBuilder#mgroups= for (self: ModelBuilder, HashMap[String, nullable MGroup]) */
2476 void modelbuilder__ModelBuilder__mgroups_61d(val
* self
, val
* p0
) {
2477 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmgroups
].val
= p0
; /* @mgroups on <self:ModelBuilder> */
2480 /* method modelbuilder#ModelBuilder#mgroups= for (self: Object, HashMap[String, nullable MGroup]) */
2481 void VIRTUAL_modelbuilder__ModelBuilder__mgroups_61d(val
* self
, val
* p0
) {
2482 modelbuilder__ModelBuilder__mgroups_61d(self
, p0
);
2485 /* method modelbuilder#ModelBuilder#get_mgroup for (self: ModelBuilder, String): nullable MGroup */
2486 val
* modelbuilder__ModelBuilder__get_mgroup(val
* self
, val
* p0
) {
2487 val
* var
/* : nullable MGroup */;
2488 val
* var_dirpath
/* var dirpath: String */;
2489 val
* var1
/* : String */;
2490 val
* var_rdp
/* var rdp: String */;
2491 val
* var2
/* : HashMap[String, nullable MGroup] */;
2492 short int var3
/* : Bool */;
2493 val
* var4
/* : HashMap[String, nullable MGroup] */;
2494 val
* var5
/* : nullable Object */;
2495 static val
* varonce
;
2496 val
* var6
/* : String */;
2497 char* var7
/* : NativeString */;
2498 long var8
/* : Int */;
2499 val
* var9
/* : String */;
2500 val
* var10
/* : String */;
2501 val
* var_pn
/* var pn: String */;
2502 static val
* varonce11
;
2503 val
* var12
/* : String */;
2504 char* var13
/* : NativeString */;
2505 long var14
/* : Int */;
2506 val
* var15
/* : String */;
2507 val
* var16
/* : String */;
2508 val
* var17
/* : String */;
2509 val
* var18
/* : String */;
2510 val
* var_mp
/* var mp: String */;
2511 short int var19
/* : Bool */;
2512 short int var20
/* : Bool */;
2513 val
* var21
/* : null */;
2514 static val
* varonce22
;
2515 val
* var23
/* : String */;
2516 char* var24
/* : NativeString */;
2517 long var25
/* : Int */;
2518 val
* var26
/* : String */;
2519 val
* var27
/* : String */;
2520 val
* var28
/* : String */;
2521 val
* var_parentpath
/* var parentpath: String */;
2522 val
* var29
/* : nullable MGroup */;
2523 val
* var_parent
/* var parent: nullable MGroup */;
2524 val
* var30
/* : null */;
2525 short int var31
/* : Bool */;
2526 val
* var32
/* : MProject */;
2527 val
* var33
/* : Model */;
2528 val
* var_mproject
/* var mproject: MProject */;
2529 val
* var34
/* : MGroup */;
2530 val
* var35
/* : null */;
2531 val
* var_mgroup
/* var mgroup: nullable Object */;
2532 val
* var36
/* : ToolContext */;
2533 static val
* varonce37
;
2534 val
* var38
/* : String */;
2535 char* var39
/* : NativeString */;
2536 long var40
/* : Int */;
2537 val
* var41
/* : String */;
2538 static val
* varonce42
;
2539 val
* var43
/* : String */;
2540 char* var44
/* : NativeString */;
2541 long var45
/* : Int */;
2542 val
* var46
/* : String */;
2543 val
* var47
/* : Array[Object] */;
2544 long var48
/* : Int */;
2545 val
* var49
/* : NativeArray[Object] */;
2546 val
* var50
/* : String */;
2547 long var51
/* : Int */;
2548 val
* var52
/* : MGroup */;
2549 val
* var53
/* : MProject */;
2550 val
* var54
/* : ToolContext */;
2551 static val
* varonce55
;
2552 val
* var56
/* : String */;
2553 char* var57
/* : NativeString */;
2554 long var58
/* : Int */;
2555 val
* var59
/* : String */;
2556 val
* var60
/* : String */;
2557 static val
* varonce61
;
2558 val
* var62
/* : String */;
2559 char* var63
/* : NativeString */;
2560 long var64
/* : Int */;
2561 val
* var65
/* : String */;
2562 val
* var66
/* : Array[Object] */;
2563 long var67
/* : Int */;
2564 val
* var68
/* : NativeArray[Object] */;
2565 val
* var69
/* : String */;
2566 long var70
/* : Int */;
2567 val
* var71
/* : HashMap[String, nullable MGroup] */;
2569 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_dirpath
) /* module_absolute_path on <self:ModelBuilder>*/;
2571 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mgroups
]))(self
) /* mgroups on <self:ModelBuilder>*/;
2572 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var2
, var_rdp
) /* has_key on <var2:HashMap[String, nullable MGroup]>*/;
2574 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mgroups
]))(self
) /* mgroups on <self:ModelBuilder>*/;
2575 var5
= ((val
* (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var4
, var_rdp
) /* [] on <var4:HashMap[String, nullable MGroup]>*/;
2585 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2589 var10
= ((val
* (*)(val
*, val
*))(var_rdp
->class->vft
[COLOR_file__String__basename
]))(var_rdp
, var6
) /* basename on <var_rdp:String>*/;
2596 var15
= string__NativeString__to_s_with_length(var13
, var14
);
2600 var16
= ((val
* (*)(val
*, val
*))(var_pn
->class->vft
[COLOR_string__String___43d
]))(var_pn
, var12
) /* + on <var_pn:String>*/;
2601 var17
= ((val
* (*)(val
*, val
*))(var_dirpath
->class->vft
[COLOR_file__String__join_path
]))(var_dirpath
, var16
) /* join_path on <var_dirpath:String>*/;
2602 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_file__String__simplify_path
]))(var17
) /* simplify_path on <var17:String>*/;
2604 var19
= ((short int (*)(val
*))(var_mp
->class->vft
[COLOR_file__String__file_exists
]))(var_mp
) /* file_exists on <var_mp:String>*/;
2617 var26
= string__NativeString__to_s_with_length(var24
, var25
);
2621 var27
= ((val
* (*)(val
*, val
*))(var_dirpath
->class->vft
[COLOR_file__String__join_path
]))(var_dirpath
, var23
) /* join_path on <var_dirpath:String>*/;
2622 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_file__String__simplify_path
]))(var27
) /* simplify_path on <var27:String>*/;
2623 var_parentpath
= var28
;
2624 var29
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__get_mgroup
]))(self
, var_parentpath
) /* get_mgroup on <self:ModelBuilder>*/;
2627 if (var_parent
== NULL
) {
2628 var31
= 1; /* is null */
2630 var31
= 0; /* arg is null but recv is not */
2633 var32
= NEW_mproject__MProject(&type_mproject__MProject
);
2634 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
2635 ((void (*)(val
*, val
*, val
*))(var32
->class->vft
[COLOR_mproject__MProject__init
]))(var32
, var_pn
, var33
) /* init on <var32:MProject>*/;
2636 var_mproject
= var32
;
2637 var34
= NEW_mproject__MGroup(&type_mproject__MGroup
);
2639 ((void (*)(val
*, val
*, val
*, val
*))(var34
->class->vft
[COLOR_mproject__MGroup__init
]))(var34
, var_pn
, var_mproject
, var35
) /* init on <var34:MGroup>*/;
2641 ((void (*)(val
*, val
*))(var_mproject
->class->vft
[COLOR_mproject__MProject__root_61d
]))(var_mproject
, var_mgroup
) /* root= on <var_mproject:MProject>*/;
2642 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2646 var39
= "found project `";
2648 var41
= string__NativeString__to_s_with_length(var39
, var40
);
2657 var46
= string__NativeString__to_s_with_length(var44
, var45
);
2661 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
2662 { /* var47 = array_instance Array[Object] */
2664 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
2665 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var38
;
2666 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var_mproject
;
2667 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var43
;
2668 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var_dirpath
;
2669 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
2671 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
2673 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var36
, var50
, var51
) /* info on <var36:ToolContext>*/;
2675 var52
= NEW_mproject__MGroup(&type_mproject__MGroup
);
2676 var53
= ((val
* (*)(val
*))(var_parent
->class->vft
[COLOR_mproject__MGroup__mproject
]))(var_parent
) /* mproject on <var_parent:nullable MGroup(MGroup)>*/;
2677 ((void (*)(val
*, val
*, val
*, val
*))(var52
->class->vft
[COLOR_mproject__MGroup__init
]))(var52
, var_pn
, var53
, var_parent
) /* init on <var52:MGroup>*/;
2679 var54
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2683 var57
= "found sub group `";
2685 var59
= string__NativeString__to_s_with_length(var57
, var58
);
2689 var60
= ((val
* (*)(val
*))(var_mgroup
->class->vft
[COLOR_mproject__MGroup__full_name
]))(var_mgroup
) /* full_name on <var_mgroup:nullable Object(MGroup)>*/;
2695 var65
= string__NativeString__to_s_with_length(var63
, var64
);
2699 var66
= NEW_array__Array(&type_array__Arraykernel__Object
);
2700 { /* var66 = array_instance Array[Object] */
2702 var68
= NEW_array__NativeArray(var67
, &type_array__NativeArraykernel__Object
);
2703 ((struct instance_array__NativeArray
*)var68
)->values
[0] = (val
*) var56
;
2704 ((struct instance_array__NativeArray
*)var68
)->values
[1] = (val
*) var60
;
2705 ((struct instance_array__NativeArray
*)var68
)->values
[2] = (val
*) var62
;
2706 ((struct instance_array__NativeArray
*)var68
)->values
[3] = (val
*) var_dirpath
;
2707 ((void (*)(val
*, val
*, long))(var66
->class->vft
[COLOR_array__Array__with_native
]))(var66
, var68
, var67
) /* with_native on <var66:Array[Object]>*/;
2709 var69
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_string__Object__to_s
]))(var66
) /* to_s on <var66:Array[Object]>*/;
2711 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var54
, var69
, var70
) /* info on <var54:ToolContext>*/;
2713 ((void (*)(val
*, val
*))(var_mgroup
->class->vft
[COLOR_mproject__MGroup__filepath_61d
]))(var_mgroup
, var_dirpath
) /* filepath= on <var_mgroup:nullable Object(MGroup)>*/;
2714 var71
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mgroups
]))(self
) /* mgroups on <self:ModelBuilder>*/;
2715 ((void (*)(val
*, val
*, val
*))(var71
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var71
, var_rdp
, var_mgroup
) /* []= on <var71:HashMap[String, nullable MGroup]>*/;
2721 /* method modelbuilder#ModelBuilder#get_mgroup for (self: Object, String): nullable MGroup */
2722 val
* VIRTUAL_modelbuilder__ModelBuilder__get_mgroup(val
* self
, val
* p0
) {
2723 val
* var
/* : nullable MGroup */;
2724 val
* var1
/* : nullable MGroup */;
2725 var1
= modelbuilder__ModelBuilder__get_mgroup(self
, p0
);
2730 /* method modelbuilder#ModelBuilder#module_absolute_path for (self: ModelBuilder, String): String */
2731 val
* modelbuilder__ModelBuilder__module_absolute_path(val
* self
, val
* p0
) {
2732 val
* var
/* : String */;
2733 val
* var_path
/* var path: String */;
2734 val
* var1
/* : String */;
2735 val
* var2
/* : String */;
2736 val
* var3
/* : String */;
2738 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_file__Object__getcwd
]))(self
) /* getcwd on <self:ModelBuilder>*/;
2739 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_file__String__join_path
]))(var1
, var_path
) /* join_path on <var1:String>*/;
2740 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_file__String__simplify_path
]))(var2
) /* simplify_path on <var2:String>*/;
2746 /* method modelbuilder#ModelBuilder#module_absolute_path for (self: Object, String): String */
2747 val
* VIRTUAL_modelbuilder__ModelBuilder__module_absolute_path(val
* self
, val
* p0
) {
2748 val
* var
/* : String */;
2749 val
* var1
/* : String */;
2750 var1
= modelbuilder__ModelBuilder__module_absolute_path(self
, p0
);
2755 /* method modelbuilder#ModelBuilder#load_module_ast for (self: ModelBuilder, String): nullable AModule */
2756 val
* modelbuilder__ModelBuilder__load_module_ast(val
* self
, val
* p0
) {
2757 val
* var
/* : nullable AModule */;
2758 val
* var_filename
/* var filename: String */;
2759 val
* var1
/* : nullable String */;
2760 static val
* varonce
;
2761 val
* var2
/* : String */;
2762 char* var3
/* : NativeString */;
2763 long var4
/* : Int */;
2764 val
* var5
/* : String */;
2765 short int var6
/* : Bool */;
2766 val
* var7
/* : ToolContext */;
2767 val
* var8
/* : null */;
2768 static val
* varonce9
;
2769 val
* var10
/* : String */;
2770 char* var11
/* : NativeString */;
2771 long var12
/* : Int */;
2772 val
* var13
/* : String */;
2773 static val
* varonce14
;
2774 val
* var15
/* : String */;
2775 char* var16
/* : NativeString */;
2776 long var17
/* : Int */;
2777 val
* var18
/* : String */;
2778 val
* var19
/* : Array[Object] */;
2779 long var20
/* : Int */;
2780 val
* var21
/* : NativeArray[Object] */;
2781 val
* var22
/* : String */;
2782 val
* var23
/* : null */;
2783 short int var24
/* : Bool */;
2784 short int var25
/* : Bool */;
2785 val
* var26
/* : ToolContext */;
2786 val
* var27
/* : null */;
2787 static val
* varonce28
;
2788 val
* var29
/* : String */;
2789 char* var30
/* : NativeString */;
2790 long var31
/* : Int */;
2791 val
* var32
/* : String */;
2792 static val
* varonce33
;
2793 val
* var34
/* : String */;
2794 char* var35
/* : NativeString */;
2795 long var36
/* : Int */;
2796 val
* var37
/* : String */;
2797 val
* var38
/* : Array[Object] */;
2798 long var39
/* : Int */;
2799 val
* var40
/* : NativeArray[Object] */;
2800 val
* var41
/* : String */;
2801 val
* var42
/* : null */;
2802 val
* var43
/* : ToolContext */;
2803 static val
* varonce44
;
2804 val
* var45
/* : String */;
2805 char* var46
/* : NativeString */;
2806 long var47
/* : Int */;
2807 val
* var48
/* : String */;
2808 val
* var49
/* : Array[Object] */;
2809 long var50
/* : Int */;
2810 val
* var51
/* : NativeArray[Object] */;
2811 val
* var52
/* : String */;
2812 long var53
/* : Int */;
2813 val
* var54
/* : IFStream */;
2814 val
* var_file
/* var file: IFStream */;
2815 val
* var55
/* : Lexer */;
2816 val
* var56
/* : SourceFile */;
2817 val
* var_lexer
/* var lexer: Lexer */;
2818 val
* var57
/* : Parser */;
2819 val
* var_parser
/* var parser: Parser */;
2820 val
* var58
/* : Start */;
2821 val
* var_tree
/* var tree: Start */;
2822 static val
* varonce59
;
2823 val
* var60
/* : String */;
2824 char* var61
/* : NativeString */;
2825 long var62
/* : Int */;
2826 val
* var63
/* : String */;
2827 val
* var64
/* : String */;
2828 val
* var_mod_name
/* var mod_name: String */;
2829 val
* var65
/* : nullable AModule */;
2830 val
* var_nmodule
/* var nmodule: nullable AModule */;
2831 val
* var66
/* : null */;
2832 short int var67
/* : Bool */;
2833 val
* var68
/* : EOF */;
2834 val
* var_neof
/* var neof: EOF */;
2835 short int var69
/* : Bool */;
2838 val
* var70
/* : String */;
2839 val
* var71
/* : null */;
2841 var1
= ((val
* (*)(val
*))(var_filename
->class->vft
[COLOR_file__String__file_extension
]))(var_filename
) /* file_extension on <var_filename:String>*/;
2847 var5
= string__NativeString__to_s_with_length(var3
, var4
);
2852 var6
= 1; /* <var2:String> cannot be null */
2854 var6
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var1
, var2
) /* != on <var1:nullable String>*/;
2857 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2862 var11
= "Error: file ";
2864 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2871 var16
= " is not a valid nit module.";
2873 var18
= string__NativeString__to_s_with_length(var16
, var17
);
2877 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
2878 { /* var19 = array_instance Array[Object] */
2880 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
2881 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
2882 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_filename
;
2883 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
2884 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
2886 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
2887 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var7
, var8
, var22
) /* error on <var7:ToolContext>*/;
2893 var24
= ((short int (*)(val
*))(var_filename
->class->vft
[COLOR_file__String__file_exists
]))(var_filename
) /* file_exists on <var_filename:String>*/;
2896 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2901 var30
= "Error: file ";
2903 var32
= string__NativeString__to_s_with_length(var30
, var31
);
2910 var35
= " not found.";
2912 var37
= string__NativeString__to_s_with_length(var35
, var36
);
2916 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
2917 { /* var38 = array_instance Array[Object] */
2919 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
2920 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var29
;
2921 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var_filename
;
2922 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
2923 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
2925 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
2926 ((void (*)(val
*, val
*, val
*))(var26
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var26
, var27
, var41
) /* error on <var26:ToolContext>*/;
2932 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2936 var46
= "load module ";
2938 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2942 var49
= NEW_array__Array(&type_array__Arraykernel__Object
);
2943 { /* var49 = array_instance Array[Object] */
2945 var51
= NEW_array__NativeArray(var50
, &type_array__NativeArraykernel__Object
);
2946 ((struct instance_array__NativeArray
*)var51
)->values
[0] = (val
*) var45
;
2947 ((struct instance_array__NativeArray
*)var51
)->values
[1] = (val
*) var_filename
;
2948 ((void (*)(val
*, val
*, long))(var49
->class->vft
[COLOR_array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
2950 var52
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
2952 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var43
, var52
, var53
) /* info on <var43:ToolContext>*/;
2953 var54
= NEW_file__IFStream(&type_file__IFStream
);
2954 ((void (*)(val
*, val
*))(var54
->class->vft
[COLOR_file__IFStream__open
]))(var54
, var_filename
) /* open on <var54:IFStream>*/;
2956 var55
= NEW_lexer__Lexer(&type_lexer__Lexer
);
2957 var56
= NEW_location__SourceFile(&type_location__SourceFile
);
2958 ((void (*)(val
*, val
*, val
*))(var56
->class->vft
[COLOR_location__SourceFile__init
]))(var56
, var_filename
, var_file
) /* init on <var56:SourceFile>*/;
2959 ((void (*)(val
*, val
*))(var55
->class->vft
[COLOR_lexer__Lexer__init
]))(var55
, var56
) /* init on <var55:Lexer>*/;
2961 var57
= NEW_parser__Parser(&type_parser__Parser
);
2962 ((void (*)(val
*, val
*))(var57
->class->vft
[COLOR_parser__Parser__init
]))(var57
, var_lexer
) /* init on <var57:Parser>*/;
2964 var58
= ((val
* (*)(val
*))(var_parser
->class->vft
[COLOR_parser__Parser__parse
]))(var_parser
) /* parse on <var_parser:Parser>*/;
2966 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:IFStream>*/;
2972 var63
= string__NativeString__to_s_with_length(var61
, var62
);
2976 var64
= ((val
* (*)(val
*, val
*))(var_filename
->class->vft
[COLOR_file__String__basename
]))(var_filename
, var60
) /* basename on <var_filename:String>*/;
2977 var_mod_name
= var64
;
2978 var65
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:Start>*/;
2979 var_nmodule
= var65
;
2981 if (var_nmodule
== NULL
) {
2982 var67
= 1; /* is null */
2984 var67
= 0; /* arg is null but recv is not */
2987 var68
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:Start>*/;
2989 /* <var_neof:EOF> isa AError */
2990 cltype
= type_parser_nodes__AError
.color
;
2991 idtype
= type_parser_nodes__AError
.id
;
2992 if(cltype
>= var_neof
->type
->table_size
) {
2995 var69
= var_neof
->type
->type_table
[cltype
] == idtype
;
2998 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2999 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 453);
3002 var70
= ((val
* (*)(val
*))(var_neof
->class->vft
[COLOR_lexer__AError__message
]))(var_neof
) /* message on <var_neof:EOF(AError)>*/;
3003 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_neof
, var70
) /* error on <self:ModelBuilder>*/;
3014 /* method modelbuilder#ModelBuilder#load_module_ast for (self: Object, String): nullable AModule */
3015 val
* VIRTUAL_modelbuilder__ModelBuilder__load_module_ast(val
* self
, val
* p0
) {
3016 val
* var
/* : nullable AModule */;
3017 val
* var1
/* : nullable AModule */;
3018 var1
= modelbuilder__ModelBuilder__load_module_ast(self
, p0
);
3023 /* method modelbuilder#ModelBuilder#load_module for (self: ModelBuilder, String): nullable AModule */
3024 val
* modelbuilder__ModelBuilder__load_module(val
* self
, val
* p0
) {
3025 val
* var
/* : nullable AModule */;
3026 val
* var_filename
/* var filename: String */;
3027 val
* var1
/* : nullable ModulePath */;
3028 val
* var_file
/* var file: nullable ModulePath */;
3029 val
* var2
/* : null */;
3030 short int var3
/* : Bool */;
3031 val
* var4
/* : null */;
3032 val
* var5
/* : nullable MModule */;
3033 val
* var_mmodule
/* var mmodule: nullable MModule */;
3034 val
* var6
/* : null */;
3035 short int var7
/* : Bool */;
3036 val
* var8
/* : HashMap[MModule, AModule] */;
3037 val
* var9
/* : nullable Object */;
3038 val
* var10
/* : nullable AModule */;
3039 val
* var_nmodule
/* var nmodule: nullable AModule */;
3040 val
* var11
/* : null */;
3041 short int var12
/* : Bool */;
3042 val
* var13
/* : null */;
3043 val
* var14
/* : MGroup */;
3044 val
* var15
/* : String */;
3045 val
* var16
/* : nullable MModule */;
3046 val
* var17
/* : null */;
3047 short int var18
/* : Bool */;
3048 val
* var19
/* : null */;
3050 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__identify_file
]))(self
, var_filename
) /* identify_file on <self:ModelBuilder>*/;
3053 if (var_file
== NULL
) {
3054 var3
= 1; /* is null */
3056 var3
= 0; /* arg is null but recv is not */
3064 var5
= ((val
* (*)(val
*))(var_file
->class->vft
[COLOR_modelbuilder__ModulePath__mmodule
]))(var_file
) /* mmodule on <var_file:nullable ModulePath(ModulePath)>*/;
3067 if (var_mmodule
== NULL
) {
3068 var7
= 0; /* is null */
3070 var7
= 1; /* arg is null and recv is not */
3073 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(self
) /* mmodule2nmodule on <self:ModelBuilder>*/;
3074 var9
= ((val
* (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var8
, var_mmodule
) /* [] on <var8:HashMap[MModule, AModule]>*/;
3079 var10
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module_ast
]))(self
, var_filename
) /* load_module_ast on <self:ModelBuilder>*/;
3080 var_nmodule
= var10
;
3082 if (var_nmodule
== NULL
) {
3083 var12
= 1; /* is null */
3085 var12
= 0; /* arg is null but recv is not */
3093 var14
= ((val
* (*)(val
*))(var_file
->class->vft
[COLOR_modelbuilder__ModulePath__mgroup
]))(var_file
) /* mgroup on <var_file:nullable ModulePath(ModulePath)>*/;
3094 var15
= ((val
* (*)(val
*))(var_file
->class->vft
[COLOR_modelbuilder__ModulePath__name
]))(var_file
) /* name on <var_file:nullable ModulePath(ModulePath)>*/;
3095 var16
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__build_a_mmodule
]))(self
, var14
, var15
, var_nmodule
) /* build_a_mmodule on <self:ModelBuilder>*/;
3096 var_mmodule
= var16
;
3098 if (var_mmodule
== NULL
) {
3099 var18
= 1; /* is null */
3101 var18
= 0; /* arg is null but recv is not */
3109 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_modelbuilder__ModulePath__mmodule_61d
]))(var_file
, var_mmodule
) /* mmodule= on <var_file:nullable ModulePath(ModulePath)>*/;
3110 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__build_module_importation
]))(self
, var_nmodule
) /* build_module_importation on <self:ModelBuilder>*/;
3116 /* method modelbuilder#ModelBuilder#load_module for (self: Object, String): nullable AModule */
3117 val
* VIRTUAL_modelbuilder__ModelBuilder__load_module(val
* self
, val
* p0
) {
3118 val
* var
/* : nullable AModule */;
3119 val
* var1
/* : nullable AModule */;
3120 var1
= modelbuilder__ModelBuilder__load_module(self
, p0
);
3125 /* method modelbuilder#ModelBuilder#load_rt_module for (self: ModelBuilder, MModule, AModule, String): nullable AModule */
3126 val
* modelbuilder__ModelBuilder__load_rt_module(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3127 val
* var
/* : nullable AModule */;
3128 val
* var_parent
/* var parent: MModule */;
3129 val
* var_nmodule
/* var nmodule: AModule */;
3130 val
* var_mod_name
/* var mod_name: String */;
3131 val
* var1
/* : MModule */;
3132 val
* var2
/* : Model */;
3133 val
* var3
/* : nullable MGroup */;
3134 val
* var4
/* : Location */;
3135 val
* var_mmodule
/* var mmodule: MModule */;
3136 val
* var5
/* : Array[AModule] */;
3137 val
* var6
/* : HashMap[MModule, AModule] */;
3138 val
* var7
/* : Array[MModule] */;
3139 val
* var_imported_modules
/* var imported_modules: Array[MModule] */;
3140 val
* var8
/* : MVisibility */;
3144 var1
= NEW_mmodule__MModule(&type_mmodule__MModule
);
3145 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
3146 var3
= ((val
* (*)(val
*))(var_parent
->class->vft
[COLOR_mmodule__MModule__mgroup
]))(var_parent
) /* mgroup on <var_parent:MModule>*/;
3147 var4
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_nmodule
) /* location on <var_nmodule:AModule>*/;
3148 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_mmodule__MModule__init
]))(var1
, var2
, var3
, var_mod_name
, var4
) /* init on <var1:MModule>*/;
3150 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule_61d
]))(var_nmodule
, var_mmodule
) /* mmodule= on <var_nmodule:AModule>*/;
3151 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__nmodules
]))(self
) /* nmodules on <self:ModelBuilder>*/;
3152 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var5
, var_nmodule
) /* add on <var5:Array[AModule]>*/;
3153 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(self
) /* mmodule2nmodule on <self:ModelBuilder>*/;
3154 ((void (*)(val
*, val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var6
, var_mmodule
, var_nmodule
) /* []= on <var6:HashMap[MModule, AModule]>*/;
3155 var7
= NEW_array__Array(&type_array__Arraymmodule__MModule
);
3156 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[MModule]>*/;
3157 var_imported_modules
= var7
;
3158 ((void (*)(val
*, val
*))(var_imported_modules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_imported_modules
, var_parent
) /* add on <var_imported_modules:Array[MModule]>*/;
3159 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__intrude_visibility
]))(self
) /* intrude_visibility on <self:ModelBuilder>*/;
3160 ((void (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__set_visibility_for
]))(var_mmodule
, var_parent
, var8
) /* set_visibility_for on <var_mmodule:MModule>*/;
3161 ((void (*)(val
*, val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__set_imported_mmodules
]))(var_mmodule
, var_imported_modules
) /* set_imported_mmodules on <var_mmodule:MModule>*/;
3167 /* method modelbuilder#ModelBuilder#load_rt_module for (self: Object, MModule, AModule, String): nullable AModule */
3168 val
* VIRTUAL_modelbuilder__ModelBuilder__load_rt_module(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3169 val
* var
/* : nullable AModule */;
3170 val
* var1
/* : nullable AModule */;
3171 var1
= modelbuilder__ModelBuilder__load_rt_module(self
, p0
, p1
, p2
);
3176 /* method modelbuilder#ModelBuilder#build_a_mmodule for (self: ModelBuilder, nullable MGroup, String, AModule): nullable MModule */
3177 val
* modelbuilder__ModelBuilder__build_a_mmodule(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3178 val
* var
/* : nullable MModule */;
3179 val
* var_mgroup
/* var mgroup: nullable MGroup */;
3180 val
* var_mod_name
/* var mod_name: String */;
3181 val
* var_nmodule
/* var nmodule: AModule */;
3182 val
* var1
/* : nullable AModuledecl */;
3183 val
* var_decl
/* var decl: nullable AModuledecl */;
3184 val
* var2
/* : null */;
3185 short int var3
/* : Bool */;
3186 val
* var4
/* : AModuleName */;
3187 val
* var5
/* : TId */;
3188 val
* var6
/* : String */;
3189 val
* var_decl_name
/* var decl_name: String */;
3190 short int var7
/* : Bool */;
3191 val
* var8
/* : AModuleName */;
3192 static val
* varonce
;
3193 val
* var9
/* : String */;
3194 char* var10
/* : NativeString */;
3195 long var11
/* : Int */;
3196 val
* var12
/* : String */;
3197 static val
* varonce13
;
3198 val
* var14
/* : String */;
3199 char* var15
/* : NativeString */;
3200 long var16
/* : Int */;
3201 val
* var17
/* : String */;
3202 val
* var18
/* : Array[Object] */;
3203 long var19
/* : Int */;
3204 val
* var20
/* : NativeArray[Object] */;
3205 val
* var21
/* : String */;
3206 val
* var22
/* : MModule */;
3207 val
* var23
/* : Model */;
3208 val
* var24
/* : Location */;
3209 val
* var_mmodule
/* var mmodule: MModule */;
3210 val
* var25
/* : Array[AModule] */;
3211 val
* var26
/* : HashMap[MModule, AModule] */;
3215 var1
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_moduledecl
]))(var_nmodule
) /* n_moduledecl on <var_nmodule:AModule>*/;
3218 if (var_decl
== NULL
) {
3219 var3
= 1; /* is null */
3221 var3
= 0; /* arg is null but recv is not */
3225 var4
= ((val
* (*)(val
*))(var_decl
->class->vft
[COLOR_parser_nodes__AModuledecl__n_name
]))(var_decl
) /* n_name on <var_decl:nullable AModuledecl(AModuledecl)>*/;
3226 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_parser_nodes__AModuleName__n_id
]))(var4
) /* n_id on <var4:AModuleName>*/;
3227 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_parser_nodes__Token__text
]))(var5
) /* text on <var5:TId>*/;
3228 var_decl_name
= var6
;
3229 var7
= ((short int (*)(val
*, val
*))(var_decl_name
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_decl_name
, var_mod_name
) /* != on <var_decl_name:String>*/;
3231 var8
= ((val
* (*)(val
*))(var_decl
->class->vft
[COLOR_parser_nodes__AModuledecl__n_name
]))(var_decl
) /* n_name on <var_decl:nullable AModuledecl(AModuledecl)>*/;
3235 var10
= "Error: module name missmatch; declared ";
3237 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3244 var15
= " file named ";
3246 var17
= string__NativeString__to_s_with_length(var15
, var16
);
3250 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
3251 { /* var18 = array_instance Array[Object] */
3253 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
3254 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
3255 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var_decl_name
;
3256 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
3257 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var_mod_name
;
3258 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
3260 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
3261 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var8
, var21
) /* error on <self:ModelBuilder>*/;
3265 var22
= NEW_mmodule__MModule(&type_mmodule__MModule
);
3266 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
3267 var24
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_nmodule
) /* location on <var_nmodule:AModule>*/;
3268 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var22
->class->vft
[COLOR_mmodule__MModule__init
]))(var22
, var23
, var_mgroup
, var_mod_name
, var24
) /* init on <var22:MModule>*/;
3269 var_mmodule
= var22
;
3270 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule_61d
]))(var_nmodule
, var_mmodule
) /* mmodule= on <var_nmodule:AModule>*/;
3271 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__nmodules
]))(self
) /* nmodules on <self:ModelBuilder>*/;
3272 ((void (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var25
, var_nmodule
) /* add on <var25:Array[AModule]>*/;
3273 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(self
) /* mmodule2nmodule on <self:ModelBuilder>*/;
3274 ((void (*)(val
*, val
*, val
*))(var26
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var26
, var_mmodule
, var_nmodule
) /* []= on <var26:HashMap[MModule, AModule]>*/;
3280 /* method modelbuilder#ModelBuilder#build_a_mmodule for (self: Object, nullable MGroup, String, AModule): nullable MModule */
3281 val
* VIRTUAL_modelbuilder__ModelBuilder__build_a_mmodule(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3282 val
* var
/* : nullable MModule */;
3283 val
* var1
/* : nullable MModule */;
3284 var1
= modelbuilder__ModelBuilder__build_a_mmodule(self
, p0
, p1
, p2
);
3289 /* method modelbuilder#ModelBuilder#build_module_importation for (self: ModelBuilder, AModule) */
3290 void modelbuilder__ModelBuilder__build_module_importation(val
* self
, val
* p0
) {
3291 val
* var_nmodule
/* var nmodule: AModule */;
3292 short int var
/* : Bool */;
3293 short int var1
/* : Bool */;
3294 val
* var2
/* : nullable MModule */;
3295 val
* var_mmodule
/* var mmodule: MModule */;
3296 short int var3
/* : Bool */;
3297 short int var_stdimport
/* var stdimport: Bool */;
3298 val
* var4
/* : Array[MModule] */;
3299 val
* var_imported_modules
/* var imported_modules: Array[MModule] */;
3300 val
* var5
/* : ANodes[AImport] */;
3301 val
* var6
/* : Iterator[nullable Object] */;
3302 short int var7
/* : Bool */;
3303 val
* var8
/* : nullable Object */;
3304 val
* var_aimport
/* var aimport: AImport */;
3305 short int var9
/* : Bool */;
3306 short int var10
/* : Bool */;
3309 short int var11
/* : Bool */;
3310 val
* var12
/* : AModuleName */;
3311 val
* var13
/* : TId */;
3312 val
* var14
/* : String */;
3313 val
* var_mod_name
/* var mod_name: String */;
3314 val
* var15
/* : AModuleName */;
3315 val
* var16
/* : nullable MModule */;
3316 val
* var_sup
/* var sup: nullable MModule */;
3317 val
* var17
/* : null */;
3318 short int var18
/* : Bool */;
3319 val
* var19
/* : AVisibility */;
3320 val
* var20
/* : MVisibility */;
3321 val
* var_mvisibility
/* var mvisibility: MVisibility */;
3322 val
* var21
/* : MVisibility */;
3323 short int var22
/* : Bool */;
3324 val
* var23
/* : AVisibility */;
3325 static val
* varonce
;
3326 val
* var24
/* : String */;
3327 char* var25
/* : NativeString */;
3328 long var26
/* : Int */;
3329 val
* var27
/* : String */;
3330 short int var28
/* : Bool */;
3331 val
* var29
/* : AModuleName */;
3332 static val
* varonce30
;
3333 val
* var31
/* : String */;
3334 char* var32
/* : NativeString */;
3335 long var33
/* : Int */;
3336 val
* var34
/* : String */;
3337 static val
* varonce35
;
3338 val
* var36
/* : String */;
3339 char* var37
/* : NativeString */;
3340 long var38
/* : Int */;
3341 val
* var39
/* : String */;
3342 val
* var40
/* : Array[Object] */;
3343 long var41
/* : Int */;
3344 val
* var42
/* : NativeArray[Object] */;
3345 val
* var43
/* : String */;
3346 val
* var44
/* : POSetElement[MModule] */;
3347 short int var45
/* : Bool */;
3348 val
* var46
/* : AModuleName */;
3349 static val
* varonce47
;
3350 val
* var48
/* : String */;
3351 char* var49
/* : NativeString */;
3352 long var50
/* : Int */;
3353 val
* var51
/* : String */;
3354 static val
* varonce52
;
3355 val
* var53
/* : String */;
3356 char* var54
/* : NativeString */;
3357 long var55
/* : Int */;
3358 val
* var56
/* : String */;
3359 static val
* varonce57
;
3360 val
* var58
/* : String */;
3361 char* var59
/* : NativeString */;
3362 long var60
/* : Int */;
3363 val
* var61
/* : String */;
3364 val
* var62
/* : Array[Object] */;
3365 long var63
/* : Int */;
3366 val
* var64
/* : NativeArray[Object] */;
3367 val
* var65
/* : String */;
3368 static val
* varonce66
;
3369 val
* var67
/* : String */;
3370 char* var68
/* : NativeString */;
3371 long var69
/* : Int */;
3372 val
* var70
/* : String */;
3373 val
* var_mod_name71
/* var mod_name: String */;
3374 val
* var72
/* : null */;
3375 val
* var73
/* : nullable MModule */;
3376 val
* var_sup74
/* var sup: nullable MModule */;
3377 val
* var75
/* : null */;
3378 short int var76
/* : Bool */;
3379 val
* var77
/* : MVisibility */;
3380 val
* var78
/* : ToolContext */;
3381 static val
* varonce79
;
3382 val
* var80
/* : String */;
3383 char* var81
/* : NativeString */;
3384 long var82
/* : Int */;
3385 val
* var83
/* : String */;
3386 static val
* varonce84
;
3387 val
* var85
/* : String */;
3388 char* var86
/* : NativeString */;
3389 long var87
/* : Int */;
3390 val
* var88
/* : String */;
3391 val
* var89
/* : String */;
3392 val
* var90
/* : Array[Object] */;
3393 long var91
/* : Int */;
3394 val
* var92
/* : NativeArray[Object] */;
3395 val
* var93
/* : String */;
3396 long var94
/* : Int */;
3398 var
= ((short int (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__is_importation_done
]))(var_nmodule
) /* is_importation_done on <var_nmodule:AModule>*/;
3404 ((void (*)(val
*, short int))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__is_importation_done_61d
]))(var_nmodule
, var1
) /* is_importation_done= on <var_nmodule:AModule>*/;
3405 var2
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_nmodule
) /* mmodule on <var_nmodule:AModule>*/;
3407 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3408 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 540);
3413 var_stdimport
= var3
;
3414 var4
= NEW_array__Array(&type_array__Arraymmodule__MModule
);
3415 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[MModule]>*/;
3416 var_imported_modules
= var4
;
3417 var5
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_imports
]))(var_nmodule
) /* n_imports on <var_nmodule:AModule>*/;
3418 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:ANodes[AImport]>*/;
3420 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
3422 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
3425 var_stdimport
= var9
;
3426 /* <var_aimport:AImport> isa AStdImport */
3427 cltype
= type_parser_nodes__AStdImport
.color
;
3428 idtype
= type_parser_nodes__AStdImport
.id
;
3429 if(cltype
>= var_aimport
->type
->table_size
) {
3432 var10
= var_aimport
->type
->type_table
[cltype
] == idtype
;
3436 goto CONTINUE_label
;
3439 var12
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_name
]))(var_aimport
) /* n_name on <var_aimport:AImport(AStdImport)>*/;
3440 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_parser_nodes__AModuleName__n_id
]))(var12
) /* n_id on <var12:AModuleName>*/;
3441 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_parser_nodes__Token__text
]))(var13
) /* text on <var13:TId>*/;
3442 var_mod_name
= var14
;
3443 var15
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_name
]))(var_aimport
) /* n_name on <var_aimport:AImport(AStdImport)>*/;
3444 var16
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__get_mmodule_by_name
]))(self
, var15
, var_mmodule
, var_mod_name
) /* get_mmodule_by_name on <self:ModelBuilder>*/;
3447 if (var_sup
== NULL
) {
3448 var18
= 1; /* is null */
3450 var18
= 0; /* arg is null but recv is not */
3453 goto CONTINUE_label
;
3456 ((void (*)(val
*, val
*))(var_aimport
->class->vft
[COLOR_modelbuilder__AStdImport__mmodule_61d
]))(var_aimport
, var_sup
) /* mmodule= on <var_aimport:AImport(AStdImport)>*/;
3457 ((void (*)(val
*, val
*))(var_imported_modules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_imported_modules
, var_sup
) /* add on <var_imported_modules:Array[MModule]>*/;
3458 var19
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_visibility
]))(var_aimport
) /* n_visibility on <var_aimport:AImport(AStdImport)>*/;
3459 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var19
) /* mvisibility on <var19:AVisibility>*/;
3460 var_mvisibility
= var20
;
3461 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__protected_visibility
]))(self
) /* protected_visibility on <self:ModelBuilder>*/;
3462 var22
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var21
) /* == on <var_mvisibility:MVisibility>*/;
3464 var23
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_visibility
]))(var_aimport
) /* n_visibility on <var_aimport:AImport(AStdImport)>*/;
3468 var25
= "Error: only properties can be protected.";
3470 var27
= string__NativeString__to_s_with_length(var25
, var26
);
3474 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var23
, var24
) /* error on <self:ModelBuilder>*/;
3478 var28
= ((short int (*)(val
*, val
*))(var_sup
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_sup
, var_mmodule
) /* == on <var_sup:nullable MModule(MModule)>*/;
3480 var29
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_name
]))(var_aimport
) /* n_name on <var_aimport:AImport(AStdImport)>*/;
3484 var32
= "Error: Dependency loop in module ";
3486 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3495 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3499 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
3500 { /* var40 = array_instance Array[Object] */
3502 var42
= NEW_array__NativeArray(var41
, &type_array__NativeArraykernel__Object
);
3503 ((struct instance_array__NativeArray
*)var42
)->values
[0] = (val
*) var31
;
3504 ((struct instance_array__NativeArray
*)var42
)->values
[1] = (val
*) var_mmodule
;
3505 ((struct instance_array__NativeArray
*)var42
)->values
[2] = (val
*) var36
;
3506 ((void (*)(val
*, val
*, long))(var40
->class->vft
[COLOR_array__Array__with_native
]))(var40
, var42
, var41
) /* with_native on <var40:Array[Object]>*/;
3508 var43
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_string__Object__to_s
]))(var40
) /* to_s on <var40:Array[Object]>*/;
3509 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var29
, var43
) /* error on <self:ModelBuilder>*/;
3512 var44
= ((val
* (*)(val
*))(var_sup
->class->vft
[COLOR_mmodule__MModule__in_importation
]))(var_sup
) /* in_importation on <var_sup:nullable MModule(MModule)>*/;
3513 var45
= ((short int (*)(val
*, val
*))(var44
->class->vft
[COLOR_poset__POSetElement___60d
]))(var44
, var_mmodule
) /* < on <var44:POSetElement[MModule]>*/;
3515 var46
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_name
]))(var_aimport
) /* n_name on <var_aimport:AImport(AStdImport)>*/;
3519 var49
= "Error: Dependency loop between modules ";
3521 var51
= string__NativeString__to_s_with_length(var49
, var50
);
3530 var56
= string__NativeString__to_s_with_length(var54
, var55
);
3539 var61
= string__NativeString__to_s_with_length(var59
, var60
);
3543 var62
= NEW_array__Array(&type_array__Arraykernel__Object
);
3544 { /* var62 = array_instance Array[Object] */
3546 var64
= NEW_array__NativeArray(var63
, &type_array__NativeArraykernel__Object
);
3547 ((struct instance_array__NativeArray
*)var64
)->values
[0] = (val
*) var48
;
3548 ((struct instance_array__NativeArray
*)var64
)->values
[1] = (val
*) var_mmodule
;
3549 ((struct instance_array__NativeArray
*)var64
)->values
[2] = (val
*) var53
;
3550 ((struct instance_array__NativeArray
*)var64
)->values
[3] = (val
*) var_sup
;
3551 ((struct instance_array__NativeArray
*)var64
)->values
[4] = (val
*) var58
;
3552 ((void (*)(val
*, val
*, long))(var62
->class->vft
[COLOR_array__Array__with_native
]))(var62
, var64
, var63
) /* with_native on <var62:Array[Object]>*/;
3554 var65
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_string__Object__to_s
]))(var62
) /* to_s on <var62:Array[Object]>*/;
3555 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var46
, var65
) /* error on <self:ModelBuilder>*/;
3559 ((void (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__set_visibility_for
]))(var_mmodule
, var_sup
, var_mvisibility
) /* set_visibility_for on <var_mmodule:MModule>*/;
3560 CONTINUE_label
: (void)0;
3561 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
3563 BREAK_label
: (void)0;
3570 var70
= string__NativeString__to_s_with_length(var68
, var69
);
3574 var_mod_name71
= var67
;
3576 var73
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__get_mmodule_by_name
]))(self
, var_nmodule
, var72
, var_mod_name71
) /* get_mmodule_by_name on <self:ModelBuilder>*/;
3579 if (var_sup74
== NULL
) {
3580 var76
= 0; /* is null */
3582 var76
= 1; /* arg is null and recv is not */
3585 ((void (*)(val
*, val
*))(var_imported_modules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_imported_modules
, var_sup74
) /* add on <var_imported_modules:Array[MModule]>*/;
3586 var77
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:ModelBuilder>*/;
3587 ((void (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__set_visibility_for
]))(var_mmodule
, var_sup74
, var77
) /* set_visibility_for on <var_mmodule:MModule>*/;
3592 var78
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3596 var81
= " imports ";
3598 var83
= string__NativeString__to_s_with_length(var81
, var82
);
3607 var88
= string__NativeString__to_s_with_length(var86
, var87
);
3611 var89
= ((val
* (*)(val
*, val
*))(var_imported_modules
->class->vft
[COLOR_string__Collection__join
]))(var_imported_modules
, var85
) /* join on <var_imported_modules:Array[MModule]>*/;
3612 var90
= NEW_array__Array(&type_array__Arraykernel__Object
);
3613 { /* var90 = array_instance Array[Object] */
3615 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArraykernel__Object
);
3616 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var_mmodule
;
3617 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var80
;
3618 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var89
;
3619 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
3621 var93
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
3623 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var78
, var93
, var94
) /* info on <var78:ToolContext>*/;
3624 ((void (*)(val
*, val
*))(var_mmodule
->class->vft
[COLOR_mmodule__MModule__set_imported_mmodules
]))(var_mmodule
, var_imported_modules
) /* set_imported_mmodules on <var_mmodule:MModule>*/;
3627 /* method modelbuilder#ModelBuilder#build_module_importation for (self: Object, AModule) */
3628 void VIRTUAL_modelbuilder__ModelBuilder__build_module_importation(val
* self
, val
* p0
) {
3629 modelbuilder__ModelBuilder__build_module_importation(self
, p0
);
3632 /* method modelbuilder#ModelBuilder#nmodules for (self: ModelBuilder): Array[AModule] */
3633 val
* modelbuilder__ModelBuilder__nmodules(val
* self
) {
3634 val
* var
/* : Array[AModule] */;
3635 val
* var1
/* : Array[AModule] */;
3636 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dnmodules
].val
; /* @nmodules on <self:ModelBuilder> */
3638 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @nmodules");
3639 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 579);
3646 /* method modelbuilder#ModelBuilder#nmodules for (self: Object): Array[AModule] */
3647 val
* VIRTUAL_modelbuilder__ModelBuilder__nmodules(val
* self
) {
3648 val
* var
/* : Array[AModule] */;
3649 val
* var1
/* : Array[AModule] */;
3650 var1
= modelbuilder__ModelBuilder__nmodules(self
);
3655 /* method modelbuilder#ModelBuilder#nmodules= for (self: ModelBuilder, Array[AModule]) */
3656 void modelbuilder__ModelBuilder__nmodules_61d(val
* self
, val
* p0
) {
3657 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dnmodules
].val
= p0
; /* @nmodules on <self:ModelBuilder> */
3660 /* method modelbuilder#ModelBuilder#nmodules= for (self: Object, Array[AModule]) */
3661 void VIRTUAL_modelbuilder__ModelBuilder__nmodules_61d(val
* self
, val
* p0
) {
3662 modelbuilder__ModelBuilder__nmodules_61d(self
, p0
);
3665 /* method modelbuilder#ModelBuilder#mmodule2nmodule for (self: ModelBuilder): HashMap[MModule, AModule] */
3666 val
* modelbuilder__ModelBuilder__mmodule2nmodule(val
* self
) {
3667 val
* var
/* : HashMap[MModule, AModule] */;
3668 val
* var1
/* : HashMap[MModule, AModule] */;
3669 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmmodule2nmodule
].val
; /* @mmodule2nmodule on <self:ModelBuilder> */
3671 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mmodule2nmodule");
3672 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 582);
3679 /* method modelbuilder#ModelBuilder#mmodule2nmodule for (self: Object): HashMap[MModule, AModule] */
3680 val
* VIRTUAL_modelbuilder__ModelBuilder__mmodule2nmodule(val
* self
) {
3681 val
* var
/* : HashMap[MModule, AModule] */;
3682 val
* var1
/* : HashMap[MModule, AModule] */;
3683 var1
= modelbuilder__ModelBuilder__mmodule2nmodule(self
);
3688 /* method modelbuilder#ModelBuilder#mmodule2nmodule= for (self: ModelBuilder, HashMap[MModule, AModule]) */
3689 void modelbuilder__ModelBuilder__mmodule2nmodule_61d(val
* self
, val
* p0
) {
3690 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmmodule2nmodule
].val
= p0
; /* @mmodule2nmodule on <self:ModelBuilder> */
3693 /* method modelbuilder#ModelBuilder#mmodule2nmodule= for (self: Object, HashMap[MModule, AModule]) */
3694 void VIRTUAL_modelbuilder__ModelBuilder__mmodule2nmodule_61d(val
* self
, val
* p0
) {
3695 modelbuilder__ModelBuilder__mmodule2nmodule_61d(self
, p0
);
3698 /* method modelbuilder#ModelBuilder#error for (self: ModelBuilder, ANode, String) */
3699 void modelbuilder__ModelBuilder__error(val
* self
, val
* p0
, val
* p1
) {
3700 val
* var_n
/* var n: ANode */;
3701 val
* var_text
/* var text: String */;
3702 val
* var
/* : ToolContext */;
3703 val
* var1
/* : Location */;
3706 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3707 var1
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
3708 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var
, var1
, var_text
) /* error on <var:ToolContext>*/;
3711 /* method modelbuilder#ModelBuilder#error for (self: Object, ANode, String) */
3712 void VIRTUAL_modelbuilder__ModelBuilder__error(val
* self
, val
* p0
, val
* p1
) {
3713 modelbuilder__ModelBuilder__error(self
, p0
, p1
);
3716 /* method modelbuilder#ModelBuilder#warning for (self: ModelBuilder, ANode, String) */
3717 void modelbuilder__ModelBuilder__warning(val
* self
, val
* p0
, val
* p1
) {
3718 val
* var_n
/* var n: ANode */;
3719 val
* var_text
/* var text: String */;
3720 val
* var
/* : ToolContext */;
3721 val
* var1
/* : Location */;
3724 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3725 var1
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
3726 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__warning
]))(var
, var1
, var_text
) /* warning on <var:ToolContext>*/;
3729 /* method modelbuilder#ModelBuilder#warning for (self: Object, ANode, String) */
3730 void VIRTUAL_modelbuilder__ModelBuilder__warning(val
* self
, val
* p0
, val
* p1
) {
3731 modelbuilder__ModelBuilder__warning(self
, p0
, p1
);
3734 /* method modelbuilder#ModelBuilder#force_get_primitive_method for (self: ModelBuilder, ANode, String, MClass, MModule): MMethod */
3735 val
* modelbuilder__ModelBuilder__force_get_primitive_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
3736 val
* var
/* : MMethod */;
3737 val
* var_n
/* var n: ANode */;
3738 val
* var_name
/* var name: String */;
3739 val
* var_recv
/* var recv: MClass */;
3740 val
* var_mmodule
/* var mmodule: MModule */;
3741 val
* var1
/* : nullable MMethod */;
3742 val
* var_res
/* var res: nullable MMethod */;
3743 val
* var2
/* : null */;
3744 short int var3
/* : Bool */;
3745 val
* var4
/* : ToolContext */;
3746 val
* var5
/* : Location */;
3747 static val
* varonce
;
3748 val
* var6
/* : String */;
3749 char* var7
/* : NativeString */;
3750 long var8
/* : Int */;
3751 val
* var9
/* : String */;
3752 static val
* varonce10
;
3753 val
* var11
/* : String */;
3754 char* var12
/* : NativeString */;
3755 long var13
/* : Int */;
3756 val
* var14
/* : String */;
3757 static val
* varonce15
;
3758 val
* var16
/* : String */;
3759 char* var17
/* : NativeString */;
3760 long var18
/* : Int */;
3761 val
* var19
/* : String */;
3762 val
* var20
/* : Array[Object] */;
3763 long var21
/* : Int */;
3764 val
* var22
/* : NativeArray[Object] */;
3765 val
* var23
/* : String */;
3770 var1
= ((val
* (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_model__MModule__try_get_primitive_method
]))(var_mmodule
, var_name
, var_recv
) /* try_get_primitive_method on <var_mmodule:MModule>*/;
3773 if (var_res
== NULL
) {
3774 var3
= 1; /* is null */
3776 var3
= 0; /* arg is null but recv is not */
3779 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3780 var5
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
3784 var7
= "Fatal Error: ";
3786 var9
= string__NativeString__to_s_with_length(var7
, var8
);
3793 var12
= " must have a property named ";
3795 var14
= string__NativeString__to_s_with_length(var12
, var13
);
3804 var19
= string__NativeString__to_s_with_length(var17
, var18
);
3808 var20
= NEW_array__Array(&type_array__Arraykernel__Object
);
3809 { /* var20 = array_instance Array[Object] */
3811 var22
= NEW_array__NativeArray(var21
, &type_array__NativeArraykernel__Object
);
3812 ((struct instance_array__NativeArray
*)var22
)->values
[0] = (val
*) var6
;
3813 ((struct instance_array__NativeArray
*)var22
)->values
[1] = (val
*) var_recv
;
3814 ((struct instance_array__NativeArray
*)var22
)->values
[2] = (val
*) var11
;
3815 ((struct instance_array__NativeArray
*)var22
)->values
[3] = (val
*) var_name
;
3816 ((struct instance_array__NativeArray
*)var22
)->values
[4] = (val
*) var16
;
3817 ((void (*)(val
*, val
*, long))(var20
->class->vft
[COLOR_array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
3819 var23
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
3820 ((void (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_toolcontext__ToolContext__fatal_error
]))(var4
, var5
, var23
) /* fatal_error on <var4:ToolContext>*/;
3821 fprintf(stderr
, "Runtime error: %s", "Aborted");
3822 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 606);
3831 /* method modelbuilder#ModelBuilder#force_get_primitive_method for (self: Object, ANode, String, MClass, MModule): MMethod */
3832 val
* VIRTUAL_modelbuilder__ModelBuilder__force_get_primitive_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
3833 val
* var
/* : MMethod */;
3834 val
* var1
/* : MMethod */;
3835 var1
= modelbuilder__ModelBuilder__force_get_primitive_method(self
, p0
, p1
, p2
, p3
);
3840 /* method modelbuilder#ModulePath#name for (self: ModulePath): String */
3841 val
* modelbuilder__ModulePath__name(val
* self
) {
3842 val
* var
/* : String */;
3843 val
* var1
/* : String */;
3844 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___64dname
].val
; /* @name on <self:ModulePath> */
3846 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @name");
3847 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 614);
3854 /* method modelbuilder#ModulePath#name for (self: Object): String */
3855 val
* VIRTUAL_modelbuilder__ModulePath__name(val
* self
) {
3856 val
* var
/* : String */;
3857 val
* var1
/* : String */;
3858 var1
= modelbuilder__ModulePath__name(self
);
3863 /* method modelbuilder#ModulePath#name= for (self: ModulePath, String) */
3864 void modelbuilder__ModulePath__name_61d(val
* self
, val
* p0
) {
3865 self
->attrs
[COLOR_modelbuilder__ModulePath___64dname
].val
= p0
; /* @name on <self:ModulePath> */
3868 /* method modelbuilder#ModulePath#name= for (self: Object, String) */
3869 void VIRTUAL_modelbuilder__ModulePath__name_61d(val
* self
, val
* p0
) {
3870 modelbuilder__ModulePath__name_61d(self
, p0
);
3873 /* method modelbuilder#ModulePath#filepath for (self: ModulePath): String */
3874 val
* modelbuilder__ModulePath__filepath(val
* self
) {
3875 val
* var
/* : String */;
3876 val
* var1
/* : String */;
3877 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___64dfilepath
].val
; /* @filepath on <self:ModulePath> */
3879 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @filepath");
3880 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 618);
3887 /* method modelbuilder#ModulePath#filepath for (self: Object): String */
3888 val
* VIRTUAL_modelbuilder__ModulePath__filepath(val
* self
) {
3889 val
* var
/* : String */;
3890 val
* var1
/* : String */;
3891 var1
= modelbuilder__ModulePath__filepath(self
);
3896 /* method modelbuilder#ModulePath#filepath= for (self: ModulePath, String) */
3897 void modelbuilder__ModulePath__filepath_61d(val
* self
, val
* p0
) {
3898 self
->attrs
[COLOR_modelbuilder__ModulePath___64dfilepath
].val
= p0
; /* @filepath on <self:ModulePath> */
3901 /* method modelbuilder#ModulePath#filepath= for (self: Object, String) */
3902 void VIRTUAL_modelbuilder__ModulePath__filepath_61d(val
* self
, val
* p0
) {
3903 modelbuilder__ModulePath__filepath_61d(self
, p0
);
3906 /* method modelbuilder#ModulePath#mgroup for (self: ModulePath): MGroup */
3907 val
* modelbuilder__ModulePath__mgroup(val
* self
) {
3908 val
* var
/* : MGroup */;
3909 val
* var1
/* : MGroup */;
3910 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___64dmgroup
].val
; /* @mgroup on <self:ModulePath> */
3912 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mgroup");
3913 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 621);
3920 /* method modelbuilder#ModulePath#mgroup for (self: Object): MGroup */
3921 val
* VIRTUAL_modelbuilder__ModulePath__mgroup(val
* self
) {
3922 val
* var
/* : MGroup */;
3923 val
* var1
/* : MGroup */;
3924 var1
= modelbuilder__ModulePath__mgroup(self
);
3929 /* method modelbuilder#ModulePath#mgroup= for (self: ModulePath, MGroup) */
3930 void modelbuilder__ModulePath__mgroup_61d(val
* self
, val
* p0
) {
3931 self
->attrs
[COLOR_modelbuilder__ModulePath___64dmgroup
].val
= p0
; /* @mgroup on <self:ModulePath> */
3934 /* method modelbuilder#ModulePath#mgroup= for (self: Object, MGroup) */
3935 void VIRTUAL_modelbuilder__ModulePath__mgroup_61d(val
* self
, val
* p0
) {
3936 modelbuilder__ModulePath__mgroup_61d(self
, p0
);
3939 /* method modelbuilder#ModulePath#mmodule for (self: ModulePath): nullable MModule */
3940 val
* modelbuilder__ModulePath__mmodule(val
* self
) {
3941 val
* var
/* : nullable MModule */;
3942 val
* var1
/* : nullable MModule */;
3943 var1
= self
->attrs
[COLOR_modelbuilder__ModulePath___64dmmodule
].val
; /* @mmodule on <self:ModulePath> */
3948 /* method modelbuilder#ModulePath#mmodule for (self: Object): nullable MModule */
3949 val
* VIRTUAL_modelbuilder__ModulePath__mmodule(val
* self
) {
3950 val
* var
/* : nullable MModule */;
3951 val
* var1
/* : nullable MModule */;
3952 var1
= modelbuilder__ModulePath__mmodule(self
);
3957 /* method modelbuilder#ModulePath#mmodule= for (self: ModulePath, nullable MModule) */
3958 void modelbuilder__ModulePath__mmodule_61d(val
* self
, val
* p0
) {
3959 self
->attrs
[COLOR_modelbuilder__ModulePath___64dmmodule
].val
= p0
; /* @mmodule on <self:ModulePath> */
3962 /* method modelbuilder#ModulePath#mmodule= for (self: Object, nullable MModule) */
3963 void VIRTUAL_modelbuilder__ModulePath__mmodule_61d(val
* self
, val
* p0
) {
3964 modelbuilder__ModulePath__mmodule_61d(self
, p0
);
3967 /* method modelbuilder#ModulePath#to_s for (self: ModulePath): String */
3968 val
* modelbuilder__ModulePath__to_s(val
* self
) {
3969 val
* var
/* : String */;
3970 val
* var1
/* : String */;
3971 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModulePath__filepath
]))(self
) /* filepath on <self:ModulePath>*/;
3977 /* method modelbuilder#ModulePath#to_s for (self: Object): String */
3978 val
* VIRTUAL_modelbuilder__ModulePath__to_s(val
* self
) {
3979 val
* var
/* : String */;
3980 val
* var1
/* : String */;
3981 var1
= modelbuilder__ModulePath__to_s(self
);
3986 /* method modelbuilder#ModulePath#init for (self: ModulePath, String, String, MGroup) */
3987 void modelbuilder__ModulePath__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3988 self
->attrs
[COLOR_modelbuilder__ModulePath___64dname
].val
= p0
; /* @name on <self:ModulePath> */
3989 self
->attrs
[COLOR_modelbuilder__ModulePath___64dfilepath
].val
= p1
; /* @filepath on <self:ModulePath> */
3990 self
->attrs
[COLOR_modelbuilder__ModulePath___64dmgroup
].val
= p2
; /* @mgroup on <self:ModulePath> */
3993 /* method modelbuilder#ModulePath#init for (self: Object, String, String, MGroup) */
3994 void VIRTUAL_modelbuilder__ModulePath__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3995 modelbuilder__ModulePath__init(self
, p0
, p1
, p2
);
3998 /* method modelbuilder#AStdImport#mmodule for (self: AStdImport): nullable MModule */
3999 val
* modelbuilder__AStdImport__mmodule(val
* self
) {
4000 val
* var
/* : nullable MModule */;
4001 val
* var1
/* : nullable MModule */;
4002 var1
= self
->attrs
[COLOR_modelbuilder__AStdImport___64dmmodule
].val
; /* @mmodule on <self:AStdImport> */
4007 /* method modelbuilder#AStdImport#mmodule for (self: Object): nullable MModule */
4008 val
* VIRTUAL_modelbuilder__AStdImport__mmodule(val
* self
) {
4009 val
* var
/* : nullable MModule */;
4010 val
* var1
/* : nullable MModule */;
4011 var1
= modelbuilder__AStdImport__mmodule(self
);
4016 /* method modelbuilder#AStdImport#mmodule= for (self: AStdImport, nullable MModule) */
4017 void modelbuilder__AStdImport__mmodule_61d(val
* self
, val
* p0
) {
4018 self
->attrs
[COLOR_modelbuilder__AStdImport___64dmmodule
].val
= p0
; /* @mmodule on <self:AStdImport> */
4021 /* method modelbuilder#AStdImport#mmodule= for (self: Object, nullable MModule) */
4022 void VIRTUAL_modelbuilder__AStdImport__mmodule_61d(val
* self
, val
* p0
) {
4023 modelbuilder__AStdImport__mmodule_61d(self
, p0
);
4026 /* method modelbuilder#AModule#mmodule for (self: AModule): nullable MModule */
4027 val
* modelbuilder__AModule__mmodule(val
* self
) {
4028 val
* var
/* : nullable MModule */;
4029 val
* var1
/* : nullable MModule */;
4030 var1
= self
->attrs
[COLOR_modelbuilder__AModule___64dmmodule
].val
; /* @mmodule on <self:AModule> */
4035 /* method modelbuilder#AModule#mmodule for (self: Object): nullable MModule */
4036 val
* VIRTUAL_modelbuilder__AModule__mmodule(val
* self
) {
4037 val
* var
/* : nullable MModule */;
4038 val
* var1
/* : nullable MModule */;
4039 var1
= modelbuilder__AModule__mmodule(self
);
4044 /* method modelbuilder#AModule#mmodule= for (self: AModule, nullable MModule) */
4045 void modelbuilder__AModule__mmodule_61d(val
* self
, val
* p0
) {
4046 self
->attrs
[COLOR_modelbuilder__AModule___64dmmodule
].val
= p0
; /* @mmodule on <self:AModule> */
4049 /* method modelbuilder#AModule#mmodule= for (self: Object, nullable MModule) */
4050 void VIRTUAL_modelbuilder__AModule__mmodule_61d(val
* self
, val
* p0
) {
4051 modelbuilder__AModule__mmodule_61d(self
, p0
);
4054 /* method modelbuilder#AModule#is_importation_done for (self: AModule): Bool */
4055 short int modelbuilder__AModule__is_importation_done(val
* self
) {
4056 short int var
/* : Bool */;
4057 short int var1
/* : Bool */;
4058 var1
= self
->attrs
[COLOR_modelbuilder__AModule___64dis_importation_done
].s
; /* @is_importation_done on <self:AModule> */
4063 /* method modelbuilder#AModule#is_importation_done for (self: Object): Bool */
4064 short int VIRTUAL_modelbuilder__AModule__is_importation_done(val
* self
) {
4065 short int var
/* : Bool */;
4066 short int var1
/* : Bool */;
4067 var1
= modelbuilder__AModule__is_importation_done(self
);
4072 /* method modelbuilder#AModule#is_importation_done= for (self: AModule, Bool) */
4073 void modelbuilder__AModule__is_importation_done_61d(val
* self
, short int p0
) {
4074 self
->attrs
[COLOR_modelbuilder__AModule___64dis_importation_done
].s
= p0
; /* @is_importation_done on <self:AModule> */
4077 /* method modelbuilder#AModule#is_importation_done= for (self: Object, Bool) */
4078 void VIRTUAL_modelbuilder__AModule__is_importation_done_61d(val
* self
, short int p0
) {
4079 modelbuilder__AModule__is_importation_done_61d(self
, p0
);
4082 /* method modelbuilder#AVisibility#mvisibility for (self: AVisibility): MVisibility */
4083 val
* modelbuilder__AVisibility__mvisibility(val
* self
) {
4084 val
* var
/* : MVisibility */;
4085 const char* var_class_name
;
4086 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
4087 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "mvisibility", var_class_name
);
4088 fprintf(stderr
, " (%s:%d)\n", "src/modelbuilder.nit", 644);
4093 /* method modelbuilder#AVisibility#mvisibility for (self: Object): MVisibility */
4094 val
* VIRTUAL_modelbuilder__AVisibility__mvisibility(val
* self
) {
4095 val
* var
/* : MVisibility */;
4096 val
* var1
/* : MVisibility */;
4097 var1
= modelbuilder__AVisibility__mvisibility(self
);
4102 /* method modelbuilder#AIntrudeVisibility#mvisibility for (self: AIntrudeVisibility): MVisibility */
4103 val
* modelbuilder__AIntrudeVisibility__mvisibility(val
* self
) {
4104 val
* var
/* : MVisibility */;
4105 val
* var1
/* : MVisibility */;
4106 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__intrude_visibility
]))(self
) /* intrude_visibility on <self:AIntrudeVisibility>*/;
4112 /* method modelbuilder#AIntrudeVisibility#mvisibility for (self: Object): MVisibility */
4113 val
* VIRTUAL_modelbuilder__AIntrudeVisibility__mvisibility(val
* self
) {
4114 val
* var
/* : MVisibility */;
4115 val
* var1
/* : MVisibility */;
4116 var1
= modelbuilder__AIntrudeVisibility__mvisibility(self
);
4121 /* method modelbuilder#APublicVisibility#mvisibility for (self: APublicVisibility): MVisibility */
4122 val
* modelbuilder__APublicVisibility__mvisibility(val
* self
) {
4123 val
* var
/* : MVisibility */;
4124 val
* var1
/* : MVisibility */;
4125 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APublicVisibility>*/;
4131 /* method modelbuilder#APublicVisibility#mvisibility for (self: Object): MVisibility */
4132 val
* VIRTUAL_modelbuilder__APublicVisibility__mvisibility(val
* self
) {
4133 val
* var
/* : MVisibility */;
4134 val
* var1
/* : MVisibility */;
4135 var1
= modelbuilder__APublicVisibility__mvisibility(self
);
4140 /* method modelbuilder#AProtectedVisibility#mvisibility for (self: AProtectedVisibility): MVisibility */
4141 val
* modelbuilder__AProtectedVisibility__mvisibility(val
* self
) {
4142 val
* var
/* : MVisibility */;
4143 val
* var1
/* : MVisibility */;
4144 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__protected_visibility
]))(self
) /* protected_visibility on <self:AProtectedVisibility>*/;
4150 /* method modelbuilder#AProtectedVisibility#mvisibility for (self: Object): MVisibility */
4151 val
* VIRTUAL_modelbuilder__AProtectedVisibility__mvisibility(val
* self
) {
4152 val
* var
/* : MVisibility */;
4153 val
* var1
/* : MVisibility */;
4154 var1
= modelbuilder__AProtectedVisibility__mvisibility(self
);
4159 /* method modelbuilder#APrivateVisibility#mvisibility for (self: APrivateVisibility): MVisibility */
4160 val
* modelbuilder__APrivateVisibility__mvisibility(val
* self
) {
4161 val
* var
/* : MVisibility */;
4162 val
* var1
/* : MVisibility */;
4163 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APrivateVisibility>*/;
4169 /* method modelbuilder#APrivateVisibility#mvisibility for (self: Object): MVisibility */
4170 val
* VIRTUAL_modelbuilder__APrivateVisibility__mvisibility(val
* self
) {
4171 val
* var
/* : MVisibility */;
4172 val
* var1
/* : MVisibility */;
4173 var1
= modelbuilder__APrivateVisibility__mvisibility(self
);