1 /* This C file is generated by NIT to compile module mmloader. */
2 #include "mmloader._sep.h"
3 val_t
mmloader___Message___location(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
6 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7 fra
.me
.file
= LOCATE_mmloader
;
9 fra
.me
.meth
= LOCATE_mmloader___Message___location
;
12 fra
.me
.REG
[0] = NIT_NULL
;
14 /* ./mmloader.nit:30 */
15 fra
.me
.REG
[0] = ATTR_mmloader___Message____location(fra
.me
.REG
[0]);
16 stack_frame_head
= fra
.me
.prev
;
19 val_t
mmloader___Message___text(val_t p0
){
20 struct {struct stack_frame_t me
;} fra
;
23 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
24 fra
.me
.file
= LOCATE_mmloader
;
26 fra
.me
.meth
= LOCATE_mmloader___Message___text
;
29 fra
.me
.REG
[0] = NIT_NULL
;
31 /* ./mmloader.nit:31 */
32 REGB0
= TAG_Bool(ATTR_mmloader___Message____text(fra
.me
.REG
[0])!=NIT_NULL
);
33 if (UNTAG_Bool(REGB0
)) {
35 nit_abort("Uninitialized attribute %s", "_text", LOCATE_mmloader
, 31);
37 fra
.me
.REG
[0] = ATTR_mmloader___Message____text(fra
.me
.REG
[0]);
38 stack_frame_head
= fra
.me
.prev
;
41 val_t
mmloader___Message_____l(val_t p0
, val_t p1
){
42 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
47 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
48 fra
.me
.file
= LOCATE_mmloader
;
50 fra
.me
.meth
= LOCATE_mmloader___Message_____l
;
53 fra
.me
.REG
[0] = NIT_NULL
;
54 fra
.me
.REG
[1] = NIT_NULL
;
55 fra
.me
.REG
[2] = NIT_NULL
;
58 /* ./mmloader.nit:34 */
59 fra
.me
.REG
[2] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
60 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
61 if (UNTAG_Bool(REGB0
)) {
63 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
64 if (UNTAG_Bool(REGB1
)) {
65 REGB1
= TAG_Bool(false);
68 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
72 if (UNTAG_Bool(REGB0
)) {
73 REGB0
= TAG_Bool(true);
76 /* ./mmloader.nit:35 */
77 fra
.me
.REG
[2] = CALL_mmloader___Message___location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
78 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
79 if (UNTAG_Bool(REGB1
)) {
81 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
82 if (UNTAG_Bool(REGB2
)) {
83 REGB2
= TAG_Bool(false);
86 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
90 if (UNTAG_Bool(REGB1
)) {
91 REGB1
= TAG_Bool(false);
95 /* ./mmloader.nit:37 */
96 fra
.me
.REG
[0] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
97 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
98 if (UNTAG_Bool(REGB1
)) {
100 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 37);
102 fra
.me
.REG
[1] = CALL_mmloader___Message___location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
103 REGB1
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
104 if (UNTAG_Bool(REGB1
)) {
106 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 37);
108 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
109 if (UNTAG_Bool(REGB1
)) {
110 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 37);
112 REGB1
= CALL_kernel___Comparable_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
116 stack_frame_head
= fra
.me
.prev
;
119 val_t
mmloader___Message___to_s(val_t p0
){
120 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
124 static val_t once_value_2
; /* Once value */
125 static val_t once_value_3
; /* Once value */
126 static val_t once_value_4
; /* Once value */
127 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
128 fra
.me
.file
= LOCATE_mmloader
;
130 fra
.me
.meth
= LOCATE_mmloader___Message___to_s
;
131 fra
.me
.has_broke
= 0;
133 fra
.me
.REG
[0] = NIT_NULL
;
134 fra
.me
.REG
[1] = NIT_NULL
;
135 fra
.me
.REG
[2] = NIT_NULL
;
136 fra
.me
.REG
[3] = NIT_NULL
;
137 fra
.me
.REG
[4] = NIT_NULL
;
139 /* ./mmloader.nit:41 */
140 fra
.me
.REG
[1] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
141 /* ./mmloader.nit:42 */
142 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
143 if (UNTAG_Bool(REGB0
)) {
145 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
146 if (UNTAG_Bool(REGB1
)) {
147 REGB1
= TAG_Bool(false);
150 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
154 if (UNTAG_Bool(REGB0
)) {
155 /* ./mmloader.nit:43 */
156 fra
.me
.REG
[2] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
159 /* ./mmloader.nit:45 */
161 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
163 fra
.me
.REG
[4] = BOX_NativeString("");
165 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
166 once_value_2
= fra
.me
.REG
[4];
167 register_static_object(&once_value_2
);
168 } else fra
.me
.REG
[4] = once_value_2
;
169 fra
.me
.REG
[4] = fra
.me
.REG
[4];
170 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
171 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
172 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
174 fra
.me
.REG
[1] = BOX_NativeString(": ");
176 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
177 once_value_3
= fra
.me
.REG
[1];
178 register_static_object(&once_value_3
);
179 } else fra
.me
.REG
[1] = once_value_3
;
180 fra
.me
.REG
[1] = fra
.me
.REG
[1];
181 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
182 fra
.me
.REG
[0] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
183 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
185 fra
.me
.REG
[0] = BOX_NativeString("");
187 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
188 once_value_4
= fra
.me
.REG
[0];
189 register_static_object(&once_value_4
);
190 } else fra
.me
.REG
[0] = once_value_4
;
191 fra
.me
.REG
[0] = fra
.me
.REG
[0];
192 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
193 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
194 fra
.me
.REG
[2] = fra
.me
.REG
[3];
198 stack_frame_head
= fra
.me
.prev
;
199 return fra
.me
.REG
[2];
201 void mmloader___Message___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
202 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Message
].i
;
203 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
205 if (init_table
[itpos0
]) return;
206 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
207 fra
.me
.file
= LOCATE_mmloader
;
209 fra
.me
.meth
= LOCATE_mmloader___Message___init
;
210 fra
.me
.has_broke
= 0;
212 fra
.me
.REG
[0] = NIT_NULL
;
213 fra
.me
.REG
[1] = NIT_NULL
;
214 fra
.me
.REG
[2] = NIT_NULL
;
218 ATTR_mmloader___Message____location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
219 ATTR_mmloader___Message____text(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
220 stack_frame_head
= fra
.me
.prev
;
221 init_table
[itpos0
] = 1;
224 val_t
mmloader___ToolContext___error_count(val_t p0
){
225 struct {struct stack_frame_t me
;} fra
;
228 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
229 fra
.me
.file
= LOCATE_mmloader
;
231 fra
.me
.meth
= LOCATE_mmloader___ToolContext___error_count
;
232 fra
.me
.has_broke
= 0;
234 fra
.me
.REG
[0] = NIT_NULL
;
236 /* ./mmloader.nit:53 */
237 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
238 if (UNTAG_Bool(REGB0
)) {
240 nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_mmloader
, 53);
242 REGB0
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
243 stack_frame_head
= fra
.me
.prev
;
246 val_t
mmloader___ToolContext___warning_count(val_t p0
){
247 struct {struct stack_frame_t me
;} fra
;
250 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
251 fra
.me
.file
= LOCATE_mmloader
;
253 fra
.me
.meth
= LOCATE_mmloader___ToolContext___warning_count
;
254 fra
.me
.has_broke
= 0;
256 fra
.me
.REG
[0] = NIT_NULL
;
258 /* ./mmloader.nit:56 */
259 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0])!=NIT_NULL
);
260 if (UNTAG_Bool(REGB0
)) {
262 nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_mmloader
, 56);
264 REGB0
= ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]);
265 stack_frame_head
= fra
.me
.prev
;
268 val_t
mmloader___ToolContext___log_directory(val_t p0
){
269 struct {struct stack_frame_t me
;} fra
;
272 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
273 fra
.me
.file
= LOCATE_mmloader
;
275 fra
.me
.meth
= LOCATE_mmloader___ToolContext___log_directory
;
276 fra
.me
.has_broke
= 0;
278 fra
.me
.REG
[0] = NIT_NULL
;
280 /* ./mmloader.nit:59 */
281 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____log_directory(fra
.me
.REG
[0])!=NIT_NULL
);
282 if (UNTAG_Bool(REGB0
)) {
284 nit_abort("Uninitialized attribute %s", "_log_directory", LOCATE_mmloader
, 59);
286 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____log_directory(fra
.me
.REG
[0]);
287 stack_frame_head
= fra
.me
.prev
;
288 return fra
.me
.REG
[0];
290 void mmloader___ToolContext___check_errors(val_t p0
){
291 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
295 static val_t once_value_1
; /* Once value */
296 static val_t once_value_2
; /* Once value */
297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
298 fra
.me
.file
= LOCATE_mmloader
;
300 fra
.me
.meth
= LOCATE_mmloader___ToolContext___check_errors
;
301 fra
.me
.has_broke
= 0;
303 fra
.me
.REG
[0] = NIT_NULL
;
304 fra
.me
.REG
[1] = NIT_NULL
;
305 fra
.me
.REG
[2] = NIT_NULL
;
306 fra
.me
.REG
[3] = NIT_NULL
;
307 fra
.me
.REG
[4] = NIT_NULL
;
308 fra
.me
.REG
[5] = NIT_NULL
;
309 fra
.me
.REG
[6] = NIT_NULL
;
311 /* ./mmloader.nit:68 */
312 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
313 if (UNTAG_Bool(REGB0
)) {
315 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 68);
317 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
318 /* ./../lib/standard//collection//array.nit:23 */
319 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
320 if (UNTAG_Bool(REGB0
)) {
322 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
324 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
325 /* ./mmloader.nit:68 */
327 /* ./../lib/standard//kernel.nit:214 */
328 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
329 /* ./mmloader.nit:68 */
330 if (UNTAG_Bool(REGB1
)) {
331 /* ./mmloader.nit:69 */
332 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____message_sorter(fra
.me
.REG
[0])!=NIT_NULL
);
333 if (UNTAG_Bool(REGB1
)) {
335 nit_abort("Uninitialized attribute %s", "_message_sorter", LOCATE_mmloader
, 69);
337 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____message_sorter(fra
.me
.REG
[0]);
338 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
339 if (UNTAG_Bool(REGB1
)) {
341 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 69);
343 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
344 CALL_sorter___AbstractSorter___sort(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
345 /* ./mmloader.nit:71 */
346 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
347 if (UNTAG_Bool(REGB1
)) {
349 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 71);
351 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
352 /* ./../lib/standard//collection//array.nit:234 */
354 /* ./../lib/standard//collection//array.nit:235 */
355 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
356 if (UNTAG_Bool(REGB0
)) {
358 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
360 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
361 /* ./../lib/standard//collection//array.nit:236 */
362 fra
.me
.REG
[1] = ATTR_array___Array____items(fra
.me
.REG
[2]);
363 /* ./../lib/standard//collection//array.nit:237 */
365 /* ./../lib/standard//collection//array.nit:23 */
366 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
367 if (UNTAG_Bool(REGB0
)) {
369 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
371 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
372 /* ./../lib/standard//kernel.nit:212 */
373 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
374 /* ./../lib/standard//collection//array.nit:237 */
375 if (UNTAG_Bool(REGB0
)) {
376 /* ./../lib/standard//collection//array.nit:238 */
377 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
378 if (UNTAG_Bool(REGB0
)) {
379 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
381 /* ./../lib/standard//collection//array.nit:654 */
382 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)];
383 /* ./mmloader.nit:72 */
384 fra
.me
.REG
[4] = CALL_file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
386 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
388 fra
.me
.REG
[6] = BOX_NativeString("");
390 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
391 once_value_1
= fra
.me
.REG
[6];
392 register_static_object(&once_value_1
);
393 } else fra
.me
.REG
[6] = once_value_1
;
394 fra
.me
.REG
[6] = fra
.me
.REG
[6];
395 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
396 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
397 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
399 fra
.me
.REG
[3] = BOX_NativeString("\n");
401 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
402 once_value_2
= fra
.me
.REG
[3];
403 register_static_object(&once_value_2
);
404 } else fra
.me
.REG
[3] = once_value_2
;
405 fra
.me
.REG
[3] = fra
.me
.REG
[3];
406 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
407 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
408 CALL_stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
409 /* ./../lib/standard//collection//array.nit:239 */
411 /* ./../lib/standard//kernel.nit:215 */
412 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
413 /* ./../lib/standard//collection//array.nit:239 */
416 /* ./../lib/standard//collection//array.nit:237 */
421 /* ./mmloader.nit:75 */
422 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
423 if (UNTAG_Bool(REGB1
)) {
425 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 75);
427 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
428 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
430 /* ./mmloader.nit:78 */
431 REGB1
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
433 /* ./../lib/standard//kernel.nit:214 */
434 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
435 /* ./mmloader.nit:78 */
436 if (UNTAG_Bool(REGB0
)) {
438 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
440 stack_frame_head
= fra
.me
.prev
;
443 void mmloader___ToolContext___error(val_t p0
, val_t p1
, val_t p2
){
444 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
448 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
449 fra
.me
.file
= LOCATE_mmloader
;
451 fra
.me
.meth
= LOCATE_mmloader___ToolContext___error
;
452 fra
.me
.has_broke
= 0;
454 fra
.me
.REG
[0] = NIT_NULL
;
455 fra
.me
.REG
[1] = NIT_NULL
;
456 fra
.me
.REG
[2] = NIT_NULL
;
457 fra
.me
.REG
[3] = NIT_NULL
;
461 /* ./mmloader.nit:84 */
462 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
463 if (UNTAG_Bool(REGB0
)) {
465 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 84);
467 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
468 fra
.me
.REG
[2] = NEW_Message_mmloader___Message___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
469 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
470 /* ./mmloader.nit:85 */
471 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
472 if (UNTAG_Bool(REGB0
)) {
474 nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_mmloader
, 85);
476 REGB0
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
478 /* ./../lib/standard//kernel.nit:215 */
479 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
480 /* ./mmloader.nit:85 */
481 ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]) = REGB1
;
482 stack_frame_head
= fra
.me
.prev
;
485 void mmloader___ToolContext___fatal_error(val_t p0
, val_t p1
, val_t p2
){
486 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
489 fra
.me
.file
= LOCATE_mmloader
;
491 fra
.me
.meth
= LOCATE_mmloader___ToolContext___fatal_error
;
492 fra
.me
.has_broke
= 0;
494 fra
.me
.REG
[0] = NIT_NULL
;
495 fra
.me
.REG
[1] = NIT_NULL
;
496 fra
.me
.REG
[2] = NIT_NULL
;
500 /* ./mmloader.nit:91 */
501 CALL_mmloader___ToolContext___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
502 /* ./mmloader.nit:92 */
503 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
504 stack_frame_head
= fra
.me
.prev
;
507 void mmloader___ToolContext___warning(val_t p0
, val_t p1
, val_t p2
){
508 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
513 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
514 fra
.me
.file
= LOCATE_mmloader
;
516 fra
.me
.meth
= LOCATE_mmloader___ToolContext___warning
;
517 fra
.me
.has_broke
= 0;
519 fra
.me
.REG
[0] = NIT_NULL
;
520 fra
.me
.REG
[1] = NIT_NULL
;
521 fra
.me
.REG
[2] = NIT_NULL
;
522 fra
.me
.REG
[3] = NIT_NULL
;
526 /* ./mmloader.nit:98 */
527 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
528 if (UNTAG_Bool(REGB0
)) {
530 nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_mmloader
, 98);
532 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
533 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
535 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB0
,fra
.me
.REG
[3]));
536 if (UNTAG_Bool(REGB1
)) {
538 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
539 if (UNTAG_Bool(REGB2
)) {
540 REGB2
= TAG_Bool(false);
543 /* ./../lib/standard//kernel.nit:207 */
544 REGB0
= TAG_Bool((fra
.me
.REG
[3])==(REGB0
));
545 /* ./mmloader.nit:98 */
549 if (UNTAG_Bool(REGB1
)) {
552 /* ./mmloader.nit:99 */
553 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
554 if (UNTAG_Bool(REGB1
)) {
556 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 99);
558 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
559 fra
.me
.REG
[2] = NEW_Message_mmloader___Message___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
560 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
561 /* ./mmloader.nit:100 */
562 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
563 if (UNTAG_Bool(REGB1
)) {
565 nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_mmloader
, 100);
567 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
568 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
570 REGB0
= TAG_Bool(IS_EQUAL_ON(REGB1
,fra
.me
.REG
[2]));
571 if (UNTAG_Bool(REGB0
)) {
573 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
574 if (UNTAG_Bool(REGB2
)) {
575 REGB2
= TAG_Bool(false);
578 /* ./../lib/standard//kernel.nit:207 */
579 REGB1
= TAG_Bool((fra
.me
.REG
[2])==(REGB1
));
580 /* ./mmloader.nit:100 */
584 if (UNTAG_Bool(REGB0
)) {
585 /* ./mmloader.nit:101 */
586 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0])!=NIT_NULL
);
587 if (UNTAG_Bool(REGB0
)) {
589 nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_mmloader
, 101);
591 REGB0
= ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]);
593 /* ./../lib/standard//kernel.nit:215 */
594 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
595 /* ./mmloader.nit:101 */
596 ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]) = REGB1
;
598 /* ./mmloader.nit:103 */
599 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
600 if (UNTAG_Bool(REGB1
)) {
602 nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_mmloader
, 103);
604 REGB1
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
606 /* ./../lib/standard//kernel.nit:215 */
607 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
608 /* ./mmloader.nit:103 */
609 ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]) = REGB0
;
612 stack_frame_head
= fra
.me
.prev
;
615 void mmloader___ToolContext___info(val_t p0
, val_t p1
, val_t p2
){
616 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
620 static val_t once_value_1
; /* Once value */
621 static val_t once_value_2
; /* Once value */
622 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
623 fra
.me
.file
= LOCATE_mmloader
;
625 fra
.me
.meth
= LOCATE_mmloader___ToolContext___info
;
626 fra
.me
.has_broke
= 0;
628 fra
.me
.REG
[0] = NIT_NULL
;
629 fra
.me
.REG
[1] = NIT_NULL
;
630 fra
.me
.REG
[2] = NIT_NULL
;
631 fra
.me
.REG
[3] = NIT_NULL
;
635 /* ./mmloader.nit:110 */
636 REGB1
= CALL_mmloader___ToolContext___verbose_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
637 /* ./../lib/standard//kernel.nit:211 */
638 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
639 /* ./mmloader.nit:110 */
640 if (UNTAG_Bool(REGB1
)) {
641 /* ./mmloader.nit:111 */
643 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB1
);
645 fra
.me
.REG
[3] = BOX_NativeString("");
647 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
648 once_value_1
= fra
.me
.REG
[3];
649 register_static_object(&once_value_1
);
650 } else fra
.me
.REG
[3] = once_value_1
;
651 fra
.me
.REG
[3] = fra
.me
.REG
[3];
652 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
653 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
655 fra
.me
.REG
[1] = BOX_NativeString("");
657 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB1
);
658 once_value_2
= fra
.me
.REG
[1];
659 register_static_object(&once_value_2
);
660 } else fra
.me
.REG
[1] = once_value_2
;
661 fra
.me
.REG
[1] = fra
.me
.REG
[1];
662 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
663 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
664 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
666 stack_frame_head
= fra
.me
.prev
;
669 val_t
mmloader___ToolContext___paths(val_t p0
){
670 struct {struct stack_frame_t me
;} fra
;
673 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
674 fra
.me
.file
= LOCATE_mmloader
;
676 fra
.me
.meth
= LOCATE_mmloader___ToolContext___paths
;
677 fra
.me
.has_broke
= 0;
679 fra
.me
.REG
[0] = NIT_NULL
;
681 /* ./mmloader.nit:115 */
682 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____paths(fra
.me
.REG
[0])!=NIT_NULL
);
683 if (UNTAG_Bool(REGB0
)) {
685 nit_abort("Uninitialized attribute %s", "_paths", LOCATE_mmloader
, 115);
687 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____paths(fra
.me
.REG
[0]);
688 stack_frame_head
= fra
.me
.prev
;
689 return fra
.me
.REG
[0];
691 val_t
mmloader___ToolContext___option_context(val_t p0
){
692 struct {struct stack_frame_t me
;} fra
;
695 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
696 fra
.me
.file
= LOCATE_mmloader
;
698 fra
.me
.meth
= LOCATE_mmloader___ToolContext___option_context
;
699 fra
.me
.has_broke
= 0;
701 fra
.me
.REG
[0] = NIT_NULL
;
703 /* ./mmloader.nit:121 */
704 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____option_context(fra
.me
.REG
[0])!=NIT_NULL
);
705 if (UNTAG_Bool(REGB0
)) {
707 nit_abort("Uninitialized attribute %s", "_option_context", LOCATE_mmloader
, 121);
709 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____option_context(fra
.me
.REG
[0]);
710 stack_frame_head
= fra
.me
.prev
;
711 return fra
.me
.REG
[0];
713 val_t
mmloader___ToolContext___opt_warn(val_t p0
){
714 struct {struct stack_frame_t me
;} fra
;
717 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
718 fra
.me
.file
= LOCATE_mmloader
;
720 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_warn
;
721 fra
.me
.has_broke
= 0;
723 fra
.me
.REG
[0] = NIT_NULL
;
725 /* ./mmloader.nit:124 */
726 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
727 if (UNTAG_Bool(REGB0
)) {
729 nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_mmloader
, 124);
731 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
732 stack_frame_head
= fra
.me
.prev
;
733 return fra
.me
.REG
[0];
735 val_t
mmloader___ToolContext___opt_path(val_t p0
){
736 struct {struct stack_frame_t me
;} fra
;
739 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
740 fra
.me
.file
= LOCATE_mmloader
;
742 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_path
;
743 fra
.me
.has_broke
= 0;
745 fra
.me
.REG
[0] = NIT_NULL
;
747 /* ./mmloader.nit:127 */
748 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_path(fra
.me
.REG
[0])!=NIT_NULL
);
749 if (UNTAG_Bool(REGB0
)) {
751 nit_abort("Uninitialized attribute %s", "_opt_path", LOCATE_mmloader
, 127);
753 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_path(fra
.me
.REG
[0]);
754 stack_frame_head
= fra
.me
.prev
;
755 return fra
.me
.REG
[0];
757 val_t
mmloader___ToolContext___opt_log(val_t p0
){
758 struct {struct stack_frame_t me
;} fra
;
761 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
762 fra
.me
.file
= LOCATE_mmloader
;
764 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_log
;
765 fra
.me
.has_broke
= 0;
767 fra
.me
.REG
[0] = NIT_NULL
;
769 /* ./mmloader.nit:130 */
770 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0])!=NIT_NULL
);
771 if (UNTAG_Bool(REGB0
)) {
773 nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_mmloader
, 130);
775 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0]);
776 stack_frame_head
= fra
.me
.prev
;
777 return fra
.me
.REG
[0];
779 val_t
mmloader___ToolContext___opt_log_dir(val_t p0
){
780 struct {struct stack_frame_t me
;} fra
;
783 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
784 fra
.me
.file
= LOCATE_mmloader
;
786 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_log_dir
;
787 fra
.me
.has_broke
= 0;
789 fra
.me
.REG
[0] = NIT_NULL
;
791 /* ./mmloader.nit:133 */
792 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_log_dir(fra
.me
.REG
[0])!=NIT_NULL
);
793 if (UNTAG_Bool(REGB0
)) {
795 nit_abort("Uninitialized attribute %s", "_opt_log_dir", LOCATE_mmloader
, 133);
797 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_log_dir(fra
.me
.REG
[0]);
798 stack_frame_head
= fra
.me
.prev
;
799 return fra
.me
.REG
[0];
801 val_t
mmloader___ToolContext___opt_only_metamodel(val_t p0
){
802 struct {struct stack_frame_t me
;} fra
;
805 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
806 fra
.me
.file
= LOCATE_mmloader
;
808 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_only_metamodel
;
809 fra
.me
.has_broke
= 0;
811 fra
.me
.REG
[0] = NIT_NULL
;
813 /* ./mmloader.nit:136 */
814 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_only_metamodel(fra
.me
.REG
[0])!=NIT_NULL
);
815 if (UNTAG_Bool(REGB0
)) {
817 nit_abort("Uninitialized attribute %s", "_opt_only_metamodel", LOCATE_mmloader
, 136);
819 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_only_metamodel(fra
.me
.REG
[0]);
820 stack_frame_head
= fra
.me
.prev
;
821 return fra
.me
.REG
[0];
823 val_t
mmloader___ToolContext___opt_only_parse(val_t p0
){
824 struct {struct stack_frame_t me
;} fra
;
827 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
828 fra
.me
.file
= LOCATE_mmloader
;
830 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_only_parse
;
831 fra
.me
.has_broke
= 0;
833 fra
.me
.REG
[0] = NIT_NULL
;
835 /* ./mmloader.nit:139 */
836 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_only_parse(fra
.me
.REG
[0])!=NIT_NULL
);
837 if (UNTAG_Bool(REGB0
)) {
839 nit_abort("Uninitialized attribute %s", "_opt_only_parse", LOCATE_mmloader
, 139);
841 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_only_parse(fra
.me
.REG
[0]);
842 stack_frame_head
= fra
.me
.prev
;
843 return fra
.me
.REG
[0];
845 val_t
mmloader___ToolContext___opt_help(val_t p0
){
846 struct {struct stack_frame_t me
;} fra
;
849 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
850 fra
.me
.file
= LOCATE_mmloader
;
852 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_help
;
853 fra
.me
.has_broke
= 0;
855 fra
.me
.REG
[0] = NIT_NULL
;
857 /* ./mmloader.nit:142 */
858 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_help(fra
.me
.REG
[0])!=NIT_NULL
);
859 if (UNTAG_Bool(REGB0
)) {
861 nit_abort("Uninitialized attribute %s", "_opt_help", LOCATE_mmloader
, 142);
863 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_help(fra
.me
.REG
[0]);
864 stack_frame_head
= fra
.me
.prev
;
865 return fra
.me
.REG
[0];
867 val_t
mmloader___ToolContext___opt_version(val_t p0
){
868 struct {struct stack_frame_t me
;} fra
;
871 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
872 fra
.me
.file
= LOCATE_mmloader
;
874 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_version
;
875 fra
.me
.has_broke
= 0;
877 fra
.me
.REG
[0] = NIT_NULL
;
879 /* ./mmloader.nit:145 */
880 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_version(fra
.me
.REG
[0])!=NIT_NULL
);
881 if (UNTAG_Bool(REGB0
)) {
883 nit_abort("Uninitialized attribute %s", "_opt_version", LOCATE_mmloader
, 145);
885 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_version(fra
.me
.REG
[0]);
886 stack_frame_head
= fra
.me
.prev
;
887 return fra
.me
.REG
[0];
889 val_t
mmloader___ToolContext___opt_verbose(val_t p0
){
890 struct {struct stack_frame_t me
;} fra
;
893 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
894 fra
.me
.file
= LOCATE_mmloader
;
896 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_verbose
;
897 fra
.me
.has_broke
= 0;
899 fra
.me
.REG
[0] = NIT_NULL
;
901 /* ./mmloader.nit:148 */
902 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_verbose(fra
.me
.REG
[0])!=NIT_NULL
);
903 if (UNTAG_Bool(REGB0
)) {
905 nit_abort("Uninitialized attribute %s", "_opt_verbose", LOCATE_mmloader
, 148);
907 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_verbose(fra
.me
.REG
[0]);
908 stack_frame_head
= fra
.me
.prev
;
909 return fra
.me
.REG
[0];
911 val_t
mmloader___ToolContext___verbose_level(val_t p0
){
912 struct {struct stack_frame_t me
;} fra
;
915 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
916 fra
.me
.file
= LOCATE_mmloader
;
918 fra
.me
.meth
= LOCATE_mmloader___ToolContext___verbose_level
;
919 fra
.me
.has_broke
= 0;
921 fra
.me
.REG
[0] = NIT_NULL
;
923 /* ./mmloader.nit:151 */
924 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0])!=NIT_NULL
);
925 if (UNTAG_Bool(REGB0
)) {
927 nit_abort("Uninitialized attribute %s", "_verbose_level", LOCATE_mmloader
, 151);
929 REGB0
= ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0]);
930 stack_frame_head
= fra
.me
.prev
;
933 void mmloader___ToolContext___init(val_t p0
, int* init_table
){
934 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ToolContext
].i
;
935 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
938 if (init_table
[itpos1
]) return;
939 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
940 fra
.me
.file
= LOCATE_mmloader
;
942 fra
.me
.meth
= LOCATE_mmloader___ToolContext___init
;
943 fra
.me
.has_broke
= 0;
945 fra
.me
.REG
[0] = NIT_NULL
;
946 fra
.me
.REG
[1] = NIT_NULL
;
947 fra
.me
.REG
[2] = NIT_NULL
;
948 fra
.me
.REG
[3] = NIT_NULL
;
950 /* ./mmloader.nit:154 */
951 fra
.me
.REG
[1] = fra
.me
.REG
[0];
952 /* ./mmloader.nit:156 */
953 CALL_abstractmetamodel___MMContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
954 /* ./mmloader.nit:157 */
955 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
957 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
958 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_warn(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
959 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
960 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_path(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
961 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
962 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
963 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
964 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log_dir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
965 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
966 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
967 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
968 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_metamodel(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
969 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
970 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_help(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
971 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
972 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_version(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
973 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
974 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_verbose(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
975 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
976 CALL_opts___OptionContext___add_option(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
977 stack_frame_head
= fra
.me
.prev
;
978 init_table
[itpos1
] = 1;
981 void mmloader___ToolContext___process_options(val_t p0
){
982 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
986 static val_t once_value_1
; /* Once value */
987 static val_t once_value_2
; /* Once value */
988 static val_t once_value_3
; /* Once value */
989 static val_t once_value_4
; /* Once value */
990 static val_t once_value_5
; /* Once value */
991 static val_t once_value_6
; /* Once value */
992 static val_t once_value_7
; /* Once value */
993 static val_t once_value_8
; /* Once value */
994 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
995 fra
.me
.file
= LOCATE_mmloader
;
997 fra
.me
.meth
= LOCATE_mmloader___ToolContext___process_options
;
998 fra
.me
.has_broke
= 0;
1000 fra
.me
.REG
[0] = NIT_NULL
;
1001 fra
.me
.REG
[1] = NIT_NULL
;
1002 fra
.me
.REG
[2] = NIT_NULL
;
1003 fra
.me
.REG
[3] = NIT_NULL
;
1005 /* ./mmloader.nit:164 */
1006 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1007 fra
.me
.REG
[2] = CALL_string___Object___args(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1008 CALL_opts___OptionContext___parse(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1009 /* ./mmloader.nit:167 */
1010 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___opt_verbose(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1011 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1012 ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1013 /* ./mmloader.nit:170 */
1014 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1015 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1016 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1017 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1018 /* ./mmloader.nit:172 */
1019 if (!once_value_1
) {
1020 if (!once_value_2
) {
1021 fra
.me
.REG
[1] = BOX_NativeString("NIT_PATH");
1023 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1024 once_value_2
= fra
.me
.REG
[1];
1025 register_static_object(&once_value_2
);
1026 } else fra
.me
.REG
[1] = once_value_2
;
1027 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1028 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1029 fra
.me
.REG
[1] = CALL_environ___Symbol___environ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1030 once_value_1
= fra
.me
.REG
[1];
1031 register_static_object(&once_value_1
);
1032 } else fra
.me
.REG
[1] = once_value_1
;
1033 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1034 /* ./mmloader.nit:173 */
1035 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1036 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1037 if (UNTAG_Bool(REGB0
)) {
1038 /* ./mmloader.nit:174 */
1039 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1040 REGB0
= TAG_Char(':');
1041 fra
.me
.REG
[3] = CALL_string_search___String___split_with(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1042 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1044 /* ./mmloader.nit:177 */
1045 if (!once_value_3
) {
1046 if (!once_value_4
) {
1047 fra
.me
.REG
[3] = BOX_NativeString("NIT_DIR");
1049 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1050 once_value_4
= fra
.me
.REG
[3];
1051 register_static_object(&once_value_4
);
1052 } else fra
.me
.REG
[3] = once_value_4
;
1053 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1054 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1055 fra
.me
.REG
[3] = CALL_environ___Symbol___environ(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1056 once_value_3
= fra
.me
.REG
[3];
1057 register_static_object(&once_value_3
);
1058 } else fra
.me
.REG
[3] = once_value_3
;
1059 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1060 fra
.me
.REG
[1] = fra
.me
.REG
[3];
1061 /* ./mmloader.nit:178 */
1062 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1063 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1064 if (UNTAG_Bool(REGB0
)) {
1065 /* ./mmloader.nit:179 */
1067 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1068 if (!once_value_5
) {
1069 fra
.me
.REG
[2] = BOX_NativeString("");
1071 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1072 once_value_5
= fra
.me
.REG
[2];
1073 register_static_object(&once_value_5
);
1074 } else fra
.me
.REG
[2] = once_value_5
;
1075 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1076 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1077 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1078 if (!once_value_6
) {
1079 fra
.me
.REG
[1] = BOX_NativeString("/lib");
1081 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1082 once_value_6
= fra
.me
.REG
[1];
1083 register_static_object(&once_value_6
);
1084 } else fra
.me
.REG
[1] = once_value_6
;
1085 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1086 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1087 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1088 /* ./mmloader.nit:180 */
1089 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1090 if (UNTAG_Bool(REGB0
)) {
1091 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1092 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1095 /* ./mmloader.nit:183 */
1097 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1098 if (!once_value_7
) {
1099 fra
.me
.REG
[1] = BOX_NativeString("");
1101 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1102 once_value_7
= fra
.me
.REG
[1];
1103 register_static_object(&once_value_7
);
1104 } else fra
.me
.REG
[1] = once_value_7
;
1105 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1106 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1107 fra
.me
.REG
[1] = CALL_kernel___Object___sys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1108 fra
.me
.REG
[1] = CALL_string___Sys___program_name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1109 fra
.me
.REG
[1] = CALL_file___String___dirname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1110 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1111 if (!once_value_8
) {
1112 fra
.me
.REG
[1] = BOX_NativeString("/../lib");
1114 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1115 once_value_8
= fra
.me
.REG
[1];
1116 register_static_object(&once_value_8
);
1117 } else fra
.me
.REG
[1] = once_value_8
;
1118 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1119 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1120 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1121 /* ./mmloader.nit:184 */
1122 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1123 if (UNTAG_Bool(REGB0
)) {
1124 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1125 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1127 /* ./mmloader.nit:186 */
1128 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log_dir(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1129 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1130 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1131 if (UNTAG_Bool(REGB0
)) {
1133 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1134 if (UNTAG_Bool(REGB1
)) {
1135 REGB1
= TAG_Bool(false);
1138 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1142 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1143 if (UNTAG_Bool(REGB0
)) {
1144 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log_dir(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1145 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1146 REGB0
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_String
, ID_String
)) /*cast String*/;
1147 if (UNTAG_Bool(REGB0
)) {
1149 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 186);
1151 ATTR_mmloader___ToolContext____log_directory(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1153 /* ./mmloader.nit:187 */
1154 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0])!=NIT_NULL
);
1155 if (UNTAG_Bool(REGB0
)) {
1157 nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_mmloader
, 187);
1159 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0]);
1160 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1161 if (UNTAG_Bool(fra
.me
.REG
[3])) {
1162 /* ./mmloader.nit:189 */
1163 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1164 CALL_file___String___mkdir(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1166 stack_frame_head
= fra
.me
.prev
;
1169 val_t
mmloader___ToolContext___try_to_load(val_t p0
, val_t p1
, val_t p2
){
1170 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
1175 static val_t once_value_4
; /* Once value */
1176 static val_t once_value_5
; /* Once value */
1177 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1178 fra
.me
.file
= LOCATE_mmloader
;
1180 fra
.me
.meth
= LOCATE_mmloader___ToolContext___try_to_load
;
1181 fra
.me
.has_broke
= 0;
1182 fra
.me
.REG_size
= 10;
1183 fra
.me
.REG
[0] = NIT_NULL
;
1184 fra
.me
.REG
[1] = NIT_NULL
;
1185 fra
.me
.REG
[2] = NIT_NULL
;
1186 fra
.me
.REG
[3] = NIT_NULL
;
1187 fra
.me
.REG
[4] = NIT_NULL
;
1188 fra
.me
.REG
[5] = NIT_NULL
;
1189 fra
.me
.REG
[6] = NIT_NULL
;
1190 fra
.me
.REG
[7] = NIT_NULL
;
1191 fra
.me
.REG
[8] = NIT_NULL
;
1192 fra
.me
.REG
[9] = NIT_NULL
;
1196 /* ./mmloader.nit:199 */
1197 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMDirectory___modules(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1198 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmloader___ToolContext___try_to_load_1
));
1199 switch ((&(fra
.me
))->has_broke
) {
1201 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
1203 /* ./mmloader.nit:205 */
1204 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0])!=NIT_NULL
);
1205 if (UNTAG_Bool(REGB0
)) {
1207 nit_abort("Uninitialized attribute %s", "_loaders", LOCATE_mmloader
, 205);
1209 fra
.me
.REG
[4] = ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0]);
1210 /* ./../lib/standard//collection//array.nit:234 */
1212 /* ./../lib/standard//collection//array.nit:235 */
1213 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1214 if (UNTAG_Bool(REGB1
)) {
1216 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1218 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1219 /* ./../lib/standard//collection//array.nit:236 */
1220 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[4]);
1221 /* ./../lib/standard//collection//array.nit:237 */
1223 /* ./../lib/standard//collection//array.nit:23 */
1224 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1225 if (UNTAG_Bool(REGB1
)) {
1227 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1229 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1230 /* ./../lib/standard//kernel.nit:212 */
1231 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1232 /* ./../lib/standard//collection//array.nit:237 */
1233 if (UNTAG_Bool(REGB1
)) {
1234 /* ./../lib/standard//collection//array.nit:238 */
1235 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1236 if (UNTAG_Bool(REGB1
)) {
1237 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1239 /* ./../lib/standard//collection//array.nit:654 */
1240 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1241 /* ./mmloader.nit:206 */
1242 fra
.me
.REG
[7] = CALL_mmloader___ModuleLoader___try_to_load_dir(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1243 /* ./mmloader.nit:207 */
1244 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1245 if (UNTAG_Bool(REGB1
)) {
1247 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1248 if (UNTAG_Bool(REGB2
)) {
1249 REGB2
= TAG_Bool(false);
1252 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1256 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1257 if (UNTAG_Bool(REGB1
)) {
1258 /* ./mmloader.nit:208 */
1259 fra
.me
.REG
[8] = CALL_mmloader___ToolContext___try_to_load(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[7]);
1260 /* ./mmloader.nit:209 */
1261 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1262 if (UNTAG_Bool(REGB1
)) {
1264 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1265 if (UNTAG_Bool(REGB2
)) {
1266 REGB2
= TAG_Bool(false);
1269 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
1273 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1274 if (UNTAG_Bool(REGB1
)) {
1275 /* ./mmloader.nit:210 */
1276 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1277 if (UNTAG_Bool(REGB1
)) {
1278 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 210);
1280 CALL_abstractmetamodel___MMDirectory___owner__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1281 /* ./mmloader.nit:211 */
1282 CALL_abstractmetamodel___MMDirectory___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
1283 /* ./mmloader.nit:212 */
1284 fra
.me
.REG
[3] = fra
.me
.REG
[8];
1288 /* ./mmloader.nit:216 */
1289 REGB1
= CALL_mmloader___ModuleLoader___can_handle(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1290 if (UNTAG_Bool(REGB1
)) {
1291 /* ./mmloader.nit:217 */
1292 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMDirectory___full_name_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1293 /* ./mmloader.nit:218 */
1294 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
1295 if (UNTAG_Bool(REGB1
)) {
1297 nit_abort("Uninitialized attribute %s", "_processing_modules", LOCATE_mmloader
, 218);
1299 fra
.me
.REG
[7] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
1300 REGB1
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1301 if (UNTAG_Bool(REGB1
)) {
1302 /* ./mmloader.nit:220 */
1304 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
1305 if (!once_value_4
) {
1306 fra
.me
.REG
[9] = BOX_NativeString("Error: Dependency loop for module ");
1307 REGB1
= TAG_Int(34);
1308 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
1309 once_value_4
= fra
.me
.REG
[9];
1310 register_static_object(&once_value_4
);
1311 } else fra
.me
.REG
[9] = once_value_4
;
1312 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1313 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1314 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1315 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1316 if (!once_value_5
) {
1317 fra
.me
.REG
[9] = BOX_NativeString("");
1319 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
1320 once_value_5
= fra
.me
.REG
[9];
1321 register_static_object(&once_value_5
);
1322 } else fra
.me
.REG
[9] = once_value_5
;
1323 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1324 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1325 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1326 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[7]);
1328 /* ./mmloader.nit:222 */
1329 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
1330 if (UNTAG_Bool(REGB1
)) {
1332 nit_abort("Uninitialized attribute %s", "_processing_modules", LOCATE_mmloader
, 222);
1334 fra
.me
.REG
[7] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
1335 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1336 /* ./mmloader.nit:223 */
1337 fra
.me
.REG
[6] = CALL_mmloader___ModuleLoader___load_and_process_module(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1338 /* ./mmloader.nit:224 */
1339 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
1340 if (UNTAG_Bool(REGB1
)) {
1342 nit_abort("Uninitialized attribute %s", "_processing_modules", LOCATE_mmloader
, 224);
1344 fra
.me
.REG
[7] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
1345 CALL_abstract_collection___RemovableCollection___remove(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1346 /* ./mmloader.nit:226 */
1347 CALL_abstractmetamodel___MMDirectory___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
1348 /* ./mmloader.nit:227 */
1349 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1352 /* ./../lib/standard//collection//array.nit:239 */
1354 /* ./../lib/standard//kernel.nit:215 */
1355 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1356 /* ./../lib/standard//collection//array.nit:239 */
1359 /* ./../lib/standard//collection//array.nit:237 */
1364 /* ./mmloader.nit:230 */
1365 fra
.me
.REG
[3] = NIT_NULL
;
1368 stack_frame_head
= fra
.me
.prev
;
1369 return fra
.me
.REG
[3];
1371 void OC_mmloader___ToolContext___try_to_load_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1372 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1377 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1378 fra
.me
.file
= LOCATE_mmloader
;
1380 fra
.me
.meth
= LOCATE_mmloader___ToolContext___try_to_load
;
1381 fra
.me
.has_broke
= 0;
1382 fra
.me
.REG_size
= 2;
1383 fra
.me
.REG
[0] = NIT_NULL
;
1384 fra
.me
.REG
[1] = NIT_NULL
;
1385 fra
.me
.closure_ctx
= closctx_param
;
1386 fra
.me
.closure_funs
= CREG
;
1388 CREG
[0] = clos_fun0
;
1389 /* ./mmloader.nit:200 */
1390 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1391 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[1]));
1392 if (UNTAG_Bool(REGB0
)) {
1394 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[1]);
1397 if (UNTAG_Bool(REGB0
)) {
1398 closctx
->REG
[3] = fra
.me
.REG
[0];
1399 closctx
->has_broke
= 1;
1403 stack_frame_head
= fra
.me
.prev
;
1406 val_t
mmloader___ToolContext___get_module_from_filename(val_t p0
, val_t p1
){
1407 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1411 static val_t once_value_1
; /* Once value */
1412 static val_t once_value_3
; /* Once value */
1413 static val_t once_value_4
; /* Once value */
1414 static val_t once_value_5
; /* Once value */
1415 static val_t once_value_6
; /* Once value */
1416 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1417 fra
.me
.file
= LOCATE_mmloader
;
1419 fra
.me
.meth
= LOCATE_mmloader___ToolContext___get_module_from_filename
;
1420 fra
.me
.has_broke
= 0;
1421 fra
.me
.REG_size
= 7;
1422 fra
.me
.REG
[0] = NIT_NULL
;
1423 fra
.me
.REG
[1] = NIT_NULL
;
1424 fra
.me
.REG
[2] = NIT_NULL
;
1425 fra
.me
.REG
[3] = NIT_NULL
;
1426 fra
.me
.REG
[4] = NIT_NULL
;
1427 fra
.me
.REG
[5] = NIT_NULL
;
1428 fra
.me
.REG
[6] = NIT_NULL
;
1431 /* ./mmloader.nit:242 */
1432 fra
.me
.REG
[2] = CALL_file___String___dirname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1433 /* ./mmloader.nit:243 */
1434 if (!once_value_1
) {
1435 fra
.me
.REG
[3] = BOX_NativeString(".nit");
1437 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1438 once_value_1
= fra
.me
.REG
[3];
1439 register_static_object(&once_value_1
);
1440 } else fra
.me
.REG
[3] = once_value_1
;
1441 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1442 fra
.me
.REG
[3] = CALL_file___String___basename(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1443 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1444 /* ./mmloader.nit:245 */
1445 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___directory_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1446 /* ./mmloader.nit:247 */
1447 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1448 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[1]));
1449 if (UNTAG_Bool(REGB0
)) {
1451 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1454 if (UNTAG_Bool(REGB0
)) {
1455 /* ./mmloader.nit:250 */
1456 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___try_to_load(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1457 /* ./mmloader.nit:251 */
1458 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1459 if (UNTAG_Bool(REGB0
)) {
1461 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1462 if (UNTAG_Bool(REGB1
)) {
1463 REGB1
= TAG_Bool(false);
1466 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1470 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1471 if (UNTAG_Bool(REGB0
)) {
1474 /* ./mmloader.nit:254 */
1475 fra
.me
.REG
[5] = CALL_mmloader___ToolContext___get_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], NIT_NULL
);
1476 fra
.me
.REG
[4] = fra
.me
.REG
[5];
1479 /* ./mmloader.nit:257 */
1480 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1481 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1482 if (UNTAG_Bool(REGB0
)) {
1483 /* ./mmloader.nit:258 */
1485 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1486 if (!once_value_3
) {
1487 fra
.me
.REG
[6] = BOX_NativeString("Error: File ");
1488 REGB0
= TAG_Int(12);
1489 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1490 once_value_3
= fra
.me
.REG
[6];
1491 register_static_object(&once_value_3
);
1492 } else fra
.me
.REG
[6] = once_value_3
;
1493 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1494 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1495 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1496 if (!once_value_4
) {
1497 fra
.me
.REG
[6] = BOX_NativeString(" not found.");
1498 REGB0
= TAG_Int(11);
1499 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1500 once_value_4
= fra
.me
.REG
[6];
1501 register_static_object(&once_value_4
);
1502 } else fra
.me
.REG
[6] = once_value_4
;
1503 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1504 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1505 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1506 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
1507 /* ./mmloader.nit:259 */
1508 nit_abort("Aborted", NULL
, LOCATE_mmloader
, 259);
1510 /* ./mmloader.nit:263 */
1511 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___try_to_load(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1512 /* ./mmloader.nit:264 */
1513 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1514 if (UNTAG_Bool(REGB0
)) {
1516 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1517 if (UNTAG_Bool(REGB1
)) {
1518 REGB1
= TAG_Bool(false);
1521 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1525 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1526 if (UNTAG_Bool(REGB0
)) {
1527 fra
.me
.REG
[4] = fra
.me
.REG
[2];
1530 /* ./mmloader.nit:266 */
1532 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1533 if (!once_value_5
) {
1534 fra
.me
.REG
[3] = BOX_NativeString("Error: ");
1536 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1537 once_value_5
= fra
.me
.REG
[3];
1538 register_static_object(&once_value_5
);
1539 } else fra
.me
.REG
[3] = once_value_5
;
1540 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1541 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1542 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1543 if (!once_value_6
) {
1544 fra
.me
.REG
[1] = BOX_NativeString(" is not a NIT source module.");
1545 REGB0
= TAG_Int(28);
1546 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1547 once_value_6
= fra
.me
.REG
[1];
1548 register_static_object(&once_value_6
);
1549 } else fra
.me
.REG
[1] = once_value_6
;
1550 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1551 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1552 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1553 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[2]);
1554 /* ./mmloader.nit:267 */
1555 nit_abort("Aborted", NULL
, LOCATE_mmloader
, 267);
1557 stack_frame_head
= fra
.me
.prev
;
1558 return fra
.me
.REG
[4];
1560 val_t
mmloader___ToolContext___get_module(val_t p0
, val_t p1
, val_t p2
){
1561 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1566 static val_t once_value_4
; /* Once value */
1567 static val_t once_value_5
; /* Once value */
1568 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1569 fra
.me
.file
= LOCATE_mmloader
;
1571 fra
.me
.meth
= LOCATE_mmloader___ToolContext___get_module
;
1572 fra
.me
.has_broke
= 0;
1573 fra
.me
.REG_size
= 6;
1574 fra
.me
.REG
[0] = NIT_NULL
;
1575 fra
.me
.REG
[1] = NIT_NULL
;
1576 fra
.me
.REG
[2] = NIT_NULL
;
1577 fra
.me
.REG
[3] = NIT_NULL
;
1578 fra
.me
.REG
[4] = NIT_NULL
;
1579 fra
.me
.REG
[5] = NIT_NULL
;
1583 /* ./mmloader.nit:274 */
1584 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1585 if (UNTAG_Bool(REGB0
)) {
1587 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1588 if (UNTAG_Bool(REGB1
)) {
1589 REGB1
= TAG_Bool(false);
1592 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1596 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1597 if (UNTAG_Bool(REGB0
)) {
1598 /* ./mmloader.nit:275 */
1599 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1600 if (UNTAG_Bool(REGB0
)) {
1601 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 275);
1603 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___directory(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1604 /* ./mmloader.nit:276 */
1606 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1607 if (UNTAG_Bool(REGB0
)) {
1609 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1610 if (UNTAG_Bool(REGB1
)) {
1611 REGB1
= TAG_Bool(false);
1614 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1618 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1619 if (UNTAG_Bool(REGB0
)) {
1620 /* ./mmloader.nit:277 */
1621 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___try_to_load(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1622 /* ./mmloader.nit:278 */
1623 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1624 if (UNTAG_Bool(REGB0
)) {
1626 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1627 if (UNTAG_Bool(REGB1
)) {
1628 REGB1
= TAG_Bool(false);
1631 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1635 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1636 if (UNTAG_Bool(REGB0
)) {
1639 /* ./mmloader.nit:279 */
1640 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1641 if (UNTAG_Bool(REGB0
)) {
1642 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 279);
1644 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMDirectory___parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1645 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1647 /* ./mmloader.nit:276 */
1653 /* ./mmloader.nit:283 */
1654 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1655 /* ./../lib/standard//collection//array.nit:234 */
1657 /* ./../lib/standard//collection//array.nit:235 */
1658 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1659 if (UNTAG_Bool(REGB1
)) {
1661 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1663 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1664 /* ./../lib/standard//collection//array.nit:236 */
1665 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[2]);
1666 /* ./../lib/standard//collection//array.nit:237 */
1668 /* ./../lib/standard//collection//array.nit:23 */
1669 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1670 if (UNTAG_Bool(REGB1
)) {
1672 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1674 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1675 /* ./../lib/standard//kernel.nit:212 */
1676 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1677 /* ./../lib/standard//collection//array.nit:237 */
1678 if (UNTAG_Bool(REGB1
)) {
1679 /* ./../lib/standard//collection//array.nit:238 */
1680 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1681 if (UNTAG_Bool(REGB1
)) {
1682 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1684 /* ./../lib/standard//collection//array.nit:654 */
1685 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1686 /* ./mmloader.nit:284 */
1687 fra
.me
.REG
[5] = CALL_mmloader___ToolContext___directory_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
1688 fra
.me
.REG
[5] = CALL_mmloader___ToolContext___try_to_load(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[5]);
1689 /* ./mmloader.nit:285 */
1690 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1691 if (UNTAG_Bool(REGB1
)) {
1693 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1694 if (UNTAG_Bool(REGB2
)) {
1695 REGB2
= TAG_Bool(false);
1698 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1702 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1703 if (UNTAG_Bool(REGB1
)) {
1704 fra
.me
.REG
[3] = fra
.me
.REG
[5];
1707 /* ./../lib/standard//collection//array.nit:239 */
1709 /* ./../lib/standard//kernel.nit:215 */
1710 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1711 /* ./../lib/standard//collection//array.nit:239 */
1714 /* ./../lib/standard//collection//array.nit:237 */
1719 /* ./mmloader.nit:288 */
1721 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1722 if (!once_value_4
) {
1723 fra
.me
.REG
[2] = BOX_NativeString("Error: No ressource found for module ");
1724 REGB0
= TAG_Int(37);
1725 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1726 once_value_4
= fra
.me
.REG
[2];
1727 register_static_object(&once_value_4
);
1728 } else fra
.me
.REG
[2] = once_value_4
;
1729 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1730 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1731 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1732 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1733 if (!once_value_5
) {
1734 fra
.me
.REG
[1] = BOX_NativeString(".");
1736 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1737 once_value_5
= fra
.me
.REG
[1];
1738 register_static_object(&once_value_5
);
1739 } else fra
.me
.REG
[1] = once_value_5
;
1740 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1741 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1742 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1743 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
1744 /* ./mmloader.nit:289 */
1745 nit_abort("Aborted", NULL
, LOCATE_mmloader
, 289);
1747 stack_frame_head
= fra
.me
.prev
;
1748 return fra
.me
.REG
[3];
1750 val_t
mmloader___ToolContext___directory_for(val_t p0
, val_t p1
){
1751 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1754 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1755 fra
.me
.file
= LOCATE_mmloader
;
1757 fra
.me
.meth
= LOCATE_mmloader___ToolContext___directory_for
;
1758 fra
.me
.has_broke
= 0;
1759 fra
.me
.REG_size
= 4;
1760 fra
.me
.REG
[0] = NIT_NULL
;
1761 fra
.me
.REG
[1] = NIT_NULL
;
1762 fra
.me
.REG
[2] = NIT_NULL
;
1763 fra
.me
.REG
[3] = NIT_NULL
;
1766 /* ./mmloader.nit:295 */
1767 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
1768 if (UNTAG_Bool(REGB0
)) {
1770 nit_abort("Uninitialized attribute %s", "_path_dirs", LOCATE_mmloader
, 295);
1772 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
1773 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1774 if (UNTAG_Bool(REGB0
)) {
1775 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
1776 if (UNTAG_Bool(REGB0
)) {
1778 nit_abort("Uninitialized attribute %s", "_path_dirs", LOCATE_mmloader
, 295);
1780 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
1781 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1784 /* ./mmloader.nit:296 */
1785 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1786 fra
.me
.REG
[3] = NEW_MMDirectory_abstractmetamodel___MMDirectory___init(fra
.me
.REG
[3], fra
.me
.REG
[1], NIT_NULL
);
1787 /* ./mmloader.nit:297 */
1788 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
1789 if (UNTAG_Bool(REGB0
)) {
1791 nit_abort("Uninitialized attribute %s", "_path_dirs", LOCATE_mmloader
, 297);
1793 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
1794 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1795 /* ./mmloader.nit:298 */
1796 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1799 stack_frame_head
= fra
.me
.prev
;
1800 return fra
.me
.REG
[2];
1802 void mmloader___ToolContext___register_loader(val_t p0
, val_t p1
){
1803 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1806 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1807 fra
.me
.file
= LOCATE_mmloader
;
1809 fra
.me
.meth
= LOCATE_mmloader___ToolContext___register_loader
;
1810 fra
.me
.has_broke
= 0;
1811 fra
.me
.REG_size
= 2;
1812 fra
.me
.REG
[0] = NIT_NULL
;
1813 fra
.me
.REG
[1] = NIT_NULL
;
1816 /* ./mmloader.nit:305 */
1817 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0])!=NIT_NULL
);
1818 if (UNTAG_Bool(REGB0
)) {
1820 nit_abort("Uninitialized attribute %s", "_loaders", LOCATE_mmloader
, 305);
1822 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0]);
1823 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1824 stack_frame_head
= fra
.me
.prev
;
1827 val_t
mmloader___ModuleLoader___file_type(val_t p0
){
1828 struct {struct stack_frame_t me
;} fra
;
1830 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1831 fra
.me
.file
= LOCATE_mmloader
;
1833 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___file_type
;
1834 fra
.me
.has_broke
= 0;
1835 fra
.me
.REG_size
= 0;
1836 /* ./mmloader.nit:313 */
1837 nit_abort("Deferred method called", NULL
, LOCATE_mmloader
, 313);
1838 stack_frame_head
= fra
.me
.prev
;
1841 val_t
mmloader___ModuleLoader___try_to_load_dir(val_t p0
, val_t p1
, val_t p2
){
1842 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1845 static val_t once_value_1
; /* Once value */
1846 static val_t once_value_2
; /* Once value */
1847 static val_t once_value_3
; /* Once value */
1848 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1849 fra
.me
.file
= LOCATE_mmloader
;
1851 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___try_to_load_dir
;
1852 fra
.me
.has_broke
= 0;
1853 fra
.me
.REG_size
= 4;
1854 fra
.me
.REG
[0] = NIT_NULL
;
1855 fra
.me
.REG
[1] = NIT_NULL
;
1856 fra
.me
.REG
[2] = NIT_NULL
;
1857 fra
.me
.REG
[3] = NIT_NULL
;
1861 /* ./mmloader.nit:319 */
1863 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
1864 if (!once_value_1
) {
1865 fra
.me
.REG
[3] = BOX_NativeString("");
1867 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1868 once_value_1
= fra
.me
.REG
[3];
1869 register_static_object(&once_value_1
);
1870 } else fra
.me
.REG
[3] = once_value_1
;
1871 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1872 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1873 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1874 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1875 if (!once_value_2
) {
1876 fra
.me
.REG
[3] = BOX_NativeString("/");
1878 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1879 once_value_2
= fra
.me
.REG
[3];
1880 register_static_object(&once_value_2
);
1881 } else fra
.me
.REG
[3] = once_value_2
;
1882 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1883 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1884 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1885 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1886 if (!once_value_3
) {
1887 fra
.me
.REG
[3] = BOX_NativeString("/");
1889 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1890 once_value_3
= fra
.me
.REG
[3];
1891 register_static_object(&once_value_3
);
1892 } else fra
.me
.REG
[3] = once_value_3
;
1893 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1894 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1895 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1896 /* ./mmloader.nit:320 */
1897 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1898 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1899 if (UNTAG_Bool(REGB0
)) {
1900 fra
.me
.REG
[3] = NIT_NULL
;
1903 /* ./mmloader.nit:322 */
1904 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMDirectory___full_name_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1905 fra
.me
.REG
[2] = NEW_MMDirectory_abstractmetamodel___MMDirectory___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1906 /* ./mmloader.nit:323 */
1907 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1910 stack_frame_head
= fra
.me
.prev
;
1911 return fra
.me
.REG
[3];
1913 val_t
mmloader___ModuleLoader___can_handle(val_t p0
, val_t p1
, val_t p2
){
1914 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1918 static val_t once_value_1
; /* Once value */
1919 static val_t once_value_2
; /* Once value */
1920 static val_t once_value_3
; /* Once value */
1921 static val_t once_value_4
; /* Once value */
1922 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1923 fra
.me
.file
= LOCATE_mmloader
;
1925 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___can_handle
;
1926 fra
.me
.has_broke
= 0;
1927 fra
.me
.REG_size
= 5;
1928 fra
.me
.REG
[0] = NIT_NULL
;
1929 fra
.me
.REG
[1] = NIT_NULL
;
1930 fra
.me
.REG
[2] = NIT_NULL
;
1931 fra
.me
.REG
[3] = NIT_NULL
;
1932 fra
.me
.REG
[4] = NIT_NULL
;
1936 /* ./mmloader.nit:330 */
1938 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1939 if (!once_value_1
) {
1940 fra
.me
.REG
[4] = BOX_NativeString("");
1942 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1943 once_value_1
= fra
.me
.REG
[4];
1944 register_static_object(&once_value_1
);
1945 } else fra
.me
.REG
[4] = once_value_1
;
1946 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1947 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1948 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1949 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1950 if (!once_value_2
) {
1951 fra
.me
.REG
[2] = BOX_NativeString("/");
1953 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1954 once_value_2
= fra
.me
.REG
[2];
1955 register_static_object(&once_value_2
);
1956 } else fra
.me
.REG
[2] = once_value_2
;
1957 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1958 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1959 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1960 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1961 if (!once_value_3
) {
1962 fra
.me
.REG
[1] = BOX_NativeString(".");
1964 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1965 once_value_3
= fra
.me
.REG
[1];
1966 register_static_object(&once_value_3
);
1967 } else fra
.me
.REG
[1] = once_value_3
;
1968 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1969 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1970 fra
.me
.REG
[0] = CALL_mmloader___ModuleLoader___file_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1971 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1972 if (!once_value_4
) {
1973 fra
.me
.REG
[0] = BOX_NativeString("");
1975 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1976 once_value_4
= fra
.me
.REG
[0];
1977 register_static_object(&once_value_4
);
1978 } else fra
.me
.REG
[0] = once_value_4
;
1979 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1980 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1981 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1982 /* ./mmloader.nit:331 */
1983 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1984 if (UNTAG_Bool(REGB0
)) {
1985 REGB0
= TAG_Bool(true);
1988 /* ./mmloader.nit:332 */
1989 REGB1
= TAG_Bool(false);
1993 stack_frame_head
= fra
.me
.prev
;
1996 val_t
mmloader___ModuleLoader___load_and_process_module(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1997 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2000 static val_t once_value_1
; /* Once value */
2001 static val_t once_value_2
; /* Once value */
2002 static val_t once_value_3
; /* Once value */
2003 static val_t once_value_4
; /* Once value */
2004 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2005 fra
.me
.file
= LOCATE_mmloader
;
2007 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___load_and_process_module
;
2008 fra
.me
.has_broke
= 0;
2009 fra
.me
.REG_size
= 6;
2010 fra
.me
.REG
[0] = NIT_NULL
;
2011 fra
.me
.REG
[1] = NIT_NULL
;
2012 fra
.me
.REG
[2] = NIT_NULL
;
2013 fra
.me
.REG
[3] = NIT_NULL
;
2014 fra
.me
.REG
[4] = NIT_NULL
;
2015 fra
.me
.REG
[5] = NIT_NULL
;
2020 /* ./mmloader.nit:339 */
2022 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2023 if (!once_value_1
) {
2024 fra
.me
.REG
[5] = BOX_NativeString("");
2026 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2027 once_value_1
= fra
.me
.REG
[5];
2028 register_static_object(&once_value_1
);
2029 } else fra
.me
.REG
[5] = once_value_1
;
2030 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2031 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2032 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2033 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2034 if (!once_value_2
) {
2035 fra
.me
.REG
[5] = BOX_NativeString("/");
2037 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2038 once_value_2
= fra
.me
.REG
[5];
2039 register_static_object(&once_value_2
);
2040 } else fra
.me
.REG
[5] = once_value_2
;
2041 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2042 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2043 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2044 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2045 if (!once_value_3
) {
2046 fra
.me
.REG
[5] = BOX_NativeString(".");
2048 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2049 once_value_3
= fra
.me
.REG
[5];
2050 register_static_object(&once_value_3
);
2051 } else fra
.me
.REG
[5] = once_value_3
;
2052 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2053 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2054 fra
.me
.REG
[5] = CALL_mmloader___ModuleLoader___file_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2055 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2056 if (!once_value_4
) {
2057 fra
.me
.REG
[5] = BOX_NativeString("");
2059 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2060 once_value_4
= fra
.me
.REG
[5];
2061 register_static_object(&once_value_4
);
2062 } else fra
.me
.REG
[5] = once_value_4
;
2063 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2064 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2065 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2066 /* ./mmloader.nit:340 */
2067 fra
.me
.REG
[4] = CALL_mmloader___ModuleLoader___load_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
2068 /* ./mmloader.nit:341 */
2069 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2070 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2071 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[3]));
2072 if (UNTAG_Bool(REGB0
)) {
2073 CALL_mmloader___ModuleLoader___process_metamodel(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
2075 /* ./mmloader.nit:342 */
2078 stack_frame_head
= fra
.me
.prev
;
2079 return fra
.me
.REG
[4];
2081 val_t
mmloader___ModuleLoader___load_module(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
2082 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2086 static val_t once_value_1
; /* Once value */
2087 static val_t once_value_2
; /* Once value */
2088 static val_t once_value_3
; /* Once value */
2089 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2090 fra
.me
.file
= LOCATE_mmloader
;
2092 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___load_module
;
2093 fra
.me
.has_broke
= 0;
2094 fra
.me
.REG_size
= 8;
2095 fra
.me
.REG
[0] = NIT_NULL
;
2096 fra
.me
.REG
[1] = NIT_NULL
;
2097 fra
.me
.REG
[2] = NIT_NULL
;
2098 fra
.me
.REG
[3] = NIT_NULL
;
2099 fra
.me
.REG
[4] = NIT_NULL
;
2100 fra
.me
.REG
[5] = NIT_NULL
;
2101 fra
.me
.REG
[6] = NIT_NULL
;
2102 fra
.me
.REG
[7] = NIT_NULL
;
2108 /* ./mmloader.nit:349 */
2109 if (!once_value_1
) {
2110 fra
.me
.REG
[5] = BOX_NativeString("-");
2112 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2113 once_value_1
= fra
.me
.REG
[5];
2114 register_static_object(&once_value_1
);
2115 } else fra
.me
.REG
[5] = once_value_1
;
2116 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2117 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
2118 if (UNTAG_Bool(REGB0
)) {
2120 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2123 if (UNTAG_Bool(REGB0
)) {
2124 /* ./mmloader.nit:350 */
2125 fra
.me
.REG
[5] = CALL_file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2127 /* ./mmloader.nit:352 */
2128 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2129 fra
.me
.REG
[6] = NEW_IFStream_file___IFStream___open(fra
.me
.REG
[6]);
2130 fra
.me
.REG
[5] = fra
.me
.REG
[6];
2132 /* ./mmloader.nit:355 */
2133 REGB0
= CALL_stream___IStream___eof(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2134 if (UNTAG_Bool(REGB0
)) {
2135 /* ./mmloader.nit:356 */
2137 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
2138 if (!once_value_2
) {
2139 fra
.me
.REG
[7] = BOX_NativeString("Error: Problem in opening file ");
2140 REGB0
= TAG_Int(31);
2141 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
2142 once_value_2
= fra
.me
.REG
[7];
2143 register_static_object(&once_value_2
);
2144 } else fra
.me
.REG
[7] = once_value_2
;
2145 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2146 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
2147 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
2148 if (!once_value_3
) {
2149 fra
.me
.REG
[7] = BOX_NativeString("");
2151 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
2152 once_value_3
= fra
.me
.REG
[7];
2153 register_static_object(&once_value_3
);
2154 } else fra
.me
.REG
[7] = once_value_3
;
2155 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2156 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
2157 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2158 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[6]);
2160 /* ./mmloader.nit:358 */
2161 fra
.me
.REG
[3] = CALL_mmloader___ModuleLoader___parse_file(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[4], fra
.me
.REG
[2], fra
.me
.REG
[3]);
2162 /* ./mmloader.nit:359 */
2163 fra
.me
.REG
[0] = CALL_file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2164 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[0]));
2165 if (UNTAG_Bool(REGB0
)) {
2167 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
2170 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2171 if (UNTAG_Bool(REGB0
)) {
2172 CALL_stream___IOS___close(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2174 /* ./mmloader.nit:360 */
2177 stack_frame_head
= fra
.me
.prev
;
2178 return fra
.me
.REG
[3];
2180 val_t
mmloader___ModuleLoader___parse_file(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, val_t p5
){
2181 struct {struct stack_frame_t me
;} fra
;
2183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2184 fra
.me
.file
= LOCATE_mmloader
;
2186 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___parse_file
;
2187 fra
.me
.has_broke
= 0;
2188 fra
.me
.REG_size
= 0;
2189 /* ./mmloader.nit:363 */
2190 nit_abort("Deferred method called", NULL
, LOCATE_mmloader
, 363);
2191 stack_frame_head
= fra
.me
.prev
;
2194 void mmloader___ModuleLoader___process_metamodel(val_t p0
, val_t p1
, val_t p2
){
2195 struct {struct stack_frame_t me
;} fra
;
2197 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2198 fra
.me
.file
= LOCATE_mmloader
;
2200 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___process_metamodel
;
2201 fra
.me
.has_broke
= 0;
2202 fra
.me
.REG_size
= 0;
2203 /* ./mmloader.nit:366 */
2204 nit_abort("Deferred method called", NULL
, LOCATE_mmloader
, 366);
2205 stack_frame_head
= fra
.me
.prev
;
2208 void mmloader___ModuleLoader___init(val_t p0
, int* init_table
){
2209 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ModuleLoader
].i
;
2210 struct {struct stack_frame_t me
;} fra
;
2212 if (init_table
[itpos2
]) return;
2213 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2214 fra
.me
.file
= LOCATE_mmloader
;
2216 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___init
;
2217 fra
.me
.has_broke
= 0;
2218 fra
.me
.REG_size
= 0;
2219 stack_frame_head
= fra
.me
.prev
;
2220 init_table
[itpos2
] = 1;
2223 void mmloader___MMModule___import_supers_modules(val_t p0
, val_t p1
){
2224 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2227 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2228 fra
.me
.file
= LOCATE_mmloader
;
2230 fra
.me
.meth
= LOCATE_mmloader___MMModule___import_supers_modules
;
2231 fra
.me
.has_broke
= 0;
2232 fra
.me
.REG_size
= 4;
2233 fra
.me
.REG
[0] = NIT_NULL
;
2234 fra
.me
.REG
[1] = NIT_NULL
;
2235 fra
.me
.REG
[2] = NIT_NULL
;
2236 fra
.me
.REG
[3] = NIT_NULL
;
2239 /* ./mmloader.nit:374 */
2240 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2241 /* ./mmloader.nit:375 */
2242 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_ToolContext
, ID_ToolContext
)) /*cast ToolContext*/;
2243 if (UNTAG_Bool(REGB0
)) {
2245 nit_abort("Assert failed", NULL
, LOCATE_mmloader
, 375);
2247 /* ./mmloader.nit:376 */
2248 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
2249 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_mmloader___MMModule___import_supers_modules_1
));
2250 /* ./mmloader.nit:381 */
2251 CALL_abstractmetamodel___MMContext___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[3]);
2252 stack_frame_head
= fra
.me
.prev
;
2255 void OC_mmloader___MMModule___import_supers_modules_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2256 struct {struct stack_frame_t me
;} fra
;
2259 /* ./mmloader.nit:377 */
2260 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2261 fra
.me
.file
= LOCATE_mmloader
;
2263 fra
.me
.meth
= LOCATE_mmloader___MMModule___import_supers_modules
;
2264 fra
.me
.has_broke
= 0;
2265 fra
.me
.REG_size
= 1;
2266 fra
.me
.REG
[0] = NIT_NULL
;
2267 fra
.me
.closure_ctx
= closctx_param
;
2268 fra
.me
.closure_funs
= CREG
;
2270 CREG
[0] = clos_fun0
;
2271 /* ./mmloader.nit:378 */
2272 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___get_module(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0], closctx
->REG
[0]);
2273 /* ./mmloader.nit:379 */
2274 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
2275 stack_frame_head
= fra
.me
.prev
;