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
.nitni_local_ref_head
= NULL
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./mmloader.nit:30 */
16 fra
.me
.REG
[0] = ATTR_mmloader___Message____location(fra
.me
.REG
[0]);
17 stack_frame_head
= fra
.me
.prev
;
20 val_t
mmloader___Message___text(val_t p0
){
21 struct {struct stack_frame_t me
;} fra
;
24 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
25 fra
.me
.file
= LOCATE_mmloader
;
27 fra
.me
.meth
= LOCATE_mmloader___Message___text
;
30 fra
.me
.nitni_local_ref_head
= NULL
;
31 fra
.me
.REG
[0] = NIT_NULL
;
33 /* ./mmloader.nit:31 */
34 REGB0
= TAG_Bool(ATTR_mmloader___Message____text(fra
.me
.REG
[0])!=NIT_NULL
);
35 if (UNTAG_Bool(REGB0
)) {
37 nit_abort("Uninitialized attribute %s", "_text", LOCATE_mmloader
, 31);
39 fra
.me
.REG
[0] = ATTR_mmloader___Message____text(fra
.me
.REG
[0]);
40 stack_frame_head
= fra
.me
.prev
;
43 val_t
mmloader___Message_____l(val_t p0
, val_t p1
){
44 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
49 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
50 fra
.me
.file
= LOCATE_mmloader
;
52 fra
.me
.meth
= LOCATE_mmloader___Message_____l
;
55 fra
.me
.nitni_local_ref_head
= NULL
;
56 fra
.me
.REG
[0] = NIT_NULL
;
57 fra
.me
.REG
[1] = NIT_NULL
;
58 fra
.me
.REG
[2] = NIT_NULL
;
59 fra
.me
.REG
[3] = NIT_NULL
;
62 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]), VTID_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]))) /*cast OTHER*/;
63 if (UNTAG_Bool(REGB0
)) {
65 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 0);
67 /* ./mmloader.nit:33 */
68 fra
.me
.REG
[2] = fra
.me
.REG
[0];
69 /* ./mmloader.nit:34 */
70 fra
.me
.REG
[3] = CALL_mmloader___Message___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
71 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
72 if (UNTAG_Bool(REGB0
)) {
74 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
75 if (UNTAG_Bool(REGB1
)) {
76 REGB1
= TAG_Bool(false);
79 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
83 if (UNTAG_Bool(REGB0
)) {
84 REGB0
= TAG_Bool(true);
87 /* ./mmloader.nit:35 */
88 fra
.me
.REG
[3] = CALL_mmloader___Message___location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
89 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
90 if (UNTAG_Bool(REGB1
)) {
92 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
93 if (UNTAG_Bool(REGB2
)) {
94 REGB2
= TAG_Bool(false);
97 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
101 if (UNTAG_Bool(REGB1
)) {
102 REGB1
= TAG_Bool(false);
106 /* ./mmloader.nit:37 */
107 fra
.me
.REG
[2] = CALL_mmloader___Message___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
108 REGB1
= TAG_Bool(fra
.me
.REG
[2]!=NIT_NULL
);
109 if (UNTAG_Bool(REGB1
)) {
111 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 37);
113 fra
.me
.REG
[1] = CALL_mmloader___Message___location(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
114 REGB1
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
115 if (UNTAG_Bool(REGB1
)) {
117 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 37);
119 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
120 if (UNTAG_Bool(REGB1
)) {
121 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 37);
123 REGB1
= CALL_standard___kernel___Comparable_____l(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
127 stack_frame_head
= fra
.me
.prev
;
130 val_t
mmloader___Message___to_s(val_t p0
){
131 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
135 static val_t once_value_2
; /* Once value */
136 static val_t once_value_3
; /* Once value */
137 static val_t once_value_4
; /* Once value */
138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
139 fra
.me
.file
= LOCATE_mmloader
;
141 fra
.me
.meth
= LOCATE_mmloader___Message___to_s
;
142 fra
.me
.has_broke
= 0;
144 fra
.me
.nitni_local_ref_head
= NULL
;
145 fra
.me
.REG
[0] = NIT_NULL
;
146 fra
.me
.REG
[1] = NIT_NULL
;
147 fra
.me
.REG
[2] = NIT_NULL
;
148 fra
.me
.REG
[3] = NIT_NULL
;
149 fra
.me
.REG
[4] = NIT_NULL
;
151 /* ./mmloader.nit:42 */
152 fra
.me
.REG
[1] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
153 /* ./mmloader.nit:43 */
154 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
155 if (UNTAG_Bool(REGB0
)) {
157 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
158 if (UNTAG_Bool(REGB1
)) {
159 REGB1
= TAG_Bool(false);
162 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
166 if (UNTAG_Bool(REGB0
)) {
167 /* ./mmloader.nit:44 */
168 fra
.me
.REG
[2] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
171 /* ./mmloader.nit:46 */
173 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
175 fra
.me
.REG
[4] = BOX_NativeString("");
177 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
178 once_value_2
= fra
.me
.REG
[4];
179 register_static_object(&once_value_2
);
180 } else fra
.me
.REG
[4] = once_value_2
;
181 fra
.me
.REG
[4] = fra
.me
.REG
[4];
182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
183 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
186 fra
.me
.REG
[1] = BOX_NativeString(": ");
188 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
189 once_value_3
= fra
.me
.REG
[1];
190 register_static_object(&once_value_3
);
191 } else fra
.me
.REG
[1] = once_value_3
;
192 fra
.me
.REG
[1] = fra
.me
.REG
[1];
193 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
194 fra
.me
.REG
[0] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
197 fra
.me
.REG
[0] = BOX_NativeString("");
199 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
200 once_value_4
= fra
.me
.REG
[0];
201 register_static_object(&once_value_4
);
202 } else fra
.me
.REG
[0] = once_value_4
;
203 fra
.me
.REG
[0] = fra
.me
.REG
[0];
204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
205 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
206 fra
.me
.REG
[2] = fra
.me
.REG
[3];
210 stack_frame_head
= fra
.me
.prev
;
211 return fra
.me
.REG
[2];
213 val_t
mmloader___Message___to_color_string(val_t p0
){
214 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
222 static val_t once_value_1
; /* Once value */
223 static val_t once_value_2
; /* Once value */
224 static val_t once_value_3
; /* Once value */
225 static val_t once_value_4
; /* Once value */
226 static val_t once_value_5
; /* Once value */
227 static val_t once_value_6
; /* Once value */
228 static val_t once_value_7
; /* Once value */
229 static val_t once_value_8
; /* Once value */
230 static val_t once_value_9
; /* Once value */
231 static val_t once_value_10
; /* Once value */
232 static val_t once_value_12
; /* Once value */
233 static val_t once_value_13
; /* Once value */
234 static val_t once_value_14
; /* Once value */
235 static val_t once_value_15
; /* Once value */
236 static val_t once_value_16
; /* Once value */
237 static val_t once_value_20
; /* Once value */
238 static val_t once_value_21
; /* Once value */
239 static val_t once_value_22
; /* Once value */
240 static val_t once_value_23
; /* Once value */
241 static val_t once_value_24
; /* Once value */
242 static val_t once_value_25
; /* Once value */
243 static val_t once_value_26
; /* Once value */
244 static val_t once_value_27
; /* Once value */
245 static val_t once_value_28
; /* Once value */
246 static val_t once_value_29
; /* Once value */
247 static val_t once_value_30
; /* Once value */
248 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
249 fra
.me
.file
= LOCATE_mmloader
;
251 fra
.me
.meth
= LOCATE_mmloader___Message___to_color_string
;
252 fra
.me
.has_broke
= 0;
253 fra
.me
.REG_size
= 12;
254 fra
.me
.nitni_local_ref_head
= NULL
;
255 fra
.me
.REG
[0] = NIT_NULL
;
256 fra
.me
.REG
[1] = NIT_NULL
;
257 fra
.me
.REG
[2] = NIT_NULL
;
258 fra
.me
.REG
[3] = NIT_NULL
;
259 fra
.me
.REG
[4] = NIT_NULL
;
260 fra
.me
.REG
[5] = NIT_NULL
;
261 fra
.me
.REG
[6] = NIT_NULL
;
262 fra
.me
.REG
[7] = NIT_NULL
;
263 fra
.me
.REG
[8] = NIT_NULL
;
264 fra
.me
.REG
[9] = NIT_NULL
;
265 fra
.me
.REG
[10] = NIT_NULL
;
266 fra
.me
.REG
[11] = NIT_NULL
;
268 /* ./mmloader.nit:52 */
270 /* ./../lib/standard//kernel.nit:297 */
271 REGB0
= TAG_Char(UNTAG_Int(REGB0
));
272 /* ./mmloader.nit:53 */
274 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
276 fra
.me
.REG
[2] = BOX_NativeString("");
278 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
279 once_value_1
= fra
.me
.REG
[2];
280 register_static_object(&once_value_1
);
281 } else fra
.me
.REG
[2] = once_value_1
;
282 fra
.me
.REG
[2] = fra
.me
.REG
[2];
283 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
284 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
285 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
287 fra
.me
.REG
[2] = BOX_NativeString("[0;31m");
289 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
290 once_value_2
= fra
.me
.REG
[2];
291 register_static_object(&once_value_2
);
292 } else fra
.me
.REG
[2] = once_value_2
;
293 fra
.me
.REG
[2] = fra
.me
.REG
[2];
294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
295 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
296 /* ./mmloader.nit:54 */
298 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
300 fra
.me
.REG
[2] = BOX_NativeString("");
302 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
303 once_value_3
= fra
.me
.REG
[2];
304 register_static_object(&once_value_3
);
305 } else fra
.me
.REG
[2] = once_value_3
;
306 fra
.me
.REG
[2] = fra
.me
.REG
[2];
307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
308 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
311 fra
.me
.REG
[2] = BOX_NativeString("[1;31m");
313 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
314 once_value_4
= fra
.me
.REG
[2];
315 register_static_object(&once_value_4
);
316 } else fra
.me
.REG
[2] = once_value_4
;
317 fra
.me
.REG
[2] = fra
.me
.REG
[2];
318 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
319 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
320 /* ./mmloader.nit:55 */
322 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
324 fra
.me
.REG
[3] = BOX_NativeString("");
326 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
327 once_value_5
= fra
.me
.REG
[3];
328 register_static_object(&once_value_5
);
329 } else fra
.me
.REG
[3] = once_value_5
;
330 fra
.me
.REG
[3] = fra
.me
.REG
[3];
331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
332 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
335 fra
.me
.REG
[3] = BOX_NativeString("[0;32m");
337 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
338 once_value_6
= fra
.me
.REG
[3];
339 register_static_object(&once_value_6
);
340 } else fra
.me
.REG
[3] = once_value_6
;
341 fra
.me
.REG
[3] = fra
.me
.REG
[3];
342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
343 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
344 /* ./mmloader.nit:56 */
346 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
348 fra
.me
.REG
[3] = BOX_NativeString("");
350 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
351 once_value_7
= fra
.me
.REG
[3];
352 register_static_object(&once_value_7
);
353 } else fra
.me
.REG
[3] = once_value_7
;
354 fra
.me
.REG
[3] = fra
.me
.REG
[3];
355 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
356 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
359 fra
.me
.REG
[3] = BOX_NativeString("[0;33m");
361 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
362 once_value_8
= fra
.me
.REG
[3];
363 register_static_object(&once_value_8
);
364 } else fra
.me
.REG
[3] = once_value_8
;
365 fra
.me
.REG
[3] = fra
.me
.REG
[3];
366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
367 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
368 /* ./mmloader.nit:57 */
370 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
372 fra
.me
.REG
[4] = BOX_NativeString("");
374 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
375 once_value_9
= fra
.me
.REG
[4];
376 register_static_object(&once_value_9
);
377 } else fra
.me
.REG
[4] = once_value_9
;
378 fra
.me
.REG
[4] = fra
.me
.REG
[4];
379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
380 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
382 if (!once_value_10
) {
383 fra
.me
.REG
[4] = BOX_NativeString("[0m");
385 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
386 once_value_10
= fra
.me
.REG
[4];
387 register_static_object(&once_value_10
);
388 } else fra
.me
.REG
[4] = once_value_10
;
389 fra
.me
.REG
[4] = fra
.me
.REG
[4];
390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
391 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
392 /* ./mmloader.nit:59 */
393 fra
.me
.REG
[4] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
394 /* ./mmloader.nit:60 */
395 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
396 if (UNTAG_Bool(REGB0
)) {
398 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
399 if (UNTAG_Bool(REGB1
)) {
400 REGB1
= TAG_Bool(false);
403 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
407 if (UNTAG_Bool(REGB0
)) {
408 /* ./mmloader.nit:61 */
409 fra
.me
.REG
[5] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
412 /* ./mmloader.nit:62 */
413 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
414 if (UNTAG_Bool(REGB0
)) {
415 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 62);
417 fra
.me
.REG
[6] = CALL_location___Location___file(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
418 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
419 if (UNTAG_Bool(REGB0
)) {
421 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
422 if (UNTAG_Bool(REGB1
)) {
423 REGB1
= TAG_Bool(false);
426 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
430 if (UNTAG_Bool(REGB0
)) {
431 /* ./mmloader.nit:63 */
433 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
434 if (!once_value_12
) {
435 fra
.me
.REG
[7] = BOX_NativeString("");
437 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
438 once_value_12
= fra
.me
.REG
[7];
439 register_static_object(&once_value_12
);
440 } else fra
.me
.REG
[7] = once_value_12
;
441 fra
.me
.REG
[7] = fra
.me
.REG
[7];
442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
444 if (!once_value_13
) {
445 fra
.me
.REG
[7] = BOX_NativeString("");
447 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
448 once_value_13
= fra
.me
.REG
[7];
449 register_static_object(&once_value_13
);
450 } else fra
.me
.REG
[7] = once_value_13
;
451 fra
.me
.REG
[7] = fra
.me
.REG
[7];
452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
453 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
455 if (!once_value_14
) {
456 fra
.me
.REG
[7] = BOX_NativeString("");
458 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
459 once_value_14
= fra
.me
.REG
[7];
460 register_static_object(&once_value_14
);
461 } else fra
.me
.REG
[7] = once_value_14
;
462 fra
.me
.REG
[7] = fra
.me
.REG
[7];
463 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
465 if (!once_value_15
) {
466 fra
.me
.REG
[7] = BOX_NativeString(": ");
468 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
469 once_value_15
= fra
.me
.REG
[7];
470 register_static_object(&once_value_15
);
471 } else fra
.me
.REG
[7] = once_value_15
;
472 fra
.me
.REG
[7] = fra
.me
.REG
[7];
473 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
474 fra
.me
.REG
[7] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
476 if (!once_value_16
) {
477 fra
.me
.REG
[7] = BOX_NativeString("");
479 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
480 once_value_16
= fra
.me
.REG
[7];
481 register_static_object(&once_value_16
);
482 } else fra
.me
.REG
[7] = once_value_16
;
483 fra
.me
.REG
[7] = fra
.me
.REG
[7];
484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
485 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
486 fra
.me
.REG
[5] = fra
.me
.REG
[6];
489 /* ./mmloader.nit:65 */
490 fra
.me
.REG
[6] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
491 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
492 if (UNTAG_Bool(REGB0
)) {
493 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 65);
495 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
496 /* ./mmloader.nit:66 */
497 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
498 if (UNTAG_Bool(REGB1
)) {
499 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 66);
501 fra
.me
.REG
[6] = CALL_location___Location___file(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
502 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
503 if (UNTAG_Bool(REGB1
)) {
504 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 66);
506 fra
.me
.REG
[6] = CALL_location___SourceFile___line_starts(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
508 /* ./../lib/standard//kernel.nit:237 */
509 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
510 /* ./../lib/standard//collection//array.nit:280 */
512 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
513 if (UNTAG_Bool(REGB3
)) {
515 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
517 /* ./../lib/standard//kernel.nit:233 */
518 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
519 /* ./../lib/standard//collection//array.nit:280 */
520 if (UNTAG_Bool(REGB2
)) {
521 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
522 if (UNTAG_Bool(REGB2
)) {
524 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
526 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
527 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
528 if (UNTAG_Bool(REGB3
)) {
530 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
532 /* ./../lib/standard//kernel.nit:232 */
533 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
535 /* ./../lib/standard//collection//array.nit:280 */
536 REGB3
= TAG_Bool(false);
539 if (UNTAG_Bool(REGB2
)) {
541 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
543 /* ./../lib/standard//collection//array.nit:281 */
544 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
545 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
546 if (UNTAG_Bool(REGB2
)) {
547 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
549 /* ./../lib/standard//collection//array.nit:718 */
550 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
551 /* ./../lib/standard//collection//array.nit:281 */
554 /* ./mmloader.nit:66 */
555 REGB1
= fra
.me
.REG
[6];
556 /* ./mmloader.nit:67 */
558 /* ./mmloader.nit:68 */
559 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
560 if (UNTAG_Bool(REGB3
)) {
561 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 68);
563 fra
.me
.REG
[6] = CALL_location___Location___file(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
564 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
565 if (UNTAG_Bool(REGB3
)) {
566 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 68);
568 fra
.me
.REG
[6] = CALL_location___SourceFile___string(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
569 /* ./mmloader.nit:69 */
572 /* ./../lib/standard//kernel.nit:235 */
573 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
574 /* ./../lib/standard//collection//array.nit:24 */
575 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
576 if (UNTAG_Bool(REGB4
)) {
578 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
580 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
581 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
582 if (UNTAG_Bool(REGB5
)) {
584 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
586 /* ./../lib/standard//kernel.nit:232 */
587 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
588 /* ./mmloader.nit:69 */
589 if (UNTAG_Bool(REGB4
)) {
591 /* ./../lib/standard//kernel.nit:235 */
592 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
593 /* ./mmloader.nit:69 */
594 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB4
);
595 REGB3
= TAG_Char('\n');
596 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
597 if (UNTAG_Bool(REGB5
)) {
599 /* ./../lib/standard//kernel.nit:378 */
600 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
601 /* ./mmloader.nit:69 */
604 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
606 REGB3
= TAG_Bool(false);
609 if (UNTAG_Bool(REGB5
)) {
611 /* ./../lib/standard//kernel.nit:235 */
612 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
613 /* ./mmloader.nit:69 */
614 REGB5
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB5
);
615 REGB3
= TAG_Char('\r');
616 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB3
));
617 if (UNTAG_Bool(REGB4
)) {
619 /* ./../lib/standard//kernel.nit:378 */
620 REGB3
= TAG_Bool((REGB5
)==(REGB3
));
621 /* ./mmloader.nit:69 */
624 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
626 REGB3
= TAG_Bool(false);
629 if (UNTAG_Bool(REGB4
)) {
630 /* ./mmloader.nit:70 */
632 /* ./../lib/standard//kernel.nit:235 */
633 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
634 /* ./mmloader.nit:70 */
637 /* ./mmloader.nit:69 */
642 /* ./mmloader.nit:72 */
643 fra
.me
.REG
[7] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
644 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
645 if (UNTAG_Bool(REGB4
)) {
646 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 72);
648 REGB4
= CALL_location___Location___column_start(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
650 /* ./../lib/standard//kernel.nit:237 */
651 REGB3
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB3
));
652 /* ./mmloader.nit:72 */
653 fra
.me
.REG
[7] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
, REGB3
);
654 /* ./mmloader.nit:74 */
655 fra
.me
.REG
[8] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
656 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
657 if (UNTAG_Bool(REGB3
)) {
658 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 74);
660 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
661 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
662 if (UNTAG_Bool(REGB4
)) {
664 /* ./../lib/standard//kernel.nit:227 */
665 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
666 /* ./mmloader.nit:74 */
669 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
670 if (UNTAG_Bool(REGB4
)) {
671 /* ./../lib/standard//kernel.nit:237 */
672 REGB4
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
673 /* ./mmloader.nit:75 */
675 /* ./../lib/standard//kernel.nit:235 */
676 REGB3
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB3
));
677 /* ./mmloader.nit:75 */
678 fra
.me
.REG
[8] = REGB3
;
680 /* ./mmloader.nit:77 */
681 fra
.me
.REG
[9] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
682 REGB3
= TAG_Bool(fra
.me
.REG
[9]==NIT_NULL
);
683 if (UNTAG_Bool(REGB3
)) {
684 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 77);
686 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
687 fra
.me
.REG
[8] = REGB3
;
689 /* ./mmloader.nit:79 */
690 fra
.me
.REG
[9] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
691 REGB3
= TAG_Bool(fra
.me
.REG
[9]==NIT_NULL
);
692 if (UNTAG_Bool(REGB3
)) {
693 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 79);
695 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
696 /* ./../lib/standard//kernel.nit:235 */
697 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
698 /* ./mmloader.nit:79 */
700 /* ./../lib/standard//kernel.nit:237 */
701 REGB4
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB4
));
702 /* ./mmloader.nit:79 */
703 fra
.me
.REG
[9] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
704 REGB3
= TAG_Bool(fra
.me
.REG
[9]==NIT_NULL
);
705 if (UNTAG_Bool(REGB3
)) {
706 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 79);
708 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
709 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
710 if (UNTAG_Bool(REGB0
)) {
711 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 79);
713 /* ./../lib/standard//kernel.nit:237 */
714 REGB3
= TAG_Int(UNTAG_Int(fra
.me
.REG
[8])-UNTAG_Int(REGB3
));
715 /* ./mmloader.nit:79 */
717 /* ./../lib/standard//kernel.nit:235 */
718 REGB0
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
719 /* ./mmloader.nit:79 */
720 fra
.me
.REG
[9] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB4
, REGB0
);
721 /* ./../lib/standard//kernel.nit:235 */
722 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(fra
.me
.REG
[8]));
723 /* ./../lib/standard//kernel.nit:237 */
724 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
725 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(fra
.me
.REG
[8]));
726 /* ./mmloader.nit:80 */
728 /* ./../lib/standard//kernel.nit:235 */
729 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
730 /* ./mmloader.nit:80 */
731 fra
.me
.REG
[8] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
, REGB4
);
732 /* ./mmloader.nit:81 */
733 fra
.me
.REG
[10] = NEW_Buffer_standard___string___Buffer___init();
734 /* ./mmloader.nit:82 */
735 fra
.me
.REG
[11] = CALL_mmloader___Message___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
736 REGB4
= TAG_Bool(fra
.me
.REG
[11]==NIT_NULL
);
737 if (UNTAG_Bool(REGB4
)) {
738 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 82);
740 REGB4
= CALL_location___Location___column_start(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
741 /* ./../lib/standard//kernel.nit:235 */
742 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
743 /* ./mmloader.nit:82 */
745 /* ./../lib/standard//kernel.nit:237 */
746 REGB0
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB0
));
747 /* ./../lib/standard//kernel.nit:352 */
749 REGB4
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
750 if (UNTAG_Bool(REGB4
)) {
752 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
754 /* ./../lib/standard//kernel.nit:232 */
755 REGB4
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
756 /* ./../lib/standard//kernel.nit:352 */
757 if (UNTAG_Bool(REGB4
)) {
758 /* ./mmloader.nit:82 */
760 /* ./mmloader.nit:83 */
761 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB4
);
762 REGB2
= TAG_Char('\t');
763 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB2
));
764 if (UNTAG_Bool(REGB3
)) {
766 /* ./../lib/standard//kernel.nit:378 */
767 REGB2
= TAG_Bool((REGB4
)==(REGB2
));
768 /* ./mmloader.nit:83 */
771 if (UNTAG_Bool(REGB3
)) {
772 /* ./mmloader.nit:84 */
773 REGB3
= TAG_Char('\t');
774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB3
);
776 /* ./mmloader.nit:86 */
777 REGB3
= TAG_Char(' ');
778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB3
);
780 /* ./../lib/standard//kernel.nit:354 */
782 /* ./../lib/standard//kernel.nit:235 */
783 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
784 /* ./../lib/standard//kernel.nit:354 */
787 /* ./../lib/standard//kernel.nit:352 */
792 /* ./mmloader.nit:89 */
794 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
795 if (!once_value_20
) {
796 fra
.me
.REG
[11] = BOX_NativeString("");
798 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB1
);
799 once_value_20
= fra
.me
.REG
[11];
800 register_static_object(&once_value_20
);
801 } else fra
.me
.REG
[11] = once_value_20
;
802 fra
.me
.REG
[11] = fra
.me
.REG
[11];
803 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[11]);
804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
805 if (!once_value_21
) {
806 fra
.me
.REG
[2] = BOX_NativeString("");
808 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
809 once_value_21
= fra
.me
.REG
[2];
810 register_static_object(&once_value_21
);
811 } else fra
.me
.REG
[2] = once_value_21
;
812 fra
.me
.REG
[2] = fra
.me
.REG
[2];
813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
814 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
816 if (!once_value_22
) {
817 fra
.me
.REG
[4] = BOX_NativeString("");
819 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
820 once_value_22
= fra
.me
.REG
[4];
821 register_static_object(&once_value_22
);
822 } else fra
.me
.REG
[4] = once_value_22
;
823 fra
.me
.REG
[4] = fra
.me
.REG
[4];
824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
825 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
826 if (!once_value_23
) {
827 fra
.me
.REG
[4] = BOX_NativeString(": ");
829 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
830 once_value_23
= fra
.me
.REG
[4];
831 register_static_object(&once_value_23
);
832 } else fra
.me
.REG
[4] = once_value_23
;
833 fra
.me
.REG
[4] = fra
.me
.REG
[4];
834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
835 fra
.me
.REG
[0] = CALL_mmloader___Message___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[0]);
837 if (!once_value_24
) {
838 fra
.me
.REG
[0] = BOX_NativeString("\n\t");
840 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
841 once_value_24
= fra
.me
.REG
[0];
842 register_static_object(&once_value_24
);
843 } else fra
.me
.REG
[0] = once_value_24
;
844 fra
.me
.REG
[0] = fra
.me
.REG
[0];
845 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[0]);
846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
847 if (!once_value_25
) {
848 fra
.me
.REG
[7] = BOX_NativeString("");
850 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
851 once_value_25
= fra
.me
.REG
[7];
852 register_static_object(&once_value_25
);
853 } else fra
.me
.REG
[7] = once_value_25
;
854 fra
.me
.REG
[7] = fra
.me
.REG
[7];
855 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
857 if (!once_value_26
) {
858 fra
.me
.REG
[1] = BOX_NativeString("");
860 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
861 once_value_26
= fra
.me
.REG
[1];
862 register_static_object(&once_value_26
);
863 } else fra
.me
.REG
[1] = once_value_26
;
864 fra
.me
.REG
[1] = fra
.me
.REG
[1];
865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
867 if (!once_value_27
) {
868 fra
.me
.REG
[9] = BOX_NativeString("");
870 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
871 once_value_27
= fra
.me
.REG
[9];
872 register_static_object(&once_value_27
);
873 } else fra
.me
.REG
[9] = once_value_27
;
874 fra
.me
.REG
[9] = fra
.me
.REG
[9];
875 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
877 if (!once_value_28
) {
878 fra
.me
.REG
[3] = BOX_NativeString("");
880 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
881 once_value_28
= fra
.me
.REG
[3];
882 register_static_object(&once_value_28
);
883 } else fra
.me
.REG
[3] = once_value_28
;
884 fra
.me
.REG
[3] = fra
.me
.REG
[3];
885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
887 if (!once_value_29
) {
888 fra
.me
.REG
[8] = BOX_NativeString("\n\t");
890 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
891 once_value_29
= fra
.me
.REG
[8];
892 register_static_object(&once_value_29
);
893 } else fra
.me
.REG
[8] = once_value_29
;
894 fra
.me
.REG
[8] = fra
.me
.REG
[8];
895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
896 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[10]);
898 if (!once_value_30
) {
899 fra
.me
.REG
[10] = BOX_NativeString("^");
901 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
902 once_value_30
= fra
.me
.REG
[10];
903 register_static_object(&once_value_30
);
904 } else fra
.me
.REG
[10] = once_value_30
;
905 fra
.me
.REG
[10] = fra
.me
.REG
[10];
906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[10]);
907 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
908 fra
.me
.REG
[5] = fra
.me
.REG
[6];
913 stack_frame_head
= fra
.me
.prev
;
914 return fra
.me
.REG
[5];
916 void mmloader___Message___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
917 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_mmloader___Message
].i
;
918 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
920 if (init_table
[itpos0
]) return;
921 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
922 fra
.me
.file
= LOCATE_mmloader
;
924 fra
.me
.meth
= LOCATE_mmloader___Message___init
;
925 fra
.me
.has_broke
= 0;
927 fra
.me
.nitni_local_ref_head
= NULL
;
928 fra
.me
.REG
[0] = NIT_NULL
;
929 fra
.me
.REG
[1] = NIT_NULL
;
930 fra
.me
.REG
[2] = NIT_NULL
;
934 ATTR_mmloader___Message____location(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
935 ATTR_mmloader___Message____text(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
936 stack_frame_head
= fra
.me
.prev
;
937 init_table
[itpos0
] = 1;
940 val_t
mmloader___ToolContext___error_count(val_t p0
){
941 struct {struct stack_frame_t me
;} fra
;
944 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
945 fra
.me
.file
= LOCATE_mmloader
;
947 fra
.me
.meth
= LOCATE_mmloader___ToolContext___error_count
;
948 fra
.me
.has_broke
= 0;
950 fra
.me
.nitni_local_ref_head
= NULL
;
951 fra
.me
.REG
[0] = NIT_NULL
;
953 /* ./mmloader.nit:97 */
954 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
955 if (UNTAG_Bool(REGB0
)) {
957 nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_mmloader
, 97);
959 REGB0
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
960 stack_frame_head
= fra
.me
.prev
;
963 val_t
mmloader___ToolContext___warning_count(val_t p0
){
964 struct {struct stack_frame_t me
;} fra
;
967 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
968 fra
.me
.file
= LOCATE_mmloader
;
970 fra
.me
.meth
= LOCATE_mmloader___ToolContext___warning_count
;
971 fra
.me
.has_broke
= 0;
973 fra
.me
.nitni_local_ref_head
= NULL
;
974 fra
.me
.REG
[0] = NIT_NULL
;
976 /* ./mmloader.nit:100 */
977 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0])!=NIT_NULL
);
978 if (UNTAG_Bool(REGB0
)) {
980 nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_mmloader
, 100);
982 REGB0
= ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]);
983 stack_frame_head
= fra
.me
.prev
;
986 val_t
mmloader___ToolContext___log_directory(val_t p0
){
987 struct {struct stack_frame_t me
;} fra
;
990 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
991 fra
.me
.file
= LOCATE_mmloader
;
993 fra
.me
.meth
= LOCATE_mmloader___ToolContext___log_directory
;
994 fra
.me
.has_broke
= 0;
996 fra
.me
.nitni_local_ref_head
= NULL
;
997 fra
.me
.REG
[0] = NIT_NULL
;
999 /* ./mmloader.nit:103 */
1000 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____log_directory(fra
.me
.REG
[0])!=NIT_NULL
);
1001 if (UNTAG_Bool(REGB0
)) {
1003 nit_abort("Uninitialized attribute %s", "_log_directory", LOCATE_mmloader
, 103);
1005 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____log_directory(fra
.me
.REG
[0]);
1006 stack_frame_head
= fra
.me
.prev
;
1007 return fra
.me
.REG
[0];
1009 void mmloader___ToolContext___check_errors(val_t p0
){
1010 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1015 static val_t once_value_1
; /* Once value */
1016 static val_t once_value_2
; /* Once value */
1017 static val_t once_value_3
; /* Once value */
1018 static val_t once_value_4
; /* Once value */
1019 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1020 fra
.me
.file
= LOCATE_mmloader
;
1022 fra
.me
.meth
= LOCATE_mmloader___ToolContext___check_errors
;
1023 fra
.me
.has_broke
= 0;
1024 fra
.me
.REG_size
= 7;
1025 fra
.me
.nitni_local_ref_head
= NULL
;
1026 fra
.me
.REG
[0] = NIT_NULL
;
1027 fra
.me
.REG
[1] = NIT_NULL
;
1028 fra
.me
.REG
[2] = NIT_NULL
;
1029 fra
.me
.REG
[3] = NIT_NULL
;
1030 fra
.me
.REG
[4] = NIT_NULL
;
1031 fra
.me
.REG
[5] = NIT_NULL
;
1032 fra
.me
.REG
[6] = NIT_NULL
;
1034 /* ./mmloader.nit:112 */
1035 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
1036 if (UNTAG_Bool(REGB0
)) {
1038 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 112);
1040 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
1041 /* ./../lib/standard//collection//array.nit:24 */
1042 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1043 if (UNTAG_Bool(REGB0
)) {
1045 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1047 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1048 /* ./mmloader.nit:112 */
1050 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1051 if (UNTAG_Bool(REGB2
)) {
1053 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1055 /* ./../lib/standard//kernel.nit:234 */
1056 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1057 /* ./mmloader.nit:112 */
1058 if (UNTAG_Bool(REGB1
)) {
1059 /* ./mmloader.nit:113 */
1060 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____message_sorter(fra
.me
.REG
[0])!=NIT_NULL
);
1061 if (UNTAG_Bool(REGB1
)) {
1063 nit_abort("Uninitialized attribute %s", "_message_sorter", LOCATE_mmloader
, 113);
1065 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____message_sorter(fra
.me
.REG
[0]);
1066 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
1067 if (UNTAG_Bool(REGB1
)) {
1069 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 113);
1071 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
1072 CALL_standard___collection___sorter___AbstractSorter___sort(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1073 /* ./mmloader.nit:115 */
1074 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
1075 if (UNTAG_Bool(REGB1
)) {
1077 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 115);
1079 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
1080 /* ./../lib/standard//collection//array.nit:269 */
1082 /* ./../lib/standard//collection//array.nit:270 */
1083 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1084 if (UNTAG_Bool(REGB0
)) {
1086 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1088 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1089 /* ./../lib/standard//collection//array.nit:271 */
1090 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1091 /* ./../lib/standard//collection//array.nit:272 */
1093 /* ./../lib/standard//collection//array.nit:24 */
1094 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1095 if (UNTAG_Bool(REGB0
)) {
1097 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1099 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1100 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1101 if (UNTAG_Bool(REGB2
)) {
1103 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1105 /* ./../lib/standard//kernel.nit:232 */
1106 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1107 /* ./../lib/standard//collection//array.nit:272 */
1108 if (UNTAG_Bool(REGB0
)) {
1109 /* ./../lib/standard//collection//array.nit:273 */
1110 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1111 if (UNTAG_Bool(REGB0
)) {
1112 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1114 /* ./../lib/standard//collection//array.nit:718 */
1115 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)];
1116 /* ./mmloader.nit:116 */
1117 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___opt_no_color(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1118 fra
.me
.REG
[4] = CALL_opts___Option___value(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1119 if (UNTAG_Bool(fra
.me
.REG
[4])) {
1120 /* ./mmloader.nit:117 */
1121 fra
.me
.REG
[4] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1123 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1124 if (!once_value_1
) {
1125 fra
.me
.REG
[6] = BOX_NativeString("");
1127 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1128 once_value_1
= fra
.me
.REG
[6];
1129 register_static_object(&once_value_1
);
1130 } else fra
.me
.REG
[6] = once_value_1
;
1131 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1133 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1135 if (!once_value_2
) {
1136 fra
.me
.REG
[6] = BOX_NativeString("\n");
1138 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1139 once_value_2
= fra
.me
.REG
[6];
1140 register_static_object(&once_value_2
);
1141 } else fra
.me
.REG
[6] = once_value_2
;
1142 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1143 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1144 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1145 CALL_standard___stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1147 /* ./mmloader.nit:119 */
1148 fra
.me
.REG
[5] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1150 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1151 if (!once_value_3
) {
1152 fra
.me
.REG
[6] = BOX_NativeString("");
1154 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1155 once_value_3
= fra
.me
.REG
[6];
1156 register_static_object(&once_value_3
);
1157 } else fra
.me
.REG
[6] = once_value_3
;
1158 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
1160 fra
.me
.REG
[3] = CALL_mmloader___Message___to_color_string(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1162 if (!once_value_4
) {
1163 fra
.me
.REG
[3] = BOX_NativeString("\n");
1165 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1166 once_value_4
= fra
.me
.REG
[3];
1167 register_static_object(&once_value_4
);
1168 } else fra
.me
.REG
[3] = once_value_4
;
1169 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1170 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1171 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1172 CALL_standard___stream___OStream___write(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1174 /* ./../lib/standard//collection//array.nit:274 */
1176 /* ./../lib/standard//kernel.nit:235 */
1177 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1178 /* ./../lib/standard//collection//array.nit:274 */
1181 /* ./../lib/standard//collection//array.nit:272 */
1186 /* ./mmloader.nit:123 */
1187 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
1188 if (UNTAG_Bool(REGB1
)) {
1190 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 123);
1192 fra
.me
.REG
[1] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
1193 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1195 /* ./mmloader.nit:126 */
1196 REGB1
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1198 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1199 if (UNTAG_Bool(REGB2
)) {
1201 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1203 /* ./../lib/standard//kernel.nit:234 */
1204 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
1205 /* ./mmloader.nit:126 */
1206 if (UNTAG_Bool(REGB0
)) {
1208 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1210 stack_frame_head
= fra
.me
.prev
;
1213 void mmloader___ToolContext___error(val_t p0
, val_t p1
, val_t p2
){
1214 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1218 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1219 fra
.me
.file
= LOCATE_mmloader
;
1221 fra
.me
.meth
= LOCATE_mmloader___ToolContext___error
;
1222 fra
.me
.has_broke
= 0;
1223 fra
.me
.REG_size
= 4;
1224 fra
.me
.nitni_local_ref_head
= NULL
;
1225 fra
.me
.REG
[0] = NIT_NULL
;
1226 fra
.me
.REG
[1] = NIT_NULL
;
1227 fra
.me
.REG
[2] = NIT_NULL
;
1228 fra
.me
.REG
[3] = NIT_NULL
;
1232 /* ./mmloader.nit:132 */
1233 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
1234 if (UNTAG_Bool(REGB0
)) {
1236 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 132);
1238 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
1239 fra
.me
.REG
[2] = NEW_Message_mmloader___Message___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1241 /* ./mmloader.nit:133 */
1242 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
1243 if (UNTAG_Bool(REGB0
)) {
1245 nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_mmloader
, 133);
1247 REGB0
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
1249 /* ./../lib/standard//kernel.nit:235 */
1250 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1251 /* ./mmloader.nit:133 */
1252 ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]) = REGB1
;
1253 /* ./mmloader.nit:134 */
1254 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___opt_stop_on_first_error(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1255 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1256 if (UNTAG_Bool(fra
.me
.REG
[2])) {
1257 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1259 stack_frame_head
= fra
.me
.prev
;
1262 void mmloader___ToolContext___fatal_error(val_t p0
, val_t p1
, val_t p2
){
1263 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1265 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1266 fra
.me
.file
= LOCATE_mmloader
;
1268 fra
.me
.meth
= LOCATE_mmloader___ToolContext___fatal_error
;
1269 fra
.me
.has_broke
= 0;
1270 fra
.me
.REG_size
= 3;
1271 fra
.me
.nitni_local_ref_head
= NULL
;
1272 fra
.me
.REG
[0] = NIT_NULL
;
1273 fra
.me
.REG
[1] = NIT_NULL
;
1274 fra
.me
.REG
[2] = NIT_NULL
;
1278 /* ./mmloader.nit:140 */
1279 CALL_mmloader___ToolContext___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
1280 /* ./mmloader.nit:141 */
1281 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1282 stack_frame_head
= fra
.me
.prev
;
1285 void mmloader___ToolContext___warning(val_t p0
, val_t p1
, val_t p2
){
1286 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1291 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1292 fra
.me
.file
= LOCATE_mmloader
;
1294 fra
.me
.meth
= LOCATE_mmloader___ToolContext___warning
;
1295 fra
.me
.has_broke
= 0;
1296 fra
.me
.REG_size
= 4;
1297 fra
.me
.nitni_local_ref_head
= NULL
;
1298 fra
.me
.REG
[0] = NIT_NULL
;
1299 fra
.me
.REG
[1] = NIT_NULL
;
1300 fra
.me
.REG
[2] = NIT_NULL
;
1301 fra
.me
.REG
[3] = NIT_NULL
;
1305 /* ./mmloader.nit:147 */
1306 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
1307 if (UNTAG_Bool(REGB0
)) {
1309 nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_mmloader
, 147);
1311 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
1312 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1314 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB0
,fra
.me
.REG
[3]));
1315 if (UNTAG_Bool(REGB1
)) {
1317 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1318 if (UNTAG_Bool(REGB2
)) {
1319 REGB2
= TAG_Bool(false);
1322 /* ./../lib/standard//kernel.nit:227 */
1323 REGB0
= TAG_Bool((fra
.me
.REG
[3])==(REGB0
));
1324 /* ./mmloader.nit:147 */
1328 if (UNTAG_Bool(REGB1
)) {
1331 /* ./mmloader.nit:148 */
1332 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0])!=NIT_NULL
);
1333 if (UNTAG_Bool(REGB1
)) {
1335 nit_abort("Uninitialized attribute %s", "_messages", LOCATE_mmloader
, 148);
1337 fra
.me
.REG
[3] = ATTR_mmloader___ToolContext____messages(fra
.me
.REG
[0]);
1338 fra
.me
.REG
[2] = NEW_Message_mmloader___Message___init(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1340 /* ./mmloader.nit:149 */
1341 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
1342 if (UNTAG_Bool(REGB1
)) {
1344 nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_mmloader
, 149);
1346 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
1347 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1349 REGB0
= TAG_Bool(IS_EQUAL_ON(REGB1
,fra
.me
.REG
[2]));
1350 if (UNTAG_Bool(REGB0
)) {
1352 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1353 if (UNTAG_Bool(REGB2
)) {
1354 REGB2
= TAG_Bool(false);
1357 /* ./../lib/standard//kernel.nit:227 */
1358 REGB1
= TAG_Bool((fra
.me
.REG
[2])==(REGB1
));
1359 /* ./mmloader.nit:149 */
1363 if (UNTAG_Bool(REGB0
)) {
1364 /* ./mmloader.nit:150 */
1365 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0])!=NIT_NULL
);
1366 if (UNTAG_Bool(REGB0
)) {
1368 nit_abort("Uninitialized attribute %s", "_warning_count", LOCATE_mmloader
, 150);
1370 REGB0
= ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]);
1372 /* ./../lib/standard//kernel.nit:235 */
1373 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1374 /* ./mmloader.nit:150 */
1375 ATTR_mmloader___ToolContext____warning_count(fra
.me
.REG
[0]) = REGB1
;
1377 /* ./mmloader.nit:152 */
1378 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0])!=NIT_NULL
);
1379 if (UNTAG_Bool(REGB1
)) {
1381 nit_abort("Uninitialized attribute %s", "_error_count", LOCATE_mmloader
, 152);
1383 REGB1
= ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]);
1385 /* ./../lib/standard//kernel.nit:235 */
1386 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1387 /* ./mmloader.nit:152 */
1388 ATTR_mmloader___ToolContext____error_count(fra
.me
.REG
[0]) = REGB0
;
1390 /* ./mmloader.nit:154 */
1391 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___opt_stop_on_first_error(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1392 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1393 if (UNTAG_Bool(fra
.me
.REG
[2])) {
1394 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1397 stack_frame_head
= fra
.me
.prev
;
1400 void mmloader___ToolContext___info(val_t p0
, val_t p1
, val_t p2
){
1401 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1406 static val_t once_value_1
; /* Once value */
1407 static val_t once_value_2
; /* Once value */
1408 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1409 fra
.me
.file
= LOCATE_mmloader
;
1411 fra
.me
.meth
= LOCATE_mmloader___ToolContext___info
;
1412 fra
.me
.has_broke
= 0;
1413 fra
.me
.REG_size
= 4;
1414 fra
.me
.nitni_local_ref_head
= NULL
;
1415 fra
.me
.REG
[0] = NIT_NULL
;
1416 fra
.me
.REG
[1] = NIT_NULL
;
1417 fra
.me
.REG
[2] = NIT_NULL
;
1418 fra
.me
.REG
[3] = NIT_NULL
;
1422 /* ./mmloader.nit:160 */
1423 REGB1
= CALL_mmloader___ToolContext___verbose_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1424 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1425 if (UNTAG_Bool(REGB2
)) {
1427 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1429 /* ./../lib/standard//kernel.nit:231 */
1430 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
1431 /* ./mmloader.nit:160 */
1432 if (UNTAG_Bool(REGB1
)) {
1433 /* ./mmloader.nit:161 */
1435 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1436 if (!once_value_1
) {
1437 fra
.me
.REG
[3] = BOX_NativeString("");
1439 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
1440 once_value_1
= fra
.me
.REG
[3];
1441 register_static_object(&once_value_1
);
1442 } else fra
.me
.REG
[3] = once_value_1
;
1443 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1446 if (!once_value_2
) {
1447 fra
.me
.REG
[1] = BOX_NativeString("");
1449 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
1450 once_value_2
= fra
.me
.REG
[1];
1451 register_static_object(&once_value_2
);
1452 } else fra
.me
.REG
[1] = once_value_2
;
1453 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1455 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1456 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1458 stack_frame_head
= fra
.me
.prev
;
1461 val_t
mmloader___ToolContext___paths(val_t p0
){
1462 struct {struct stack_frame_t me
;} fra
;
1465 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1466 fra
.me
.file
= LOCATE_mmloader
;
1468 fra
.me
.meth
= LOCATE_mmloader___ToolContext___paths
;
1469 fra
.me
.has_broke
= 0;
1470 fra
.me
.REG_size
= 1;
1471 fra
.me
.nitni_local_ref_head
= NULL
;
1472 fra
.me
.REG
[0] = NIT_NULL
;
1474 /* ./mmloader.nit:165 */
1475 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____paths(fra
.me
.REG
[0])!=NIT_NULL
);
1476 if (UNTAG_Bool(REGB0
)) {
1478 nit_abort("Uninitialized attribute %s", "_paths", LOCATE_mmloader
, 165);
1480 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____paths(fra
.me
.REG
[0]);
1481 stack_frame_head
= fra
.me
.prev
;
1482 return fra
.me
.REG
[0];
1484 val_t
mmloader___ToolContext___option_context(val_t p0
){
1485 struct {struct stack_frame_t me
;} fra
;
1488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1489 fra
.me
.file
= LOCATE_mmloader
;
1491 fra
.me
.meth
= LOCATE_mmloader___ToolContext___option_context
;
1492 fra
.me
.has_broke
= 0;
1493 fra
.me
.REG_size
= 1;
1494 fra
.me
.nitni_local_ref_head
= NULL
;
1495 fra
.me
.REG
[0] = NIT_NULL
;
1497 /* ./mmloader.nit:171 */
1498 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____option_context(fra
.me
.REG
[0])!=NIT_NULL
);
1499 if (UNTAG_Bool(REGB0
)) {
1501 nit_abort("Uninitialized attribute %s", "_option_context", LOCATE_mmloader
, 171);
1503 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____option_context(fra
.me
.REG
[0]);
1504 stack_frame_head
= fra
.me
.prev
;
1505 return fra
.me
.REG
[0];
1507 val_t
mmloader___ToolContext___opt_warn(val_t p0
){
1508 struct {struct stack_frame_t me
;} fra
;
1511 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1512 fra
.me
.file
= LOCATE_mmloader
;
1514 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_warn
;
1515 fra
.me
.has_broke
= 0;
1516 fra
.me
.REG_size
= 1;
1517 fra
.me
.nitni_local_ref_head
= NULL
;
1518 fra
.me
.REG
[0] = NIT_NULL
;
1520 /* ./mmloader.nit:174 */
1521 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0])!=NIT_NULL
);
1522 if (UNTAG_Bool(REGB0
)) {
1524 nit_abort("Uninitialized attribute %s", "_opt_warn", LOCATE_mmloader
, 174);
1526 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_warn(fra
.me
.REG
[0]);
1527 stack_frame_head
= fra
.me
.prev
;
1528 return fra
.me
.REG
[0];
1530 val_t
mmloader___ToolContext___opt_path(val_t p0
){
1531 struct {struct stack_frame_t me
;} fra
;
1534 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1535 fra
.me
.file
= LOCATE_mmloader
;
1537 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_path
;
1538 fra
.me
.has_broke
= 0;
1539 fra
.me
.REG_size
= 1;
1540 fra
.me
.nitni_local_ref_head
= NULL
;
1541 fra
.me
.REG
[0] = NIT_NULL
;
1543 /* ./mmloader.nit:177 */
1544 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_path(fra
.me
.REG
[0])!=NIT_NULL
);
1545 if (UNTAG_Bool(REGB0
)) {
1547 nit_abort("Uninitialized attribute %s", "_opt_path", LOCATE_mmloader
, 177);
1549 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_path(fra
.me
.REG
[0]);
1550 stack_frame_head
= fra
.me
.prev
;
1551 return fra
.me
.REG
[0];
1553 val_t
mmloader___ToolContext___opt_log(val_t p0
){
1554 struct {struct stack_frame_t me
;} fra
;
1557 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1558 fra
.me
.file
= LOCATE_mmloader
;
1560 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_log
;
1561 fra
.me
.has_broke
= 0;
1562 fra
.me
.REG_size
= 1;
1563 fra
.me
.nitni_local_ref_head
= NULL
;
1564 fra
.me
.REG
[0] = NIT_NULL
;
1566 /* ./mmloader.nit:180 */
1567 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0])!=NIT_NULL
);
1568 if (UNTAG_Bool(REGB0
)) {
1570 nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_mmloader
, 180);
1572 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[0]);
1573 stack_frame_head
= fra
.me
.prev
;
1574 return fra
.me
.REG
[0];
1576 val_t
mmloader___ToolContext___opt_log_dir(val_t p0
){
1577 struct {struct stack_frame_t me
;} fra
;
1580 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1581 fra
.me
.file
= LOCATE_mmloader
;
1583 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_log_dir
;
1584 fra
.me
.has_broke
= 0;
1585 fra
.me
.REG_size
= 1;
1586 fra
.me
.nitni_local_ref_head
= NULL
;
1587 fra
.me
.REG
[0] = NIT_NULL
;
1589 /* ./mmloader.nit:183 */
1590 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_log_dir(fra
.me
.REG
[0])!=NIT_NULL
);
1591 if (UNTAG_Bool(REGB0
)) {
1593 nit_abort("Uninitialized attribute %s", "_opt_log_dir", LOCATE_mmloader
, 183);
1595 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_log_dir(fra
.me
.REG
[0]);
1596 stack_frame_head
= fra
.me
.prev
;
1597 return fra
.me
.REG
[0];
1599 val_t
mmloader___ToolContext___opt_only_metamodel(val_t p0
){
1600 struct {struct stack_frame_t me
;} fra
;
1603 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1604 fra
.me
.file
= LOCATE_mmloader
;
1606 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_only_metamodel
;
1607 fra
.me
.has_broke
= 0;
1608 fra
.me
.REG_size
= 1;
1609 fra
.me
.nitni_local_ref_head
= NULL
;
1610 fra
.me
.REG
[0] = NIT_NULL
;
1612 /* ./mmloader.nit:186 */
1613 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_only_metamodel(fra
.me
.REG
[0])!=NIT_NULL
);
1614 if (UNTAG_Bool(REGB0
)) {
1616 nit_abort("Uninitialized attribute %s", "_opt_only_metamodel", LOCATE_mmloader
, 186);
1618 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_only_metamodel(fra
.me
.REG
[0]);
1619 stack_frame_head
= fra
.me
.prev
;
1620 return fra
.me
.REG
[0];
1622 val_t
mmloader___ToolContext___opt_only_parse(val_t p0
){
1623 struct {struct stack_frame_t me
;} fra
;
1626 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1627 fra
.me
.file
= LOCATE_mmloader
;
1629 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_only_parse
;
1630 fra
.me
.has_broke
= 0;
1631 fra
.me
.REG_size
= 1;
1632 fra
.me
.nitni_local_ref_head
= NULL
;
1633 fra
.me
.REG
[0] = NIT_NULL
;
1635 /* ./mmloader.nit:189 */
1636 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_only_parse(fra
.me
.REG
[0])!=NIT_NULL
);
1637 if (UNTAG_Bool(REGB0
)) {
1639 nit_abort("Uninitialized attribute %s", "_opt_only_parse", LOCATE_mmloader
, 189);
1641 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_only_parse(fra
.me
.REG
[0]);
1642 stack_frame_head
= fra
.me
.prev
;
1643 return fra
.me
.REG
[0];
1645 val_t
mmloader___ToolContext___opt_help(val_t p0
){
1646 struct {struct stack_frame_t me
;} fra
;
1649 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1650 fra
.me
.file
= LOCATE_mmloader
;
1652 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_help
;
1653 fra
.me
.has_broke
= 0;
1654 fra
.me
.REG_size
= 1;
1655 fra
.me
.nitni_local_ref_head
= NULL
;
1656 fra
.me
.REG
[0] = NIT_NULL
;
1658 /* ./mmloader.nit:192 */
1659 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_help(fra
.me
.REG
[0])!=NIT_NULL
);
1660 if (UNTAG_Bool(REGB0
)) {
1662 nit_abort("Uninitialized attribute %s", "_opt_help", LOCATE_mmloader
, 192);
1664 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_help(fra
.me
.REG
[0]);
1665 stack_frame_head
= fra
.me
.prev
;
1666 return fra
.me
.REG
[0];
1668 val_t
mmloader___ToolContext___opt_version(val_t p0
){
1669 struct {struct stack_frame_t me
;} fra
;
1672 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1673 fra
.me
.file
= LOCATE_mmloader
;
1675 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_version
;
1676 fra
.me
.has_broke
= 0;
1677 fra
.me
.REG_size
= 1;
1678 fra
.me
.nitni_local_ref_head
= NULL
;
1679 fra
.me
.REG
[0] = NIT_NULL
;
1681 /* ./mmloader.nit:195 */
1682 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_version(fra
.me
.REG
[0])!=NIT_NULL
);
1683 if (UNTAG_Bool(REGB0
)) {
1685 nit_abort("Uninitialized attribute %s", "_opt_version", LOCATE_mmloader
, 195);
1687 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_version(fra
.me
.REG
[0]);
1688 stack_frame_head
= fra
.me
.prev
;
1689 return fra
.me
.REG
[0];
1691 val_t
mmloader___ToolContext___opt_verbose(val_t p0
){
1692 struct {struct stack_frame_t me
;} fra
;
1695 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1696 fra
.me
.file
= LOCATE_mmloader
;
1698 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_verbose
;
1699 fra
.me
.has_broke
= 0;
1700 fra
.me
.REG_size
= 1;
1701 fra
.me
.nitni_local_ref_head
= NULL
;
1702 fra
.me
.REG
[0] = NIT_NULL
;
1704 /* ./mmloader.nit:198 */
1705 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_verbose(fra
.me
.REG
[0])!=NIT_NULL
);
1706 if (UNTAG_Bool(REGB0
)) {
1708 nit_abort("Uninitialized attribute %s", "_opt_verbose", LOCATE_mmloader
, 198);
1710 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_verbose(fra
.me
.REG
[0]);
1711 stack_frame_head
= fra
.me
.prev
;
1712 return fra
.me
.REG
[0];
1714 val_t
mmloader___ToolContext___opt_stop_on_first_error(val_t p0
){
1715 struct {struct stack_frame_t me
;} fra
;
1718 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1719 fra
.me
.file
= LOCATE_mmloader
;
1721 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_stop_on_first_error
;
1722 fra
.me
.has_broke
= 0;
1723 fra
.me
.REG_size
= 1;
1724 fra
.me
.nitni_local_ref_head
= NULL
;
1725 fra
.me
.REG
[0] = NIT_NULL
;
1727 /* ./mmloader.nit:201 */
1728 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_stop_on_first_error(fra
.me
.REG
[0])!=NIT_NULL
);
1729 if (UNTAG_Bool(REGB0
)) {
1731 nit_abort("Uninitialized attribute %s", "_opt_stop_on_first_error", LOCATE_mmloader
, 201);
1733 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_stop_on_first_error(fra
.me
.REG
[0]);
1734 stack_frame_head
= fra
.me
.prev
;
1735 return fra
.me
.REG
[0];
1737 val_t
mmloader___ToolContext___opt_no_color(val_t p0
){
1738 struct {struct stack_frame_t me
;} fra
;
1741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1742 fra
.me
.file
= LOCATE_mmloader
;
1744 fra
.me
.meth
= LOCATE_mmloader___ToolContext___opt_no_color
;
1745 fra
.me
.has_broke
= 0;
1746 fra
.me
.REG_size
= 1;
1747 fra
.me
.nitni_local_ref_head
= NULL
;
1748 fra
.me
.REG
[0] = NIT_NULL
;
1750 /* ./mmloader.nit:204 */
1751 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_no_color(fra
.me
.REG
[0])!=NIT_NULL
);
1752 if (UNTAG_Bool(REGB0
)) {
1754 nit_abort("Uninitialized attribute %s", "_opt_no_color", LOCATE_mmloader
, 204);
1756 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____opt_no_color(fra
.me
.REG
[0]);
1757 stack_frame_head
= fra
.me
.prev
;
1758 return fra
.me
.REG
[0];
1760 val_t
mmloader___ToolContext___verbose_level(val_t p0
){
1761 struct {struct stack_frame_t me
;} fra
;
1764 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1765 fra
.me
.file
= LOCATE_mmloader
;
1767 fra
.me
.meth
= LOCATE_mmloader___ToolContext___verbose_level
;
1768 fra
.me
.has_broke
= 0;
1769 fra
.me
.REG_size
= 1;
1770 fra
.me
.nitni_local_ref_head
= NULL
;
1771 fra
.me
.REG
[0] = NIT_NULL
;
1773 /* ./mmloader.nit:207 */
1774 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0])!=NIT_NULL
);
1775 if (UNTAG_Bool(REGB0
)) {
1777 nit_abort("Uninitialized attribute %s", "_verbose_level", LOCATE_mmloader
, 207);
1779 REGB0
= ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[0]);
1780 stack_frame_head
= fra
.me
.prev
;
1783 void mmloader___ToolContext___init(val_t p0
, int* init_table
){
1784 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_mmloader___ToolContext
].i
;
1785 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1788 if (init_table
[itpos1
]) return;
1789 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1790 fra
.me
.file
= LOCATE_mmloader
;
1792 fra
.me
.meth
= LOCATE_mmloader___ToolContext___init
;
1793 fra
.me
.has_broke
= 0;
1794 fra
.me
.REG_size
= 4;
1795 fra
.me
.nitni_local_ref_head
= NULL
;
1796 fra
.me
.REG
[0] = NIT_NULL
;
1797 fra
.me
.REG
[1] = NIT_NULL
;
1798 fra
.me
.REG
[2] = NIT_NULL
;
1799 fra
.me
.REG
[3] = NIT_NULL
;
1801 /* ./mmloader.nit:210 */
1802 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1803 /* ./mmloader.nit:212 */
1804 CALL_metamodel___abstractmetamodel___MMContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1805 /* ./mmloader.nit:213 */
1806 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1807 REGB0
= TAG_Int(10);
1808 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1809 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_warn(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1810 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1811 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_stop_on_first_error(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1813 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_no_color(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1815 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_path(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1817 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1818 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1819 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_log_dir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1821 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1823 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_metamodel(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1825 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_help(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1827 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_version(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1829 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___opt_verbose(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1830 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1831 CALL_opts___OptionContext___add_option(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1832 stack_frame_head
= fra
.me
.prev
;
1833 init_table
[itpos1
] = 1;
1836 void mmloader___ToolContext___process_options(val_t p0
){
1837 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1841 static val_t once_value_1
; /* Once value */
1842 static val_t once_value_2
; /* Once value */
1843 static val_t once_value_3
; /* Once value */
1844 static val_t once_value_4
; /* Once value */
1845 static val_t once_value_5
; /* Once value */
1846 static val_t once_value_6
; /* Once value */
1847 static val_t once_value_7
; /* Once value */
1848 static val_t once_value_8
; /* Once value */
1849 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1850 fra
.me
.file
= LOCATE_mmloader
;
1852 fra
.me
.meth
= LOCATE_mmloader___ToolContext___process_options
;
1853 fra
.me
.has_broke
= 0;
1854 fra
.me
.REG_size
= 5;
1855 fra
.me
.nitni_local_ref_head
= NULL
;
1856 fra
.me
.REG
[0] = NIT_NULL
;
1857 fra
.me
.REG
[1] = NIT_NULL
;
1858 fra
.me
.REG
[2] = NIT_NULL
;
1859 fra
.me
.REG
[3] = NIT_NULL
;
1860 fra
.me
.REG
[4] = NIT_NULL
;
1862 /* ./mmloader.nit:216 */
1863 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1864 /* ./mmloader.nit:220 */
1865 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1866 fra
.me
.REG
[3] = CALL_standard___string___Object___args(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1867 CALL_opts___OptionContext___parse(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1868 /* ./mmloader.nit:223 */
1869 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_verbose(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1870 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1871 ATTR_mmloader___ToolContext____verbose_level(fra
.me
.REG
[1]) = fra
.me
.REG
[3];
1872 /* ./mmloader.nit:226 */
1873 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1874 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___opt_path(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1875 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1876 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1877 /* ./mmloader.nit:228 */
1878 if (!once_value_1
) {
1879 if (!once_value_2
) {
1880 fra
.me
.REG
[2] = BOX_NativeString("NIT_PATH");
1882 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1883 once_value_2
= fra
.me
.REG
[2];
1884 register_static_object(&once_value_2
);
1885 } else fra
.me
.REG
[2] = once_value_2
;
1886 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1887 fra
.me
.REG
[2] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1888 fra
.me
.REG
[2] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1889 once_value_1
= fra
.me
.REG
[2];
1890 register_static_object(&once_value_1
);
1891 } else fra
.me
.REG
[2] = once_value_1
;
1892 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1893 /* ./mmloader.nit:229 */
1894 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1895 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1896 if (UNTAG_Bool(REGB0
)) {
1897 /* ./mmloader.nit:230 */
1898 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1899 REGB0
= TAG_Char(':');
1900 fra
.me
.REG
[4] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
1901 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1903 /* ./mmloader.nit:233 */
1904 if (!once_value_3
) {
1905 if (!once_value_4
) {
1906 fra
.me
.REG
[4] = BOX_NativeString("NIT_DIR");
1908 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1909 once_value_4
= fra
.me
.REG
[4];
1910 register_static_object(&once_value_4
);
1911 } else fra
.me
.REG
[4] = once_value_4
;
1912 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1913 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1914 fra
.me
.REG
[4] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1915 once_value_3
= fra
.me
.REG
[4];
1916 register_static_object(&once_value_3
);
1917 } else fra
.me
.REG
[4] = once_value_3
;
1918 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1919 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1920 /* ./mmloader.nit:234 */
1921 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1922 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1923 if (UNTAG_Bool(REGB0
)) {
1924 /* ./mmloader.nit:235 */
1926 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1927 if (!once_value_5
) {
1928 fra
.me
.REG
[3] = BOX_NativeString("");
1930 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1931 once_value_5
= fra
.me
.REG
[3];
1932 register_static_object(&once_value_5
);
1933 } else fra
.me
.REG
[3] = once_value_5
;
1934 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1935 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1937 if (!once_value_6
) {
1938 fra
.me
.REG
[2] = BOX_NativeString("/lib");
1940 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1941 once_value_6
= fra
.me
.REG
[2];
1942 register_static_object(&once_value_6
);
1943 } else fra
.me
.REG
[2] = once_value_6
;
1944 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1945 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1946 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1947 /* ./mmloader.nit:236 */
1948 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1949 if (UNTAG_Bool(REGB0
)) {
1950 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1954 /* ./mmloader.nit:239 */
1956 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1957 if (!once_value_7
) {
1958 fra
.me
.REG
[2] = BOX_NativeString("");
1960 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1961 once_value_7
= fra
.me
.REG
[2];
1962 register_static_object(&once_value_7
);
1963 } else fra
.me
.REG
[2] = once_value_7
;
1964 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1966 fra
.me
.REG
[2] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1967 fra
.me
.REG
[2] = CALL_standard___string___Sys___program_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1968 fra
.me
.REG
[2] = CALL_standard___file___String___dirname(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1970 if (!once_value_8
) {
1971 fra
.me
.REG
[2] = BOX_NativeString("/../lib");
1973 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1974 once_value_8
= fra
.me
.REG
[2];
1975 register_static_object(&once_value_8
);
1976 } else fra
.me
.REG
[2] = once_value_8
;
1977 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1978 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1979 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1980 /* ./mmloader.nit:240 */
1981 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1982 if (UNTAG_Bool(REGB0
)) {
1983 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1986 /* ./mmloader.nit:242 */
1987 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___opt_log_dir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1988 fra
.me
.REG
[4] = CALL_opts___Option___value(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1989 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1990 if (UNTAG_Bool(REGB0
)) {
1992 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1993 if (UNTAG_Bool(REGB1
)) {
1994 REGB1
= TAG_Bool(false);
1997 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2001 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2002 if (UNTAG_Bool(REGB0
)) {
2003 fra
.me
.REG
[4] = CALL_mmloader___ToolContext___opt_log_dir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2004 fra
.me
.REG
[4] = CALL_opts___Option___value(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2005 REGB0
= TAG_Bool((fra
.me
.REG
[4]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[4], COLOR_standard___string___String
, ID_standard___string___String
)) /*cast String*/;
2006 if (UNTAG_Bool(REGB0
)) {
2008 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 242);
2010 ATTR_mmloader___ToolContext____log_directory(fra
.me
.REG
[1]) = fra
.me
.REG
[4];
2012 /* ./mmloader.nit:243 */
2013 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[1])!=NIT_NULL
);
2014 if (UNTAG_Bool(REGB0
)) {
2016 nit_abort("Uninitialized attribute %s", "_opt_log", LOCATE_mmloader
, 243);
2018 fra
.me
.REG
[4] = ATTR_mmloader___ToolContext____opt_log(fra
.me
.REG
[1]);
2019 fra
.me
.REG
[4] = CALL_opts___Option___value(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2020 if (UNTAG_Bool(fra
.me
.REG
[4])) {
2021 /* ./mmloader.nit:245 */
2022 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___log_directory(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2023 CALL_standard___file___String___mkdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2025 stack_frame_head
= fra
.me
.prev
;
2028 val_t
mmloader___ToolContext___try_to_load(val_t p0
, val_t p1
, val_t p2
){
2029 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
2034 static val_t once_value_4
; /* Once value */
2035 static val_t once_value_5
; /* Once value */
2036 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2037 fra
.me
.file
= LOCATE_mmloader
;
2039 fra
.me
.meth
= LOCATE_mmloader___ToolContext___try_to_load
;
2040 fra
.me
.has_broke
= 0;
2041 fra
.me
.REG_size
= 10;
2042 fra
.me
.nitni_local_ref_head
= NULL
;
2043 fra
.me
.REG
[0] = NIT_NULL
;
2044 fra
.me
.REG
[1] = NIT_NULL
;
2045 fra
.me
.REG
[2] = NIT_NULL
;
2046 fra
.me
.REG
[3] = NIT_NULL
;
2047 fra
.me
.REG
[4] = NIT_NULL
;
2048 fra
.me
.REG
[5] = NIT_NULL
;
2049 fra
.me
.REG
[6] = NIT_NULL
;
2050 fra
.me
.REG
[7] = NIT_NULL
;
2051 fra
.me
.REG
[8] = NIT_NULL
;
2052 fra
.me
.REG
[9] = NIT_NULL
;
2056 /* ./mmloader.nit:255 */
2057 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMDirectory___modules(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2058 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2059 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmloader___ToolContext___try_to_load_1
));
2060 switch ((&(fra
.me
))->has_broke
) {
2062 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
2064 /* ./mmloader.nit:261 */
2065 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0])!=NIT_NULL
);
2066 if (UNTAG_Bool(REGB0
)) {
2068 nit_abort("Uninitialized attribute %s", "_loaders", LOCATE_mmloader
, 261);
2070 fra
.me
.REG
[4] = ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0]);
2071 /* ./../lib/standard//collection//array.nit:269 */
2073 /* ./../lib/standard//collection//array.nit:270 */
2074 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
2075 if (UNTAG_Bool(REGB1
)) {
2077 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2079 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
2080 /* ./../lib/standard//collection//array.nit:271 */
2081 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
2082 /* ./../lib/standard//collection//array.nit:272 */
2084 /* ./../lib/standard//collection//array.nit:24 */
2085 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
2086 if (UNTAG_Bool(REGB1
)) {
2088 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2090 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
2091 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2092 if (UNTAG_Bool(REGB2
)) {
2094 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2096 /* ./../lib/standard//kernel.nit:232 */
2097 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2098 /* ./../lib/standard//collection//array.nit:272 */
2099 if (UNTAG_Bool(REGB1
)) {
2100 /* ./../lib/standard//collection//array.nit:273 */
2101 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2102 if (UNTAG_Bool(REGB1
)) {
2103 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2105 /* ./../lib/standard//collection//array.nit:718 */
2106 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
2107 /* ./mmloader.nit:262 */
2108 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]);
2109 /* ./mmloader.nit:263 */
2110 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2111 if (UNTAG_Bool(REGB1
)) {
2113 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2114 if (UNTAG_Bool(REGB2
)) {
2115 REGB2
= TAG_Bool(false);
2118 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
2122 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2123 if (UNTAG_Bool(REGB1
)) {
2124 /* ./mmloader.nit:264 */
2125 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]);
2126 /* ./mmloader.nit:265 */
2127 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
2128 if (UNTAG_Bool(REGB1
)) {
2130 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
2131 if (UNTAG_Bool(REGB2
)) {
2132 REGB2
= TAG_Bool(false);
2135 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
2139 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2140 if (UNTAG_Bool(REGB1
)) {
2141 /* ./mmloader.nit:266 */
2142 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2143 if (UNTAG_Bool(REGB1
)) {
2144 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 266);
2146 CALL_metamodel___abstractmetamodel___MMDirectory___owner__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2147 /* ./mmloader.nit:267 */
2148 CALL_metamodel___abstractmetamodel___MMDirectory___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
2149 /* ./mmloader.nit:268 */
2150 fra
.me
.REG
[3] = fra
.me
.REG
[8];
2154 /* ./mmloader.nit:272 */
2155 REGB1
= CALL_mmloader___ModuleLoader___can_handle(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1], fra
.me
.REG
[2]);
2156 if (UNTAG_Bool(REGB1
)) {
2157 /* ./mmloader.nit:273 */
2158 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMDirectory___full_name_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2159 /* ./mmloader.nit:274 */
2160 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
2161 if (UNTAG_Bool(REGB1
)) {
2163 nit_abort("Uninitialized attribute %s", "_processing_modules", LOCATE_mmloader
, 274);
2165 fra
.me
.REG
[7] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
2166 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2167 if (UNTAG_Bool(REGB1
)) {
2168 /* ./mmloader.nit:276 */
2170 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2171 if (!once_value_4
) {
2172 fra
.me
.REG
[9] = BOX_NativeString("Error: Dependency loop for module ");
2173 REGB1
= TAG_Int(34);
2174 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
2175 once_value_4
= fra
.me
.REG
[9];
2176 register_static_object(&once_value_4
);
2177 } else fra
.me
.REG
[9] = once_value_4
;
2178 fra
.me
.REG
[9] = fra
.me
.REG
[9];
2179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
2180 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
2182 if (!once_value_5
) {
2183 fra
.me
.REG
[9] = BOX_NativeString("");
2185 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
2186 once_value_5
= fra
.me
.REG
[9];
2187 register_static_object(&once_value_5
);
2188 } else fra
.me
.REG
[9] = once_value_5
;
2189 fra
.me
.REG
[9] = fra
.me
.REG
[9];
2190 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
2191 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2192 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[7]);
2194 /* ./mmloader.nit:278 */
2195 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
2196 if (UNTAG_Bool(REGB1
)) {
2198 nit_abort("Uninitialized attribute %s", "_processing_modules", LOCATE_mmloader
, 278);
2200 fra
.me
.REG
[7] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
2201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2202 /* ./mmloader.nit:279 */
2203 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]);
2204 /* ./mmloader.nit:280 */
2205 REGB1
= TAG_Bool(ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0])!=NIT_NULL
);
2206 if (UNTAG_Bool(REGB1
)) {
2208 nit_abort("Uninitialized attribute %s", "_processing_modules", LOCATE_mmloader
, 280);
2210 fra
.me
.REG
[7] = ATTR_mmloader___ToolContext____processing_modules(fra
.me
.REG
[0]);
2211 CALL_standard___collection___abstract_collection___RemovableCollection___remove(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2212 /* ./mmloader.nit:282 */
2213 CALL_metamodel___abstractmetamodel___MMDirectory___add_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
2214 /* ./mmloader.nit:283 */
2215 fra
.me
.REG
[3] = fra
.me
.REG
[6];
2218 /* ./../lib/standard//collection//array.nit:274 */
2220 /* ./../lib/standard//kernel.nit:235 */
2221 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2222 /* ./../lib/standard//collection//array.nit:274 */
2225 /* ./../lib/standard//collection//array.nit:272 */
2230 /* ./mmloader.nit:286 */
2231 fra
.me
.REG
[3] = NIT_NULL
;
2234 stack_frame_head
= fra
.me
.prev
;
2235 return fra
.me
.REG
[3];
2237 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
){
2238 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2243 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2244 fra
.me
.file
= LOCATE_mmloader
;
2246 fra
.me
.meth
= LOCATE_mmloader___ToolContext___try_to_load
;
2247 fra
.me
.has_broke
= 0;
2248 fra
.me
.REG_size
= 2;
2249 fra
.me
.nitni_local_ref_head
= NULL
;
2250 fra
.me
.REG
[0] = NIT_NULL
;
2251 fra
.me
.REG
[1] = NIT_NULL
;
2252 fra
.me
.closure_ctx
= closctx_param
;
2253 fra
.me
.closure_funs
= CREG
;
2255 CREG
[0] = clos_fun0
;
2256 /* ./mmloader.nit:256 */
2257 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2258 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[1]));
2259 if (UNTAG_Bool(REGB0
)) {
2261 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[1]);
2264 if (UNTAG_Bool(REGB0
)) {
2265 closctx
->REG
[3] = fra
.me
.REG
[0];
2266 closctx
->has_broke
= 1;
2270 stack_frame_head
= fra
.me
.prev
;
2273 val_t
mmloader___ToolContext___get_module_from_filename(val_t p0
, val_t p1
){
2274 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2278 static val_t once_value_1
; /* Once value */
2279 static val_t once_value_3
; /* Once value */
2280 static val_t once_value_4
; /* Once value */
2281 static val_t once_value_5
; /* Once value */
2282 static val_t once_value_6
; /* Once value */
2283 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2284 fra
.me
.file
= LOCATE_mmloader
;
2286 fra
.me
.meth
= LOCATE_mmloader___ToolContext___get_module_from_filename
;
2287 fra
.me
.has_broke
= 0;
2288 fra
.me
.REG_size
= 7;
2289 fra
.me
.nitni_local_ref_head
= NULL
;
2290 fra
.me
.REG
[0] = NIT_NULL
;
2291 fra
.me
.REG
[1] = NIT_NULL
;
2292 fra
.me
.REG
[2] = NIT_NULL
;
2293 fra
.me
.REG
[3] = NIT_NULL
;
2294 fra
.me
.REG
[4] = NIT_NULL
;
2295 fra
.me
.REG
[5] = NIT_NULL
;
2296 fra
.me
.REG
[6] = NIT_NULL
;
2299 /* ./mmloader.nit:298 */
2300 fra
.me
.REG
[2] = CALL_standard___file___String___dirname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2301 /* ./mmloader.nit:299 */
2302 if (!once_value_1
) {
2303 fra
.me
.REG
[3] = BOX_NativeString(".nit");
2305 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2306 once_value_1
= fra
.me
.REG
[3];
2307 register_static_object(&once_value_1
);
2308 } else fra
.me
.REG
[3] = once_value_1
;
2309 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2310 fra
.me
.REG
[3] = CALL_standard___file___String___basename(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2311 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2312 /* ./mmloader.nit:301 */
2313 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___directory_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2314 /* ./mmloader.nit:303 */
2315 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2316 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[1]));
2317 if (UNTAG_Bool(REGB0
)) {
2319 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2322 if (UNTAG_Bool(REGB0
)) {
2323 /* ./mmloader.nit:306 */
2324 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]);
2325 /* ./mmloader.nit:307 */
2326 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2327 if (UNTAG_Bool(REGB0
)) {
2329 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2330 if (UNTAG_Bool(REGB1
)) {
2331 REGB1
= TAG_Bool(false);
2334 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2338 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2339 if (UNTAG_Bool(REGB0
)) {
2342 /* ./mmloader.nit:310 */
2343 fra
.me
.REG
[5] = CALL_mmloader___ToolContext___get_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], NIT_NULL
);
2344 fra
.me
.REG
[4] = fra
.me
.REG
[5];
2347 /* ./mmloader.nit:313 */
2348 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2349 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2350 if (UNTAG_Bool(REGB0
)) {
2351 /* ./mmloader.nit:314 */
2353 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2354 if (!once_value_3
) {
2355 fra
.me
.REG
[6] = BOX_NativeString("Error: File ");
2356 REGB0
= TAG_Int(12);
2357 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
2358 once_value_3
= fra
.me
.REG
[6];
2359 register_static_object(&once_value_3
);
2360 } else fra
.me
.REG
[6] = once_value_3
;
2361 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2363 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
2364 if (!once_value_4
) {
2365 fra
.me
.REG
[6] = BOX_NativeString(" not found.");
2366 REGB0
= TAG_Int(11);
2367 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
2368 once_value_4
= fra
.me
.REG
[6];
2369 register_static_object(&once_value_4
);
2370 } else fra
.me
.REG
[6] = once_value_4
;
2371 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2373 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2374 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
2375 /* ./mmloader.nit:315 */
2376 nit_abort("Aborted", NULL
, LOCATE_mmloader
, 315);
2378 /* ./mmloader.nit:319 */
2379 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]);
2380 /* ./mmloader.nit:320 */
2381 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2382 if (UNTAG_Bool(REGB0
)) {
2384 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2385 if (UNTAG_Bool(REGB1
)) {
2386 REGB1
= TAG_Bool(false);
2389 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2393 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2394 if (UNTAG_Bool(REGB0
)) {
2395 fra
.me
.REG
[4] = fra
.me
.REG
[2];
2398 /* ./mmloader.nit:322 */
2400 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2401 if (!once_value_5
) {
2402 fra
.me
.REG
[3] = BOX_NativeString("Error: ");
2404 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2405 once_value_5
= fra
.me
.REG
[3];
2406 register_static_object(&once_value_5
);
2407 } else fra
.me
.REG
[3] = once_value_5
;
2408 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2411 if (!once_value_6
) {
2412 fra
.me
.REG
[1] = BOX_NativeString(" is not a NIT source module.");
2413 REGB0
= TAG_Int(28);
2414 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2415 once_value_6
= fra
.me
.REG
[1];
2416 register_static_object(&once_value_6
);
2417 } else fra
.me
.REG
[1] = once_value_6
;
2418 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2420 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2421 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[2]);
2422 /* ./mmloader.nit:323 */
2423 nit_abort("Aborted", NULL
, LOCATE_mmloader
, 323);
2425 stack_frame_head
= fra
.me
.prev
;
2426 return fra
.me
.REG
[4];
2428 val_t
mmloader___ToolContext___get_module(val_t p0
, val_t p1
, val_t p2
){
2429 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2434 static val_t once_value_4
; /* Once value */
2435 static val_t once_value_5
; /* Once value */
2436 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2437 fra
.me
.file
= LOCATE_mmloader
;
2439 fra
.me
.meth
= LOCATE_mmloader___ToolContext___get_module
;
2440 fra
.me
.has_broke
= 0;
2441 fra
.me
.REG_size
= 6;
2442 fra
.me
.nitni_local_ref_head
= NULL
;
2443 fra
.me
.REG
[0] = NIT_NULL
;
2444 fra
.me
.REG
[1] = NIT_NULL
;
2445 fra
.me
.REG
[2] = NIT_NULL
;
2446 fra
.me
.REG
[3] = NIT_NULL
;
2447 fra
.me
.REG
[4] = NIT_NULL
;
2448 fra
.me
.REG
[5] = NIT_NULL
;
2452 /* ./mmloader.nit:330 */
2453 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2454 if (UNTAG_Bool(REGB0
)) {
2456 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2457 if (UNTAG_Bool(REGB1
)) {
2458 REGB1
= TAG_Bool(false);
2461 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2465 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2466 if (UNTAG_Bool(REGB0
)) {
2467 /* ./mmloader.nit:331 */
2468 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2469 if (UNTAG_Bool(REGB0
)) {
2470 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 331);
2472 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___directory(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2473 /* ./mmloader.nit:332 */
2475 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2476 if (UNTAG_Bool(REGB0
)) {
2478 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2479 if (UNTAG_Bool(REGB1
)) {
2480 REGB1
= TAG_Bool(false);
2483 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2487 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2488 if (UNTAG_Bool(REGB0
)) {
2489 /* ./mmloader.nit:333 */
2490 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]);
2491 /* ./mmloader.nit:334 */
2492 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2493 if (UNTAG_Bool(REGB0
)) {
2495 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2496 if (UNTAG_Bool(REGB1
)) {
2497 REGB1
= TAG_Bool(false);
2500 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
2504 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2505 if (UNTAG_Bool(REGB0
)) {
2508 /* ./mmloader.nit:335 */
2509 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2510 if (UNTAG_Bool(REGB0
)) {
2511 nit_abort("Reciever is null", NULL
, LOCATE_mmloader
, 335);
2513 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMDirectory___parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2514 fra
.me
.REG
[2] = fra
.me
.REG
[4];
2516 /* ./mmloader.nit:332 */
2522 /* ./mmloader.nit:339 */
2523 fra
.me
.REG
[2] = CALL_mmloader___ToolContext___paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2524 /* ./../lib/standard//collection//array.nit:269 */
2526 /* ./../lib/standard//collection//array.nit:270 */
2527 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2528 if (UNTAG_Bool(REGB1
)) {
2530 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2532 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2533 /* ./../lib/standard//collection//array.nit:271 */
2534 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2535 /* ./../lib/standard//collection//array.nit:272 */
2537 /* ./../lib/standard//collection//array.nit:24 */
2538 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2539 if (UNTAG_Bool(REGB1
)) {
2541 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2543 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2544 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2545 if (UNTAG_Bool(REGB2
)) {
2547 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2549 /* ./../lib/standard//kernel.nit:232 */
2550 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2551 /* ./../lib/standard//collection//array.nit:272 */
2552 if (UNTAG_Bool(REGB1
)) {
2553 /* ./../lib/standard//collection//array.nit:273 */
2554 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2555 if (UNTAG_Bool(REGB1
)) {
2556 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2558 /* ./../lib/standard//collection//array.nit:718 */
2559 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
2560 /* ./mmloader.nit:340 */
2561 fra
.me
.REG
[5] = CALL_mmloader___ToolContext___directory_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
2562 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]);
2563 /* ./mmloader.nit:341 */
2564 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2565 if (UNTAG_Bool(REGB1
)) {
2567 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2568 if (UNTAG_Bool(REGB2
)) {
2569 REGB2
= TAG_Bool(false);
2572 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
2576 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2577 if (UNTAG_Bool(REGB1
)) {
2578 fra
.me
.REG
[3] = fra
.me
.REG
[5];
2581 /* ./../lib/standard//collection//array.nit:274 */
2583 /* ./../lib/standard//kernel.nit:235 */
2584 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2585 /* ./../lib/standard//collection//array.nit:274 */
2588 /* ./../lib/standard//collection//array.nit:272 */
2593 /* ./mmloader.nit:344 */
2595 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2596 if (!once_value_4
) {
2597 fra
.me
.REG
[2] = BOX_NativeString("Error: No ressource found for module ");
2598 REGB0
= TAG_Int(37);
2599 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2600 once_value_4
= fra
.me
.REG
[2];
2601 register_static_object(&once_value_4
);
2602 } else fra
.me
.REG
[2] = once_value_4
;
2603 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
2605 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2607 if (!once_value_5
) {
2608 fra
.me
.REG
[1] = BOX_NativeString(".");
2610 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2611 once_value_5
= fra
.me
.REG
[1];
2612 register_static_object(&once_value_5
);
2613 } else fra
.me
.REG
[1] = once_value_5
;
2614 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2616 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2617 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
2618 /* ./mmloader.nit:345 */
2619 nit_abort("Aborted", NULL
, LOCATE_mmloader
, 345);
2621 stack_frame_head
= fra
.me
.prev
;
2622 return fra
.me
.REG
[3];
2624 val_t
mmloader___ToolContext___directory_for(val_t p0
, val_t p1
){
2625 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2628 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2629 fra
.me
.file
= LOCATE_mmloader
;
2631 fra
.me
.meth
= LOCATE_mmloader___ToolContext___directory_for
;
2632 fra
.me
.has_broke
= 0;
2633 fra
.me
.REG_size
= 4;
2634 fra
.me
.nitni_local_ref_head
= NULL
;
2635 fra
.me
.REG
[0] = NIT_NULL
;
2636 fra
.me
.REG
[1] = NIT_NULL
;
2637 fra
.me
.REG
[2] = NIT_NULL
;
2638 fra
.me
.REG
[3] = NIT_NULL
;
2641 /* ./mmloader.nit:351 */
2642 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
2643 if (UNTAG_Bool(REGB0
)) {
2645 nit_abort("Uninitialized attribute %s", "_path_dirs", LOCATE_mmloader
, 351);
2647 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
2648 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2649 if (UNTAG_Bool(REGB0
)) {
2650 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
2651 if (UNTAG_Bool(REGB0
)) {
2653 nit_abort("Uninitialized attribute %s", "_path_dirs", LOCATE_mmloader
, 351);
2655 fra
.me
.REG
[2] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
2656 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2659 /* ./mmloader.nit:352 */
2660 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2661 fra
.me
.REG
[3] = NEW_MMDirectory_metamodel___abstractmetamodel___MMDirectory___init(fra
.me
.REG
[3], fra
.me
.REG
[1], NIT_NULL
);
2662 /* ./mmloader.nit:353 */
2663 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0])!=NIT_NULL
);
2664 if (UNTAG_Bool(REGB0
)) {
2666 nit_abort("Uninitialized attribute %s", "_path_dirs", LOCATE_mmloader
, 353);
2668 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____path_dirs(fra
.me
.REG
[0]);
2669 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
2670 /* ./mmloader.nit:354 */
2671 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2674 stack_frame_head
= fra
.me
.prev
;
2675 return fra
.me
.REG
[2];
2677 void mmloader___ToolContext___register_loader(val_t p0
, val_t p1
){
2678 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2681 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2682 fra
.me
.file
= LOCATE_mmloader
;
2684 fra
.me
.meth
= LOCATE_mmloader___ToolContext___register_loader
;
2685 fra
.me
.has_broke
= 0;
2686 fra
.me
.REG_size
= 2;
2687 fra
.me
.nitni_local_ref_head
= NULL
;
2688 fra
.me
.REG
[0] = NIT_NULL
;
2689 fra
.me
.REG
[1] = NIT_NULL
;
2692 /* ./mmloader.nit:361 */
2693 REGB0
= TAG_Bool(ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0])!=NIT_NULL
);
2694 if (UNTAG_Bool(REGB0
)) {
2696 nit_abort("Uninitialized attribute %s", "_loaders", LOCATE_mmloader
, 361);
2698 fra
.me
.REG
[0] = ATTR_mmloader___ToolContext____loaders(fra
.me
.REG
[0]);
2699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2700 stack_frame_head
= fra
.me
.prev
;
2703 val_t
mmloader___ModuleLoader___file_type(val_t p0
){
2704 struct {struct stack_frame_t me
;} fra
;
2706 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2707 fra
.me
.file
= LOCATE_mmloader
;
2709 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___file_type
;
2710 fra
.me
.has_broke
= 0;
2711 fra
.me
.REG_size
= 0;
2712 fra
.me
.nitni_local_ref_head
= NULL
;
2713 /* ./mmloader.nit:369 */
2714 nit_abort("Deferred method called", NULL
, LOCATE_mmloader
, 369);
2715 stack_frame_head
= fra
.me
.prev
;
2718 val_t
mmloader___ModuleLoader___try_to_load_dir(val_t p0
, val_t p1
, val_t p2
){
2719 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2722 static val_t once_value_1
; /* Once value */
2723 static val_t once_value_2
; /* Once value */
2724 static val_t once_value_3
; /* Once value */
2725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2726 fra
.me
.file
= LOCATE_mmloader
;
2728 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___try_to_load_dir
;
2729 fra
.me
.has_broke
= 0;
2730 fra
.me
.REG_size
= 4;
2731 fra
.me
.nitni_local_ref_head
= NULL
;
2732 fra
.me
.REG
[0] = NIT_NULL
;
2733 fra
.me
.REG
[1] = NIT_NULL
;
2734 fra
.me
.REG
[2] = NIT_NULL
;
2735 fra
.me
.REG
[3] = NIT_NULL
;
2739 /* ./mmloader.nit:375 */
2741 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2742 if (!once_value_1
) {
2743 fra
.me
.REG
[3] = BOX_NativeString("");
2745 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2746 once_value_1
= fra
.me
.REG
[3];
2747 register_static_object(&once_value_1
);
2748 } else fra
.me
.REG
[3] = once_value_1
;
2749 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2751 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMDirectory___path(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2753 if (!once_value_2
) {
2754 fra
.me
.REG
[3] = BOX_NativeString("/");
2756 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2757 once_value_2
= fra
.me
.REG
[3];
2758 register_static_object(&once_value_2
);
2759 } else fra
.me
.REG
[3] = once_value_2
;
2760 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2762 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2764 if (!once_value_3
) {
2765 fra
.me
.REG
[3] = BOX_NativeString("/");
2767 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2768 once_value_3
= fra
.me
.REG
[3];
2769 register_static_object(&once_value_3
);
2770 } else fra
.me
.REG
[3] = once_value_3
;
2771 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2773 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2774 /* ./mmloader.nit:376 */
2775 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2776 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2777 if (UNTAG_Bool(REGB0
)) {
2778 fra
.me
.REG
[3] = NIT_NULL
;
2781 /* ./mmloader.nit:378 */
2782 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMDirectory___full_name_for(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2783 fra
.me
.REG
[2] = NEW_MMDirectory_metamodel___abstractmetamodel___MMDirectory___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2784 /* ./mmloader.nit:379 */
2785 fra
.me
.REG
[3] = fra
.me
.REG
[2];
2788 stack_frame_head
= fra
.me
.prev
;
2789 return fra
.me
.REG
[3];
2791 val_t
mmloader___ModuleLoader___can_handle(val_t p0
, val_t p1
, val_t p2
){
2792 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2796 static val_t once_value_1
; /* Once value */
2797 static val_t once_value_2
; /* Once value */
2798 static val_t once_value_3
; /* Once value */
2799 static val_t once_value_4
; /* Once value */
2800 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2801 fra
.me
.file
= LOCATE_mmloader
;
2803 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___can_handle
;
2804 fra
.me
.has_broke
= 0;
2805 fra
.me
.REG_size
= 5;
2806 fra
.me
.nitni_local_ref_head
= NULL
;
2807 fra
.me
.REG
[0] = NIT_NULL
;
2808 fra
.me
.REG
[1] = NIT_NULL
;
2809 fra
.me
.REG
[2] = NIT_NULL
;
2810 fra
.me
.REG
[3] = NIT_NULL
;
2811 fra
.me
.REG
[4] = NIT_NULL
;
2815 /* ./mmloader.nit:386 */
2817 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2818 if (!once_value_1
) {
2819 fra
.me
.REG
[4] = BOX_NativeString("");
2821 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2822 once_value_1
= fra
.me
.REG
[4];
2823 register_static_object(&once_value_1
);
2824 } else fra
.me
.REG
[4] = once_value_1
;
2825 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2827 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMDirectory___path(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2829 if (!once_value_2
) {
2830 fra
.me
.REG
[2] = BOX_NativeString("/");
2832 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2833 once_value_2
= fra
.me
.REG
[2];
2834 register_static_object(&once_value_2
);
2835 } else fra
.me
.REG
[2] = once_value_2
;
2836 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2838 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2840 if (!once_value_3
) {
2841 fra
.me
.REG
[1] = BOX_NativeString(".");
2843 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2844 once_value_3
= fra
.me
.REG
[1];
2845 register_static_object(&once_value_3
);
2846 } else fra
.me
.REG
[1] = once_value_3
;
2847 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2849 fra
.me
.REG
[0] = CALL_mmloader___ModuleLoader___file_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2851 if (!once_value_4
) {
2852 fra
.me
.REG
[0] = BOX_NativeString("");
2854 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2855 once_value_4
= fra
.me
.REG
[0];
2856 register_static_object(&once_value_4
);
2857 } else fra
.me
.REG
[0] = once_value_4
;
2858 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2860 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2861 /* ./mmloader.nit:387 */
2862 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2863 if (UNTAG_Bool(REGB0
)) {
2864 REGB0
= TAG_Bool(true);
2867 /* ./mmloader.nit:388 */
2868 REGB1
= TAG_Bool(false);
2872 stack_frame_head
= fra
.me
.prev
;
2875 val_t
mmloader___ModuleLoader___load_and_process_module(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2876 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2879 static val_t once_value_1
; /* Once value */
2880 static val_t once_value_2
; /* Once value */
2881 static val_t once_value_3
; /* Once value */
2882 static val_t once_value_4
; /* Once value */
2883 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2884 fra
.me
.file
= LOCATE_mmloader
;
2886 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___load_and_process_module
;
2887 fra
.me
.has_broke
= 0;
2888 fra
.me
.REG_size
= 6;
2889 fra
.me
.nitni_local_ref_head
= NULL
;
2890 fra
.me
.REG
[0] = NIT_NULL
;
2891 fra
.me
.REG
[1] = NIT_NULL
;
2892 fra
.me
.REG
[2] = NIT_NULL
;
2893 fra
.me
.REG
[3] = NIT_NULL
;
2894 fra
.me
.REG
[4] = NIT_NULL
;
2895 fra
.me
.REG
[5] = NIT_NULL
;
2900 /* ./mmloader.nit:395 */
2902 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2903 if (!once_value_1
) {
2904 fra
.me
.REG
[5] = BOX_NativeString("");
2906 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2907 once_value_1
= fra
.me
.REG
[5];
2908 register_static_object(&once_value_1
);
2909 } else fra
.me
.REG
[5] = once_value_1
;
2910 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2912 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMDirectory___path(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2914 if (!once_value_2
) {
2915 fra
.me
.REG
[5] = BOX_NativeString("/");
2917 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2918 once_value_2
= fra
.me
.REG
[5];
2919 register_static_object(&once_value_2
);
2920 } else fra
.me
.REG
[5] = once_value_2
;
2921 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2923 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2925 if (!once_value_3
) {
2926 fra
.me
.REG
[5] = BOX_NativeString(".");
2928 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2929 once_value_3
= fra
.me
.REG
[5];
2930 register_static_object(&once_value_3
);
2931 } else fra
.me
.REG
[5] = once_value_3
;
2932 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2934 fra
.me
.REG
[5] = CALL_mmloader___ModuleLoader___file_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2935 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2936 if (!once_value_4
) {
2937 fra
.me
.REG
[5] = BOX_NativeString("");
2939 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2940 once_value_4
= fra
.me
.REG
[5];
2941 register_static_object(&once_value_4
);
2942 } else fra
.me
.REG
[5] = once_value_4
;
2943 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2945 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2946 /* ./mmloader.nit:396 */
2947 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]);
2948 /* ./mmloader.nit:397 */
2949 fra
.me
.REG
[3] = CALL_mmloader___ToolContext___opt_only_parse(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2950 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2951 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[3]));
2952 if (UNTAG_Bool(REGB0
)) {
2953 CALL_mmloader___ModuleLoader___process_metamodel(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
2955 /* ./mmloader.nit:398 */
2958 stack_frame_head
= fra
.me
.prev
;
2959 return fra
.me
.REG
[4];
2961 val_t
mmloader___ModuleLoader___load_module(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
2962 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2966 static val_t once_value_1
; /* Once value */
2967 static val_t once_value_2
; /* Once value */
2968 static val_t once_value_3
; /* Once value */
2969 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2970 fra
.me
.file
= LOCATE_mmloader
;
2972 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___load_module
;
2973 fra
.me
.has_broke
= 0;
2974 fra
.me
.REG_size
= 8;
2975 fra
.me
.nitni_local_ref_head
= NULL
;
2976 fra
.me
.REG
[0] = NIT_NULL
;
2977 fra
.me
.REG
[1] = NIT_NULL
;
2978 fra
.me
.REG
[2] = NIT_NULL
;
2979 fra
.me
.REG
[3] = NIT_NULL
;
2980 fra
.me
.REG
[4] = NIT_NULL
;
2981 fra
.me
.REG
[5] = NIT_NULL
;
2982 fra
.me
.REG
[6] = NIT_NULL
;
2983 fra
.me
.REG
[7] = NIT_NULL
;
2989 /* ./mmloader.nit:405 */
2990 if (!once_value_1
) {
2991 fra
.me
.REG
[5] = BOX_NativeString("-");
2993 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2994 once_value_1
= fra
.me
.REG
[5];
2995 register_static_object(&once_value_1
);
2996 } else fra
.me
.REG
[5] = once_value_1
;
2997 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2998 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[5]));
2999 if (UNTAG_Bool(REGB0
)) {
3001 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3004 if (UNTAG_Bool(REGB0
)) {
3005 /* ./mmloader.nit:406 */
3006 fra
.me
.REG
[5] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3008 /* ./mmloader.nit:408 */
3009 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3010 fra
.me
.REG
[6] = NEW_IFStream_standard___file___IFStream___open(fra
.me
.REG
[6]);
3011 fra
.me
.REG
[5] = fra
.me
.REG
[6];
3013 /* ./mmloader.nit:411 */
3014 REGB0
= CALL_standard___stream___IStream___eof(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3015 if (UNTAG_Bool(REGB0
)) {
3016 /* ./mmloader.nit:412 */
3018 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3019 if (!once_value_2
) {
3020 fra
.me
.REG
[7] = BOX_NativeString("Error: Problem in opening file ");
3021 REGB0
= TAG_Int(31);
3022 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3023 once_value_2
= fra
.me
.REG
[7];
3024 register_static_object(&once_value_2
);
3025 } else fra
.me
.REG
[7] = once_value_2
;
3026 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3027 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
3029 if (!once_value_3
) {
3030 fra
.me
.REG
[7] = BOX_NativeString("");
3032 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3033 once_value_3
= fra
.me
.REG
[7];
3034 register_static_object(&once_value_3
);
3035 } else fra
.me
.REG
[7] = once_value_3
;
3036 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3038 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3039 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[6]);
3041 /* ./mmloader.nit:414 */
3042 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]);
3043 /* ./mmloader.nit:415 */
3044 fra
.me
.REG
[0] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3045 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[0]));
3046 if (UNTAG_Bool(REGB0
)) {
3048 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
3051 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3052 if (UNTAG_Bool(REGB0
)) {
3053 CALL_standard___stream___IOS___close(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3055 /* ./mmloader.nit:416 */
3058 stack_frame_head
= fra
.me
.prev
;
3059 return fra
.me
.REG
[3];
3061 val_t
mmloader___ModuleLoader___parse_file(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, val_t p5
){
3062 struct {struct stack_frame_t me
;} fra
;
3064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3065 fra
.me
.file
= LOCATE_mmloader
;
3067 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___parse_file
;
3068 fra
.me
.has_broke
= 0;
3069 fra
.me
.REG_size
= 0;
3070 fra
.me
.nitni_local_ref_head
= NULL
;
3071 /* ./mmloader.nit:419 */
3072 nit_abort("Deferred method called", NULL
, LOCATE_mmloader
, 419);
3073 stack_frame_head
= fra
.me
.prev
;
3076 void mmloader___ModuleLoader___process_metamodel(val_t p0
, val_t p1
, val_t p2
){
3077 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3080 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3081 fra
.me
.file
= LOCATE_mmloader
;
3083 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___process_metamodel
;
3084 fra
.me
.has_broke
= 0;
3085 fra
.me
.REG_size
= 2;
3086 fra
.me
.nitni_local_ref_head
= NULL
;
3087 fra
.me
.REG
[0] = NIT_NULL
;
3088 fra
.me
.REG
[1] = NIT_NULL
;
3091 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], VTCOLOR_mmloader___ModuleLoader___MODULE(fra
.me
.REG
[0]), VTID_mmloader___ModuleLoader___MODULE(fra
.me
.REG
[0]))) /*cast MODULE*/;
3092 if (UNTAG_Bool(REGB0
)) {
3094 nit_abort("Cast failed", NULL
, LOCATE_mmloader
, 0);
3096 /* ./mmloader.nit:422 */
3097 nit_abort("Deferred method called", NULL
, LOCATE_mmloader
, 422);
3098 stack_frame_head
= fra
.me
.prev
;
3101 void mmloader___ModuleLoader___init(val_t p0
, int* init_table
){
3102 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_mmloader___ModuleLoader
].i
;
3103 struct {struct stack_frame_t me
;} fra
;
3105 if (init_table
[itpos2
]) return;
3106 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3107 fra
.me
.file
= LOCATE_mmloader
;
3109 fra
.me
.meth
= LOCATE_mmloader___ModuleLoader___init
;
3110 fra
.me
.has_broke
= 0;
3111 fra
.me
.REG_size
= 0;
3112 fra
.me
.nitni_local_ref_head
= NULL
;
3113 stack_frame_head
= fra
.me
.prev
;
3114 init_table
[itpos2
] = 1;