1 /* This C file is generated by NIT to compile module native_interface. */
2 #include "native_interface._sep.h"
3 void native_interface___MMSrcModule___compile_separate_module(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
7 static val_t once_value_1
; /* Once value */
8 static val_t once_value_2
; /* Once value */
9 static val_t once_value_3
; /* Once value */
10 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11 fra
.me
.file
= LOCATE_native_interface
;
13 fra
.me
.meth
= LOCATE_native_interface___MMSrcModule___compile_separate_module
;
16 fra
.me
.nitni_local_ref_head
= NULL
;
17 fra
.me
.REG
[0] = NIT_NULL
;
18 fra
.me
.REG
[1] = NIT_NULL
;
19 fra
.me
.REG
[2] = NIT_NULL
;
20 fra
.me
.REG
[3] = NIT_NULL
;
21 fra
.me
.REG
[4] = NIT_NULL
;
22 fra
.me
.REG
[5] = NIT_NULL
;
23 fra
.me
.REG
[6] = NIT_NULL
;
26 /* native_interface/native_interface.nit:24 */
27 fra
.me
.REG
[2] = fra
.me
.REG
[0];
28 fra
.me
.REG
[3] = fra
.me
.REG
[1];
29 /* native_interface/native_interface.nit:26 */
30 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
31 if (UNTAG_Bool(REGB0
)) {
32 /* native_interface/native_interface.nit:27 */
33 fra
.me
.REG
[4] = NEW_FrontierVisitor_native_interface___frontier___FrontierVisitor___init(fra
.me
.REG
[2], fra
.me
.REG
[3]);
34 /* native_interface/native_interface.nit:28 */
35 CALL_native_interface___frontier___MMSrcModule___compile_frontier(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
36 /* native_interface/native_interface.nit:30 */
37 CALL_native_interface___frontier___FrontierVisitor___compile_cached(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
38 /* native_interface/native_interface.nit:32 */
40 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
42 fra
.me
.REG
[6] = BOX_NativeString("");
44 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
45 once_value_1
= fra
.me
.REG
[6];
46 register_static_object(&once_value_1
);
47 } else fra
.me
.REG
[6] = once_value_1
;
48 fra
.me
.REG
[6] = fra
.me
.REG
[6];
49 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
50 fra
.me
.REG
[3] = CALL_compiling___compiling_base___CProgram___compdir(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
51 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
53 fra
.me
.REG
[3] = BOX_NativeString("/");
55 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
56 once_value_2
= fra
.me
.REG
[3];
57 register_static_object(&once_value_2
);
58 } else fra
.me
.REG
[3] = once_value_2
;
59 fra
.me
.REG
[3] = fra
.me
.REG
[3];
60 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
61 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
62 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
63 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
65 fra
.me
.REG
[2] = BOX_NativeString("");
67 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
68 once_value_3
= fra
.me
.REG
[2];
69 register_static_object(&once_value_3
);
70 } else fra
.me
.REG
[2] = once_value_3
;
71 fra
.me
.REG
[2] = fra
.me
.REG
[2];
72 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
73 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
74 /* native_interface/native_interface.nit:33 */
75 CALL_native_interface___frontier___FrontierVisitor___write_to_files(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
77 /* native_interface/native_interface.nit:36 */
78 CALL_SUPER_native_interface___MMSrcModule___compile_separate_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
79 stack_frame_head
= fra
.me
.prev
;