1 /* This C file is generated by NIT to compile module mmloader. */
2 #include "mmloader._sep.h"
3 val_t
mmloader___Message_____l(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
9 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10 fra
.me
.file
= LOCATE_mmloader
;
12 fra
.me
.meth
= LOCATE_mmloader___Message_____l
;
15 fra
.me
.REG
[0] = NIT_NULL
;
16 fra
.me
.REG
[1] = NIT_NULL
;
17 fra
.me
.REG
[2] = NIT_NULL
;
20 fra
.me
.REG
[2] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
21 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
22 /* ./mmloader.nit:34 */
23 if (UNTAG_Bool(REGB0
)) {
25 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
26 if (UNTAG_Bool(REGB1
)) {
27 REGB1
= TAG_Bool(false);
30 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
34 if (UNTAG_Bool(REGB0
)) {
35 REGB0
= TAG_Bool(true);
38 fra
.me
.REG
[2] = CALL_mmloader___Message___location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
39 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
40 /* ./mmloader.nit:35 */
41 if (UNTAG_Bool(REGB1
)) {
43 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
44 if (UNTAG_Bool(REGB2
)) {
45 REGB2
= TAG_Bool(false);
48 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
52 if (UNTAG_Bool(REGB1
)) {
53 REGB1
= TAG_Bool(false);
57 fra
.me
.REG
[0] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
58 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
59 /* ./mmloader.nit:37 */
60 if (UNTAG_Bool(REGB1
)) {
62 fprintf(stderr
, "Cast failed");
63 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 37);
66 fra
.me
.REG
[1] = CALL_mmloader___Message___location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
67 REGB1
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
68 if (UNTAG_Bool(REGB1
)) {
70 fprintf(stderr
, "Cast failed");
71 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 37);
74 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
75 if (UNTAG_Bool(REGB1
)) {
76 fprintf(stderr
, "Reciever is null");
77 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 37);
80 REGB1
= CALL_kernel___Comparable_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
84 stack_frame_head
= fra
.me
.prev
;
87 val_t
mmloader___Message___to_s(val_t p0
){
88 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
92 static val_t once_value_2
; /* Once value */
93 static val_t once_value_3
; /* Once value */
94 static val_t once_value_4
; /* Once value */
95 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
96 fra
.me
.file
= LOCATE_mmloader
;
98 fra
.me
.meth
= LOCATE_mmloader___Message___to_s
;
101 fra
.me
.REG
[0] = NIT_NULL
;
102 fra
.me
.REG
[1] = NIT_NULL
;
103 fra
.me
.REG
[2] = NIT_NULL
;
104 fra
.me
.REG
[3] = NIT_NULL
;
106 fra
.me
.REG
[1] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
107 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
108 /* ./mmloader.nit:41 */
109 if (UNTAG_Bool(REGB0
)) {
111 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
112 if (UNTAG_Bool(REGB1
)) {
113 REGB1
= TAG_Bool(false);
116 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
120 if (UNTAG_Bool(REGB0
)) {
121 fra
.me
.REG
[1] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
122 /* ./mmloader.nit:42 */
126 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
127 /* ./mmloader.nit:44 */
129 fra
.me
.REG
[3] = BOX_NativeString("");
131 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
132 once_value_2
= fra
.me
.REG
[3];
133 register_static_object(&once_value_2
);
134 } else fra
.me
.REG
[3] = once_value_2
;
135 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
136 fra
.me
.REG
[3] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
137 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
138 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
140 fra
.me
.REG
[3] = BOX_NativeString(": ");
142 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
143 once_value_3
= fra
.me
.REG
[3];
144 register_static_object(&once_value_3
);
145 } else fra
.me
.REG
[3] = once_value_3
;
146 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
147 fra
.me
.REG
[0] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
148 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
150 fra
.me
.REG
[0] = BOX_NativeString("");
152 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
153 once_value_4
= fra
.me
.REG
[0];
154 register_static_object(&once_value_4
);
155 } else fra
.me
.REG
[0] = once_value_4
;
156 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
157 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
158 fra
.me
.REG
[1] = fra
.me
.REG
[2];
162 stack_frame_head
= fra
.me
.prev
;
163 return fra
.me
.REG
[1];
165 val_t
mmloader___Message___location(val_t p0
){
166 struct {struct stack_frame_t me
;} fra
;
168 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
169 fra
.me
.file
= LOCATE_mmloader
;
171 fra
.me
.meth
= LOCATE_mmloader___Message___location
;
172 fra
.me
.has_broke
= 0;
174 fra
.me
.REG
[0] = NIT_NULL
;
176 fra
.me
.REG
[0] = ATTR_mmloader___Message____location(fra
.me
.REG
[0]);
177 /* ./mmloader.nit:30 */
178 stack_frame_head
= fra
.me
.prev
;
179 return fra
.me
.REG
[0];
181 val_t
mmloader___Message___text(val_t p0
){
182 struct {struct stack_frame_t me
;} fra
;
185 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
186 fra
.me
.file
= LOCATE_mmloader
;
188 fra
.me
.meth
= LOCATE_mmloader___Message___text
;
189 fra
.me
.has_broke
= 0;
191 fra
.me
.REG
[0] = NIT_NULL
;
193 REGB0
= TAG_Bool(ATTR_mmloader___Message____text(fra
.me
.REG
[0])!=NIT_NULL
);
194 /* ./mmloader.nit:31 */
195 if (UNTAG_Bool(REGB0
)) {
197 fprintf(stderr
, "Uninitialized attribute %s", "_text");
198 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 31);
201 fra
.me
.REG
[0] = ATTR_mmloader___Message____text(fra
.me
.REG
[0]);
202 stack_frame_head
= fra
.me
.prev
;
203 return fra
.me
.REG
[0];
205 void mmloader___Message___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
206 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Message
].i
;
207 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
209 if (init_table
[itpos0
]) return;
210 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
211 fra
.me
.file
= LOCATE_mmloader
;
213 fra
.me
.meth
= LOCATE_mmloader___Message___init
;
214 fra
.me
.has_broke
= 0;
216 fra
.me
.REG
[0] = NIT_NULL
;
217 fra
.me
.REG
[1] = NIT_NULL
;
218 fra
.me
.REG
[2] = NIT_NULL
;
222 ATTR_mmloader___Message____location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
223 ATTR_mmloader___Message____text(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
224 stack_frame_head
= fra
.me
.prev
;
225 init_table
[itpos0
] = 1;
228 val_t
mmloader___ToolContext___error_count(val_t p0
){
229 struct {struct stack_frame_t me
;} fra
;
232 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
233 fra
.me
.file
= LOCATE_mmloader
;
235 fra
.me
.meth
= LOCATE_mmloader___ToolContext___error_count
;
236 fra
.me
.has_broke
= 0;
238 fra
.me
.REG
[0] = NIT_NULL
;
240 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
241 /* ./mmloader.nit:52 */
242 if (UNTAG_Bool(REGB0
)) {
244 fprintf(stderr
, "Uninitialized attribute %s", "_error_count");
245 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 52);
248 REGB0
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
249 stack_frame_head
= fra
.me
.prev
;
252 val_t
mmloader___ToolContext___warning_count(val_t p0
){
253 struct {struct stack_frame_t me
;} fra
;
256 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
257 fra
.me
.file
= LOCATE_mmloader
;
259 fra
.me
.meth
= LOCATE_mmloader___ToolContext___warning_count
;
260 fra
.me
.has_broke
= 0;
262 fra
.me
.REG
[0] = NIT_NULL
;
264 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0])!=NIT_NULL
);
265 /* ./mmloader.nit:55 */
266 if (UNTAG_Bool(REGB0
)) {
268 fprintf(stderr
, "Uninitialized attribute %s", "_warning_count");
269 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 55);
272 REGB0
= ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]);
273 stack_frame_head
= fra
.me
.prev
;
276 void mmloader___ToolContext___check_errors(val_t p0
){
277 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
281 static val_t once_value_1
; /* Once value */
282 static val_t once_value_2
; /* Once value */
283 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
284 fra
.me
.file
= LOCATE_mmloader
;
286 fra
.me
.meth
= LOCATE_mmloader___ToolContext___check_errors
;
287 fra
.me
.has_broke
= 0;
289 fra
.me
.REG
[0] = NIT_NULL
;
290 fra
.me
.REG
[1] = NIT_NULL
;
291 fra
.me
.REG
[2] = NIT_NULL
;
292 fra
.me
.REG
[3] = NIT_NULL
;
293 fra
.me
.REG
[4] = NIT_NULL
;
294 fra
.me
.REG
[5] = NIT_NULL
;
296 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
297 /* ./mmloader.nit:64 */
298 if (UNTAG_Bool(REGB0
)) {
300 fprintf(stderr
, "Uninitialized attribute %s", "_messages");
301 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 64);
304 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
305 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
306 /* ./../lib/standard//collection//array.nit:23 */
307 if (UNTAG_Bool(REGB0
)) {
309 fprintf(stderr
, "Uninitialized attribute %s", "_length");
310 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
313 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
315 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
316 /* ./mmloader.nit:64 */
317 if (UNTAG_Bool(REGB1
)) {
318 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____message_sorter(fra
.me
.REG
[0])!=NIT_NULL
);
319 /* ./mmloader.nit:65 */
320 if (UNTAG_Bool(REGB1
)) {
322 fprintf(stderr
, "Uninitialized attribute %s", "_message_sorter");
323 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 65);
326 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____message_sorter(fra
.me
.REG
[0]);
327 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
328 if (UNTAG_Bool(REGB1
)) {
330 fprintf(stderr
, "Uninitialized attribute %s", "_messages");
331 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 65);
334 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
335 CALL_sorter___AbstractSorter___sort(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
336 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
337 /* ./mmloader.nit:67 */
338 if (UNTAG_Bool(REGB1
)) {
340 fprintf(stderr
, "Uninitialized attribute %s", "_messages");
341 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 67);
344 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
345 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
347 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
348 if (UNTAG_Bool(REGB1
)) {
349 fra
.me
.REG
[1] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
350 fra
.me
.REG
[3] = CALL_file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
352 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
353 /* ./mmloader.nit:68 */
355 fra
.me
.REG
[5] = BOX_NativeString("");
357 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
358 once_value_1
= fra
.me
.REG
[5];
359 register_static_object(&once_value_1
);
360 } else fra
.me
.REG
[5] = once_value_1
;
361 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
362 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
363 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[1]);
365 fra
.me
.REG
[1] = BOX_NativeString("\n");
367 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB1
);
368 once_value_2
= fra
.me
.REG
[1];
369 register_static_object(&once_value_2
);
370 } else fra
.me
.REG
[1] = once_value_2
;
371 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[1]);
372 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
373 CALL_stream___OStream___write(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
375 /* ./mmloader.nit:67 */
378 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
381 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
382 /* ./mmloader.nit:71 */
383 if (UNTAG_Bool(REGB1
)) {
385 fprintf(stderr
, "Uninitialized attribute %s", "_messages");
386 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 71);
389 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
390 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
392 REGB1
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
394 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
395 /* ./mmloader.nit:74 */
396 if (UNTAG_Bool(REGB0
)) {
398 CALL_kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
400 stack_frame_head
= fra
.me
.prev
;
403 void mmloader___ToolContext___error(val_t p0
, val_t p1
, val_t p2
){
404 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
408 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
409 fra
.me
.file
= LOCATE_mmloader
;
411 fra
.me
.meth
= LOCATE_mmloader___ToolContext___error
;
412 fra
.me
.has_broke
= 0;
414 fra
.me
.REG
[0] = NIT_NULL
;
415 fra
.me
.REG
[1] = NIT_NULL
;
416 fra
.me
.REG
[2] = NIT_NULL
;
417 fra
.me
.REG
[3] = NIT_NULL
;
421 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
422 /* ./mmloader.nit:80 */
423 if (UNTAG_Bool(REGB0
)) {
425 fprintf(stderr
, "Uninitialized attribute %s", "_messages");
426 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 80);
429 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
430 fra
.me
.REG
[2] = NEW_Message_mmloader___Message___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
431 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
432 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
433 /* ./mmloader.nit:81 */
434 if (UNTAG_Bool(REGB0
)) {
436 fprintf(stderr
, "Uninitialized attribute %s", "_error_count");
437 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 81);
440 REGB0
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
442 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
443 /* ./mmloader.nit:81 */
444 ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]) = REGB1
;
445 stack_frame_head
= fra
.me
.prev
;
448 void mmloader___ToolContext___fatal_error(val_t p0
, val_t p1
, val_t p2
){
449 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
451 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
452 fra
.me
.file
= LOCATE_mmloader
;
454 fra
.me
.meth
= LOCATE_mmloader___ToolContext___fatal_error
;
455 fra
.me
.has_broke
= 0;
457 fra
.me
.REG
[0] = NIT_NULL
;
458 fra
.me
.REG
[1] = NIT_NULL
;
459 fra
.me
.REG
[2] = NIT_NULL
;
463 /* ./mmloader.nit:87 */
464 CALL_mmloader___ToolContext___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
465 /* ./mmloader.nit:88 */
466 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
467 stack_frame_head
= fra
.me
.prev
;
470 void mmloader___ToolContext___warning(val_t p0
, val_t p1
, val_t p2
){
471 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
476 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
477 fra
.me
.file
= LOCATE_mmloader
;
479 fra
.me
.meth
= LOCATE_mmloader___ToolContext___warning
;
480 fra
.me
.has_broke
= 0;
482 fra
.me
.REG
[0] = NIT_NULL
;
483 fra
.me
.REG
[1] = NIT_NULL
;
484 fra
.me
.REG
[2] = NIT_NULL
;
485 fra
.me
.REG
[3] = NIT_NULL
;
489 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
490 /* ./mmloader.nit:94 */
491 if (UNTAG_Bool(REGB0
)) {
493 fprintf(stderr
, "Uninitialized attribute %s", "_opt_warn");
494 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 94);
497 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
498 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
500 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB0
,fra
.me
.REG
[3]));
501 if (UNTAG_Bool(REGB1
)) {
503 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
504 if (UNTAG_Bool(REGB2
)) {
505 REGB2
= TAG_Bool(false);
508 REGB0
= TAG_Bool((fra
.me
.REG
[3])==(REGB0
));
510 /* ./mmloader.nit:94 */
513 if (UNTAG_Bool(REGB1
)) {
516 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
517 /* ./mmloader.nit:95 */
518 if (UNTAG_Bool(REGB1
)) {
520 fprintf(stderr
, "Uninitialized attribute %s", "_messages");
521 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 95);
524 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
525 fra
.me
.REG
[2] = NEW_Message_mmloader___Message___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
526 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
527 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
528 /* ./mmloader.nit:96 */
529 if (UNTAG_Bool(REGB1
)) {
531 fprintf(stderr
, "Uninitialized attribute %s", "_opt_warn");
532 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 96);
535 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
536 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
538 REGB0
= TAG_Bool(IS_EQUAL_ON(REGB1
,fra
.me
.REG
[2]));
539 if (UNTAG_Bool(REGB0
)) {
541 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
542 if (UNTAG_Bool(REGB2
)) {
543 REGB2
= TAG_Bool(false);
546 REGB1
= TAG_Bool((fra
.me
.REG
[2])==(REGB1
));
548 /* ./mmloader.nit:96 */
551 if (UNTAG_Bool(REGB0
)) {
552 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0])!=NIT_NULL
);
553 /* ./mmloader.nit:97 */
554 if (UNTAG_Bool(REGB0
)) {
556 fprintf(stderr
, "Uninitialized attribute %s", "_warning_count");
557 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 97);
560 REGB0
= ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]);
562 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
563 /* ./mmloader.nit:97 */
564 ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]) = REGB1
;
566 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
567 /* ./mmloader.nit:99 */
568 if (UNTAG_Bool(REGB1
)) {
570 fprintf(stderr
, "Uninitialized attribute %s", "_error_count");
571 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 99);
574 REGB1
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
576 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
577 /* ./mmloader.nit:99 */
578 ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]) = REGB0
;
581 stack_frame_head
= fra
.me
.prev
;
584 void mmloader___ToolContext___info(val_t p0
, val_t p1
, val_t p2
){
585 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
589 static val_t once_value_1
; /* Once value */
590 static val_t once_value_2
; /* Once value */
591 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
592 fra
.me
.file
= LOCATE_mmloader
;
594 fra
.me
.meth
= LOCATE_mmloader___ToolContext___info
;
595 fra
.me
.has_broke
= 0;
597 fra
.me
.REG
[0] = NIT_NULL
;
598 fra
.me
.REG
[1] = NIT_NULL
;
599 fra
.me
.REG
[2] = NIT_NULL
;
600 fra
.me
.REG
[3] = NIT_NULL
;
604 REGB1
= CALL_mmloader___ToolContext___verbose_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
605 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
606 /* ./mmloader.nit:106 */
607 if (UNTAG_Bool(REGB1
)) {
609 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB1
);
610 /* ./mmloader.nit:107 */
612 fra
.me
.REG
[3] = BOX_NativeString("");
614 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
615 once_value_1
= fra
.me
.REG
[3];
616 register_static_object(&once_value_1
);
617 } else fra
.me
.REG
[3] = once_value_1
;
618 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
619 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
621 fra
.me
.REG
[1] = BOX_NativeString("");
623 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB1
);
624 once_value_2
= fra
.me
.REG
[1];
625 register_static_object(&once_value_2
);
626 } else fra
.me
.REG
[1] = once_value_2
;
627 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
628 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
629 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
631 stack_frame_head
= fra
.me
.prev
;
634 val_t
mmloader___ToolContext___paths(val_t p0
){
635 struct {struct stack_frame_t me
;} fra
;
638 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
639 fra
.me
.file
= LOCATE_mmloader
;
641 fra
.me
.meth
= LOCATE_mmloader___ToolContext___paths
;
642 fra
.me
.has_broke
= 0;
644 fra
.me
.REG
[0] = NIT_NULL
;
646 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____paths(fra
.me
.REG
[0])!=NIT_NULL
);
647 /* ./mmloader.nit:111 */
648 if (UNTAG_Bool(REGB0
)) {
650 fprintf(stderr
, "Uninitialized attribute %s", "_paths");
651 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 111);
654 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____paths(fra
.me
.REG
[0]);
655 stack_frame_head
= fra
.me
.prev
;
656 return fra
.me
.REG
[0];
658 val_t
mmloader___ToolContext___option_context(val_t p0
){
659 struct {struct stack_frame_t me
;} fra
;
662 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
663 fra
.me
.file
= LOCATE_mmloader
;
665 fra
.me
.meth
= LOCATE_mmloader___ToolContext___option_context
;
666 fra
.me
.has_broke
= 0;
668 fra
.me
.REG
[0] = NIT_NULL
;
670 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____option_context(fra
.me
.REG
[0])!=NIT_NULL
);
671 /* ./mmloader.nit:117 */
672 if (UNTAG_Bool(REGB0
)) {
674 fprintf(stderr
, "Uninitialized attribute %s", "_option_context");
675 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 117);
678 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____option_context(fra
.me
.REG
[0]);
679 stack_frame_head
= fra
.me
.prev
;
680 return fra
.me
.REG
[0];
682 val_t
mmloader___ToolContext___opt_warn(val_t p0
){
683 struct {struct stack_frame_t me
;} fra
;
686 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
687 fra
.me
.file
= LOCATE_mmloader
;
689 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_warn
;
690 fra
.me
.has_broke
= 0;
692 fra
.me
.REG
[0] = NIT_NULL
;
694 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
695 /* ./mmloader.nit:120 */
696 if (UNTAG_Bool(REGB0
)) {
698 fprintf(stderr
, "Uninitialized attribute %s", "_opt_warn");
699 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 120);
702 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
703 stack_frame_head
= fra
.me
.prev
;
704 return fra
.me
.REG
[0];
706 val_t
mmloader___ToolContext___opt_path(val_t p0
){
707 struct {struct stack_frame_t me
;} fra
;
710 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
711 fra
.me
.file
= LOCATE_mmloader
;
713 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_path
;
714 fra
.me
.has_broke
= 0;
716 fra
.me
.REG
[0] = NIT_NULL
;
718 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_path(fra
.me
.REG
[0])!=NIT_NULL
);
719 /* ./mmloader.nit:123 */
720 if (UNTAG_Bool(REGB0
)) {
722 fprintf(stderr
, "Uninitialized attribute %s", "_opt_path");
723 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 123);
726 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_path(fra
.me
.REG
[0]);
727 stack_frame_head
= fra
.me
.prev
;
728 return fra
.me
.REG
[0];
730 val_t
mmloader___ToolContext___opt_log(val_t p0
){
731 struct {struct stack_frame_t me
;} fra
;
734 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
735 fra
.me
.file
= LOCATE_mmloader
;
737 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_log
;
738 fra
.me
.has_broke
= 0;
740 fra
.me
.REG
[0] = NIT_NULL
;
742 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0])!=NIT_NULL
);
743 /* ./mmloader.nit:126 */
744 if (UNTAG_Bool(REGB0
)) {
746 fprintf(stderr
, "Uninitialized attribute %s", "_opt_log");
747 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 126);
750 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0]);
751 stack_frame_head
= fra
.me
.prev
;
752 return fra
.me
.REG
[0];
754 val_t
mmloader___ToolContext___opt_only_metamodel(val_t p0
){
755 struct {struct stack_frame_t me
;} fra
;
758 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
759 fra
.me
.file
= LOCATE_mmloader
;
761 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_only_metamodel
;
762 fra
.me
.has_broke
= 0;
764 fra
.me
.REG
[0] = NIT_NULL
;
766 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_only_metamodel(fra
.me
.REG
[0])!=NIT_NULL
);
767 /* ./mmloader.nit:129 */
768 if (UNTAG_Bool(REGB0
)) {
770 fprintf(stderr
, "Uninitialized attribute %s", "_opt_only_metamodel");
771 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 129);
774 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_only_metamodel(fra
.me
.REG
[0]);
775 stack_frame_head
= fra
.me
.prev
;
776 return fra
.me
.REG
[0];
778 val_t
mmloader___ToolContext___opt_only_parse(val_t p0
){
779 struct {struct stack_frame_t me
;} fra
;
782 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
783 fra
.me
.file
= LOCATE_mmloader
;
785 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_only_parse
;
786 fra
.me
.has_broke
= 0;
788 fra
.me
.REG
[0] = NIT_NULL
;
790 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_only_parse(fra
.me
.REG
[0])!=NIT_NULL
);
791 /* ./mmloader.nit:132 */
792 if (UNTAG_Bool(REGB0
)) {
794 fprintf(stderr
, "Uninitialized attribute %s", "_opt_only_parse");
795 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 132);
798 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_only_parse(fra
.me
.REG
[0]);
799 stack_frame_head
= fra
.me
.prev
;
800 return fra
.me
.REG
[0];
802 val_t
mmloader___ToolContext___opt_help(val_t p0
){
803 struct {struct stack_frame_t me
;} fra
;
806 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
807 fra
.me
.file
= LOCATE_mmloader
;
809 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_help
;
810 fra
.me
.has_broke
= 0;
812 fra
.me
.REG
[0] = NIT_NULL
;
814 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_help(fra
.me
.REG
[0])!=NIT_NULL
);
815 /* ./mmloader.nit:135 */
816 if (UNTAG_Bool(REGB0
)) {
818 fprintf(stderr
, "Uninitialized attribute %s", "_opt_help");
819 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 135);
822 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_help(fra
.me
.REG
[0]);
823 stack_frame_head
= fra
.me
.prev
;
824 return fra
.me
.REG
[0];
826 val_t
mmloader___ToolContext___opt_version(val_t p0
){
827 struct {struct stack_frame_t me
;} fra
;
830 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
831 fra
.me
.file
= LOCATE_mmloader
;
833 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_version
;
834 fra
.me
.has_broke
= 0;
836 fra
.me
.REG
[0] = NIT_NULL
;
838 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_version(fra
.me
.REG
[0])!=NIT_NULL
);
839 /* ./mmloader.nit:138 */
840 if (UNTAG_Bool(REGB0
)) {
842 fprintf(stderr
, "Uninitialized attribute %s", "_opt_version");
843 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 138);
846 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_version(fra
.me
.REG
[0]);
847 stack_frame_head
= fra
.me
.prev
;
848 return fra
.me
.REG
[0];
850 val_t
mmloader___ToolContext___opt_verbose(val_t p0
){
851 struct {struct stack_frame_t me
;} fra
;
854 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
855 fra
.me
.file
= LOCATE_mmloader
;
857 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_verbose
;
858 fra
.me
.has_broke
= 0;
860 fra
.me
.REG
[0] = NIT_NULL
;
862 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_verbose(fra
.me
.REG
[0])!=NIT_NULL
);
863 /* ./mmloader.nit:141 */
864 if (UNTAG_Bool(REGB0
)) {
866 fprintf(stderr
, "Uninitialized attribute %s", "_opt_verbose");
867 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 141);
870 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_verbose(fra
.me
.REG
[0]);
871 stack_frame_head
= fra
.me
.prev
;
872 return fra
.me
.REG
[0];
874 val_t
mmloader___ToolContext___verbose_level(val_t p0
){
875 struct {struct stack_frame_t me
;} fra
;
878 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
879 fra
.me
.file
= LOCATE_mmloader
;
881 fra
.me
.meth
= LOCATE_mmloader___ToolContext___verbose_level
;
882 fra
.me
.has_broke
= 0;
884 fra
.me
.REG
[0] = NIT_NULL
;
886 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0])!=NIT_NULL
);
887 /* ./mmloader.nit:144 */
888 if (UNTAG_Bool(REGB0
)) {
890 fprintf(stderr
, "Uninitialized attribute %s", "_verbose_level");
891 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 144);
894 REGB0
= ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0]);
895 stack_frame_head
= fra
.me
.prev
;
898 void mmloader___ToolContext___init(val_t p0
, int* init_table
){
899 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ToolContext
].i
;
900 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
903 if (init_table
[itpos1
]) return;
904 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
905 fra
.me
.file
= LOCATE_mmloader
;
907 fra
.me
.meth
= LOCATE_mmloader___ToolContext___init
;
908 fra
.me
.has_broke
= 0;
910 fra
.me
.REG
[0] = NIT_NULL
;
911 fra
.me
.REG
[1] = NIT_NULL
;
912 fra
.me
.REG
[2] = NIT_NULL
;
913 fra
.me
.REG
[3] = NIT_NULL
;
915 fra
.me
.REG
[1] = fra
.me
.REG
[0];
916 /* ./mmloader.nit:149 */
917 CALL_abstractmetamodel___MMContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
918 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
920 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
921 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_warn(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
922 /* ./mmloader.nit:150 */
923 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
924 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_path(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
925 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
926 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
927 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
928 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
929 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
930 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_metamodel(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
931 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
932 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_help(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
933 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
934 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_version(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
935 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
936 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_verbose(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
937 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
938 CALL_opts___OptionContext___add_option(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
939 stack_frame_head
= fra
.me
.prev
;
940 init_table
[itpos1
] = 1;
943 void mmloader___ToolContext___process_options(val_t p0
){
944 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
947 static val_t once_value_1
; /* Once value */
948 static val_t once_value_2
; /* Once value */
949 static val_t once_value_3
; /* Once value */
950 static val_t once_value_4
; /* Once value */
951 static val_t once_value_5
; /* Once value */
952 static val_t once_value_6
; /* Once value */
953 static val_t once_value_7
; /* Once value */
954 static val_t once_value_8
; /* Once value */
955 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
956 fra
.me
.file
= LOCATE_mmloader
;
958 fra
.me
.meth
= LOCATE_mmloader___ToolContext___process_options
;
959 fra
.me
.has_broke
= 0;
961 fra
.me
.REG
[0] = NIT_NULL
;
962 fra
.me
.REG
[1] = NIT_NULL
;
963 fra
.me
.REG
[2] = NIT_NULL
;
964 fra
.me
.REG
[3] = NIT_NULL
;
966 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
967 fra
.me
.REG
[2] = CALL_string___Object___args(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
968 /* ./mmloader.nit:157 */
969 CALL_opts___OptionContext___parse(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
970 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___opt_verbose(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
971 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
972 /* ./mmloader.nit:160 */
973 ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
974 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
975 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
976 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
977 /* ./mmloader.nit:163 */
978 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
979 /* ./mmloader.nit:165 */
982 fra
.me
.REG
[1] = BOX_NativeString("NIT_PATH");
984 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
985 once_value_2
= fra
.me
.REG
[1];
986 register_static_object(&once_value_2
);
987 } else fra
.me
.REG
[1] = once_value_2
;
988 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
989 fra
.me
.REG
[1] = CALL_environ___Symbol___environ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
990 once_value_1
= fra
.me
.REG
[1];
991 register_static_object(&once_value_1
);
992 } else fra
.me
.REG
[1] = once_value_1
;
993 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
994 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
995 /* ./mmloader.nit:166 */
996 if (UNTAG_Bool(REGB0
)) {
997 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
998 REGB0
= TAG_Char(':');
999 fra
.me
.REG
[3] = CALL_string_search___String___split_with(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1000 /* ./mmloader.nit:167 */
1001 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1003 /* ./mmloader.nit:170 */
1004 if (!once_value_3
) {
1005 if (!once_value_4
) {
1006 fra
.me
.REG
[3] = BOX_NativeString("NIT_DIR");
1008 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1009 once_value_4
= fra
.me
.REG
[3];
1010 register_static_object(&once_value_4
);
1011 } else fra
.me
.REG
[3] = once_value_4
;
1012 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1013 fra
.me
.REG
[3] = CALL_environ___Symbol___environ(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1014 once_value_3
= fra
.me
.REG
[3];
1015 register_static_object(&once_value_3
);
1016 } else fra
.me
.REG
[3] = once_value_3
;
1017 fra
.me
.REG
[1] = fra
.me
.REG
[3];
1018 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1019 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1020 /* ./mmloader.nit:171 */
1021 if (UNTAG_Bool(REGB0
)) {
1023 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1024 /* ./mmloader.nit:172 */
1025 if (!once_value_5
) {
1026 fra
.me
.REG
[2] = BOX_NativeString("");
1028 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1029 once_value_5
= fra
.me
.REG
[2];
1030 register_static_object(&once_value_5
);
1031 } else fra
.me
.REG
[2] = once_value_5
;
1032 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1033 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1034 if (!once_value_6
) {
1035 fra
.me
.REG
[1] = BOX_NativeString("/lib");
1037 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1038 once_value_6
= fra
.me
.REG
[1];
1039 register_static_object(&once_value_6
);
1040 } else fra
.me
.REG
[1] = once_value_6
;
1041 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1042 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1043 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1044 /* ./mmloader.nit:173 */
1045 if (UNTAG_Bool(REGB0
)) {
1046 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1047 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1051 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1052 /* ./mmloader.nit:176 */
1053 if (!once_value_7
) {
1054 fra
.me
.REG
[1] = BOX_NativeString("");
1056 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1057 once_value_7
= fra
.me
.REG
[1];
1058 register_static_object(&once_value_7
);
1059 } else fra
.me
.REG
[1] = once_value_7
;
1060 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1061 fra
.me
.REG
[1] = CALL_kernel___Object___sys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1062 fra
.me
.REG
[1] = CALL_string___Sys___program_name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1063 fra
.me
.REG
[1] = CALL_file___String___dirname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1064 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1065 if (!once_value_8
) {
1066 fra
.me
.REG
[1] = BOX_NativeString("/../lib");
1068 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1069 once_value_8
= fra
.me
.REG
[1];
1070 register_static_object(&once_value_8
);
1071 } else fra
.me
.REG
[1] = once_value_8
;
1072 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1073 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1074 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1075 /* ./mmloader.nit:177 */
1076 if (UNTAG_Bool(REGB0
)) {
1077 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1078 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1080 stack_frame_head
= fra
.me
.prev
;
1083 val_t
mmloader___ToolContext___try_to_load(val_t p0
, val_t p1
, val_t p2
){
1084 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1088 static val_t once_value_3
; /* Once value */
1089 static val_t once_value_4
; /* Once value */
1090 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1091 fra
.me
.file
= LOCATE_mmloader
;
1093 fra
.me
.meth
= LOCATE_mmloader___ToolContext___try_to_load
;
1094 fra
.me
.has_broke
= 0;
1095 fra
.me
.REG_size
= 9;
1096 fra
.me
.REG
[0] = NIT_NULL
;
1097 fra
.me
.REG
[1] = NIT_NULL
;
1098 fra
.me
.REG
[2] = NIT_NULL
;
1099 fra
.me
.REG
[3] = NIT_NULL
;
1100 fra
.me
.REG
[4] = NIT_NULL
;
1101 fra
.me
.REG
[5] = NIT_NULL
;
1102 fra
.me
.REG
[6] = NIT_NULL
;
1103 fra
.me
.REG
[7] = NIT_NULL
;
1104 fra
.me
.REG
[8] = NIT_NULL
;
1108 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMDirectory___modules(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1109 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1110 /* ./mmloader.nit:186 */
1112 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1113 if (UNTAG_Bool(REGB0
)) {
1114 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1115 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1116 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[1]));
1117 /* ./mmloader.nit:187 */
1118 if (UNTAG_Bool(REGB0
)) {
1120 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1123 if (UNTAG_Bool(REGB0
)) {
1127 /* ./mmloader.nit:186 */
1130 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1133 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0])!=NIT_NULL
);
1134 /* ./mmloader.nit:192 */
1135 if (UNTAG_Bool(REGB0
)) {
1137 fprintf(stderr
, "Uninitialized attribute %s", "_loaders");
1138 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 192);
1141 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0]);
1142 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1144 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1145 if (UNTAG_Bool(REGB0
)) {
1146 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1147 fra
.me
.REG
[6] = CALL_mmloader___ModuleLoader___try_to_load_dir(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1148 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1149 /* ./mmloader.nit:194 */
1150 if (UNTAG_Bool(REGB0
)) {
1152 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1153 if (UNTAG_Bool(REGB1
)) {
1154 REGB1
= TAG_Bool(false);
1157 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
1161 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1162 if (UNTAG_Bool(REGB0
)) {
1163 fra
.me
.REG
[7] = CALL_mmloader___ToolContext___try_to_load(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[6]);
1164 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1165 /* ./mmloader.nit:196 */
1166 if (UNTAG_Bool(REGB0
)) {
1168 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1169 if (UNTAG_Bool(REGB1
)) {
1170 REGB1
= TAG_Bool(false);
1173 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1177 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1178 if (UNTAG_Bool(REGB0
)) {
1179 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1180 /* ./mmloader.nit:197 */
1181 if (UNTAG_Bool(REGB0
)) {
1182 fprintf(stderr
, "Reciever is null");
1183 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 197);
1186 CALL_abstractmetamodel___MMDirectory___owner__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1187 /* ./mmloader.nit:198 */
1188 CALL_abstractmetamodel___MMDirectory___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
1189 fra
.me
.REG
[4] = fra
.me
.REG
[7];
1190 /* ./mmloader.nit:199 */
1194 REGB0
= CALL_mmloader___ModuleLoader___can_handle(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1195 /* ./mmloader.nit:203 */
1196 if (UNTAG_Bool(REGB0
)) {
1197 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMDirectory___full_name_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1198 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
1199 /* ./mmloader.nit:205 */
1200 if (UNTAG_Bool(REGB0
)) {
1202 fprintf(stderr
, "Uninitialized attribute %s", "_processing_modules");
1203 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 205);
1206 fra
.me
.REG
[6] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
1207 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1208 if (UNTAG_Bool(REGB0
)) {
1210 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
1211 /* ./mmloader.nit:207 */
1212 if (!once_value_3
) {
1213 fra
.me
.REG
[8] = BOX_NativeString("Error: Dependency loop for module ");
1214 REGB0
= TAG_Int(34);
1215 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
1216 once_value_3
= fra
.me
.REG
[8];
1217 register_static_object(&once_value_3
);
1218 } else fra
.me
.REG
[8] = once_value_3
;
1219 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1220 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1221 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1222 if (!once_value_4
) {
1223 fra
.me
.REG
[8] = BOX_NativeString("");
1225 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
1226 once_value_4
= fra
.me
.REG
[8];
1227 register_static_object(&once_value_4
);
1228 } else fra
.me
.REG
[8] = once_value_4
;
1229 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1230 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1231 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[6]);
1233 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
1234 /* ./mmloader.nit:209 */
1235 if (UNTAG_Bool(REGB0
)) {
1237 fprintf(stderr
, "Uninitialized attribute %s", "_processing_modules");
1238 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 209);
1241 fra
.me
.REG
[6] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
1242 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1243 fra
.me
.REG
[5] = CALL_mmloader___ModuleLoader___load_and_process_module(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1244 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
1245 /* ./mmloader.nit:211 */
1246 if (UNTAG_Bool(REGB0
)) {
1248 fprintf(stderr
, "Uninitialized attribute %s", "_processing_modules");
1249 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 211);
1252 fra
.me
.REG
[6] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
1253 CALL_abstract_collection___RemovableCollection___remove(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1254 /* ./mmloader.nit:213 */
1255 CALL_abstractmetamodel___MMDirectory___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
1256 fra
.me
.REG
[4] = fra
.me
.REG
[5];
1257 /* ./mmloader.nit:214 */
1261 /* ./mmloader.nit:192 */
1264 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1267 fra
.me
.REG
[4] = NIT_NULL
;
1268 /* ./mmloader.nit:217 */
1271 stack_frame_head
= fra
.me
.prev
;
1272 return fra
.me
.REG
[4];
1274 val_t
mmloader___ToolContext___get_module_from_filename(val_t p0
, val_t p1
){
1275 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1279 static val_t once_value_1
; /* Once value */
1280 static val_t once_value_3
; /* Once value */
1281 static val_t once_value_4
; /* Once value */
1282 static val_t once_value_5
; /* Once value */
1283 static val_t once_value_6
; /* Once value */
1284 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1285 fra
.me
.file
= LOCATE_mmloader
;
1287 fra
.me
.meth
= LOCATE_mmloader___ToolContext___get_module_from_filename
;
1288 fra
.me
.has_broke
= 0;
1289 fra
.me
.REG_size
= 7;
1290 fra
.me
.REG
[0] = NIT_NULL
;
1291 fra
.me
.REG
[1] = NIT_NULL
;
1292 fra
.me
.REG
[2] = NIT_NULL
;
1293 fra
.me
.REG
[3] = NIT_NULL
;
1294 fra
.me
.REG
[4] = NIT_NULL
;
1295 fra
.me
.REG
[5] = NIT_NULL
;
1296 fra
.me
.REG
[6] = NIT_NULL
;
1299 fra
.me
.REG
[2] = CALL_file___String___dirname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1300 /* ./mmloader.nit:230 */
1301 if (!once_value_1
) {
1302 fra
.me
.REG
[3] = BOX_NativeString(".nit");
1304 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1305 once_value_1
= fra
.me
.REG
[3];
1306 register_static_object(&once_value_1
);
1307 } else fra
.me
.REG
[3] = once_value_1
;
1308 fra
.me
.REG
[3] = CALL_file___String___basename(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1309 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1310 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___directory_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1311 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1312 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[1]));
1313 /* ./mmloader.nit:234 */
1314 if (UNTAG_Bool(REGB0
)) {
1316 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1319 if (UNTAG_Bool(REGB0
)) {
1320 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]);
1321 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1322 /* ./mmloader.nit:238 */
1323 if (UNTAG_Bool(REGB0
)) {
1325 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1326 if (UNTAG_Bool(REGB1
)) {
1327 REGB1
= TAG_Bool(false);
1330 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1334 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1335 if (UNTAG_Bool(REGB0
)) {
1338 fra
.me
.REG
[5] = CALL_mmloader___ToolContext___get_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], NIT_NULL
);
1339 fra
.me
.REG
[4] = fra
.me
.REG
[5];
1340 /* ./mmloader.nit:241 */
1343 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1344 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1345 /* ./mmloader.nit:244 */
1346 if (UNTAG_Bool(REGB0
)) {
1348 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1349 /* ./mmloader.nit:245 */
1350 if (!once_value_3
) {
1351 fra
.me
.REG
[6] = BOX_NativeString("Error: File ");
1352 REGB0
= TAG_Int(12);
1353 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1354 once_value_3
= fra
.me
.REG
[6];
1355 register_static_object(&once_value_3
);
1356 } else fra
.me
.REG
[6] = once_value_3
;
1357 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1358 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[1]);
1359 if (!once_value_4
) {
1360 fra
.me
.REG
[6] = BOX_NativeString(" not found.");
1361 REGB0
= TAG_Int(11);
1362 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1363 once_value_4
= fra
.me
.REG
[6];
1364 register_static_object(&once_value_4
);
1365 } else fra
.me
.REG
[6] = once_value_4
;
1366 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1367 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1368 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
1369 /* ./mmloader.nit:246 */
1370 fprintf(stderr
, "Aborted");
1371 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 246);
1374 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]);
1375 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1376 /* ./mmloader.nit:251 */
1377 if (UNTAG_Bool(REGB0
)) {
1379 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1380 if (UNTAG_Bool(REGB1
)) {
1381 REGB1
= TAG_Bool(false);
1384 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1388 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1389 if (UNTAG_Bool(REGB0
)) {
1390 fra
.me
.REG
[4] = fra
.me
.REG
[2];
1394 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1395 /* ./mmloader.nit:253 */
1396 if (!once_value_5
) {
1397 fra
.me
.REG
[3] = BOX_NativeString("Error: ");
1399 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1400 once_value_5
= fra
.me
.REG
[3];
1401 register_static_object(&once_value_5
);
1402 } else fra
.me
.REG
[3] = once_value_5
;
1403 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1404 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1405 if (!once_value_6
) {
1406 fra
.me
.REG
[1] = BOX_NativeString(" is not a NIT source module.");
1407 REGB0
= TAG_Int(28);
1408 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1409 once_value_6
= fra
.me
.REG
[1];
1410 register_static_object(&once_value_6
);
1411 } else fra
.me
.REG
[1] = once_value_6
;
1412 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1413 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1414 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[2]);
1415 /* ./mmloader.nit:254 */
1416 fprintf(stderr
, "Aborted");
1417 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 254);
1420 stack_frame_head
= fra
.me
.prev
;
1421 return fra
.me
.REG
[4];
1423 val_t
mmloader___ToolContext___get_module(val_t p0
, val_t p1
, val_t p2
){
1424 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1428 static val_t once_value_4
; /* Once value */
1429 static val_t once_value_5
; /* Once value */
1430 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1431 fra
.me
.file
= LOCATE_mmloader
;
1433 fra
.me
.meth
= LOCATE_mmloader___ToolContext___get_module
;
1434 fra
.me
.has_broke
= 0;
1435 fra
.me
.REG_size
= 5;
1436 fra
.me
.REG
[0] = NIT_NULL
;
1437 fra
.me
.REG
[1] = NIT_NULL
;
1438 fra
.me
.REG
[2] = NIT_NULL
;
1439 fra
.me
.REG
[3] = NIT_NULL
;
1440 fra
.me
.REG
[4] = NIT_NULL
;
1444 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1445 /* ./mmloader.nit:261 */
1446 if (UNTAG_Bool(REGB0
)) {
1448 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1449 if (UNTAG_Bool(REGB1
)) {
1450 REGB1
= TAG_Bool(false);
1453 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1457 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1458 if (UNTAG_Bool(REGB0
)) {
1459 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1460 /* ./mmloader.nit:262 */
1461 if (UNTAG_Bool(REGB0
)) {
1462 fprintf(stderr
, "Reciever is null");
1463 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 262);
1466 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___directory(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1467 /* ./mmloader.nit:263 */
1469 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1470 if (UNTAG_Bool(REGB0
)) {
1472 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1473 if (UNTAG_Bool(REGB1
)) {
1474 REGB1
= TAG_Bool(false);
1477 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1481 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1482 if (UNTAG_Bool(REGB0
)) {
1483 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]);
1484 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1485 /* ./mmloader.nit:265 */
1486 if (UNTAG_Bool(REGB0
)) {
1488 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1489 if (UNTAG_Bool(REGB1
)) {
1490 REGB1
= TAG_Bool(false);
1493 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1497 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1498 if (UNTAG_Bool(REGB0
)) {
1501 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1502 /* ./mmloader.nit:266 */
1503 if (UNTAG_Bool(REGB0
)) {
1504 fprintf(stderr
, "Reciever is null");
1505 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 266);
1508 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMDirectory___parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1509 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1511 /* ./mmloader.nit:263 */
1517 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1518 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1519 /* ./mmloader.nit:270 */
1521 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1522 if (UNTAG_Bool(REGB0
)) {
1523 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1524 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___directory_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1525 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___try_to_load(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
1526 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1527 /* ./mmloader.nit:272 */
1528 if (UNTAG_Bool(REGB0
)) {
1530 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1531 if (UNTAG_Bool(REGB1
)) {
1532 REGB1
= TAG_Bool(false);
1535 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1539 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1540 if (UNTAG_Bool(REGB0
)) {
1541 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1545 /* ./mmloader.nit:270 */
1548 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1552 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1553 /* ./mmloader.nit:275 */
1554 if (!once_value_4
) {
1555 fra
.me
.REG
[4] = BOX_NativeString("Error: No ressource found for module ");
1556 REGB0
= TAG_Int(37);
1557 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1558 once_value_4
= fra
.me
.REG
[4];
1559 register_static_object(&once_value_4
);
1560 } else fra
.me
.REG
[4] = once_value_4
;
1561 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1562 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1563 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1564 if (!once_value_5
) {
1565 fra
.me
.REG
[1] = BOX_NativeString(".");
1567 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1568 once_value_5
= fra
.me
.REG
[1];
1569 register_static_object(&once_value_5
);
1570 } else fra
.me
.REG
[1] = once_value_5
;
1571 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1572 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1573 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[2]);
1574 /* ./mmloader.nit:276 */
1575 fprintf(stderr
, "Aborted");
1576 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 276);
1579 stack_frame_head
= fra
.me
.prev
;
1580 return fra
.me
.REG
[3];
1582 val_t
mmloader___ToolContext___directory_for(val_t p0
, val_t p1
){
1583 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1586 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1587 fra
.me
.file
= LOCATE_mmloader
;
1589 fra
.me
.meth
= LOCATE_mmloader___ToolContext___directory_for
;
1590 fra
.me
.has_broke
= 0;
1591 fra
.me
.REG_size
= 4;
1592 fra
.me
.REG
[0] = NIT_NULL
;
1593 fra
.me
.REG
[1] = NIT_NULL
;
1594 fra
.me
.REG
[2] = NIT_NULL
;
1595 fra
.me
.REG
[3] = NIT_NULL
;
1598 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
1599 /* ./mmloader.nit:282 */
1600 if (UNTAG_Bool(REGB0
)) {
1602 fprintf(stderr
, "Uninitialized attribute %s", "_path_dirs");
1603 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 282);
1606 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
1607 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1608 if (UNTAG_Bool(REGB0
)) {
1609 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
1610 if (UNTAG_Bool(REGB0
)) {
1612 fprintf(stderr
, "Uninitialized attribute %s", "_path_dirs");
1613 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 282);
1616 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
1617 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1620 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1621 fra
.me
.REG
[3] = NEW_MMDirectory_abstractmetamodel___MMDirectory___init(fra
.me
.REG
[3], fra
.me
.REG
[1], NIT_NULL
);
1622 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
1623 /* ./mmloader.nit:284 */
1624 if (UNTAG_Bool(REGB0
)) {
1626 fprintf(stderr
, "Uninitialized attribute %s", "_path_dirs");
1627 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 284);
1630 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
1631 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1632 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1633 /* ./mmloader.nit:285 */
1636 stack_frame_head
= fra
.me
.prev
;
1637 return fra
.me
.REG
[2];
1639 void mmloader___ToolContext___register_loader(val_t p0
, val_t p1
){
1640 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1643 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1644 fra
.me
.file
= LOCATE_mmloader
;
1646 fra
.me
.meth
= LOCATE_mmloader___ToolContext___register_loader
;
1647 fra
.me
.has_broke
= 0;
1648 fra
.me
.REG_size
= 2;
1649 fra
.me
.REG
[0] = NIT_NULL
;
1650 fra
.me
.REG
[1] = NIT_NULL
;
1653 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0])!=NIT_NULL
);
1654 /* ./mmloader.nit:292 */
1655 if (UNTAG_Bool(REGB0
)) {
1657 fprintf(stderr
, "Uninitialized attribute %s", "_loaders");
1658 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 292);
1661 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0]);
1662 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1663 stack_frame_head
= fra
.me
.prev
;
1666 val_t
mmloader___ModuleLoader___file_type(val_t p0
){
1667 struct {struct stack_frame_t me
;} fra
;
1669 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1670 fra
.me
.file
= LOCATE_mmloader
;
1672 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___file_type
;
1673 fra
.me
.has_broke
= 0;
1674 fra
.me
.REG_size
= 0;
1675 /* ./mmloader.nit:300 */
1676 fprintf(stderr
, "Deferred method called");
1677 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 300);
1679 stack_frame_head
= fra
.me
.prev
;
1682 val_t
mmloader___ModuleLoader___try_to_load_dir(val_t p0
, val_t p1
, val_t p2
){
1683 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1686 static val_t once_value_1
; /* Once value */
1687 static val_t once_value_2
; /* Once value */
1688 static val_t once_value_3
; /* Once value */
1689 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1690 fra
.me
.file
= LOCATE_mmloader
;
1692 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___try_to_load_dir
;
1693 fra
.me
.has_broke
= 0;
1694 fra
.me
.REG_size
= 4;
1695 fra
.me
.REG
[0] = NIT_NULL
;
1696 fra
.me
.REG
[1] = NIT_NULL
;
1697 fra
.me
.REG
[2] = NIT_NULL
;
1698 fra
.me
.REG
[3] = NIT_NULL
;
1703 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
1704 /* ./mmloader.nit:306 */
1705 if (!once_value_1
) {
1706 fra
.me
.REG
[3] = BOX_NativeString("");
1708 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1709 once_value_1
= fra
.me
.REG
[3];
1710 register_static_object(&once_value_1
);
1711 } else fra
.me
.REG
[3] = once_value_1
;
1712 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1713 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1714 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1715 if (!once_value_2
) {
1716 fra
.me
.REG
[3] = BOX_NativeString("/");
1718 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1719 once_value_2
= fra
.me
.REG
[3];
1720 register_static_object(&once_value_2
);
1721 } else fra
.me
.REG
[3] = once_value_2
;
1722 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1723 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1724 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1725 if (!once_value_3
) {
1726 fra
.me
.REG
[3] = BOX_NativeString("/");
1728 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1729 once_value_3
= fra
.me
.REG
[3];
1730 register_static_object(&once_value_3
);
1731 } else fra
.me
.REG
[3] = once_value_3
;
1732 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1733 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1734 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1735 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1736 /* ./mmloader.nit:307 */
1737 if (UNTAG_Bool(REGB0
)) {
1738 fra
.me
.REG
[3] = NIT_NULL
;
1741 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMDirectory___full_name_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1742 fra
.me
.REG
[2] = NEW_MMDirectory_abstractmetamodel___MMDirectory___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1743 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1744 /* ./mmloader.nit:310 */
1747 stack_frame_head
= fra
.me
.prev
;
1748 return fra
.me
.REG
[3];
1750 val_t
mmloader___ModuleLoader___can_handle(val_t p0
, val_t p1
, val_t p2
){
1751 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1755 static val_t once_value_1
; /* Once value */
1756 static val_t once_value_2
; /* Once value */
1757 static val_t once_value_3
; /* Once value */
1758 static val_t once_value_4
; /* Once value */
1759 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1760 fra
.me
.file
= LOCATE_mmloader
;
1762 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___can_handle
;
1763 fra
.me
.has_broke
= 0;
1764 fra
.me
.REG_size
= 5;
1765 fra
.me
.REG
[0] = NIT_NULL
;
1766 fra
.me
.REG
[1] = NIT_NULL
;
1767 fra
.me
.REG
[2] = NIT_NULL
;
1768 fra
.me
.REG
[3] = NIT_NULL
;
1769 fra
.me
.REG
[4] = NIT_NULL
;
1774 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
1775 /* ./mmloader.nit:317 */
1776 if (!once_value_1
) {
1777 fra
.me
.REG
[4] = BOX_NativeString("");
1779 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1780 once_value_1
= fra
.me
.REG
[4];
1781 register_static_object(&once_value_1
);
1782 } else fra
.me
.REG
[4] = once_value_1
;
1783 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1784 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1785 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1786 if (!once_value_2
) {
1787 fra
.me
.REG
[2] = BOX_NativeString("/");
1789 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1790 once_value_2
= fra
.me
.REG
[2];
1791 register_static_object(&once_value_2
);
1792 } else fra
.me
.REG
[2] = once_value_2
;
1793 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1794 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1795 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1796 if (!once_value_3
) {
1797 fra
.me
.REG
[1] = BOX_NativeString(".");
1799 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1800 once_value_3
= fra
.me
.REG
[1];
1801 register_static_object(&once_value_3
);
1802 } else fra
.me
.REG
[1] = once_value_3
;
1803 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1804 fra
.me
.REG
[0] = CALL_mmloader___ModuleLoader___file_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1805 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1806 if (!once_value_4
) {
1807 fra
.me
.REG
[0] = BOX_NativeString("");
1809 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1810 once_value_4
= fra
.me
.REG
[0];
1811 register_static_object(&once_value_4
);
1812 } else fra
.me
.REG
[0] = once_value_4
;
1813 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1814 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1815 REGB0
= CALL_file___String___file_exists(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1816 /* ./mmloader.nit:318 */
1817 if (UNTAG_Bool(REGB0
)) {
1818 REGB0
= TAG_Bool(true);
1821 REGB1
= TAG_Bool(false);
1823 /* ./mmloader.nit:319 */
1826 stack_frame_head
= fra
.me
.prev
;
1829 val_t
mmloader___ModuleLoader___load_and_process_module(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
1830 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1833 static val_t once_value_1
; /* Once value */
1834 static val_t once_value_2
; /* Once value */
1835 static val_t once_value_3
; /* Once value */
1836 static val_t once_value_4
; /* Once value */
1837 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1838 fra
.me
.file
= LOCATE_mmloader
;
1840 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___load_and_process_module
;
1841 fra
.me
.has_broke
= 0;
1842 fra
.me
.REG_size
= 6;
1843 fra
.me
.REG
[0] = NIT_NULL
;
1844 fra
.me
.REG
[1] = NIT_NULL
;
1845 fra
.me
.REG
[2] = NIT_NULL
;
1846 fra
.me
.REG
[3] = NIT_NULL
;
1847 fra
.me
.REG
[4] = NIT_NULL
;
1848 fra
.me
.REG
[5] = NIT_NULL
;
1854 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
1855 /* ./mmloader.nit:326 */
1856 if (!once_value_1
) {
1857 fra
.me
.REG
[5] = BOX_NativeString("");
1859 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1860 once_value_1
= fra
.me
.REG
[5];
1861 register_static_object(&once_value_1
);
1862 } else fra
.me
.REG
[5] = once_value_1
;
1863 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1864 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1865 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1866 if (!once_value_2
) {
1867 fra
.me
.REG
[5] = BOX_NativeString("/");
1869 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1870 once_value_2
= fra
.me
.REG
[5];
1871 register_static_object(&once_value_2
);
1872 } else fra
.me
.REG
[5] = once_value_2
;
1873 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1874 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1875 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1876 if (!once_value_3
) {
1877 fra
.me
.REG
[5] = BOX_NativeString(".");
1879 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1880 once_value_3
= fra
.me
.REG
[5];
1881 register_static_object(&once_value_3
);
1882 } else fra
.me
.REG
[5] = once_value_3
;
1883 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1884 fra
.me
.REG
[5] = CALL_mmloader___ModuleLoader___file_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1885 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1886 if (!once_value_4
) {
1887 fra
.me
.REG
[5] = BOX_NativeString("");
1889 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1890 once_value_4
= fra
.me
.REG
[5];
1891 register_static_object(&once_value_4
);
1892 } else fra
.me
.REG
[5] = once_value_4
;
1893 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1894 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1895 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]);
1896 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1897 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1898 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[3]));
1899 /* ./mmloader.nit:328 */
1900 if (UNTAG_Bool(REGB0
)) {
1901 CALL_mmloader___ModuleLoader___process_metamodel(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
1903 /* ./mmloader.nit:329 */
1906 stack_frame_head
= fra
.me
.prev
;
1907 return fra
.me
.REG
[4];
1909 val_t
mmloader___ModuleLoader___load_module(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
1910 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1914 static val_t once_value_1
; /* Once value */
1915 static val_t once_value_2
; /* Once value */
1916 static val_t once_value_3
; /* Once value */
1917 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1918 fra
.me
.file
= LOCATE_mmloader
;
1920 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___load_module
;
1921 fra
.me
.has_broke
= 0;
1922 fra
.me
.REG_size
= 8;
1923 fra
.me
.REG
[0] = NIT_NULL
;
1924 fra
.me
.REG
[1] = NIT_NULL
;
1925 fra
.me
.REG
[2] = NIT_NULL
;
1926 fra
.me
.REG
[3] = NIT_NULL
;
1927 fra
.me
.REG
[4] = NIT_NULL
;
1928 fra
.me
.REG
[5] = NIT_NULL
;
1929 fra
.me
.REG
[6] = NIT_NULL
;
1930 fra
.me
.REG
[7] = NIT_NULL
;
1936 /* ./mmloader.nit:336 */
1937 if (!once_value_1
) {
1938 fra
.me
.REG
[5] = BOX_NativeString("-");
1940 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
1941 once_value_1
= fra
.me
.REG
[5];
1942 register_static_object(&once_value_1
);
1943 } else fra
.me
.REG
[5] = once_value_1
;
1944 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
1945 if (UNTAG_Bool(REGB0
)) {
1947 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1950 if (UNTAG_Bool(REGB0
)) {
1951 fra
.me
.REG
[5] = CALL_file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1952 /* ./mmloader.nit:337 */
1954 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1955 fra
.me
.REG
[6] = NEW_IFStream_file___IFStream___open(fra
.me
.REG
[6]);
1956 fra
.me
.REG
[5] = fra
.me
.REG
[6];
1957 /* ./mmloader.nit:339 */
1959 REGB0
= CALL_stream___IStream___eof(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1960 /* ./mmloader.nit:342 */
1961 if (UNTAG_Bool(REGB0
)) {
1963 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
1964 /* ./mmloader.nit:343 */
1965 if (!once_value_2
) {
1966 fra
.me
.REG
[7] = BOX_NativeString("Error: Problem in opening file ");
1967 REGB0
= TAG_Int(31);
1968 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
1969 once_value_2
= fra
.me
.REG
[7];
1970 register_static_object(&once_value_2
);
1971 } else fra
.me
.REG
[7] = once_value_2
;
1972 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1973 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1974 if (!once_value_3
) {
1975 fra
.me
.REG
[7] = BOX_NativeString("");
1977 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
1978 once_value_3
= fra
.me
.REG
[7];
1979 register_static_object(&once_value_3
);
1980 } else fra
.me
.REG
[7] = once_value_3
;
1981 array___Array___add(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1982 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1983 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[6]);
1985 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]);
1986 fra
.me
.REG
[0] = CALL_file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1987 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[0]));
1988 /* ./mmloader.nit:346 */
1989 if (UNTAG_Bool(REGB0
)) {
1991 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1994 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1995 if (UNTAG_Bool(REGB0
)) {
1996 CALL_stream___IOS___close(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1998 /* ./mmloader.nit:347 */
2001 stack_frame_head
= fra
.me
.prev
;
2002 return fra
.me
.REG
[3];
2004 val_t
mmloader___ModuleLoader___parse_file(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, val_t p5
){
2005 struct {struct stack_frame_t me
;} fra
;
2007 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2008 fra
.me
.file
= LOCATE_mmloader
;
2010 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___parse_file
;
2011 fra
.me
.has_broke
= 0;
2012 fra
.me
.REG_size
= 0;
2013 /* ./mmloader.nit:350 */
2014 fprintf(stderr
, "Deferred method called");
2015 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 350);
2017 stack_frame_head
= fra
.me
.prev
;
2020 void mmloader___ModuleLoader___process_metamodel(val_t p0
, val_t p1
, val_t p2
){
2021 struct {struct stack_frame_t me
;} fra
;
2023 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2024 fra
.me
.file
= LOCATE_mmloader
;
2026 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___process_metamodel
;
2027 fra
.me
.has_broke
= 0;
2028 fra
.me
.REG_size
= 0;
2029 /* ./mmloader.nit:353 */
2030 fprintf(stderr
, "Deferred method called");
2031 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 353);
2033 stack_frame_head
= fra
.me
.prev
;
2036 void mmloader___ModuleLoader___init(val_t p0
, int* init_table
){
2037 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ModuleLoader
].i
;
2038 struct {struct stack_frame_t me
;} fra
;
2040 if (init_table
[itpos2
]) return;
2041 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2042 fra
.me
.file
= LOCATE_mmloader
;
2044 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___init
;
2045 fra
.me
.has_broke
= 0;
2046 fra
.me
.REG_size
= 0;
2047 stack_frame_head
= fra
.me
.prev
;
2048 init_table
[itpos2
] = 1;
2051 void mmloader___MMModule___import_supers_modules(val_t p0
, val_t p1
){
2052 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2055 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2056 fra
.me
.file
= LOCATE_mmloader
;
2058 fra
.me
.meth
= LOCATE_mmloader___MMModule___import_supers_modules
;
2059 fra
.me
.has_broke
= 0;
2060 fra
.me
.REG_size
= 5;
2061 fra
.me
.REG
[0] = NIT_NULL
;
2062 fra
.me
.REG
[1] = NIT_NULL
;
2063 fra
.me
.REG
[2] = NIT_NULL
;
2064 fra
.me
.REG
[3] = NIT_NULL
;
2065 fra
.me
.REG
[4] = NIT_NULL
;
2068 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___context(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2069 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_ToolContext
, ID_ToolContext
)) /*cast ToolContext*/;
2070 /* ./mmloader.nit:362 */
2071 if (UNTAG_Bool(REGB0
)) {
2073 fprintf(stderr
, "Assert failed");
2074 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmloader
, 362);
2077 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
2078 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2079 /* ./mmloader.nit:364 */
2081 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2082 if (UNTAG_Bool(REGB0
)) {
2083 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2084 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___get_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4], fra
.me
.REG
[0]);
2085 /* ./mmloader.nit:366 */
2086 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2088 /* ./mmloader.nit:364 */
2091 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2094 /* ./mmloader.nit:368 */
2095 CALL_abstractmetamodel___MMContext___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[3]);
2096 stack_frame_head
= fra
.me
.prev
;