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