c_src: update
[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.REG[0] = NIT_NULL;
17 fra.me.REG[1] = NIT_NULL;
18 fra.me.REG[2] = NIT_NULL;
19 fra.me.REG[3] = NIT_NULL;
20 fra.me.REG[4] = NIT_NULL;
21 fra.me.REG[5] = NIT_NULL;
22 fra.me.REG[6] = NIT_NULL;
23 fra.me.REG[0] = p0;
24 fra.me.REG[1] = p1;
25 /* ./native_interface//native_interface.nit:24 */
26 fra.me.REG[2] = fra.me.REG[0];
27 fra.me.REG[3] = fra.me.REG[1];
28 /* ./native_interface//native_interface.nit:26 */
29 REGB0 = CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid(fra.me.REG[2])(fra.me.REG[2]);
30 if (UNTAG_Bool(REGB0)) {
31 /* ./native_interface//native_interface.nit:27 */
32 fra.me.REG[4] = NEW_FrontierVisitor_native_interface___frontier___FrontierVisitor___init(fra.me.REG[2], fra.me.REG[3]);
33 /* ./native_interface//native_interface.nit:28 */
34 CALL_native_interface___frontier___MMSrcModule___compile_frontier(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
35 /* ./native_interface//native_interface.nit:30 */
36 CALL_native_interface___frontier___FrontierVisitor___compile_cached(fra.me.REG[4])(fra.me.REG[4]);
37 /* ./native_interface//native_interface.nit:32 */
38 REGB0 = TAG_Int(5);
39 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
40 if (!once_value_1) {
41 fra.me.REG[6] = BOX_NativeString("");
42 REGB0 = TAG_Int(0);
43 fra.me.REG[6] = NEW_String_standard___string___String___with_native(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]);
51 if (!once_value_2) {
52 fra.me.REG[3] = BOX_NativeString("/");
53 REGB0 = TAG_Int(1);
54 fra.me.REG[3] = NEW_String_standard___string___String___with_native(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]);
63 if (!once_value_3) {
64 fra.me.REG[2] = BOX_NativeString("");
65 REGB0 = TAG_Int(0);
66 fra.me.REG[2] = NEW_String_standard___string___String___with_native(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:33 */
74 CALL_native_interface___frontier___FrontierVisitor___write_to_files(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
75 }
76 /* ./native_interface//native_interface.nit:36 */
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;
79 return;
80 }