7ec085e5b07b78393a15fc1ed956098a0a580a2e
[nit.git] / c_src / native_interface._sep.c
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;
5 val_t REGB0;
6 val_t tmp;
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;
12 fra.me.line = 24;
13 fra.me.meth = LOCATE_native_interface___MMSrcModule___compile_separate_module;
14 fra.me.has_broke = 0;
15 fra.me.REG_size = 7;
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;
24 fra.me.REG[0] = p0;
25 fra.me.REG[1] = p1;
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 */
39 REGB0 = TAG_Int(5);
40 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
41 if (!once_value_1) {
42 fra.me.REG[6] = BOX_NativeString("");
43 REGB0 = TAG_Int(0);
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]);
52 if (!once_value_2) {
53 fra.me.REG[3] = BOX_NativeString("/");
54 REGB0 = TAG_Int(1);
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]);
64 if (!once_value_3) {
65 fra.me.REG[2] = BOX_NativeString("");
66 REGB0 = TAG_Int(0);
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]);
76 }
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;
80 return;
81 }