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 (%s:%d)\n", "Uninitialized attribute @opt_path", "src/modelbuilder.nit", 37);
15 /* method modelbuilder#ToolContext#opt_path for (self: Object): OptionArray */
16 val
* VIRTUAL_modelbuilder__ToolContext__opt_path(val
* self
) {
17 val
* var
/* : OptionArray */;
18 val
* var1
/* : OptionArray */;
19 var1
= modelbuilder__ToolContext__opt_path(self
);
24 /* method modelbuilder#ToolContext#opt_path= for (self: ToolContext, OptionArray) */
25 void modelbuilder__ToolContext__opt_path_61d(val
* self
, val
* p0
) {
26 self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_path
].val
= p0
; /* @opt_path on <self:ToolContext> */
29 /* method modelbuilder#ToolContext#opt_path= for (self: Object, OptionArray) */
30 void VIRTUAL_modelbuilder__ToolContext__opt_path_61d(val
* self
, val
* p0
) {
31 modelbuilder__ToolContext__opt_path_61d(self
, p0
);
34 /* method modelbuilder#ToolContext#opt_only_metamodel for (self: ToolContext): OptionBool */
35 val
* modelbuilder__ToolContext__opt_only_metamodel(val
* self
) {
36 val
* var
/* : OptionBool */;
37 val
* var1
/* : OptionBool */;
38 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_metamodel
].val
; /* @opt_only_metamodel on <self:ToolContext> */
40 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_only_metamodel", "src/modelbuilder.nit", 40);
47 /* method modelbuilder#ToolContext#opt_only_metamodel for (self: Object): OptionBool */
48 val
* VIRTUAL_modelbuilder__ToolContext__opt_only_metamodel(val
* self
) {
49 val
* var
/* : OptionBool */;
50 val
* var1
/* : OptionBool */;
51 var1
= modelbuilder__ToolContext__opt_only_metamodel(self
);
56 /* method modelbuilder#ToolContext#opt_only_metamodel= for (self: ToolContext, OptionBool) */
57 void modelbuilder__ToolContext__opt_only_metamodel_61d(val
* self
, val
* p0
) {
58 self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_metamodel
].val
= p0
; /* @opt_only_metamodel on <self:ToolContext> */
61 /* method modelbuilder#ToolContext#opt_only_metamodel= for (self: Object, OptionBool) */
62 void VIRTUAL_modelbuilder__ToolContext__opt_only_metamodel_61d(val
* self
, val
* p0
) {
63 modelbuilder__ToolContext__opt_only_metamodel_61d(self
, p0
);
66 /* method modelbuilder#ToolContext#opt_only_parse for (self: ToolContext): OptionBool */
67 val
* modelbuilder__ToolContext__opt_only_parse(val
* self
) {
68 val
* var
/* : OptionBool */;
69 val
* var1
/* : OptionBool */;
70 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_parse
].val
; /* @opt_only_parse on <self:ToolContext> */
72 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_only_parse", "src/modelbuilder.nit", 43);
79 /* method modelbuilder#ToolContext#opt_only_parse for (self: Object): OptionBool */
80 val
* VIRTUAL_modelbuilder__ToolContext__opt_only_parse(val
* self
) {
81 val
* var
/* : OptionBool */;
82 val
* var1
/* : OptionBool */;
83 var1
= modelbuilder__ToolContext__opt_only_parse(self
);
88 /* method modelbuilder#ToolContext#opt_only_parse= for (self: ToolContext, OptionBool) */
89 void modelbuilder__ToolContext__opt_only_parse_61d(val
* self
, val
* p0
) {
90 self
->attrs
[COLOR_modelbuilder__ToolContext___64dopt_only_parse
].val
= p0
; /* @opt_only_parse on <self:ToolContext> */
93 /* method modelbuilder#ToolContext#opt_only_parse= for (self: Object, OptionBool) */
94 void VIRTUAL_modelbuilder__ToolContext__opt_only_parse_61d(val
* self
, val
* p0
) {
95 modelbuilder__ToolContext__opt_only_parse_61d(self
, p0
);
98 /* method modelbuilder#ToolContext#init for (self: ToolContext) */
99 void modelbuilder__ToolContext__init(val
* self
) {
100 val
* var
/* : OptionContext */;
101 val
* var1
/* : OptionArray */;
102 val
* var2
/* : OptionBool */;
103 val
* var3
/* : OptionBool */;
104 val
* var4
/* : Array[Option] */;
105 long var5
/* : Int */;
106 val
* var6
/* : NativeArray[Option] */;
107 ((void (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
108 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
109 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__opt_path
]))(self
) /* opt_path on <self:ToolContext>*/;
110 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_parse
]))(self
) /* opt_only_parse on <self:ToolContext>*/;
111 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_metamodel
]))(self
) /* opt_only_metamodel on <self:ToolContext>*/;
112 var4
= NEW_array__Array(&type_array__Arrayopts__Option
);
113 { /* var4 = array_instance Array[Option] */
115 var6
= NEW_array__NativeArray(var5
, &type_array__NativeArrayopts__Option
);
116 ((struct instance_array__NativeArray
*)var6
)->values
[0] = (val
*) var1
;
117 ((struct instance_array__NativeArray
*)var6
)->values
[1] = (val
*) var2
;
118 ((struct instance_array__NativeArray
*)var6
)->values
[2] = (val
*) var3
;
119 ((void (*)(val
*, val
*, long))(var4
->class->vft
[COLOR_array__Array__with_native
]))(var4
, var6
, var5
) /* with_native on <var4:Array[Option]>*/;
120 CHECK_NEW_array__Array(var4
);
122 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var
, var4
) /* add_option on <var:OptionContext>*/;
125 /* method modelbuilder#ToolContext#init for (self: Object) */
126 void VIRTUAL_modelbuilder__ToolContext__init(val
* self
) {
127 modelbuilder__ToolContext__init(self
);
130 /* method modelbuilder#ToolContext#modelbuilder for (self: ToolContext): ModelBuilder */
131 val
* modelbuilder__ToolContext__modelbuilder(val
* self
) {
132 val
* var
/* : ModelBuilder */;
133 val
* var1
/* : nullable ModelBuilder */;
134 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder_real
]))(self
) /* modelbuilder_real on <self:ToolContext>*/;
136 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/modelbuilder.nit", 52);
144 /* method modelbuilder#ToolContext#modelbuilder for (self: Object): ModelBuilder */
145 val
* VIRTUAL_modelbuilder__ToolContext__modelbuilder(val
* self
) {
146 val
* var
/* : ModelBuilder */;
147 val
* var1
/* : ModelBuilder */;
148 var1
= modelbuilder__ToolContext__modelbuilder(self
);
153 /* method modelbuilder#ToolContext#modelbuilder_real for (self: ToolContext): nullable ModelBuilder */
154 val
* modelbuilder__ToolContext__modelbuilder_real(val
* self
) {
155 val
* var
/* : nullable ModelBuilder */;
156 val
* var1
/* : nullable ModelBuilder */;
157 var1
= self
->attrs
[COLOR_modelbuilder__ToolContext___64dmodelbuilder_real
].val
; /* @modelbuilder_real on <self:ToolContext> */
162 /* method modelbuilder#ToolContext#modelbuilder_real for (self: Object): nullable ModelBuilder */
163 val
* VIRTUAL_modelbuilder__ToolContext__modelbuilder_real(val
* self
) {
164 val
* var
/* : nullable ModelBuilder */;
165 val
* var1
/* : nullable ModelBuilder */;
166 var1
= modelbuilder__ToolContext__modelbuilder_real(self
);
171 /* method modelbuilder#ToolContext#modelbuilder_real= for (self: ToolContext, nullable ModelBuilder) */
172 void modelbuilder__ToolContext__modelbuilder_real_61d(val
* self
, val
* p0
) {
173 self
->attrs
[COLOR_modelbuilder__ToolContext___64dmodelbuilder_real
].val
= p0
; /* @modelbuilder_real on <self:ToolContext> */
176 /* method modelbuilder#ToolContext#modelbuilder_real= for (self: Object, nullable ModelBuilder) */
177 void VIRTUAL_modelbuilder__ToolContext__modelbuilder_real_61d(val
* self
, val
* p0
) {
178 modelbuilder__ToolContext__modelbuilder_real_61d(self
, p0
);
181 /* method modelbuilder#ModelBuilder#model for (self: ModelBuilder): Model */
182 val
* modelbuilder__ModelBuilder__model(val
* self
) {
183 val
* var
/* : Model */;
184 val
* var1
/* : Model */;
185 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmodel
].val
; /* @model on <self:ModelBuilder> */
187 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @model", "src/modelbuilder.nit", 59);
194 /* method modelbuilder#ModelBuilder#model for (self: Object): Model */
195 val
* VIRTUAL_modelbuilder__ModelBuilder__model(val
* self
) {
196 val
* var
/* : Model */;
197 val
* var1
/* : Model */;
198 var1
= modelbuilder__ModelBuilder__model(self
);
203 /* method modelbuilder#ModelBuilder#model= for (self: ModelBuilder, Model) */
204 void modelbuilder__ModelBuilder__model_61d(val
* self
, val
* p0
) {
205 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmodel
].val
= p0
; /* @model on <self:ModelBuilder> */
208 /* method modelbuilder#ModelBuilder#model= for (self: Object, Model) */
209 void VIRTUAL_modelbuilder__ModelBuilder__model_61d(val
* self
, val
* p0
) {
210 modelbuilder__ModelBuilder__model_61d(self
, p0
);
213 /* method modelbuilder#ModelBuilder#toolcontext for (self: ModelBuilder): ToolContext */
214 val
* modelbuilder__ModelBuilder__toolcontext(val
* self
) {
215 val
* var
/* : ToolContext */;
216 val
* var1
/* : ToolContext */;
217 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtoolcontext
].val
; /* @toolcontext on <self:ModelBuilder> */
219 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @toolcontext", "src/modelbuilder.nit", 62);
226 /* method modelbuilder#ModelBuilder#toolcontext for (self: Object): ToolContext */
227 val
* VIRTUAL_modelbuilder__ModelBuilder__toolcontext(val
* self
) {
228 val
* var
/* : ToolContext */;
229 val
* var1
/* : ToolContext */;
230 var1
= modelbuilder__ModelBuilder__toolcontext(self
);
235 /* method modelbuilder#ModelBuilder#toolcontext= for (self: ModelBuilder, ToolContext) */
236 void modelbuilder__ModelBuilder__toolcontext_61d(val
* self
, val
* p0
) {
237 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:ModelBuilder> */
240 /* method modelbuilder#ModelBuilder#toolcontext= for (self: Object, ToolContext) */
241 void VIRTUAL_modelbuilder__ModelBuilder__toolcontext_61d(val
* self
, val
* p0
) {
242 modelbuilder__ModelBuilder__toolcontext_61d(self
, p0
);
245 /* method modelbuilder#ModelBuilder#run_phases for (self: ModelBuilder) */
246 void modelbuilder__ModelBuilder__run_phases(val
* self
) {
247 val
* var
/* : Model */;
248 val
* var1
/* : Array[MModule] */;
249 val
* var2
/* : Array[nullable Object] */;
250 val
* var_mmodules
/* var mmodules: Array[MModule] */;
251 val
* var3
/* : Model */;
252 val
* var4
/* : POSet[MModule] */;
253 val
* var5
/* : Array[AModule] */;
254 val
* var_nmodules
/* var nmodules: Array[AModule] */;
255 val
* var6
/* : Iterator[nullable Object] */;
256 short int var7
/* : Bool */;
257 val
* var8
/* : nullable Object */;
258 val
* var_mm
/* var mm: MModule */;
259 val
* var9
/* : HashMap[MModule, AModule] */;
260 val
* var10
/* : nullable Object */;
261 val
* var11
/* : ToolContext */;
262 val
* var12
/* : ToolContext */;
263 val
* var13
/* : OptionBool */;
264 val
* var14
/* : nullable Object */;
265 short int var15
/* : Bool */;
266 val
* var16
/* : ToolContext */;
268 val
* var17
/* : String */;
269 char* var18
/* : NativeString */;
270 long var19
/* : Int */;
271 val
* var20
/* : String */;
272 long var21
/* : Int */;
273 long var22
/* : Int */;
274 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
275 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model_base__Model__mmodules
]))(var
) /* mmodules on <var:Model>*/;
276 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_array__Collection__to_a
]))(var1
) /* to_a on <var1:Array[MModule]>*/;
278 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
279 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model_base__Model__mmodule_importation_hierarchy
]))(var3
) /* mmodule_importation_hierarchy on <var3:Model>*/;
280 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_sorter__AbstractSorter__sort
]))(var4
, var_mmodules
) /* sort on <var4:POSet[MModule]>*/;
281 var5
= NEW_array__Array(&type_array__Arrayparser_nodes__AModule
);
282 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[AModule]>*/;
283 CHECK_NEW_array__Array(var5
);
285 var6
= ((val
* (*)(val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_mmodules
) /* iterator on <var_mmodules:Array[MModule]>*/;
287 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
289 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
291 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(self
) /* mmodule2nmodule on <self:ModelBuilder>*/;
292 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_mm
) /* [] on <var9:HashMap[MModule, AModule]>*/;
293 ((void (*)(val
*, val
*))(var_nmodules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_nmodules
, var10
) /* add on <var_nmodules:Array[AModule]>*/;
294 CONTINUE_label
: (void)0;
295 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
297 BREAK_label
: (void)0;
298 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
299 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_phase__ToolContext__run_phases
]))(var11
, var_nmodules
) /* run_phases on <var11:ToolContext>*/;
300 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
301 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_metamodel
]))(var12
) /* opt_only_metamodel on <var12:ToolContext>*/;
302 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_opts__Option__value
]))(var13
) /* value on <var13:OptionBool>*/;
303 var15
= ((struct instance_kernel__Bool
*)var14
)->value
; /* autounbox from nullable Object to Bool */;
305 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
309 var18
= "*** ONLY METAMODEL";
311 var20
= string__NativeString__to_s_with_length(var18
, var19
);
316 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var16
, var17
, var21
) /* info on <var16:ToolContext>*/;
318 ((void (*)(val
*, long))(self
->class->vft
[COLOR_kernel__Object__exit
]))(self
, var22
) /* exit on <self:ModelBuilder>*/;
323 /* method modelbuilder#ModelBuilder#run_phases for (self: Object) */
324 void VIRTUAL_modelbuilder__ModelBuilder__run_phases(val
* self
) {
325 modelbuilder__ModelBuilder__run_phases(self
);
328 /* method modelbuilder#ModelBuilder#init for (self: ModelBuilder, Model, ToolContext) */
329 void modelbuilder__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
330 val
* var_model
/* var model: Model */;
331 val
* var_toolcontext
/* var toolcontext: ToolContext */;
332 val
* var
/* : nullable ModelBuilder */;
333 val
* var1
/* : null */;
334 short int var2
/* : Bool */;
335 val
* var3
/* : Array[String] */;
336 val
* var4
/* : OptionArray */;
337 val
* var5
/* : nullable Object */;
339 val
* var6
/* : String */;
340 char* var7
/* : NativeString */;
341 long var8
/* : Int */;
342 val
* var9
/* : String */;
343 val
* var10
/* : String */;
344 val
* var_path_env
/* var path_env: String */;
345 short int var11
/* : Bool */;
346 short int var12
/* : Bool */;
347 val
* var13
/* : Array[String] */;
348 char var14
/* : Char */;
349 val
* var15
/* : Array[String] */;
350 val
* var16
/* : Pattern */;
351 static val
* varonce17
;
352 val
* var18
/* : String */;
353 char* var19
/* : NativeString */;
354 long var20
/* : Int */;
355 val
* var21
/* : String */;
356 val
* var22
/* : String */;
357 short int var23
/* : Bool */;
358 short int var24
/* : Bool */;
359 val
* var25
/* : Array[Object] */;
360 long var26
/* : Int */;
361 val
* var_
/* var : Array[Object] */;
362 static val
* varonce27
;
363 val
* var28
/* : String */;
364 char* var29
/* : NativeString */;
365 long var30
/* : Int */;
366 val
* var31
/* : String */;
367 static val
* varonce32
;
368 val
* var33
/* : String */;
369 char* var34
/* : NativeString */;
370 long var35
/* : Int */;
371 val
* var36
/* : String */;
372 val
* var37
/* : String */;
373 val
* var_libname
/* var libname: String */;
374 short int var38
/* : Bool */;
375 val
* var39
/* : Array[String] */;
376 val
* var40
/* : Array[Object] */;
377 long var41
/* : Int */;
378 val
* var_42
/* var : Array[Object] */;
379 static val
* varonce43
;
380 val
* var44
/* : String */;
381 char* var45
/* : NativeString */;
382 long var46
/* : Int */;
383 val
* var47
/* : String */;
384 val
* var48
/* : Sys */;
385 val
* var49
/* : String */;
386 val
* var50
/* : String */;
387 static val
* varonce51
;
388 val
* var52
/* : String */;
389 char* var53
/* : NativeString */;
390 long var54
/* : Int */;
391 val
* var55
/* : String */;
392 val
* var56
/* : String */;
393 val
* var_libname57
/* var libname: String */;
394 short int var58
/* : Bool */;
395 val
* var59
/* : Array[String] */;
396 val
* var60
/* : String */;
398 var_toolcontext
= p1
;
399 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model_61d
]))(self
, var_model
) /* model= on <self:ModelBuilder>*/;
400 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext_61d
]))(self
, var_toolcontext
) /* toolcontext= on <self:ModelBuilder>*/;
401 var
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder_real
]))(var_toolcontext
) /* modelbuilder_real on <var_toolcontext:ToolContext>*/;
404 var2
= 1; /* is null */
406 var2
= 0; /* arg is null but recv is not */
409 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/modelbuilder.nit", 88);
412 ((void (*)(val
*, val
*))(var_toolcontext
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder_real_61d
]))(var_toolcontext
, self
) /* modelbuilder_real= on <var_toolcontext:ToolContext>*/;
413 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
414 var4
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_modelbuilder__ToolContext__opt_path
]))(var_toolcontext
) /* opt_path on <var_toolcontext:ToolContext>*/;
415 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_opts__Option__value
]))(var4
) /* value on <var4:OptionArray>*/;
416 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var3
, var5
) /* append on <var3:Array[String]>*/;
422 var9
= string__NativeString__to_s_with_length(var7
, var8
);
426 var10
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_environ__String__environ
]))(var6
) /* environ on <var6:String>*/;
427 var_path_env
= var10
;
428 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>*/;
431 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
433 var16
= BOX_kernel__Char(var14
); /* autobox from Char to Pattern */
434 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>*/;
435 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var13
, var15
) /* append on <var13:Array[String]>*/;
443 var21
= string__NativeString__to_s_with_length(var19
, var20
);
447 var22
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_environ__String__environ
]))(var18
) /* environ on <var18:String>*/;
448 var_path_env
= var22
;
449 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>*/;
452 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
454 ((void (*)(val
*, long))(var25
->class->vft
[COLOR_array__Array__with_capacity
]))(var25
, var26
) /* with_capacity on <var25:Array[Object]>*/;
455 CHECK_NEW_array__Array(var25
);
462 var31
= string__NativeString__to_s_with_length(var29
, var30
);
466 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var28
) /* add on <var_:Array[Object]>*/;
467 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_path_env
) /* add on <var_:Array[Object]>*/;
473 var36
= string__NativeString__to_s_with_length(var34
, var35
);
477 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var33
) /* add on <var_:Array[Object]>*/;
478 var37
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
480 var38
= ((short int (*)(val
*))(var_libname
->class->vft
[COLOR_file__String__file_exists
]))(var_libname
) /* file_exists on <var_libname:String>*/;
482 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
483 ((void (*)(val
*, val
*))(var39
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var39
, var_libname
) /* add on <var39:Array[String]>*/;
488 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
490 ((void (*)(val
*, long))(var40
->class->vft
[COLOR_array__Array__with_capacity
]))(var40
, var41
) /* with_capacity on <var40:Array[Object]>*/;
491 CHECK_NEW_array__Array(var40
);
498 var47
= string__NativeString__to_s_with_length(var45
, var46
);
502 ((void (*)(val
*, val
*))(var_42
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_42
, var44
) /* add on <var_42:Array[Object]>*/;
503 var48
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
504 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Sys__program_name
]))(var48
) /* program_name on <var48:Sys>*/;
505 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_file__String__dirname
]))(var49
) /* dirname on <var49:String>*/;
506 ((void (*)(val
*, val
*))(var_42
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_42
, var50
) /* add on <var_42:Array[Object]>*/;
512 var55
= string__NativeString__to_s_with_length(var53
, var54
);
516 ((void (*)(val
*, val
*))(var_42
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_42
, var52
) /* add on <var_42:Array[Object]>*/;
517 var56
= ((val
* (*)(val
*))(var_42
->class->vft
[COLOR_string__Object__to_s
]))(var_42
) /* to_s on <var_42:Array[Object]>*/;
518 var_libname57
= var56
;
519 var58
= ((short int (*)(val
*))(var_libname57
->class->vft
[COLOR_file__String__file_exists
]))(var_libname57
) /* file_exists on <var_libname57:String>*/;
521 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
522 var60
= ((val
* (*)(val
*))(var_libname57
->class->vft
[COLOR_file__String__simplify_path
]))(var_libname57
) /* simplify_path on <var_libname57:String>*/;
523 ((void (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var59
, var60
) /* add on <var59:Array[String]>*/;
528 /* method modelbuilder#ModelBuilder#init for (self: Object, Model, ToolContext) */
529 void VIRTUAL_modelbuilder__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
530 modelbuilder__ModelBuilder__init(self
, p0
, p1
);
533 /* method modelbuilder#ModelBuilder#parse for (self: ModelBuilder, Sequence[String]): Array[MModule] */
534 val
* modelbuilder__ModelBuilder__parse(val
* self
, val
* p0
) {
535 val
* var
/* : Array[MModule] */;
536 val
* var_modules
/* var modules: Sequence[String] */;
537 long var1
/* : Int */;
538 long var_time0
/* var time0: Int */;
539 val
* var2
/* : ToolContext */;
541 val
* var3
/* : String */;
542 char* var4
/* : NativeString */;
543 long var5
/* : Int */;
544 val
* var6
/* : String */;
545 long var7
/* : Int */;
546 val
* var8
/* : Array[MModule] */;
547 val
* var_mmodules
/* var mmodules: Array[MModule] */;
548 val
* var9
/* : Iterator[nullable Object] */;
549 short int var10
/* : Bool */;
550 val
* var11
/* : nullable Object */;
551 val
* var_a
/* var a: String */;
552 val
* var12
/* : null */;
553 val
* var13
/* : nullable AModule */;
554 val
* var_nmodule
/* var nmodule: nullable AModule */;
555 val
* var14
/* : null */;
556 short int var15
/* : Bool */;
557 val
* var16
/* : nullable MModule */;
558 long var17
/* : Int */;
559 long var_time1
/* var time1: Int */;
560 val
* var18
/* : ToolContext */;
561 static val
* varonce19
;
562 val
* var20
/* : String */;
563 char* var21
/* : NativeString */;
564 long var22
/* : Int */;
565 val
* var23
/* : String */;
566 long var24
/* : Int */;
567 long var26
/* : Int */;
568 static val
* varonce27
;
569 val
* var28
/* : String */;
570 char* var29
/* : NativeString */;
571 long var30
/* : Int */;
572 val
* var31
/* : String */;
573 val
* var32
/* : Array[Object] */;
574 long var33
/* : Int */;
575 val
* var34
/* : NativeArray[Object] */;
576 val
* var35
/* : Object */;
577 val
* var36
/* : String */;
578 long var37
/* : Int */;
579 val
* var38
/* : ToolContext */;
580 val
* var39
/* : ToolContext */;
581 val
* var40
/* : OptionBool */;
582 val
* var41
/* : nullable Object */;
583 short int var42
/* : Bool */;
584 val
* var43
/* : ToolContext */;
585 static val
* varonce44
;
586 val
* var45
/* : String */;
587 char* var46
/* : NativeString */;
588 long var47
/* : Int */;
589 val
* var48
/* : String */;
590 long var49
/* : Int */;
591 long var50
/* : Int */;
593 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
595 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
599 var4
= "*** PARSE ***";
601 var6
= string__NativeString__to_s_with_length(var4
, var5
);
606 ((void (*)(val
*, val
*, long))(var2
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var2
, var3
, var7
) /* info on <var2:ToolContext>*/;
607 var8
= NEW_array__Array(&type_array__Arraymodel_base__MModule
);
608 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[MModule]>*/;
609 CHECK_NEW_array__Array(var8
);
611 var9
= ((val
* (*)(val
*))(var_modules
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_modules
) /* iterator on <var_modules:Sequence[String]>*/;
613 var10
= ((short int (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var9
) /* is_ok on <var9:Iterator[nullable Object]>*/;
615 var11
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var9
) /* item on <var9:Iterator[nullable Object]>*/;
618 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var12
, var_a
) /* load_module on <self:ModelBuilder>*/;
621 if (var_nmodule
== NULL
) {
622 var15
= 1; /* is null */
624 var15
= 0; /* arg is null but recv is not */
630 var16
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_nmodule
) /* mmodule on <var_nmodule:nullable AModule(AModule)>*/;
632 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/modelbuilder.nit", 125);
635 ((void (*)(val
*, val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_mmodules
, var16
) /* add on <var_mmodules:Array[MModule]>*/;
636 CONTINUE_label
: (void)0;
637 ((void (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var9
) /* next on <var9:Iterator[nullable Object]>*/;
639 BREAK_label
: (void)0;
640 var17
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
642 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
646 var21
= "*** END PARSE: ";
648 var23
= string__NativeString__to_s_with_length(var21
, var22
);
652 { /* Inline kernel#Int#- (var_time1,var_time0) */
653 var26
= var_time1
- var_time0
;
663 var31
= string__NativeString__to_s_with_length(var29
, var30
);
667 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
668 { /* var32 = array_instance Array[Object] */
670 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
671 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var20
;
672 var35
= BOX_kernel__Int(var24
); /* autobox from Int to Object */
673 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var35
;
674 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var28
;
675 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
676 CHECK_NEW_array__Array(var32
);
678 var36
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
680 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var18
, var36
, var37
) /* info on <var18:ToolContext>*/;
681 var38
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
682 ((void (*)(val
*))(var38
->class->vft
[COLOR_toolcontext__ToolContext__check_errors
]))(var38
) /* check_errors on <var38:ToolContext>*/;
683 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
684 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_modelbuilder__ToolContext__opt_only_parse
]))(var39
) /* opt_only_parse on <var39:ToolContext>*/;
685 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_opts__Option__value
]))(var40
) /* value on <var40:OptionBool>*/;
686 var42
= ((struct instance_kernel__Bool
*)var41
)->value
; /* autounbox from nullable Object to Bool */;
688 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
692 var46
= "*** ONLY PARSE...";
694 var48
= string__NativeString__to_s_with_length(var46
, var47
);
699 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var43
, var45
, var49
) /* info on <var43:ToolContext>*/;
701 ((void (*)(val
*, long))(self
->class->vft
[COLOR_kernel__Object__exit
]))(self
, var50
) /* exit on <self:ModelBuilder>*/;
709 /* method modelbuilder#ModelBuilder#parse for (self: Object, Sequence[String]): Array[MModule] */
710 val
* VIRTUAL_modelbuilder__ModelBuilder__parse(val
* self
, val
* p0
) {
711 val
* var
/* : Array[MModule] */;
712 val
* var1
/* : Array[MModule] */;
713 var1
= modelbuilder__ModelBuilder__parse(self
, p0
);
718 /* method modelbuilder#ModelBuilder#try_get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */
719 val
* modelbuilder__ModelBuilder__try_get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
720 val
* var
/* : nullable MClass */;
721 val
* var_anode
/* var anode: ANode */;
722 val
* var_mmodule
/* var mmodule: MModule */;
723 val
* var_name
/* var name: String */;
724 val
* var1
/* : Model */;
725 val
* var2
/* : nullable Array[MClass] */;
726 val
* var_classes
/* var classes: nullable Array[MClass] */;
727 val
* var3
/* : null */;
728 short int var4
/* : Bool */;
729 val
* var5
/* : null */;
730 val
* var6
/* : null */;
731 val
* var_res
/* var res: nullable MClass */;
732 val
* var7
/* : Iterator[nullable Object] */;
733 short int var8
/* : Bool */;
734 val
* var9
/* : nullable Object */;
735 val
* var_mclass
/* var mclass: MClass */;
736 val
* var10
/* : POSetElement[MModule] */;
737 val
* var11
/* : MModule */;
738 short int var12
/* : Bool */;
739 short int var13
/* : Bool */;
740 val
* var14
/* : MModule */;
741 val
* var15
/* : MVisibility */;
742 short int var16
/* : Bool */;
743 short int var17
/* : Bool */;
744 val
* var18
/* : null */;
745 short int var19
/* : Bool */;
747 val
* var20
/* : String */;
748 char* var21
/* : NativeString */;
749 long var22
/* : Int */;
750 val
* var23
/* : String */;
751 static val
* varonce24
;
752 val
* var25
/* : String */;
753 char* var26
/* : NativeString */;
754 long var27
/* : Int */;
755 val
* var28
/* : String */;
756 val
* var29
/* : String */;
757 static val
* varonce30
;
758 val
* var31
/* : String */;
759 char* var32
/* : NativeString */;
760 long var33
/* : Int */;
761 val
* var34
/* : String */;
762 val
* var35
/* : String */;
763 val
* var36
/* : Array[Object] */;
764 long var37
/* : Int */;
765 val
* var38
/* : NativeArray[Object] */;
766 val
* var39
/* : String */;
767 val
* var40
/* : null */;
771 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
772 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_model__Model__get_mclasses_by_name
]))(var1
, var_name
) /* get_mclasses_by_name on <var1:Model>*/;
775 if (var_classes
== NULL
) {
776 var4
= 1; /* is null */
778 var4
= 0; /* arg is null but recv is not */
788 var7
= ((val
* (*)(val
*))(var_classes
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_classes
) /* iterator on <var_classes:nullable Array[MClass](Array[MClass])>*/;
790 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
792 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
794 var10
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__in_importation
]))(var_mmodule
) /* in_importation on <var_mmodule:MModule>*/;
795 var11
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__intro_mmodule
]))(var_mclass
) /* intro_mmodule on <var_mclass:MClass>*/;
796 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_poset__POSetElement___60d_61d
]))(var10
, var11
) /* <= on <var10:POSetElement[MModule]>*/;
802 var14
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__intro_mmodule
]))(var_mclass
) /* intro_mmodule on <var_mclass:MClass>*/;
803 var15
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__visibility
]))(var_mclass
) /* visibility on <var_mclass:MClass>*/;
804 var16
= ((short int (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__is_visible
]))(var_mmodule
, var14
, var15
) /* is_visible on <var_mmodule:MModule>*/;
811 if (var_res
== NULL
) {
812 var19
= 1; /* is null */
814 var19
= 0; /* arg is null but recv is not */
817 var_res
= var_mclass
;
822 var21
= "Ambigous class name \'";
824 var23
= string__NativeString__to_s_with_length(var21
, var22
);
831 var26
= "\'; conflict between ";
833 var28
= string__NativeString__to_s_with_length(var26
, var27
);
837 var29
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__full_name
]))(var_mclass
) /* full_name on <var_mclass:MClass>*/;
843 var34
= string__NativeString__to_s_with_length(var32
, var33
);
847 var35
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MClass__full_name
]))(var_res
) /* full_name on <var_res:nullable MClass(MClass)>*/;
848 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
849 { /* var36 = array_instance Array[Object] */
851 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
852 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var20
;
853 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var_name
;
854 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var25
;
855 ((struct instance_array__NativeArray
*)var38
)->values
[3] = (val
*) var29
;
856 ((struct instance_array__NativeArray
*)var38
)->values
[4] = (val
*) var31
;
857 ((struct instance_array__NativeArray
*)var38
)->values
[5] = (val
*) var35
;
858 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
859 CHECK_NEW_array__Array(var36
);
861 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
862 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var39
) /* error on <self:ModelBuilder>*/;
867 CONTINUE_label
: (void)0;
868 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
870 BREAK_label
: (void)0;
876 /* method modelbuilder#ModelBuilder#try_get_mclass_by_name for (self: Object, ANode, MModule, String): nullable MClass */
877 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mclass_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
878 val
* var
/* : nullable MClass */;
879 val
* var1
/* : nullable MClass */;
880 var1
= modelbuilder__ModelBuilder__try_get_mclass_by_name(self
, p0
, p1
, p2
);
885 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2 for (self: ModelBuilder, ANode, MModule, MType, String): nullable MProperty */
886 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
887 val
* var
/* : nullable MProperty */;
888 val
* var_anode
/* var anode: ANode */;
889 val
* var_mmodule
/* var mmodule: MModule */;
890 val
* var_mtype
/* var mtype: MType */;
891 val
* var_name
/* var name: String */;
892 val
* var1
/* : Model */;
893 val
* var2
/* : nullable Array[MProperty] */;
894 val
* var_props
/* var props: nullable Array[MProperty] */;
895 val
* var3
/* : null */;
896 short int var4
/* : Bool */;
897 val
* var5
/* : null */;
898 val
* var6
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
899 val
* var7
/* : nullable Object */;
900 val
* var_cache
/* var cache: nullable MProperty */;
901 val
* var8
/* : null */;
902 short int var9
/* : Bool */;
903 val
* var10
/* : null */;
904 val
* var_res
/* var res: nullable MProperty */;
905 val
* var11
/* : null */;
906 val
* var_ress
/* var ress: nullable Array[MProperty] */;
907 val
* var12
/* : Iterator[nullable Object] */;
908 short int var13
/* : Bool */;
909 val
* var14
/* : nullable Object */;
910 val
* var_mprop
/* var mprop: MProperty */;
911 short int var15
/* : Bool */;
912 short int var16
/* : Bool */;
913 val
* var17
/* : MClassDef */;
914 val
* var18
/* : MModule */;
915 val
* var19
/* : MVisibility */;
916 short int var20
/* : Bool */;
917 short int var21
/* : Bool */;
918 val
* var22
/* : null */;
919 short int var23
/* : Bool */;
920 val
* var24
/* : MClassDef */;
921 val
* var25
/* : MClassType */;
922 val
* var_restype
/* var restype: MClassType */;
923 val
* var26
/* : MClassDef */;
924 val
* var27
/* : MClassType */;
925 val
* var_mproptype
/* var mproptype: MClassType */;
926 val
* var28
/* : null */;
927 short int var29
/* : Bool */;
928 val
* var30
/* : null */;
929 short int var31
/* : Bool */;
930 val
* var32
/* : null */;
931 short int var33
/* : Bool */;
932 val
* var34
/* : Array[MProperty] */;
933 val
* var35
/* : null */;
934 short int var36
/* : Bool */;
935 val
* var37
/* : MClassDef */;
936 val
* var38
/* : MClassType */;
937 val
* var_restype39
/* var restype: MClassType */;
938 val
* var40
/* : Iterator[nullable Object] */;
939 short int var41
/* : Bool */;
940 val
* var42
/* : nullable Object */;
941 val
* var_mprop43
/* var mprop: MProperty */;
942 val
* var44
/* : MClassDef */;
943 val
* var45
/* : MClassType */;
944 val
* var_mproptype46
/* var mproptype: MClassType */;
945 val
* var47
/* : null */;
946 short int var48
/* : Bool */;
947 short int var49
/* : Bool */;
949 val
* var50
/* : String */;
950 char* var51
/* : NativeString */;
951 long var52
/* : Int */;
952 val
* var53
/* : String */;
953 static val
* varonce54
;
954 val
* var55
/* : String */;
955 char* var56
/* : NativeString */;
956 long var57
/* : Int */;
957 val
* var58
/* : String */;
958 static val
* varonce59
;
959 val
* var60
/* : String */;
960 char* var61
/* : NativeString */;
961 long var62
/* : Int */;
962 val
* var63
/* : String */;
963 val
* var64
/* : String */;
964 static val
* varonce65
;
965 val
* var66
/* : String */;
966 char* var67
/* : NativeString */;
967 long var68
/* : Int */;
968 val
* var69
/* : String */;
969 val
* var70
/* : String */;
970 val
* var71
/* : Array[Object] */;
971 long var72
/* : Int */;
972 val
* var73
/* : NativeArray[Object] */;
973 val
* var74
/* : String */;
974 val
* var75
/* : null */;
975 val
* var77
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
980 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
981 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_model__Model__get_mproperties_by_name
]))(var1
, var_name
) /* get_mproperties_by_name on <var1:Model>*/;
984 if (var_props
== NULL
) {
985 var4
= 1; /* is null */
987 var4
= 0; /* arg is null but recv is not */
995 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>*/;
996 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]>*/;
999 if (var_cache
== NULL
) {
1000 var9
= 0; /* is null */
1002 var9
= 1; /* arg is null and recv is not */
1013 var12
= ((val
* (*)(val
*))(var_props
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_props
) /* iterator on <var_props:nullable Array[MProperty](Array[MProperty])>*/;
1015 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
1017 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
1019 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>*/;
1022 goto CONTINUE_label
;
1025 var17
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_mprop
) /* intro_mclassdef on <var_mprop:MProperty>*/;
1026 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var17
) /* mmodule on <var17:MClassDef>*/;
1027 var19
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__visibility
]))(var_mprop
) /* visibility on <var_mprop:MProperty>*/;
1028 var20
= ((short int (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__is_visible
]))(var_mmodule
, var18
, var19
) /* is_visible on <var_mmodule:MModule>*/;
1031 goto CONTINUE_label
;
1035 if (var_res
== NULL
) {
1036 var23
= 1; /* is null */
1038 var23
= 0; /* arg is null but recv is not */
1041 var_res
= var_mprop
;
1043 var24
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_res
) /* intro_mclassdef on <var_res:nullable MProperty(MProperty)>*/;
1044 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var24
) /* bound_mtype on <var24:MClassDef>*/;
1045 var_restype
= var25
;
1046 var26
= ((val
* (*)(val
*))(var_mprop
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_mprop
) /* intro_mclassdef on <var_mprop:MProperty>*/;
1047 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var26
) /* bound_mtype on <var26:MClassDef>*/;
1048 var_mproptype
= var27
;
1050 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>*/;
1054 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>*/;
1056 var_res
= var_mprop
;
1059 if (var_ress
== NULL
) {
1060 var33
= 1; /* is null */
1062 var33
= 0; /* arg is null but recv is not */
1065 var34
= NEW_array__Array(&type_array__Arraymodel__MProperty
);
1066 ((void (*)(val
*))(var34
->class->vft
[COLOR_array__Array__init
]))(var34
) /* init on <var34:Array[MProperty]>*/;
1067 CHECK_NEW_array__Array(var34
);
1071 ((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])>*/;
1075 CONTINUE_label
: (void)0;
1076 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
1078 BREAK_label
: (void)0;
1080 if (var_ress
== NULL
) {
1081 var36
= 0; /* is null */
1083 var36
= 1; /* arg is null and recv is not */
1086 if (var_res
== NULL
) {
1087 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/modelbuilder.nit", 203);
1090 var37
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_res
) /* intro_mclassdef on <var_res:nullable MProperty>*/;
1092 var38
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var37
) /* bound_mtype on <var37:MClassDef>*/;
1093 var_restype39
= var38
;
1094 var40
= ((val
* (*)(val
*))(var_ress
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_ress
) /* iterator on <var_ress:nullable Array[MProperty](Array[MProperty])>*/;
1096 var41
= ((short int (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var40
) /* is_ok on <var40:Iterator[nullable Object]>*/;
1098 var42
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var40
) /* item on <var40:Iterator[nullable Object]>*/;
1099 var_mprop43
= var42
;
1100 var44
= ((val
* (*)(val
*))(var_mprop43
->class->vft
[COLOR_model__MProperty__intro_mclassdef
]))(var_mprop43
) /* intro_mclassdef on <var_mprop43:MProperty>*/;
1101 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var44
) /* bound_mtype on <var44:MClassDef>*/;
1102 var_mproptype46
= var45
;
1104 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>*/;
1110 var51
= "Ambigous property name \'";
1112 var53
= string__NativeString__to_s_with_length(var51
, var52
);
1121 var58
= string__NativeString__to_s_with_length(var56
, var57
);
1128 var61
= "; conflict between ";
1130 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1134 var64
= ((val
* (*)(val
*))(var_mprop43
->class->vft
[COLOR_model__MProperty__full_name
]))(var_mprop43
) /* full_name on <var_mprop43:MProperty>*/;
1140 var69
= string__NativeString__to_s_with_length(var67
, var68
);
1144 if (var_res
== NULL
) {
1145 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/modelbuilder.nit", 207);
1148 var70
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_model__MProperty__full_name
]))(var_res
) /* full_name on <var_res:nullable MProperty>*/;
1150 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
1151 { /* var71 = array_instance Array[Object] */
1153 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
1154 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var50
;
1155 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var_name
;
1156 ((struct instance_array__NativeArray
*)var73
)->values
[2] = (val
*) var55
;
1157 ((struct instance_array__NativeArray
*)var73
)->values
[3] = (val
*) var_mtype
;
1158 ((struct instance_array__NativeArray
*)var73
)->values
[4] = (val
*) var60
;
1159 ((struct instance_array__NativeArray
*)var73
)->values
[5] = (val
*) var64
;
1160 ((struct instance_array__NativeArray
*)var73
)->values
[6] = (val
*) var66
;
1161 ((struct instance_array__NativeArray
*)var73
)->values
[7] = (val
*) var70
;
1162 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
1163 CHECK_NEW_array__Array(var71
);
1165 var74
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
1166 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var74
) /* error on <self:ModelBuilder>*/;
1172 CONTINUE_label76
: (void)0;
1173 ((void (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var40
) /* next on <var40:Iterator[nullable Object]>*/;
1175 BREAK_label76
: (void)0;
1178 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>*/;
1179 ((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]>*/;
1185 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2 for (self: Object, ANode, MModule, MType, String): nullable MProperty */
1186 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1187 val
* var
/* : nullable MProperty */;
1188 val
* var1
/* : nullable MProperty */;
1189 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(self
, p0
, p1
, p2
, p3
);
1194 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache for (self: ModelBuilder): HashMap3[MModule, MType, String, nullable MProperty] */
1195 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(val
* self
) {
1196 val
* var
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1197 val
* var1
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1198 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtry_get_mproperty_by_name2_cache
].val
; /* @try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
1200 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @try_get_mproperty_by_name2_cache", "src/modelbuilder.nit", 217);
1207 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache for (self: Object): HashMap3[MModule, MType, String, nullable MProperty] */
1208 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(val
* self
) {
1209 val
* var
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1210 val
* var1
/* : HashMap3[MModule, MType, String, nullable MProperty] */;
1211 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache(self
);
1216 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache= for (self: ModelBuilder, HashMap3[MModule, MType, String, nullable MProperty]) */
1217 void modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache_61d(val
* self
, val
* p0
) {
1218 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dtry_get_mproperty_by_name2_cache
].val
= p0
; /* @try_get_mproperty_by_name2_cache on <self:ModelBuilder> */
1221 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name2_cache= for (self: Object, HashMap3[MModule, MType, String, nullable MProperty]) */
1222 void VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache_61d(val
* self
, val
* p0
) {
1223 modelbuilder__ModelBuilder__try_get_mproperty_by_name2_cache_61d(self
, p0
);
1226 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name for (self: ModelBuilder, ANode, MClassDef, String): nullable MProperty */
1227 val
* modelbuilder__ModelBuilder__try_get_mproperty_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1228 val
* var
/* : nullable MProperty */;
1229 val
* var_anode
/* var anode: ANode */;
1230 val
* var_mclassdef
/* var mclassdef: MClassDef */;
1231 val
* var_name
/* var name: String */;
1232 val
* var1
/* : MModule */;
1233 val
* var2
/* : MClassType */;
1234 val
* var3
/* : nullable MProperty */;
1238 var1
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_mclassdef
) /* mmodule on <var_mclassdef:MClassDef>*/;
1239 var2
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_mclassdef
) /* bound_mtype on <var_mclassdef:MClassDef>*/;
1240 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>*/;
1246 /* method modelbuilder#ModelBuilder#try_get_mproperty_by_name for (self: Object, ANode, MClassDef, String): nullable MProperty */
1247 val
* VIRTUAL_modelbuilder__ModelBuilder__try_get_mproperty_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1248 val
* var
/* : nullable MProperty */;
1249 val
* var1
/* : nullable MProperty */;
1250 var1
= modelbuilder__ModelBuilder__try_get_mproperty_by_name(self
, p0
, p1
, p2
);
1255 /* method modelbuilder#ModelBuilder#paths for (self: ModelBuilder): Array[String] */
1256 val
* modelbuilder__ModelBuilder__paths(val
* self
) {
1257 val
* var
/* : Array[String] */;
1258 val
* var1
/* : Array[String] */;
1259 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dpaths
].val
; /* @paths on <self:ModelBuilder> */
1261 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @paths", "src/modelbuilder.nit", 226);
1268 /* method modelbuilder#ModelBuilder#paths for (self: Object): Array[String] */
1269 val
* VIRTUAL_modelbuilder__ModelBuilder__paths(val
* self
) {
1270 val
* var
/* : Array[String] */;
1271 val
* var1
/* : Array[String] */;
1272 var1
= modelbuilder__ModelBuilder__paths(self
);
1277 /* method modelbuilder#ModelBuilder#paths= for (self: ModelBuilder, Array[String]) */
1278 void modelbuilder__ModelBuilder__paths_61d(val
* self
, val
* p0
) {
1279 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dpaths
].val
= p0
; /* @paths on <self:ModelBuilder> */
1282 /* method modelbuilder#ModelBuilder#paths= for (self: Object, Array[String]) */
1283 void VIRTUAL_modelbuilder__ModelBuilder__paths_61d(val
* self
, val
* p0
) {
1284 modelbuilder__ModelBuilder__paths_61d(self
, p0
);
1287 /* method modelbuilder#ModelBuilder#get_mmodule_by_name for (self: ModelBuilder, ANode, nullable MModule, String): nullable MModule */
1288 val
* modelbuilder__ModelBuilder__get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1289 val
* var
/* : nullable MModule */;
1290 val
* var_anode
/* var anode: ANode */;
1291 val
* var_mmodule
/* var mmodule: nullable MModule */;
1292 val
* var_name
/* var name: String */;
1293 val
* var_origmmodule
/* var origmmodule: nullable MModule */;
1294 val
* var1
/* : Model */;
1295 val
* var2
/* : nullable Array[MModule] */;
1296 val
* var_modules
/* var modules: nullable Array[MModule] */;
1297 val
* var3
/* : Array[String] */;
1298 val
* var_tries
/* var tries: Array[String] */;
1299 val
* var_lastmodule
/* var lastmodule: nullable MModule */;
1300 val
* var4
/* : null */;
1301 short int var5
/* : Bool */;
1302 val
* var6
/* : Location */;
1303 val
* var7
/* : nullable SourceFile */;
1304 val
* var8
/* : String */;
1305 val
* var9
/* : String */;
1306 val
* var_dirname
/* var dirname: String */;
1307 static val
* varonce
;
1308 val
* var10
/* : String */;
1309 char* var11
/* : NativeString */;
1310 long var12
/* : Int */;
1311 val
* var13
/* : String */;
1312 val
* var14
/* : String */;
1313 val
* var15
/* : String */;
1314 short int var16
/* : Bool */;
1315 val
* var17
/* : nullable MModule */;
1316 val
* var_owner
/* var owner: nullable MModule */;
1317 val
* var18
/* : null */;
1318 short int var19
/* : Bool */;
1319 val
* var20
/* : Iterator[nullable Object] */;
1320 short int var21
/* : Bool */;
1321 val
* var22
/* : nullable Object */;
1322 val
* var_candidate
/* var candidate: MModule */;
1323 val
* var23
/* : nullable MModule */;
1324 short int var24
/* : Bool */;
1325 static val
* varonce25
;
1326 val
* var26
/* : String */;
1327 char* var27
/* : NativeString */;
1328 long var28
/* : Int */;
1329 val
* var29
/* : String */;
1330 val
* var30
/* : String */;
1331 val
* var31
/* : String */;
1332 static val
* varonce32
;
1333 val
* var33
/* : String */;
1334 char* var34
/* : NativeString */;
1335 long var35
/* : Int */;
1336 val
* var36
/* : String */;
1337 val
* var37
/* : String */;
1338 val
* var_try_file
/* var try_file: String */;
1339 short int var38
/* : Bool */;
1340 val
* var39
/* : String */;
1341 val
* var40
/* : nullable AModule */;
1342 val
* var_res
/* var res: nullable AModule */;
1343 val
* var41
/* : null */;
1344 short int var42
/* : Bool */;
1345 val
* var43
/* : null */;
1346 val
* var44
/* : nullable MModule */;
1347 static val
* varonce45
;
1348 val
* var46
/* : String */;
1349 char* var47
/* : NativeString */;
1350 long var48
/* : Int */;
1351 val
* var49
/* : String */;
1352 val
* var50
/* : String */;
1353 val
* var51
/* : String */;
1354 static val
* varonce52
;
1355 val
* var53
/* : String */;
1356 char* var54
/* : NativeString */;
1357 long var55
/* : Int */;
1358 val
* var56
/* : String */;
1359 val
* var57
/* : String */;
1360 val
* var58
/* : String */;
1361 static val
* varonce59
;
1362 val
* var60
/* : String */;
1363 char* var61
/* : NativeString */;
1364 long var62
/* : Int */;
1365 val
* var63
/* : String */;
1366 val
* var64
/* : String */;
1367 short int var65
/* : Bool */;
1368 val
* var66
/* : String */;
1369 val
* var67
/* : nullable AModule */;
1370 val
* var_res68
/* var res: nullable AModule */;
1371 val
* var69
/* : null */;
1372 short int var70
/* : Bool */;
1373 val
* var71
/* : null */;
1374 val
* var72
/* : nullable MModule */;
1375 val
* var73
/* : nullable MModule */;
1376 val
* var75
/* : null */;
1377 short int var76
/* : Bool */;
1378 val
* var77
/* : Iterator[nullable Object] */;
1379 short int var78
/* : Bool */;
1380 val
* var79
/* : nullable Object */;
1381 val
* var_candidate80
/* var candidate: MModule */;
1382 val
* var81
/* : nullable MModule */;
1383 val
* var82
/* : null */;
1384 short int var83
/* : Bool */;
1385 val
* var85
/* : Array[String] */;
1386 val
* var_lookpaths
/* var lookpaths: Array[String] */;
1387 val
* var86
/* : null */;
1388 short int var87
/* : Bool */;
1389 val
* var88
/* : Location */;
1390 val
* var89
/* : nullable SourceFile */;
1391 val
* var90
/* : String */;
1392 val
* var91
/* : String */;
1393 val
* var_dirname92
/* var dirname: String */;
1394 static val
* varonce93
;
1395 val
* var94
/* : String */;
1396 char* var95
/* : NativeString */;
1397 long var96
/* : Int */;
1398 val
* var97
/* : String */;
1399 val
* var98
/* : String */;
1400 val
* var99
/* : String */;
1401 short int var100
/* : Bool */;
1402 val
* var101
/* : String */;
1403 short int var102
/* : Bool */;
1404 short int var103
/* : Bool */;
1405 val
* var104
/* : Array[nullable Object] */;
1406 val
* var105
/* : null */;
1407 val
* var_candidate106
/* var candidate: nullable String */;
1408 val
* var107
/* : Iterator[nullable Object] */;
1409 short int var108
/* : Bool */;
1410 val
* var109
/* : nullable Object */;
1411 val
* var_dirname110
/* var dirname: String */;
1412 static val
* varonce111
;
1413 val
* var112
/* : String */;
1414 char* var113
/* : NativeString */;
1415 long var114
/* : Int */;
1416 val
* var115
/* : String */;
1417 val
* var116
/* : String */;
1418 val
* var117
/* : String */;
1419 static val
* varonce118
;
1420 val
* var119
/* : String */;
1421 char* var120
/* : NativeString */;
1422 long var121
/* : Int */;
1423 val
* var122
/* : String */;
1424 val
* var123
/* : String */;
1425 val
* var124
/* : String */;
1426 val
* var_try_file125
/* var try_file: String */;
1427 short int var126
/* : Bool */;
1428 val
* var127
/* : null */;
1429 short int var128
/* : Bool */;
1430 short int var129
/* : Bool */;
1431 val
* var130
/* : String */;
1432 val
* var_abs_candidate
/* var abs_candidate: String */;
1433 val
* var131
/* : String */;
1434 val
* var_abs_try_file
/* var abs_try_file: String */;
1435 short int var132
/* : Bool */;
1436 static val
* varonce133
;
1437 val
* var134
/* : String */;
1438 char* var135
/* : NativeString */;
1439 long var136
/* : Int */;
1440 val
* var137
/* : String */;
1441 static val
* varonce138
;
1442 val
* var139
/* : String */;
1443 char* var140
/* : NativeString */;
1444 long var141
/* : Int */;
1445 val
* var142
/* : String */;
1446 static val
* varonce143
;
1447 val
* var144
/* : String */;
1448 char* var145
/* : NativeString */;
1449 long var146
/* : Int */;
1450 val
* var147
/* : String */;
1451 val
* var148
/* : Array[Object] */;
1452 long var149
/* : Int */;
1453 val
* var150
/* : NativeArray[Object] */;
1454 val
* var151
/* : String */;
1455 static val
* varonce152
;
1456 val
* var153
/* : String */;
1457 char* var154
/* : NativeString */;
1458 long var155
/* : Int */;
1459 val
* var156
/* : String */;
1460 val
* var157
/* : String */;
1461 val
* var158
/* : String */;
1462 static val
* varonce159
;
1463 val
* var160
/* : String */;
1464 char* var161
/* : NativeString */;
1465 long var162
/* : Int */;
1466 val
* var163
/* : String */;
1467 val
* var164
/* : String */;
1468 val
* var165
/* : String */;
1469 static val
* varonce166
;
1470 val
* var167
/* : String */;
1471 char* var168
/* : NativeString */;
1472 long var169
/* : Int */;
1473 val
* var170
/* : String */;
1474 val
* var171
/* : String */;
1475 val
* var172
/* : String */;
1476 short int var173
/* : Bool */;
1477 val
* var174
/* : null */;
1478 short int var175
/* : Bool */;
1479 short int var176
/* : Bool */;
1480 val
* var177
/* : String */;
1481 val
* var_abs_candidate178
/* var abs_candidate: String */;
1482 val
* var179
/* : String */;
1483 val
* var_abs_try_file180
/* var abs_try_file: String */;
1484 short int var181
/* : Bool */;
1485 static val
* varonce182
;
1486 val
* var183
/* : String */;
1487 char* var184
/* : NativeString */;
1488 long var185
/* : Int */;
1489 val
* var186
/* : String */;
1490 static val
* varonce187
;
1491 val
* var188
/* : String */;
1492 char* var189
/* : NativeString */;
1493 long var190
/* : Int */;
1494 val
* var191
/* : String */;
1495 static val
* varonce192
;
1496 val
* var193
/* : String */;
1497 char* var194
/* : NativeString */;
1498 long var195
/* : Int */;
1499 val
* var196
/* : String */;
1500 val
* var197
/* : Array[Object] */;
1501 long var198
/* : Int */;
1502 val
* var199
/* : NativeArray[Object] */;
1503 val
* var200
/* : String */;
1504 val
* var202
/* : null */;
1505 short int var203
/* : Bool */;
1506 val
* var204
/* : null */;
1507 short int var205
/* : Bool */;
1508 static val
* varonce206
;
1509 val
* var207
/* : String */;
1510 char* var208
/* : NativeString */;
1511 long var209
/* : Int */;
1512 val
* var210
/* : String */;
1513 static val
* varonce211
;
1514 val
* var212
/* : String */;
1515 char* var213
/* : NativeString */;
1516 long var214
/* : Int */;
1517 val
* var215
/* : String */;
1518 static val
* varonce216
;
1519 val
* var217
/* : String */;
1520 char* var218
/* : NativeString */;
1521 long var219
/* : Int */;
1522 val
* var220
/* : String */;
1523 static val
* varonce221
;
1524 val
* var222
/* : String */;
1525 char* var223
/* : NativeString */;
1526 long var224
/* : Int */;
1527 val
* var225
/* : String */;
1528 val
* var226
/* : String */;
1529 val
* var227
/* : Array[Object] */;
1530 long var228
/* : Int */;
1531 val
* var229
/* : NativeArray[Object] */;
1532 val
* var230
/* : String */;
1533 static val
* varonce231
;
1534 val
* var232
/* : String */;
1535 char* var233
/* : NativeString */;
1536 long var234
/* : Int */;
1537 val
* var235
/* : String */;
1538 static val
* varonce236
;
1539 val
* var237
/* : String */;
1540 char* var238
/* : NativeString */;
1541 long var239
/* : Int */;
1542 val
* var240
/* : String */;
1543 static val
* varonce241
;
1544 val
* var242
/* : String */;
1545 char* var243
/* : NativeString */;
1546 long var244
/* : Int */;
1547 val
* var245
/* : String */;
1548 val
* var246
/* : String */;
1549 val
* var247
/* : Array[Object] */;
1550 long var248
/* : Int */;
1551 val
* var249
/* : NativeArray[Object] */;
1552 val
* var250
/* : String */;
1553 val
* var251
/* : null */;
1554 val
* var252
/* : nullable AModule */;
1555 val
* var_res253
/* var res: nullable AModule */;
1556 val
* var254
/* : null */;
1557 short int var255
/* : Bool */;
1558 val
* var256
/* : null */;
1559 val
* var257
/* : nullable MModule */;
1563 var_origmmodule
= var_mmodule
;
1564 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
1565 var2
= ((val
* (*)(val
*, val
*))(var1
->class->vft
[COLOR_model_base__Model__get_mmodules_by_name
]))(var1
, var_name
) /* get_mmodules_by_name on <var1:Model>*/;
1567 var3
= NEW_array__Array(&type_array__Arraystring__String
);
1568 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[String]>*/;
1569 CHECK_NEW_array__Array(var3
);
1571 var_lastmodule
= var_mmodule
;
1574 if (var_mmodule
== NULL
) {
1575 var5
= 0; /* is null */
1577 var5
= 1; /* arg is null and recv is not */
1580 var6
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__location
]))(var_mmodule
) /* location on <var_mmodule:nullable MModule(MModule)>*/;
1581 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_location__Location__file
]))(var6
) /* file on <var6:Location>*/;
1583 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/modelbuilder.nit", 248);
1586 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_location__SourceFile__filename
]))(var7
) /* filename on <var7:nullable SourceFile>*/;
1588 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_file__String__dirname
]))(var8
) /* dirname on <var8:String>*/;
1595 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1599 var14
= ((val
* (*)(val
*, val
*))(var_dirname
->class->vft
[COLOR_file__String__basename
]))(var_dirname
, var10
) /* basename on <var_dirname:String>*/;
1600 var15
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__name
]))(var_mmodule
) /* name on <var_mmodule:nullable MModule(MModule)>*/;
1601 var16
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var14
, var15
) /* != on <var14:String>*/;
1603 var17
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__direct_owner
]))(var_mmodule
) /* direct_owner on <var_mmodule:nullable MModule(MModule)>*/;
1606 var_owner
= var_mmodule
;
1609 if (var_modules
== NULL
) {
1610 var19
= 0; /* is null */
1612 var19
= 1; /* arg is null and recv is not */
1615 var20
= ((val
* (*)(val
*))(var_modules
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_modules
) /* iterator on <var_modules:nullable Array[MModule](Array[MModule])>*/;
1617 var21
= ((short int (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var20
) /* is_ok on <var20:Iterator[nullable Object]>*/;
1619 var22
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var20
) /* item on <var20:Iterator[nullable Object]>*/;
1620 var_candidate
= var22
;
1621 var23
= ((val
* (*)(val
*))(var_candidate
->class->vft
[COLOR_model_base__MModule__direct_owner
]))(var_candidate
) /* direct_owner on <var_candidate:MModule>*/;
1622 if (var23
== NULL
) {
1623 var24
= (var_owner
== NULL
);
1625 var24
= ((short int (*)(val
*, val
*))(var23
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var23
, var_owner
) /* == on <var23:nullable MModule>*/;
1628 var
= var_candidate
;
1632 CONTINUE_label
: (void)0;
1633 ((void (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var20
) /* next on <var20:Iterator[nullable Object]>*/;
1635 BREAK_label
: (void)0;
1643 var29
= string__NativeString__to_s_with_length(var27
, var28
);
1647 var30
= ((val
* (*)(val
*, val
*))(var_dirname
->class->vft
[COLOR_string__String___43d
]))(var_dirname
, var26
) /* + on <var_dirname:String>*/;
1648 var31
= ((val
* (*)(val
*, val
*))(var30
->class->vft
[COLOR_string__String___43d
]))(var30
, var_name
) /* + on <var30:String>*/;
1654 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1658 var37
= ((val
* (*)(val
*, val
*))(var31
->class->vft
[COLOR_string__String___43d
]))(var31
, var33
) /* + on <var31:String>*/;
1659 var_try_file
= var37
;
1660 ((void (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tries
, var_try_file
) /* add on <var_tries:Array[String]>*/;
1661 var38
= ((short int (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file
) /* file_exists on <var_try_file:String>*/;
1663 var39
= ((val
* (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__simplify_path
]))(var_try_file
) /* simplify_path on <var_try_file:String>*/;
1664 var40
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var_owner
, var39
) /* load_module on <self:ModelBuilder>*/;
1667 if (var_res
== NULL
) {
1668 var42
= 1; /* is null */
1670 var42
= 0; /* arg is null but recv is not */
1678 var44
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_res
) /* mmodule on <var_res:nullable AModule(AModule)>*/;
1679 if (var44
== NULL
) {
1680 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/modelbuilder.nit", 273);
1692 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1696 var50
= ((val
* (*)(val
*, val
*))(var_dirname
->class->vft
[COLOR_string__String___43d
]))(var_dirname
, var46
) /* + on <var_dirname:String>*/;
1697 var51
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_string__String___43d
]))(var50
, var_name
) /* + on <var50:String>*/;
1703 var56
= string__NativeString__to_s_with_length(var54
, var55
);
1707 var57
= ((val
* (*)(val
*, val
*))(var51
->class->vft
[COLOR_string__String___43d
]))(var51
, var53
) /* + on <var51:String>*/;
1708 var58
= ((val
* (*)(val
*, val
*))(var57
->class->vft
[COLOR_string__String___43d
]))(var57
, var_name
) /* + on <var57:String>*/;
1714 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1718 var64
= ((val
* (*)(val
*, val
*))(var58
->class->vft
[COLOR_string__String___43d
]))(var58
, var60
) /* + on <var58:String>*/;
1719 var_try_file
= var64
;
1720 var65
= ((short int (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file
) /* file_exists on <var_try_file:String>*/;
1722 var66
= ((val
* (*)(val
*))(var_try_file
->class->vft
[COLOR_file__String__simplify_path
]))(var_try_file
) /* simplify_path on <var_try_file:String>*/;
1723 var67
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var_owner
, var66
) /* load_module on <self:ModelBuilder>*/;
1726 if (var_res68
== NULL
) {
1727 var70
= 1; /* is null */
1729 var70
= 0; /* arg is null but recv is not */
1737 var72
= ((val
* (*)(val
*))(var_res68
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_res68
) /* mmodule on <var_res68:nullable AModule(AModule)>*/;
1738 if (var72
== NULL
) {
1739 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/modelbuilder.nit", 281);
1746 var_lastmodule
= var_mmodule
;
1747 var73
= ((val
* (*)(val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__direct_owner
]))(var_mmodule
) /* direct_owner on <var_mmodule:nullable MModule(MModule)>*/;
1748 var_mmodule
= var73
;
1749 CONTINUE_label74
: (void)0;
1751 BREAK_label74
: (void)0;
1753 if (var_modules
== NULL
) {
1754 var76
= 0; /* is null */
1756 var76
= 1; /* arg is null and recv is not */
1759 var77
= ((val
* (*)(val
*))(var_modules
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_modules
) /* iterator on <var_modules:nullable Array[MModule](Array[MModule])>*/;
1761 var78
= ((short int (*)(val
*))(var77
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var77
) /* is_ok on <var77:Iterator[nullable Object]>*/;
1763 var79
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var77
) /* item on <var77:Iterator[nullable Object]>*/;
1764 var_candidate80
= var79
;
1765 var81
= ((val
* (*)(val
*))(var_candidate80
->class->vft
[COLOR_model_base__MModule__direct_owner
]))(var_candidate80
) /* direct_owner on <var_candidate80:MModule>*/;
1767 if (var81
== NULL
) {
1768 var83
= 1; /* is null */
1770 var83
= 0; /* arg is null but recv is not */
1773 var
= var_candidate80
;
1777 CONTINUE_label84
: (void)0;
1778 ((void (*)(val
*))(var77
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var77
) /* next on <var77:Iterator[nullable Object]>*/;
1780 BREAK_label84
: (void)0;
1783 var85
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__paths
]))(self
) /* paths on <self:ModelBuilder>*/;
1784 var_lookpaths
= var85
;
1786 if (var_lastmodule
== NULL
) {
1787 var87
= 0; /* is null */
1789 var87
= 1; /* arg is null and recv is not */
1792 var88
= ((val
* (*)(val
*))(var_lastmodule
->class->vft
[COLOR_model_base__MModule__location
]))(var_lastmodule
) /* location on <var_lastmodule:nullable MModule(MModule)>*/;
1793 var89
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_location__Location__file
]))(var88
) /* file on <var88:Location>*/;
1794 if (var89
== NULL
) {
1795 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/modelbuilder.nit", 301);
1798 var90
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_location__SourceFile__filename
]))(var89
) /* filename on <var89:nullable SourceFile>*/;
1800 var91
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_file__String__dirname
]))(var90
) /* dirname on <var90:String>*/;
1801 var_dirname92
= var91
;
1807 var97
= string__NativeString__to_s_with_length(var95
, var96
);
1811 var98
= ((val
* (*)(val
*, val
*))(var_dirname92
->class->vft
[COLOR_file__String__basename
]))(var_dirname92
, var94
) /* basename on <var_dirname92:String>*/;
1812 var99
= ((val
* (*)(val
*))(var_lastmodule
->class->vft
[COLOR_model_base__MModule__name
]))(var_lastmodule
) /* name on <var_lastmodule:nullable MModule(MModule)>*/;
1813 var100
= ((short int (*)(val
*, val
*))(var98
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var98
, var99
) /* == on <var98:String>*/;
1815 var101
= ((val
* (*)(val
*))(var_dirname92
->class->vft
[COLOR_file__String__dirname
]))(var_dirname92
) /* dirname on <var_dirname92:String>*/;
1816 var_dirname92
= var101
;
1819 var102
= ((short int (*)(val
*, val
*))(var_lookpaths
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_lookpaths
, var_dirname92
) /* has on <var_lookpaths:Array[String]>*/;
1822 var104
= ((val
* (*)(val
*))(var_lookpaths
->class->vft
[COLOR_array__Collection__to_a
]))(var_lookpaths
) /* to_a on <var_lookpaths:Array[String]>*/;
1823 var_lookpaths
= var104
;
1824 ((void (*)(val
*, val
*))(var_lookpaths
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_lookpaths
, var_dirname92
) /* add on <var_lookpaths:Array[String]>*/;
1830 var_candidate106
= var105
;
1831 var107
= ((val
* (*)(val
*))(var_lookpaths
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_lookpaths
) /* iterator on <var_lookpaths:Array[String]>*/;
1833 var108
= ((short int (*)(val
*))(var107
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var107
) /* is_ok on <var107:Iterator[nullable Object]>*/;
1835 var109
= ((val
* (*)(val
*))(var107
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var107
) /* item on <var107:Iterator[nullable Object]>*/;
1836 var_dirname110
= var109
;
1838 var112
= varonce111
;
1842 var115
= string__NativeString__to_s_with_length(var113
, var114
);
1844 varonce111
= var112
;
1846 var116
= ((val
* (*)(val
*, val
*))(var_dirname110
->class->vft
[COLOR_string__String___43d
]))(var_dirname110
, var112
) /* + on <var_dirname110:String>*/;
1847 var117
= ((val
* (*)(val
*, val
*))(var116
->class->vft
[COLOR_string__String___43d
]))(var116
, var_name
) /* + on <var116:String>*/;
1849 var119
= varonce118
;
1853 var122
= string__NativeString__to_s_with_length(var120
, var121
);
1855 varonce118
= var119
;
1857 var123
= ((val
* (*)(val
*, val
*))(var117
->class->vft
[COLOR_string__String___43d
]))(var117
, var119
) /* + on <var117:String>*/;
1858 var124
= ((val
* (*)(val
*))(var123
->class->vft
[COLOR_file__String__simplify_path
]))(var123
) /* simplify_path on <var123:String>*/;
1859 var_try_file125
= var124
;
1860 ((void (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tries
, var_try_file125
) /* add on <var_tries:Array[String]>*/;
1861 var126
= ((short int (*)(val
*))(var_try_file125
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file125
) /* file_exists on <var_try_file125:String>*/;
1864 if (var_candidate106
== NULL
) {
1865 var128
= 1; /* is null */
1867 var128
= 0; /* arg is null but recv is not */
1870 var_candidate106
= var_try_file125
;
1872 var129
= ((short int (*)(val
*, val
*))(var_candidate106
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_candidate106
, var_try_file125
) /* != on <var_candidate106:nullable String(String)>*/;
1874 var130
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_candidate106
) /* module_absolute_path on <self:ModelBuilder>*/;
1875 var_abs_candidate
= var130
;
1876 var131
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_try_file125
) /* module_absolute_path on <self:ModelBuilder>*/;
1877 var_abs_try_file
= var131
;
1878 var132
= ((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>*/;
1881 var134
= varonce133
;
1883 var135
= "Error: conflicting module file for ";
1885 var137
= string__NativeString__to_s_with_length(var135
, var136
);
1887 varonce133
= var134
;
1890 var139
= varonce138
;
1894 var142
= string__NativeString__to_s_with_length(var140
, var141
);
1896 varonce138
= var139
;
1899 var144
= varonce143
;
1903 var147
= string__NativeString__to_s_with_length(var145
, var146
);
1905 varonce143
= var144
;
1907 var148
= NEW_array__Array(&type_array__Arraykernel__Object
);
1908 { /* var148 = array_instance Array[Object] */
1910 var150
= NEW_array__NativeArray(var149
, &type_array__NativeArraykernel__Object
);
1911 ((struct instance_array__NativeArray
*)var150
)->values
[0] = (val
*) var134
;
1912 ((struct instance_array__NativeArray
*)var150
)->values
[1] = (val
*) var_name
;
1913 ((struct instance_array__NativeArray
*)var150
)->values
[2] = (val
*) var139
;
1914 ((struct instance_array__NativeArray
*)var150
)->values
[3] = (val
*) var_candidate106
;
1915 ((struct instance_array__NativeArray
*)var150
)->values
[4] = (val
*) var144
;
1916 ((struct instance_array__NativeArray
*)var150
)->values
[5] = (val
*) var_try_file125
;
1917 ((void (*)(val
*, val
*, long))(var148
->class->vft
[COLOR_array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
1918 CHECK_NEW_array__Array(var148
);
1920 var151
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
1921 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var151
) /* error on <self:ModelBuilder>*/;
1930 var153
= varonce152
;
1934 var156
= string__NativeString__to_s_with_length(var154
, var155
);
1936 varonce152
= var153
;
1938 var157
= ((val
* (*)(val
*, val
*))(var_dirname110
->class->vft
[COLOR_string__String___43d
]))(var_dirname110
, var153
) /* + on <var_dirname110:String>*/;
1939 var158
= ((val
* (*)(val
*, val
*))(var157
->class->vft
[COLOR_string__String___43d
]))(var157
, var_name
) /* + on <var157:String>*/;
1941 var160
= varonce159
;
1945 var163
= string__NativeString__to_s_with_length(var161
, var162
);
1947 varonce159
= var160
;
1949 var164
= ((val
* (*)(val
*, val
*))(var158
->class->vft
[COLOR_string__String___43d
]))(var158
, var160
) /* + on <var158:String>*/;
1950 var165
= ((val
* (*)(val
*, val
*))(var164
->class->vft
[COLOR_string__String___43d
]))(var164
, var_name
) /* + on <var164:String>*/;
1952 var167
= varonce166
;
1956 var170
= string__NativeString__to_s_with_length(var168
, var169
);
1958 varonce166
= var167
;
1960 var171
= ((val
* (*)(val
*, val
*))(var165
->class->vft
[COLOR_string__String___43d
]))(var165
, var167
) /* + on <var165:String>*/;
1961 var172
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_file__String__simplify_path
]))(var171
) /* simplify_path on <var171:String>*/;
1962 var_try_file125
= var172
;
1963 var173
= ((short int (*)(val
*))(var_try_file125
->class->vft
[COLOR_file__String__file_exists
]))(var_try_file125
) /* file_exists on <var_try_file125:String>*/;
1966 if (var_candidate106
== NULL
) {
1967 var175
= 1; /* is null */
1969 var175
= 0; /* arg is null but recv is not */
1972 var_candidate106
= var_try_file125
;
1974 var176
= ((short int (*)(val
*, val
*))(var_candidate106
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_candidate106
, var_try_file125
) /* != on <var_candidate106:nullable String(String)>*/;
1976 var177
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_candidate106
) /* module_absolute_path on <self:ModelBuilder>*/;
1977 var_abs_candidate178
= var177
;
1978 var179
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_try_file125
) /* module_absolute_path on <self:ModelBuilder>*/;
1979 var_abs_try_file180
= var179
;
1980 var181
= ((short int (*)(val
*, val
*))(var_abs_candidate178
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_abs_candidate178
, var_abs_try_file180
) /* != on <var_abs_candidate178:String>*/;
1983 var183
= varonce182
;
1985 var184
= "Error: conflicting module file for ";
1987 var186
= string__NativeString__to_s_with_length(var184
, var185
);
1989 varonce182
= var183
;
1992 var188
= varonce187
;
1996 var191
= string__NativeString__to_s_with_length(var189
, var190
);
1998 varonce187
= var188
;
2001 var193
= varonce192
;
2005 var196
= string__NativeString__to_s_with_length(var194
, var195
);
2007 varonce192
= var193
;
2009 var197
= NEW_array__Array(&type_array__Arraykernel__Object
);
2010 { /* var197 = array_instance Array[Object] */
2012 var199
= NEW_array__NativeArray(var198
, &type_array__NativeArraykernel__Object
);
2013 ((struct instance_array__NativeArray
*)var199
)->values
[0] = (val
*) var183
;
2014 ((struct instance_array__NativeArray
*)var199
)->values
[1] = (val
*) var_name
;
2015 ((struct instance_array__NativeArray
*)var199
)->values
[2] = (val
*) var188
;
2016 ((struct instance_array__NativeArray
*)var199
)->values
[3] = (val
*) var_candidate106
;
2017 ((struct instance_array__NativeArray
*)var199
)->values
[4] = (val
*) var193
;
2018 ((struct instance_array__NativeArray
*)var199
)->values
[5] = (val
*) var_try_file125
;
2019 ((void (*)(val
*, val
*, long))(var197
->class->vft
[COLOR_array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
2020 CHECK_NEW_array__Array(var197
);
2022 var200
= ((val
* (*)(val
*))(var197
->class->vft
[COLOR_string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
2023 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var200
) /* error on <self:ModelBuilder>*/;
2031 CONTINUE_label201
: (void)0;
2032 ((void (*)(val
*))(var107
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var107
) /* next on <var107:Iterator[nullable Object]>*/;
2034 BREAK_label201
: (void)0;
2036 if (var_candidate106
== NULL
) {
2037 var203
= 1; /* is null */
2039 var203
= 0; /* arg is null but recv is not */
2043 if (var_origmmodule
== NULL
) {
2044 var205
= 0; /* is null */
2046 var205
= 1; /* arg is null and recv is not */
2050 var207
= varonce206
;
2052 var208
= "Error: cannot find module ";
2054 var210
= string__NativeString__to_s_with_length(var208
, var209
);
2056 varonce206
= var207
;
2059 var212
= varonce211
;
2063 var215
= string__NativeString__to_s_with_length(var213
, var214
);
2065 varonce211
= var212
;
2068 var217
= varonce216
;
2070 var218
= ". tried ";
2072 var220
= string__NativeString__to_s_with_length(var218
, var219
);
2074 varonce216
= var217
;
2077 var222
= varonce221
;
2081 var225
= string__NativeString__to_s_with_length(var223
, var224
);
2083 varonce221
= var222
;
2085 var226
= ((val
* (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_string__Collection__join
]))(var_tries
, var222
) /* join on <var_tries:Array[String]>*/;
2086 var227
= NEW_array__Array(&type_array__Arraykernel__Object
);
2087 { /* var227 = array_instance Array[Object] */
2089 var229
= NEW_array__NativeArray(var228
, &type_array__NativeArraykernel__Object
);
2090 ((struct instance_array__NativeArray
*)var229
)->values
[0] = (val
*) var207
;
2091 ((struct instance_array__NativeArray
*)var229
)->values
[1] = (val
*) var_name
;
2092 ((struct instance_array__NativeArray
*)var229
)->values
[2] = (val
*) var212
;
2093 ((struct instance_array__NativeArray
*)var229
)->values
[3] = (val
*) var_origmmodule
;
2094 ((struct instance_array__NativeArray
*)var229
)->values
[4] = (val
*) var217
;
2095 ((struct instance_array__NativeArray
*)var229
)->values
[5] = (val
*) var226
;
2096 ((void (*)(val
*, val
*, long))(var227
->class->vft
[COLOR_array__Array__with_native
]))(var227
, var229
, var228
) /* with_native on <var227:Array[Object]>*/;
2097 CHECK_NEW_array__Array(var227
);
2099 var230
= ((val
* (*)(val
*))(var227
->class->vft
[COLOR_string__Object__to_s
]))(var227
) /* to_s on <var227:Array[Object]>*/;
2100 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var230
) /* error on <self:ModelBuilder>*/;
2103 var232
= varonce231
;
2105 var233
= "Error: cannot find module ";
2107 var235
= string__NativeString__to_s_with_length(var233
, var234
);
2109 varonce231
= var232
;
2112 var237
= varonce236
;
2114 var238
= ". tried ";
2116 var240
= string__NativeString__to_s_with_length(var238
, var239
);
2118 varonce236
= var237
;
2121 var242
= varonce241
;
2125 var245
= string__NativeString__to_s_with_length(var243
, var244
);
2127 varonce241
= var242
;
2129 var246
= ((val
* (*)(val
*, val
*))(var_tries
->class->vft
[COLOR_string__Collection__join
]))(var_tries
, var242
) /* join on <var_tries:Array[String]>*/;
2130 var247
= NEW_array__Array(&type_array__Arraykernel__Object
);
2131 { /* var247 = array_instance Array[Object] */
2133 var249
= NEW_array__NativeArray(var248
, &type_array__NativeArraykernel__Object
);
2134 ((struct instance_array__NativeArray
*)var249
)->values
[0] = (val
*) var232
;
2135 ((struct instance_array__NativeArray
*)var249
)->values
[1] = (val
*) var_name
;
2136 ((struct instance_array__NativeArray
*)var249
)->values
[2] = (val
*) var237
;
2137 ((struct instance_array__NativeArray
*)var249
)->values
[3] = (val
*) var246
;
2138 ((void (*)(val
*, val
*, long))(var247
->class->vft
[COLOR_array__Array__with_native
]))(var247
, var249
, var248
) /* with_native on <var247:Array[Object]>*/;
2139 CHECK_NEW_array__Array(var247
);
2141 var250
= ((val
* (*)(val
*))(var247
->class->vft
[COLOR_string__Object__to_s
]))(var247
) /* to_s on <var247:Array[Object]>*/;
2142 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_anode
, var250
) /* error on <self:ModelBuilder>*/;
2149 var252
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__load_module
]))(self
, var_mmodule
, var_candidate106
) /* load_module on <self:ModelBuilder>*/;
2150 var_res253
= var252
;
2152 if (var_res253
== NULL
) {
2153 var255
= 1; /* is null */
2155 var255
= 0; /* arg is null but recv is not */
2163 var257
= ((val
* (*)(val
*))(var_res253
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_res253
) /* mmodule on <var_res253:nullable AModule(AModule)>*/;
2164 if (var257
== NULL
) {
2165 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/modelbuilder.nit", 351);
2173 /* method modelbuilder#ModelBuilder#get_mmodule_by_name for (self: Object, ANode, nullable MModule, String): nullable MModule */
2174 val
* VIRTUAL_modelbuilder__ModelBuilder__get_mmodule_by_name(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2175 val
* var
/* : nullable MModule */;
2176 val
* var1
/* : nullable MModule */;
2177 var1
= modelbuilder__ModelBuilder__get_mmodule_by_name(self
, p0
, p1
, p2
);
2182 /* method modelbuilder#ModelBuilder#module_absolute_path for (self: ModelBuilder, String): String */
2183 val
* modelbuilder__ModelBuilder__module_absolute_path(val
* self
, val
* p0
) {
2184 val
* var
/* : String */;
2185 val
* var_path
/* var path: String */;
2186 static val
* varonce
;
2187 val
* var1
/* : String */;
2188 char* var2
/* : NativeString */;
2189 long var3
/* : Int */;
2190 val
* var4
/* : String */;
2191 short int var5
/* : Bool */;
2192 val
* var6
/* : String */;
2193 val
* var7
/* : String */;
2194 val
* var8
/* : String */;
2201 var4
= string__NativeString__to_s_with_length(var2
, var3
);
2205 var5
= ((short int (*)(val
*, val
*))(var_path
->class->vft
[COLOR_string__AbstractString__has_prefix
]))(var_path
, var1
) /* has_prefix on <var_path:String>*/;
2207 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_file__Object__getcwd
]))(self
) /* getcwd on <self:ModelBuilder>*/;
2208 var7
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_file__String__join_path
]))(var6
, var_path
) /* join_path on <var6:String>*/;
2209 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_file__String__simplify_path
]))(var7
) /* simplify_path on <var7:String>*/;
2219 /* method modelbuilder#ModelBuilder#module_absolute_path for (self: Object, String): String */
2220 val
* VIRTUAL_modelbuilder__ModelBuilder__module_absolute_path(val
* self
, val
* p0
) {
2221 val
* var
/* : String */;
2222 val
* var1
/* : String */;
2223 var1
= modelbuilder__ModelBuilder__module_absolute_path(self
, p0
);
2228 /* method modelbuilder#ModelBuilder#loaded_nmodules for (self: ModelBuilder): HashMap[String, AModule] */
2229 val
* modelbuilder__ModelBuilder__loaded_nmodules(val
* self
) {
2230 val
* var
/* : HashMap[String, AModule] */;
2231 val
* var1
/* : HashMap[String, AModule] */;
2232 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dloaded_nmodules
].val
; /* @loaded_nmodules on <self:ModelBuilder> */
2234 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @loaded_nmodules", "src/modelbuilder.nit", 362);
2241 /* method modelbuilder#ModelBuilder#loaded_nmodules for (self: Object): HashMap[String, AModule] */
2242 val
* VIRTUAL_modelbuilder__ModelBuilder__loaded_nmodules(val
* self
) {
2243 val
* var
/* : HashMap[String, AModule] */;
2244 val
* var1
/* : HashMap[String, AModule] */;
2245 var1
= modelbuilder__ModelBuilder__loaded_nmodules(self
);
2250 /* method modelbuilder#ModelBuilder#loaded_nmodules= for (self: ModelBuilder, HashMap[String, AModule]) */
2251 void modelbuilder__ModelBuilder__loaded_nmodules_61d(val
* self
, val
* p0
) {
2252 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dloaded_nmodules
].val
= p0
; /* @loaded_nmodules on <self:ModelBuilder> */
2255 /* method modelbuilder#ModelBuilder#loaded_nmodules= for (self: Object, HashMap[String, AModule]) */
2256 void VIRTUAL_modelbuilder__ModelBuilder__loaded_nmodules_61d(val
* self
, val
* p0
) {
2257 modelbuilder__ModelBuilder__loaded_nmodules_61d(self
, p0
);
2260 /* method modelbuilder#ModelBuilder#load_module for (self: ModelBuilder, nullable MModule, String): nullable AModule */
2261 val
* modelbuilder__ModelBuilder__load_module(val
* self
, val
* p0
, val
* p1
) {
2262 val
* var
/* : nullable AModule */;
2263 val
* var_owner
/* var owner: nullable MModule */;
2264 val
* var_filename
/* var filename: String */;
2265 val
* var1
/* : nullable String */;
2266 static val
* varonce
;
2267 val
* var2
/* : String */;
2268 char* var3
/* : NativeString */;
2269 long var4
/* : Int */;
2270 val
* var5
/* : String */;
2271 short int var6
/* : Bool */;
2272 val
* var7
/* : ToolContext */;
2273 val
* var8
/* : null */;
2274 static val
* varonce9
;
2275 val
* var10
/* : String */;
2276 char* var11
/* : NativeString */;
2277 long var12
/* : Int */;
2278 val
* var13
/* : String */;
2279 static val
* varonce14
;
2280 val
* var15
/* : String */;
2281 char* var16
/* : NativeString */;
2282 long var17
/* : Int */;
2283 val
* var18
/* : String */;
2284 val
* var19
/* : Array[Object] */;
2285 long var20
/* : Int */;
2286 val
* var21
/* : NativeArray[Object] */;
2287 val
* var22
/* : String */;
2288 val
* var23
/* : null */;
2289 short int var24
/* : Bool */;
2290 short int var25
/* : Bool */;
2291 val
* var26
/* : ToolContext */;
2292 val
* var27
/* : null */;
2293 static val
* varonce28
;
2294 val
* var29
/* : String */;
2295 char* var30
/* : NativeString */;
2296 long var31
/* : Int */;
2297 val
* var32
/* : String */;
2298 static val
* varonce33
;
2299 val
* var34
/* : String */;
2300 char* var35
/* : NativeString */;
2301 long var36
/* : Int */;
2302 val
* var37
/* : String */;
2303 val
* var38
/* : Array[Object] */;
2304 long var39
/* : Int */;
2305 val
* var40
/* : NativeArray[Object] */;
2306 val
* var41
/* : String */;
2307 val
* var42
/* : null */;
2308 val
* var43
/* : String */;
2309 val
* var_module_path
/* var module_path: String */;
2310 val
* var44
/* : HashMap[String, AModule] */;
2311 val
* var45
/* : Collection[Object] */;
2312 short int var46
/* : Bool */;
2313 val
* var47
/* : HashMap[String, AModule] */;
2314 val
* var48
/* : nullable Object */;
2315 val
* var49
/* : String */;
2316 val
* var50
/* : null */;
2317 short int var51
/* : Bool */;
2318 val
* var52
/* : String */;
2319 static val
* varonce53
;
2320 val
* var54
/* : String */;
2321 char* var55
/* : NativeString */;
2322 long var56
/* : Int */;
2323 val
* var57
/* : String */;
2324 val
* var_x
/* var x: String */;
2325 val
* var58
/* : ToolContext */;
2326 static val
* varonce59
;
2327 val
* var60
/* : String */;
2328 char* var61
/* : NativeString */;
2329 long var62
/* : Int */;
2330 val
* var63
/* : String */;
2331 static val
* varonce64
;
2332 val
* var65
/* : String */;
2333 char* var66
/* : NativeString */;
2334 long var67
/* : Int */;
2335 val
* var68
/* : String */;
2336 val
* var69
/* : Array[Object] */;
2337 long var70
/* : Int */;
2338 val
* var71
/* : NativeArray[Object] */;
2339 val
* var72
/* : String */;
2340 long var73
/* : Int */;
2341 val
* var74
/* : IFStream */;
2342 val
* var_file
/* var file: IFStream */;
2343 val
* var75
/* : Lexer */;
2344 val
* var76
/* : SourceFile */;
2345 val
* var_lexer
/* var lexer: Lexer */;
2346 val
* var77
/* : Parser */;
2347 val
* var_parser
/* var parser: Parser */;
2348 val
* var78
/* : Start */;
2349 val
* var_tree
/* var tree: Start */;
2350 val
* var79
/* : nullable AModule */;
2351 val
* var_nmodule
/* var nmodule: nullable AModule */;
2352 val
* var80
/* : null */;
2353 short int var81
/* : Bool */;
2354 val
* var82
/* : EOF */;
2355 val
* var_neof
/* var neof: EOF */;
2356 short int var83
/* : Bool */;
2359 val
* var84
/* : String */;
2360 val
* var85
/* : null */;
2361 static val
* varonce86
;
2362 val
* var87
/* : String */;
2363 char* var88
/* : NativeString */;
2364 long var89
/* : Int */;
2365 val
* var90
/* : String */;
2366 val
* var91
/* : String */;
2367 val
* var_mod_name
/* var mod_name: String */;
2368 val
* var92
/* : nullable AModuledecl */;
2369 val
* var_decl
/* var decl: nullable AModuledecl */;
2370 val
* var93
/* : null */;
2371 short int var94
/* : Bool */;
2372 val
* var95
/* : AModuleName */;
2373 val
* var96
/* : TId */;
2374 val
* var97
/* : String */;
2375 val
* var_decl_name
/* var decl_name: String */;
2376 short int var98
/* : Bool */;
2377 val
* var99
/* : AModuleName */;
2378 static val
* varonce100
;
2379 val
* var101
/* : String */;
2380 char* var102
/* : NativeString */;
2381 long var103
/* : Int */;
2382 val
* var104
/* : String */;
2383 static val
* varonce105
;
2384 val
* var106
/* : String */;
2385 char* var107
/* : NativeString */;
2386 long var108
/* : Int */;
2387 val
* var109
/* : String */;
2388 val
* var110
/* : Array[Object] */;
2389 long var111
/* : Int */;
2390 val
* var112
/* : NativeArray[Object] */;
2391 val
* var113
/* : String */;
2392 val
* var114
/* : MModule */;
2393 val
* var115
/* : Model */;
2394 val
* var116
/* : Location */;
2395 val
* var_mmodule
/* var mmodule: MModule */;
2396 val
* var117
/* : Array[AModule] */;
2397 val
* var118
/* : HashMap[MModule, AModule] */;
2398 val
* var119
/* : HashMap[String, AModule] */;
2401 var1
= ((val
* (*)(val
*))(var_filename
->class->vft
[COLOR_file__String__file_extension
]))(var_filename
) /* file_extension on <var_filename:String>*/;
2407 var5
= string__NativeString__to_s_with_length(var3
, var4
);
2412 var6
= 1; /* <var2:String> cannot be null */
2414 var6
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var1
, var2
) /* != on <var1:nullable String>*/;
2417 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2422 var11
= "Error: file ";
2424 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2431 var16
= " is not a valid nit module.";
2433 var18
= string__NativeString__to_s_with_length(var16
, var17
);
2437 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
2438 { /* var19 = array_instance Array[Object] */
2440 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
2441 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
2442 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_filename
;
2443 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
2444 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
2445 CHECK_NEW_array__Array(var19
);
2447 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
2448 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var7
, var8
, var22
) /* error on <var7:ToolContext>*/;
2454 var24
= ((short int (*)(val
*))(var_filename
->class->vft
[COLOR_file__String__file_exists
]))(var_filename
) /* file_exists on <var_filename:String>*/;
2457 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2462 var30
= "Error: file ";
2464 var32
= string__NativeString__to_s_with_length(var30
, var31
);
2471 var35
= " not found.";
2473 var37
= string__NativeString__to_s_with_length(var35
, var36
);
2477 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
2478 { /* var38 = array_instance Array[Object] */
2480 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
2481 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var29
;
2482 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var_filename
;
2483 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
2484 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
2485 CHECK_NEW_array__Array(var38
);
2487 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
2488 ((void (*)(val
*, val
*, val
*))(var26
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var26
, var27
, var41
) /* error on <var26:ToolContext>*/;
2494 var43
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__module_absolute_path
]))(self
, var_filename
) /* module_absolute_path on <self:ModelBuilder>*/;
2495 var_module_path
= var43
;
2496 var44
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__loaded_nmodules
]))(self
) /* loaded_nmodules on <self:ModelBuilder>*/;
2497 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var44
) /* keys on <var44:HashMap[String, AModule]>*/;
2498 var46
= ((short int (*)(val
*, val
*))(var45
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var45
, var_module_path
) /* has on <var45:Collection[Object](HashMapKeys[String, AModule])>*/;
2500 var47
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__loaded_nmodules
]))(self
) /* loaded_nmodules on <self:ModelBuilder>*/;
2501 var48
= ((val
* (*)(val
*, val
*))(var47
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var47
, var_module_path
) /* [] on <var47:HashMap[String, AModule]>*/;
2507 if (var_owner
== NULL
) {
2508 var51
= 0; /* is null */
2510 var51
= 1; /* arg is null and recv is not */
2513 var52
= ((val
* (*)(val
*))(var_owner
->class->vft
[COLOR_string__Object__to_s
]))(var_owner
) /* to_s on <var_owner:nullable MModule(MModule)>*/;
2521 var57
= string__NativeString__to_s_with_length(var55
, var56
);
2528 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2532 var61
= "load module ";
2534 var63
= string__NativeString__to_s_with_length(var61
, var62
);
2543 var68
= string__NativeString__to_s_with_length(var66
, var67
);
2547 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
2548 { /* var69 = array_instance Array[Object] */
2550 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
2551 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
2552 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var_filename
;
2553 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
2554 ((struct instance_array__NativeArray
*)var71
)->values
[3] = (val
*) var_x
;
2555 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
2556 CHECK_NEW_array__Array(var69
);
2558 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
2560 ((void (*)(val
*, val
*, long))(var58
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var58
, var72
, var73
) /* info on <var58:ToolContext>*/;
2561 var74
= NEW_file__IFStream(&type_file__IFStream
);
2562 ((void (*)(val
*, val
*))(var74
->class->vft
[COLOR_file__IFStream__open
]))(var74
, var_filename
) /* open on <var74:IFStream>*/;
2563 CHECK_NEW_file__IFStream(var74
);
2565 var75
= NEW_lexer__Lexer(&type_lexer__Lexer
);
2566 var76
= NEW_location__SourceFile(&type_location__SourceFile
);
2567 ((void (*)(val
*, val
*, val
*))(var76
->class->vft
[COLOR_location__SourceFile__init
]))(var76
, var_filename
, var_file
) /* init on <var76:SourceFile>*/;
2568 CHECK_NEW_location__SourceFile(var76
);
2569 ((void (*)(val
*, val
*))(var75
->class->vft
[COLOR_lexer__Lexer__init
]))(var75
, var76
) /* init on <var75:Lexer>*/;
2570 CHECK_NEW_lexer__Lexer(var75
);
2572 var77
= NEW_parser__Parser(&type_parser__Parser
);
2573 ((void (*)(val
*, val
*))(var77
->class->vft
[COLOR_parser__Parser__init
]))(var77
, var_lexer
) /* init on <var77:Parser>*/;
2574 CHECK_NEW_parser__Parser(var77
);
2576 var78
= ((val
* (*)(val
*))(var_parser
->class->vft
[COLOR_parser__Parser__parse
]))(var_parser
) /* parse on <var_parser:Parser>*/;
2578 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:IFStream>*/;
2579 var79
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_base
]))(var_tree
) /* n_base on <var_tree:Start>*/;
2580 var_nmodule
= var79
;
2582 if (var_nmodule
== NULL
) {
2583 var81
= 1; /* is null */
2585 var81
= 0; /* arg is null but recv is not */
2588 var82
= ((val
* (*)(val
*))(var_tree
->class->vft
[COLOR_parser_nodes__Start__n_eof
]))(var_tree
) /* n_eof on <var_tree:Start>*/;
2590 /* <var_neof:EOF> isa AError */
2591 cltype
= type_parser_nodes__AError
.color
;
2592 idtype
= type_parser_nodes__AError
.id
;
2593 if(cltype
>= var_neof
->type
->table_size
) {
2596 var83
= var_neof
->type
->type_table
[cltype
] == idtype
;
2599 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/modelbuilder.nit", 398);
2602 var84
= ((val
* (*)(val
*))(var_neof
->class->vft
[COLOR_lexer__AError__message
]))(var_neof
) /* message on <var_neof:EOF(AError)>*/;
2603 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var_neof
, var84
) /* error on <self:ModelBuilder>*/;
2614 var90
= string__NativeString__to_s_with_length(var88
, var89
);
2618 var91
= ((val
* (*)(val
*, val
*))(var_filename
->class->vft
[COLOR_file__String__basename
]))(var_filename
, var87
) /* basename on <var_filename:String>*/;
2619 var_mod_name
= var91
;
2620 var92
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_moduledecl
]))(var_nmodule
) /* n_moduledecl on <var_nmodule:nullable AModule(AModule)>*/;
2623 if (var_decl
== NULL
) {
2624 var94
= 1; /* is null */
2626 var94
= 0; /* arg is null but recv is not */
2630 var95
= ((val
* (*)(val
*))(var_decl
->class->vft
[COLOR_parser_nodes__AModuledecl__n_name
]))(var_decl
) /* n_name on <var_decl:nullable AModuledecl(AModuledecl)>*/;
2631 var96
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_parser_nodes__AModuleName__n_id
]))(var95
) /* n_id on <var95:AModuleName>*/;
2632 var97
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_parser_nodes__Token__text
]))(var96
) /* text on <var96:TId>*/;
2633 var_decl_name
= var97
;
2634 var98
= ((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>*/;
2636 var99
= ((val
* (*)(val
*))(var_decl
->class->vft
[COLOR_parser_nodes__AModuledecl__n_name
]))(var_decl
) /* n_name on <var_decl:nullable AModuledecl(AModuledecl)>*/;
2638 var101
= varonce100
;
2640 var102
= "Error: module name missmatch; declared ";
2642 var104
= string__NativeString__to_s_with_length(var102
, var103
);
2644 varonce100
= var101
;
2647 var106
= varonce105
;
2649 var107
= " file named ";
2651 var109
= string__NativeString__to_s_with_length(var107
, var108
);
2653 varonce105
= var106
;
2655 var110
= NEW_array__Array(&type_array__Arraykernel__Object
);
2656 { /* var110 = array_instance Array[Object] */
2658 var112
= NEW_array__NativeArray(var111
, &type_array__NativeArraykernel__Object
);
2659 ((struct instance_array__NativeArray
*)var112
)->values
[0] = (val
*) var101
;
2660 ((struct instance_array__NativeArray
*)var112
)->values
[1] = (val
*) var_decl_name
;
2661 ((struct instance_array__NativeArray
*)var112
)->values
[2] = (val
*) var106
;
2662 ((struct instance_array__NativeArray
*)var112
)->values
[3] = (val
*) var_mod_name
;
2663 ((void (*)(val
*, val
*, long))(var110
->class->vft
[COLOR_array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
2664 CHECK_NEW_array__Array(var110
);
2666 var113
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
2667 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var99
, var113
) /* error on <self:ModelBuilder>*/;
2671 var114
= NEW_model_base__MModule(&type_model_base__MModule
);
2672 var115
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__model
]))(self
) /* model on <self:ModelBuilder>*/;
2673 var116
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_nmodule
) /* location on <var_nmodule:nullable AModule(AModule)>*/;
2674 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var114
->class->vft
[COLOR_model_base__MModule__init
]))(var114
, var115
, var_owner
, var_mod_name
, var116
) /* init on <var114:MModule>*/;
2675 CHECK_NEW_model_base__MModule(var114
);
2676 var_mmodule
= var114
;
2677 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule_61d
]))(var_nmodule
, var_mmodule
) /* mmodule= on <var_nmodule:nullable AModule(AModule)>*/;
2678 var117
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__nmodules
]))(self
) /* nmodules on <self:ModelBuilder>*/;
2679 ((void (*)(val
*, val
*))(var117
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var117
, var_nmodule
) /* add on <var117:Array[AModule]>*/;
2680 var118
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(self
) /* mmodule2nmodule on <self:ModelBuilder>*/;
2681 ((void (*)(val
*, val
*, val
*))(var118
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var118
, var_mmodule
, var_nmodule
) /* []= on <var118:HashMap[MModule, AModule]>*/;
2682 var119
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__loaded_nmodules
]))(self
) /* loaded_nmodules on <self:ModelBuilder>*/;
2683 ((void (*)(val
*, val
*, val
*))(var119
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var119
, var_module_path
, var_nmodule
) /* []= on <var119:HashMap[String, AModule]>*/;
2684 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__build_module_importation
]))(self
, var_nmodule
) /* build_module_importation on <self:ModelBuilder>*/;
2690 /* method modelbuilder#ModelBuilder#load_module for (self: Object, nullable MModule, String): nullable AModule */
2691 val
* VIRTUAL_modelbuilder__ModelBuilder__load_module(val
* self
, val
* p0
, val
* p1
) {
2692 val
* var
/* : nullable AModule */;
2693 val
* var1
/* : nullable AModule */;
2694 var1
= modelbuilder__ModelBuilder__load_module(self
, p0
, p1
);
2699 /* method modelbuilder#ModelBuilder#build_module_importation for (self: ModelBuilder, AModule) */
2700 void modelbuilder__ModelBuilder__build_module_importation(val
* self
, val
* p0
) {
2701 val
* var_nmodule
/* var nmodule: AModule */;
2702 short int var
/* : Bool */;
2703 short int var1
/* : Bool */;
2704 val
* var2
/* : nullable MModule */;
2705 val
* var_mmodule
/* var mmodule: MModule */;
2706 short int var3
/* : Bool */;
2707 short int var_stdimport
/* var stdimport: Bool */;
2708 val
* var4
/* : Array[MModule] */;
2709 val
* var_imported_modules
/* var imported_modules: Array[MModule] */;
2710 val
* var5
/* : ANodes[AImport] */;
2711 val
* var6
/* : Iterator[nullable Object] */;
2712 short int var7
/* : Bool */;
2713 val
* var8
/* : nullable Object */;
2714 val
* var_aimport
/* var aimport: AImport */;
2715 short int var9
/* : Bool */;
2716 short int var10
/* : Bool */;
2719 short int var11
/* : Bool */;
2720 val
* var12
/* : AModuleName */;
2721 val
* var13
/* : TId */;
2722 val
* var14
/* : String */;
2723 val
* var_mod_name
/* var mod_name: String */;
2724 val
* var15
/* : AModuleName */;
2725 val
* var16
/* : nullable MModule */;
2726 val
* var_sup
/* var sup: nullable MModule */;
2727 val
* var17
/* : null */;
2728 short int var18
/* : Bool */;
2729 val
* var19
/* : AVisibility */;
2730 val
* var20
/* : MVisibility */;
2731 val
* var_mvisibility
/* var mvisibility: MVisibility */;
2732 val
* var21
/* : MVisibility */;
2733 short int var22
/* : Bool */;
2734 val
* var23
/* : AVisibility */;
2735 static val
* varonce
;
2736 val
* var24
/* : String */;
2737 char* var25
/* : NativeString */;
2738 long var26
/* : Int */;
2739 val
* var27
/* : String */;
2740 static val
* varonce28
;
2741 val
* var29
/* : String */;
2742 char* var30
/* : NativeString */;
2743 long var31
/* : Int */;
2744 val
* var32
/* : String */;
2745 val
* var_mod_name33
/* var mod_name: String */;
2746 val
* var34
/* : null */;
2747 val
* var35
/* : nullable MModule */;
2748 val
* var_sup36
/* var sup: nullable MModule */;
2749 val
* var37
/* : null */;
2750 short int var38
/* : Bool */;
2751 val
* var39
/* : MVisibility */;
2752 val
* var40
/* : ToolContext */;
2753 static val
* varonce41
;
2754 val
* var42
/* : String */;
2755 char* var43
/* : NativeString */;
2756 long var44
/* : Int */;
2757 val
* var45
/* : String */;
2758 static val
* varonce46
;
2759 val
* var47
/* : String */;
2760 char* var48
/* : NativeString */;
2761 long var49
/* : Int */;
2762 val
* var50
/* : String */;
2763 val
* var51
/* : String */;
2764 val
* var52
/* : Array[Object] */;
2765 long var53
/* : Int */;
2766 val
* var54
/* : NativeArray[Object] */;
2767 val
* var55
/* : String */;
2768 long var56
/* : Int */;
2770 var
= ((short int (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__is_importation_done
]))(var_nmodule
) /* is_importation_done on <var_nmodule:AModule>*/;
2776 ((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>*/;
2777 var2
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_nmodule
) /* mmodule on <var_nmodule:AModule>*/;
2779 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/modelbuilder.nit", 432);
2784 var_stdimport
= var3
;
2785 var4
= NEW_array__Array(&type_array__Arraymodel_base__MModule
);
2786 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[MModule]>*/;
2787 CHECK_NEW_array__Array(var4
);
2788 var_imported_modules
= var4
;
2789 var5
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_imports
]))(var_nmodule
) /* n_imports on <var_nmodule:AModule>*/;
2790 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:ANodes[AImport]>*/;
2792 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
2794 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
2797 var_stdimport
= var9
;
2798 /* <var_aimport:AImport> isa AStdImport */
2799 cltype
= type_parser_nodes__AStdImport
.color
;
2800 idtype
= type_parser_nodes__AStdImport
.id
;
2801 if(cltype
>= var_aimport
->type
->table_size
) {
2804 var10
= var_aimport
->type
->type_table
[cltype
] == idtype
;
2808 goto CONTINUE_label
;
2811 var12
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_name
]))(var_aimport
) /* n_name on <var_aimport:AImport(AStdImport)>*/;
2812 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_parser_nodes__AModuleName__n_id
]))(var12
) /* n_id on <var12:AModuleName>*/;
2813 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_parser_nodes__Token__text
]))(var13
) /* text on <var13:TId>*/;
2814 var_mod_name
= var14
;
2815 var15
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_name
]))(var_aimport
) /* n_name on <var_aimport:AImport(AStdImport)>*/;
2816 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>*/;
2819 if (var_sup
== NULL
) {
2820 var18
= 1; /* is null */
2822 var18
= 0; /* arg is null but recv is not */
2825 goto CONTINUE_label
;
2828 ((void (*)(val
*, val
*))(var_aimport
->class->vft
[COLOR_modelbuilder__AStdImport__mmodule_61d
]))(var_aimport
, var_sup
) /* mmodule= on <var_aimport:AImport(AStdImport)>*/;
2829 ((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]>*/;
2830 var19
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_visibility
]))(var_aimport
) /* n_visibility on <var_aimport:AImport(AStdImport)>*/;
2831 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_modelbuilder__AVisibility__mvisibility
]))(var19
) /* mvisibility on <var19:AVisibility>*/;
2832 var_mvisibility
= var20
;
2833 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__protected_visibility
]))(self
) /* protected_visibility on <self:ModelBuilder>*/;
2834 var22
= ((short int (*)(val
*, val
*))(var_mvisibility
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mvisibility
, var21
) /* == on <var_mvisibility:MVisibility>*/;
2836 var23
= ((val
* (*)(val
*))(var_aimport
->class->vft
[COLOR_parser_nodes__AStdImport__n_visibility
]))(var_aimport
) /* n_visibility on <var_aimport:AImport(AStdImport)>*/;
2840 var25
= "Error: only properties can be protected.";
2842 var27
= string__NativeString__to_s_with_length(var25
, var26
);
2846 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(self
, var23
, var24
) /* error on <self:ModelBuilder>*/;
2850 ((void (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__set_visibility_for
]))(var_mmodule
, var_sup
, var_mvisibility
) /* set_visibility_for on <var_mmodule:MModule>*/;
2851 CONTINUE_label
: (void)0;
2852 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
2854 BREAK_label
: (void)0;
2861 var32
= string__NativeString__to_s_with_length(var30
, var31
);
2865 var_mod_name33
= var29
;
2867 var35
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__get_mmodule_by_name
]))(self
, var_nmodule
, var34
, var_mod_name33
) /* get_mmodule_by_name on <self:ModelBuilder>*/;
2870 if (var_sup36
== NULL
) {
2871 var38
= 0; /* is null */
2873 var38
= 1; /* arg is null and recv is not */
2876 ((void (*)(val
*, val
*))(var_imported_modules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_imported_modules
, var_sup36
) /* add on <var_imported_modules:Array[MModule]>*/;
2877 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:ModelBuilder>*/;
2878 ((void (*)(val
*, val
*, val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__set_visibility_for
]))(var_mmodule
, var_sup36
, var39
) /* set_visibility_for on <var_mmodule:MModule>*/;
2883 var40
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2887 var43
= " imports ";
2889 var45
= string__NativeString__to_s_with_length(var43
, var44
);
2898 var50
= string__NativeString__to_s_with_length(var48
, var49
);
2902 var51
= ((val
* (*)(val
*, val
*))(var_imported_modules
->class->vft
[COLOR_string__Collection__join
]))(var_imported_modules
, var47
) /* join on <var_imported_modules:Array[MModule]>*/;
2903 var52
= NEW_array__Array(&type_array__Arraykernel__Object
);
2904 { /* var52 = array_instance Array[Object] */
2906 var54
= NEW_array__NativeArray(var53
, &type_array__NativeArraykernel__Object
);
2907 ((struct instance_array__NativeArray
*)var54
)->values
[0] = (val
*) var_mmodule
;
2908 ((struct instance_array__NativeArray
*)var54
)->values
[1] = (val
*) var42
;
2909 ((struct instance_array__NativeArray
*)var54
)->values
[2] = (val
*) var51
;
2910 ((void (*)(val
*, val
*, long))(var52
->class->vft
[COLOR_array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
2911 CHECK_NEW_array__Array(var52
);
2913 var55
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
2915 ((void (*)(val
*, val
*, long))(var40
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var40
, var55
, var56
) /* info on <var40:ToolContext>*/;
2916 ((void (*)(val
*, val
*))(var_mmodule
->class->vft
[COLOR_model_base__MModule__set_imported_mmodules
]))(var_mmodule
, var_imported_modules
) /* set_imported_mmodules on <var_mmodule:MModule>*/;
2919 /* method modelbuilder#ModelBuilder#build_module_importation for (self: Object, AModule) */
2920 void VIRTUAL_modelbuilder__ModelBuilder__build_module_importation(val
* self
, val
* p0
) {
2921 modelbuilder__ModelBuilder__build_module_importation(self
, p0
);
2924 /* method modelbuilder#ModelBuilder#nmodules for (self: ModelBuilder): Array[AModule] */
2925 val
* modelbuilder__ModelBuilder__nmodules(val
* self
) {
2926 val
* var
/* : Array[AModule] */;
2927 val
* var1
/* : Array[AModule] */;
2928 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dnmodules
].val
; /* @nmodules on <self:ModelBuilder> */
2930 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @nmodules", "src/modelbuilder.nit", 464);
2937 /* method modelbuilder#ModelBuilder#nmodules for (self: Object): Array[AModule] */
2938 val
* VIRTUAL_modelbuilder__ModelBuilder__nmodules(val
* self
) {
2939 val
* var
/* : Array[AModule] */;
2940 val
* var1
/* : Array[AModule] */;
2941 var1
= modelbuilder__ModelBuilder__nmodules(self
);
2946 /* method modelbuilder#ModelBuilder#nmodules= for (self: ModelBuilder, Array[AModule]) */
2947 void modelbuilder__ModelBuilder__nmodules_61d(val
* self
, val
* p0
) {
2948 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dnmodules
].val
= p0
; /* @nmodules on <self:ModelBuilder> */
2951 /* method modelbuilder#ModelBuilder#nmodules= for (self: Object, Array[AModule]) */
2952 void VIRTUAL_modelbuilder__ModelBuilder__nmodules_61d(val
* self
, val
* p0
) {
2953 modelbuilder__ModelBuilder__nmodules_61d(self
, p0
);
2956 /* method modelbuilder#ModelBuilder#mmodule2nmodule for (self: ModelBuilder): HashMap[MModule, AModule] */
2957 val
* modelbuilder__ModelBuilder__mmodule2nmodule(val
* self
) {
2958 val
* var
/* : HashMap[MModule, AModule] */;
2959 val
* var1
/* : HashMap[MModule, AModule] */;
2960 var1
= self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmmodule2nmodule
].val
; /* @mmodule2nmodule on <self:ModelBuilder> */
2962 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule2nmodule", "src/modelbuilder.nit", 467);
2969 /* method modelbuilder#ModelBuilder#mmodule2nmodule for (self: Object): HashMap[MModule, AModule] */
2970 val
* VIRTUAL_modelbuilder__ModelBuilder__mmodule2nmodule(val
* self
) {
2971 val
* var
/* : HashMap[MModule, AModule] */;
2972 val
* var1
/* : HashMap[MModule, AModule] */;
2973 var1
= modelbuilder__ModelBuilder__mmodule2nmodule(self
);
2978 /* method modelbuilder#ModelBuilder#mmodule2nmodule= for (self: ModelBuilder, HashMap[MModule, AModule]) */
2979 void modelbuilder__ModelBuilder__mmodule2nmodule_61d(val
* self
, val
* p0
) {
2980 self
->attrs
[COLOR_modelbuilder__ModelBuilder___64dmmodule2nmodule
].val
= p0
; /* @mmodule2nmodule on <self:ModelBuilder> */
2983 /* method modelbuilder#ModelBuilder#mmodule2nmodule= for (self: Object, HashMap[MModule, AModule]) */
2984 void VIRTUAL_modelbuilder__ModelBuilder__mmodule2nmodule_61d(val
* self
, val
* p0
) {
2985 modelbuilder__ModelBuilder__mmodule2nmodule_61d(self
, p0
);
2988 /* method modelbuilder#ModelBuilder#error for (self: ModelBuilder, ANode, String) */
2989 void modelbuilder__ModelBuilder__error(val
* self
, val
* p0
, val
* p1
) {
2990 val
* var_n
/* var n: ANode */;
2991 val
* var_text
/* var text: String */;
2992 val
* var
/* : ToolContext */;
2993 val
* var1
/* : Location */;
2996 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2997 var1
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
2998 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var
, var1
, var_text
) /* error on <var:ToolContext>*/;
3001 /* method modelbuilder#ModelBuilder#error for (self: Object, ANode, String) */
3002 void VIRTUAL_modelbuilder__ModelBuilder__error(val
* self
, val
* p0
, val
* p1
) {
3003 modelbuilder__ModelBuilder__error(self
, p0
, p1
);
3006 /* method modelbuilder#ModelBuilder#warning for (self: ModelBuilder, ANode, String) */
3007 void modelbuilder__ModelBuilder__warning(val
* self
, val
* p0
, val
* p1
) {
3008 val
* var_n
/* var n: ANode */;
3009 val
* var_text
/* var text: String */;
3010 val
* var
/* : ToolContext */;
3011 val
* var1
/* : Location */;
3014 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3015 var1
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
3016 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__warning
]))(var
, var1
, var_text
) /* warning on <var:ToolContext>*/;
3019 /* method modelbuilder#ModelBuilder#warning for (self: Object, ANode, String) */
3020 void VIRTUAL_modelbuilder__ModelBuilder__warning(val
* self
, val
* p0
, val
* p1
) {
3021 modelbuilder__ModelBuilder__warning(self
, p0
, p1
);
3024 /* method modelbuilder#ModelBuilder#force_get_primitive_method for (self: ModelBuilder, ANode, String, MClass, MModule): MMethod */
3025 val
* modelbuilder__ModelBuilder__force_get_primitive_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
3026 val
* var
/* : MMethod */;
3027 val
* var_n
/* var n: ANode */;
3028 val
* var_name
/* var name: String */;
3029 val
* var_recv
/* var recv: MClass */;
3030 val
* var_mmodule
/* var mmodule: MModule */;
3031 val
* var1
/* : nullable MMethod */;
3032 val
* var_res
/* var res: nullable MMethod */;
3033 val
* var2
/* : null */;
3034 short int var3
/* : Bool */;
3035 val
* var4
/* : ToolContext */;
3036 val
* var5
/* : Location */;
3037 static val
* varonce
;
3038 val
* var6
/* : String */;
3039 char* var7
/* : NativeString */;
3040 long var8
/* : Int */;
3041 val
* var9
/* : String */;
3042 static val
* varonce10
;
3043 val
* var11
/* : String */;
3044 char* var12
/* : NativeString */;
3045 long var13
/* : Int */;
3046 val
* var14
/* : String */;
3047 static val
* varonce15
;
3048 val
* var16
/* : String */;
3049 char* var17
/* : NativeString */;
3050 long var18
/* : Int */;
3051 val
* var19
/* : String */;
3052 val
* var20
/* : Array[Object] */;
3053 long var21
/* : Int */;
3054 val
* var22
/* : NativeArray[Object] */;
3055 val
* var23
/* : String */;
3060 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>*/;
3063 if (var_res
== NULL
) {
3064 var3
= 1; /* is null */
3066 var3
= 0; /* arg is null but recv is not */
3069 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3070 var5
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_n
) /* hot_location on <var_n:ANode>*/;
3074 var7
= "Fatal Error: ";
3076 var9
= string__NativeString__to_s_with_length(var7
, var8
);
3083 var12
= " must have a property named ";
3085 var14
= string__NativeString__to_s_with_length(var12
, var13
);
3094 var19
= string__NativeString__to_s_with_length(var17
, var18
);
3098 var20
= NEW_array__Array(&type_array__Arraykernel__Object
);
3099 { /* var20 = array_instance Array[Object] */
3101 var22
= NEW_array__NativeArray(var21
, &type_array__NativeArraykernel__Object
);
3102 ((struct instance_array__NativeArray
*)var22
)->values
[0] = (val
*) var6
;
3103 ((struct instance_array__NativeArray
*)var22
)->values
[1] = (val
*) var_recv
;
3104 ((struct instance_array__NativeArray
*)var22
)->values
[2] = (val
*) var11
;
3105 ((struct instance_array__NativeArray
*)var22
)->values
[3] = (val
*) var_name
;
3106 ((struct instance_array__NativeArray
*)var22
)->values
[4] = (val
*) var16
;
3107 ((void (*)(val
*, val
*, long))(var20
->class->vft
[COLOR_array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
3108 CHECK_NEW_array__Array(var20
);
3110 var23
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
3111 ((void (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_toolcontext__ToolContext__fatal_error
]))(var4
, var5
, var23
) /* fatal_error on <var4:ToolContext>*/;
3112 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/modelbuilder.nit", 491);
3121 /* method modelbuilder#ModelBuilder#force_get_primitive_method for (self: Object, ANode, String, MClass, MModule): MMethod */
3122 val
* VIRTUAL_modelbuilder__ModelBuilder__force_get_primitive_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
3123 val
* var
/* : MMethod */;
3124 val
* var1
/* : MMethod */;
3125 var1
= modelbuilder__ModelBuilder__force_get_primitive_method(self
, p0
, p1
, p2
, p3
);
3130 /* method modelbuilder#AStdImport#mmodule for (self: AStdImport): nullable MModule */
3131 val
* modelbuilder__AStdImport__mmodule(val
* self
) {
3132 val
* var
/* : nullable MModule */;
3133 val
* var1
/* : nullable MModule */;
3134 var1
= self
->attrs
[COLOR_modelbuilder__AStdImport___64dmmodule
].val
; /* @mmodule on <self:AStdImport> */
3139 /* method modelbuilder#AStdImport#mmodule for (self: Object): nullable MModule */
3140 val
* VIRTUAL_modelbuilder__AStdImport__mmodule(val
* self
) {
3141 val
* var
/* : nullable MModule */;
3142 val
* var1
/* : nullable MModule */;
3143 var1
= modelbuilder__AStdImport__mmodule(self
);
3148 /* method modelbuilder#AStdImport#mmodule= for (self: AStdImport, nullable MModule) */
3149 void modelbuilder__AStdImport__mmodule_61d(val
* self
, val
* p0
) {
3150 self
->attrs
[COLOR_modelbuilder__AStdImport___64dmmodule
].val
= p0
; /* @mmodule on <self:AStdImport> */
3153 /* method modelbuilder#AStdImport#mmodule= for (self: Object, nullable MModule) */
3154 void VIRTUAL_modelbuilder__AStdImport__mmodule_61d(val
* self
, val
* p0
) {
3155 modelbuilder__AStdImport__mmodule_61d(self
, p0
);
3158 /* method modelbuilder#AModule#mmodule for (self: AModule): nullable MModule */
3159 val
* modelbuilder__AModule__mmodule(val
* self
) {
3160 val
* var
/* : nullable MModule */;
3161 val
* var1
/* : nullable MModule */;
3162 var1
= self
->attrs
[COLOR_modelbuilder__AModule___64dmmodule
].val
; /* @mmodule on <self:AModule> */
3167 /* method modelbuilder#AModule#mmodule for (self: Object): nullable MModule */
3168 val
* VIRTUAL_modelbuilder__AModule__mmodule(val
* self
) {
3169 val
* var
/* : nullable MModule */;
3170 val
* var1
/* : nullable MModule */;
3171 var1
= modelbuilder__AModule__mmodule(self
);
3176 /* method modelbuilder#AModule#mmodule= for (self: AModule, nullable MModule) */
3177 void modelbuilder__AModule__mmodule_61d(val
* self
, val
* p0
) {
3178 self
->attrs
[COLOR_modelbuilder__AModule___64dmmodule
].val
= p0
; /* @mmodule on <self:AModule> */
3181 /* method modelbuilder#AModule#mmodule= for (self: Object, nullable MModule) */
3182 void VIRTUAL_modelbuilder__AModule__mmodule_61d(val
* self
, val
* p0
) {
3183 modelbuilder__AModule__mmodule_61d(self
, p0
);
3186 /* method modelbuilder#AModule#is_importation_done for (self: AModule): Bool */
3187 short int modelbuilder__AModule__is_importation_done(val
* self
) {
3188 short int var
/* : Bool */;
3189 short int var1
/* : Bool */;
3190 var1
= self
->attrs
[COLOR_modelbuilder__AModule___64dis_importation_done
].s
; /* @is_importation_done on <self:AModule> */
3195 /* method modelbuilder#AModule#is_importation_done for (self: Object): Bool */
3196 short int VIRTUAL_modelbuilder__AModule__is_importation_done(val
* self
) {
3197 short int var
/* : Bool */;
3198 short int var1
/* : Bool */;
3199 var1
= modelbuilder__AModule__is_importation_done(self
);
3204 /* method modelbuilder#AModule#is_importation_done= for (self: AModule, Bool) */
3205 void modelbuilder__AModule__is_importation_done_61d(val
* self
, short int p0
) {
3206 self
->attrs
[COLOR_modelbuilder__AModule___64dis_importation_done
].s
= p0
; /* @is_importation_done on <self:AModule> */
3209 /* method modelbuilder#AModule#is_importation_done= for (self: Object, Bool) */
3210 void VIRTUAL_modelbuilder__AModule__is_importation_done_61d(val
* self
, short int p0
) {
3211 modelbuilder__AModule__is_importation_done_61d(self
, p0
);
3214 /* method modelbuilder#AVisibility#mvisibility for (self: AVisibility): MVisibility */
3215 val
* modelbuilder__AVisibility__mvisibility(val
* self
) {
3216 val
* var
/* : MVisibility */;
3217 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/modelbuilder.nit", 510);
3222 /* method modelbuilder#AVisibility#mvisibility for (self: Object): MVisibility */
3223 val
* VIRTUAL_modelbuilder__AVisibility__mvisibility(val
* self
) {
3224 val
* var
/* : MVisibility */;
3225 val
* var1
/* : MVisibility */;
3226 var1
= modelbuilder__AVisibility__mvisibility(self
);
3231 /* method modelbuilder#AIntrudeVisibility#mvisibility for (self: AIntrudeVisibility): MVisibility */
3232 val
* modelbuilder__AIntrudeVisibility__mvisibility(val
* self
) {
3233 val
* var
/* : MVisibility */;
3234 val
* var1
/* : MVisibility */;
3235 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__intrude_visibility
]))(self
) /* intrude_visibility on <self:AIntrudeVisibility>*/;
3241 /* method modelbuilder#AIntrudeVisibility#mvisibility for (self: Object): MVisibility */
3242 val
* VIRTUAL_modelbuilder__AIntrudeVisibility__mvisibility(val
* self
) {
3243 val
* var
/* : MVisibility */;
3244 val
* var1
/* : MVisibility */;
3245 var1
= modelbuilder__AIntrudeVisibility__mvisibility(self
);
3250 /* method modelbuilder#APublicVisibility#mvisibility for (self: APublicVisibility): MVisibility */
3251 val
* modelbuilder__APublicVisibility__mvisibility(val
* self
) {
3252 val
* var
/* : MVisibility */;
3253 val
* var1
/* : MVisibility */;
3254 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__public_visibility
]))(self
) /* public_visibility on <self:APublicVisibility>*/;
3260 /* method modelbuilder#APublicVisibility#mvisibility for (self: Object): MVisibility */
3261 val
* VIRTUAL_modelbuilder__APublicVisibility__mvisibility(val
* self
) {
3262 val
* var
/* : MVisibility */;
3263 val
* var1
/* : MVisibility */;
3264 var1
= modelbuilder__APublicVisibility__mvisibility(self
);
3269 /* method modelbuilder#AProtectedVisibility#mvisibility for (self: AProtectedVisibility): MVisibility */
3270 val
* modelbuilder__AProtectedVisibility__mvisibility(val
* self
) {
3271 val
* var
/* : MVisibility */;
3272 val
* var1
/* : MVisibility */;
3273 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__protected_visibility
]))(self
) /* protected_visibility on <self:AProtectedVisibility>*/;
3279 /* method modelbuilder#AProtectedVisibility#mvisibility for (self: Object): MVisibility */
3280 val
* VIRTUAL_modelbuilder__AProtectedVisibility__mvisibility(val
* self
) {
3281 val
* var
/* : MVisibility */;
3282 val
* var1
/* : MVisibility */;
3283 var1
= modelbuilder__AProtectedVisibility__mvisibility(self
);
3288 /* method modelbuilder#APrivateVisibility#mvisibility for (self: APrivateVisibility): MVisibility */
3289 val
* modelbuilder__APrivateVisibility__mvisibility(val
* self
) {
3290 val
* var
/* : MVisibility */;
3291 val
* var1
/* : MVisibility */;
3292 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model_base__Object__private_visibility
]))(self
) /* private_visibility on <self:APrivateVisibility>*/;
3298 /* method modelbuilder#APrivateVisibility#mvisibility for (self: Object): MVisibility */
3299 val
* VIRTUAL_modelbuilder__APrivateVisibility__mvisibility(val
* self
) {
3300 val
* var
/* : MVisibility */;
3301 val
* var1
/* : MVisibility */;
3302 var1
= modelbuilder__APrivateVisibility__mvisibility(self
);