1 /* This C file is generated by NIT to compile module native_interface___frontier. */
2 #include "native_interface___frontier._sep.h"
3 void native_interface___frontier___MMSrcModule___compile_frontier(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} 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 static val_t once_value_4
; /* Once value */
11 static val_t once_value_5
; /* Once value */
12 static val_t once_value_6
; /* Once value */
13 static val_t once_value_7
; /* Once value */
14 static val_t once_value_8
; /* Once value */
15 static val_t once_value_9
; /* Once value */
16 static val_t once_value_10
; /* Once value */
17 static val_t once_value_11
; /* Once value */
18 static val_t once_value_12
; /* Once value */
19 static val_t once_value_13
; /* Once value */
20 static val_t once_value_14
; /* Once value */
21 static val_t once_value_15
; /* Once value */
22 static val_t once_value_16
; /* Once value */
23 static val_t once_value_17
; /* Once value */
24 static val_t once_value_18
; /* Once value */
25 static val_t once_value_19
; /* Once value */
26 static val_t once_value_20
; /* Once value */
27 static val_t once_value_21
; /* Once value */
28 static val_t once_value_24
; /* Once value */
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_native_interface___frontier
;
32 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcModule___compile_frontier
;
35 fra
.me
.REG
[0] = NIT_NULL
;
36 fra
.me
.REG
[1] = NIT_NULL
;
37 fra
.me
.REG
[2] = NIT_NULL
;
38 fra
.me
.REG
[3] = NIT_NULL
;
39 fra
.me
.REG
[4] = NIT_NULL
;
40 fra
.me
.REG
[5] = NIT_NULL
;
43 /* ./native_interface//frontier.nit:30 */
44 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
46 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
48 fra
.me
.REG
[4] = BOX_NativeString("#include \"");
50 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
51 once_value_1
= fra
.me
.REG
[4];
52 register_static_object(&once_value_1
);
53 } else fra
.me
.REG
[4] = once_value_1
;
54 fra
.me
.REG
[4] = fra
.me
.REG
[4];
55 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
56 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
57 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
58 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
60 fra
.me
.REG
[4] = BOX_NativeString("._nitni.h\"\n");
62 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
63 once_value_2
= fra
.me
.REG
[4];
64 register_static_object(&once_value_2
);
65 } else fra
.me
.REG
[4] = once_value_2
;
66 fra
.me
.REG
[4] = fra
.me
.REG
[4];
67 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
68 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
69 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
70 /* ./native_interface//frontier.nit:33 */
71 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
73 fra
.me
.REG
[2] = BOX_NativeString("#include <nit_common.h>\n");
75 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
76 once_value_3
= fra
.me
.REG
[2];
77 register_static_object(&once_value_3
);
78 } else fra
.me
.REG
[2] = once_value_3
;
79 fra
.me
.REG
[2] = fra
.me
.REG
[2];
80 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
81 /* ./native_interface//frontier.nit:34 */
82 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
84 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
86 fra
.me
.REG
[4] = BOX_NativeString("#include \"");
88 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
89 once_value_4
= fra
.me
.REG
[4];
90 register_static_object(&once_value_4
);
91 } else fra
.me
.REG
[4] = once_value_4
;
92 fra
.me
.REG
[4] = fra
.me
.REG
[4];
93 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
94 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___cprogram(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
95 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___module_header_name(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
96 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
98 fra
.me
.REG
[4] = BOX_NativeString("\"\n");
100 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
101 once_value_5
= fra
.me
.REG
[4];
102 register_static_object(&once_value_5
);
103 } else fra
.me
.REG
[4] = once_value_5
;
104 fra
.me
.REG
[4] = fra
.me
.REG
[4];
105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
106 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
107 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
108 /* ./native_interface//frontier.nit:36 */
110 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
112 fra
.me
.REG
[2] = BOX_NativeString("");
114 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
115 once_value_6
= fra
.me
.REG
[2];
116 register_static_object(&once_value_6
);
117 } else fra
.me
.REG
[2] = once_value_6
;
118 fra
.me
.REG
[2] = fra
.me
.REG
[2];
119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
120 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
121 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
122 fra
.me
.REG
[2] = CALL_standard___string___AbstractString___to_upper(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
125 fra
.me
.REG
[2] = BOX_NativeString("_NITNI_H");
127 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
128 once_value_7
= fra
.me
.REG
[2];
129 register_static_object(&once_value_7
);
130 } else fra
.me
.REG
[2] = once_value_7
;
131 fra
.me
.REG
[2] = fra
.me
.REG
[2];
132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
133 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
134 /* ./native_interface//frontier.nit:37 */
135 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
137 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
139 fra
.me
.REG
[5] = BOX_NativeString("#ifndef ");
141 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
142 once_value_8
= fra
.me
.REG
[5];
143 register_static_object(&once_value_8
);
144 } else fra
.me
.REG
[5] = once_value_8
;
145 fra
.me
.REG
[5] = fra
.me
.REG
[5];
146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
149 fra
.me
.REG
[5] = BOX_NativeString("\n");
151 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
152 once_value_9
= fra
.me
.REG
[5];
153 register_static_object(&once_value_9
);
154 } else fra
.me
.REG
[5] = once_value_9
;
155 fra
.me
.REG
[5] = fra
.me
.REG
[5];
156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
157 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
158 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
159 /* ./native_interface//frontier.nit:38 */
160 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
162 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
163 if (!once_value_10
) {
164 fra
.me
.REG
[5] = BOX_NativeString("#define ");
166 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
167 once_value_10
= fra
.me
.REG
[5];
168 register_static_object(&once_value_10
);
169 } else fra
.me
.REG
[5] = once_value_10
;
170 fra
.me
.REG
[5] = fra
.me
.REG
[5];
171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
173 if (!once_value_11
) {
174 fra
.me
.REG
[3] = BOX_NativeString("\n\n");
176 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
177 once_value_11
= fra
.me
.REG
[3];
178 register_static_object(&once_value_11
);
179 } else fra
.me
.REG
[3] = once_value_11
;
180 fra
.me
.REG
[3] = fra
.me
.REG
[3];
181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
182 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
183 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
184 /* ./native_interface//frontier.nit:41 */
186 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
187 if (!once_value_12
) {
188 fra
.me
.REG
[4] = BOX_NativeString("");
190 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
191 once_value_12
= fra
.me
.REG
[4];
192 register_static_object(&once_value_12
);
193 } else fra
.me
.REG
[4] = once_value_12
;
194 fra
.me
.REG
[4] = fra
.me
.REG
[4];
195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
196 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
197 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMDirectory___path(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
199 if (!once_value_13
) {
200 fra
.me
.REG
[4] = BOX_NativeString("/");
202 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
203 once_value_13
= fra
.me
.REG
[4];
204 register_static_object(&once_value_13
);
205 } else fra
.me
.REG
[4] = once_value_13
;
206 fra
.me
.REG
[4] = fra
.me
.REG
[4];
207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
208 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
209 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
211 if (!once_value_14
) {
212 fra
.me
.REG
[4] = BOX_NativeString(".nit.h");
214 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
215 once_value_14
= fra
.me
.REG
[4];
216 register_static_object(&once_value_14
);
217 } else fra
.me
.REG
[4] = once_value_14
;
218 fra
.me
.REG
[4] = fra
.me
.REG
[4];
219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
220 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
221 /* ./native_interface//frontier.nit:42 */
222 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
223 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
224 if (UNTAG_Bool(REGB0
)) {
225 /* ./native_interface//frontier.nit:43 */
227 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
228 if (!once_value_15
) {
229 fra
.me
.REG
[3] = BOX_NativeString("");
231 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
232 once_value_15
= fra
.me
.REG
[3];
233 register_static_object(&once_value_15
);
234 } else fra
.me
.REG
[3] = once_value_15
;
235 fra
.me
.REG
[3] = fra
.me
.REG
[3];
236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
237 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
238 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMDirectory___path(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
240 if (!once_value_16
) {
241 fra
.me
.REG
[3] = BOX_NativeString("/");
243 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
244 once_value_16
= fra
.me
.REG
[3];
245 register_static_object(&once_value_16
);
246 } else fra
.me
.REG
[3] = once_value_16
;
247 fra
.me
.REG
[3] = fra
.me
.REG
[3];
248 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
249 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
250 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
252 if (!once_value_17
) {
253 fra
.me
.REG
[3] = BOX_NativeString("_nit.h");
255 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
256 once_value_17
= fra
.me
.REG
[3];
257 register_static_object(&once_value_17
);
258 } else fra
.me
.REG
[3] = once_value_17
;
259 fra
.me
.REG
[3] = fra
.me
.REG
[3];
260 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
261 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
262 fra
.me
.REG
[2] = fra
.me
.REG
[4];
264 /* ./native_interface//frontier.nit:45 */
265 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
266 if (UNTAG_Bool(REGB0
)) {
267 /* ./native_interface//frontier.nit:46 */
268 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
270 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
271 if (!once_value_18
) {
272 fra
.me
.REG
[5] = BOX_NativeString("#include \"");
274 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
275 once_value_18
= fra
.me
.REG
[5];
276 register_static_object(&once_value_18
);
277 } else fra
.me
.REG
[5] = once_value_18
;
278 fra
.me
.REG
[5] = fra
.me
.REG
[5];
279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
280 fra
.me
.REG
[5] = CALL_native_interface___frontier___String___path_from_parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
282 if (!once_value_19
) {
283 fra
.me
.REG
[5] = BOX_NativeString("\"\n");
285 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
286 once_value_19
= fra
.me
.REG
[5];
287 register_static_object(&once_value_19
);
288 } else fra
.me
.REG
[5] = once_value_19
;
289 fra
.me
.REG
[5] = fra
.me
.REG
[5];
290 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
291 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
292 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
293 /* ./native_interface//frontier.nit:47 */
294 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
296 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
297 if (!once_value_20
) {
298 fra
.me
.REG
[5] = BOX_NativeString("#include \"");
300 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
301 once_value_20
= fra
.me
.REG
[5];
302 register_static_object(&once_value_20
);
303 } else fra
.me
.REG
[5] = once_value_20
;
304 fra
.me
.REG
[5] = fra
.me
.REG
[5];
305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
306 fra
.me
.REG
[2] = CALL_native_interface___frontier___String___path_from_parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
308 if (!once_value_21
) {
309 fra
.me
.REG
[2] = BOX_NativeString("\"\n");
311 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
312 once_value_21
= fra
.me
.REG
[2];
313 register_static_object(&once_value_21
);
314 } else fra
.me
.REG
[2] = once_value_21
;
315 fra
.me
.REG
[2] = fra
.me
.REG
[2];
316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
317 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
318 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
320 /* ./native_interface//frontier.nit:50 */
321 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
322 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___MMSrcModule___compile_frontier_22
));
323 /* ./native_interface//frontier.nit:69 */
324 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
325 if (!once_value_24
) {
326 fra
.me
.REG
[0] = BOX_NativeString("#endif\n");
328 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
329 once_value_24
= fra
.me
.REG
[0];
330 register_static_object(&once_value_24
);
331 } else fra
.me
.REG
[0] = once_value_24
;
332 fra
.me
.REG
[0] = fra
.me
.REG
[0];
333 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
334 stack_frame_head
= fra
.me
.prev
;
337 void OC_native_interface___frontier___MMSrcModule___compile_frontier_22(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
338 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
343 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
344 fra
.me
.file
= LOCATE_native_interface___frontier
;
346 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcModule___compile_frontier
;
347 fra
.me
.has_broke
= 0;
349 fra
.me
.REG
[0] = NIT_NULL
;
350 fra
.me
.REG
[1] = NIT_NULL
;
351 fra
.me
.closure_ctx
= closctx_param
;
352 fra
.me
.closure_funs
= CREG
;
355 /* ./native_interface//frontier.nit:52 */
356 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
357 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
, ((fun_t
)OC_native_interface___frontier___MMSrcModule___compile_frontier_23
));
358 /* ./native_interface//frontier.nit:63 */
359 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
360 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
361 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
362 if (UNTAG_Bool(REGB0
)) {
364 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
367 if (UNTAG_Bool(REGB0
)) {
368 /* ./native_interface//frontier.nit:64 */
369 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
370 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
372 /* ./native_interface//frontier.nit:63 */
373 REGB1
= TAG_Bool(false);
376 if (UNTAG_Bool(REGB0
)) {
377 /* ./native_interface//frontier.nit:65 */
378 CALL_native_interface___frontier___MMLocalClass___compile_defaut_extern_type(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
380 stack_frame_head
= fra
.me
.prev
;
383 void OC_native_interface___frontier___MMSrcModule___compile_frontier_23(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
384 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
389 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
390 fra
.me
.file
= LOCATE_native_interface___frontier
;
392 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcModule___compile_frontier
;
393 fra
.me
.has_broke
= 0;
395 fra
.me
.REG
[0] = NIT_NULL
;
396 fra
.me
.REG
[1] = NIT_NULL
;
397 fra
.me
.closure_ctx
= closctx_param
;
398 fra
.me
.closure_funs
= CREG
;
401 /* ./native_interface//frontier.nit:55 */
402 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
403 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[0]));
404 if (UNTAG_Bool(REGB0
)) {
406 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[0]);
409 if (UNTAG_Bool(REGB0
)) {
410 /* ./native_interface//frontier.nit:56 */
411 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_syntax___syntax_base___MMSrcMethod
, ID_syntax___syntax_base___MMSrcMethod
)) /*cast MMSrcMethod*/;
413 /* ./native_interface//frontier.nit:55 */
414 REGB1
= TAG_Bool(false);
417 if (UNTAG_Bool(REGB0
)) {
418 /* ./native_interface//frontier.nit:56 */
419 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
421 /* ./native_interface//frontier.nit:55 */
422 REGB1
= TAG_Bool(false);
425 if (UNTAG_Bool(REGB0
)) {
426 /* ./native_interface//frontier.nit:57 */
427 CALL_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
429 stack_frame_head
= fra
.me
.prev
;
432 void native_interface___frontier___MMSrcMethod___compile_extern_to_frontier(val_t p0
, val_t p1
){
433 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
437 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
438 fra
.me
.file
= LOCATE_native_interface___frontier
;
440 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier
;
441 fra
.me
.has_broke
= 0;
443 fra
.me
.REG
[0] = NIT_NULL
;
444 fra
.me
.REG
[1] = NIT_NULL
;
445 fra
.me
.REG
[2] = NIT_NULL
;
448 /* ./native_interface//frontier.nit:77 */
449 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
450 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
451 if (UNTAG_Bool(REGB0
)) {
453 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
454 if (UNTAG_Bool(REGB1
)) {
455 REGB1
= TAG_Bool(false);
458 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
462 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
463 if (UNTAG_Bool(REGB0
)) {
464 /* ./native_interface//frontier.nit:78 */
465 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
466 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
467 if (UNTAG_Bool(REGB0
)) {
468 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 78);
470 CALL_native_interface___frontier___MMSignature___compile_frontier(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
472 /* ./native_interface//frontier.nit:81 */
473 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMMethod___explicit_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
474 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_1
));
475 /* ./native_interface//frontier.nit:90 */
476 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMMethod___explicit_casts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
477 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_2
));
478 /* ./native_interface//frontier.nit:98 */
479 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___need_super(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
480 if (UNTAG_Bool(REGB0
)) {
481 /* ./native_interface//frontier.nit:99 */
482 CALL_native_interface___frontier___MMSrcMethod___compile_super_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
484 /* ./native_interface//frontier.nit:103 */
485 CALL_native_interface___frontier___MMSrcMethod___compile_out_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
486 stack_frame_head
= fra
.me
.prev
;
489 void OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
490 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
493 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
494 fra
.me
.file
= LOCATE_native_interface___frontier
;
496 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier
;
497 fra
.me
.has_broke
= 0;
499 fra
.me
.REG
[0] = NIT_NULL
;
500 fra
.me
.REG
[1] = NIT_NULL
;
501 fra
.me
.closure_ctx
= closctx_param
;
502 fra
.me
.closure_funs
= CREG
;
505 /* ./native_interface//frontier.nit:83 */
506 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___friendlys(closctx
->REG
[1])(closctx
->REG
[1]);
507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
508 /* ./native_interface//frontier.nit:86 */
509 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
510 CALL_native_interface___frontier___MMSignature___compile_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
511 stack_frame_head
= fra
.me
.prev
;
514 void OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
515 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
518 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
519 fra
.me
.file
= LOCATE_native_interface___frontier
;
521 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier
;
522 fra
.me
.has_broke
= 0;
524 fra
.me
.REG
[0] = NIT_NULL
;
525 fra
.me
.REG
[1] = NIT_NULL
;
526 fra
.me
.REG
[2] = NIT_NULL
;
527 fra
.me
.closure_ctx
= closctx_param
;
528 fra
.me
.closure_funs
= CREG
;
531 /* ./native_interface//frontier.nit:91 */
532 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___casts(closctx
->REG
[1])(closctx
->REG
[1]);
533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
534 /* ./native_interface//frontier.nit:93 */
535 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___types(closctx
->REG
[1])(closctx
->REG
[1]);
536 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
538 /* ./native_interface//frontier.nit:94 */
539 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___types(closctx
->REG
[1])(closctx
->REG
[1]);
540 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
542 stack_frame_head
= fra
.me
.prev
;
545 void native_interface___frontier___MMSrcMethod___compile_super_to_frontier(val_t p0
, val_t p1
){
546 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
550 static val_t once_value_1
; /* Once value */
551 static val_t once_value_2
; /* Once value */
552 static val_t once_value_3
; /* Once value */
553 static val_t once_value_4
; /* Once value */
554 static val_t once_value_5
; /* Once value */
555 static val_t once_value_6
; /* Once value */
556 static val_t once_value_7
; /* Once value */
557 static val_t once_value_8
; /* Once value */
558 static val_t once_value_9
; /* Once value */
559 static val_t once_value_10
; /* Once value */
560 static val_t once_value_11
; /* Once value */
561 static val_t once_value_12
; /* Once value */
562 static val_t once_value_13
; /* Once value */
563 static val_t once_value_14
; /* Once value */
564 static val_t once_value_15
; /* Once value */
565 static val_t once_value_16
; /* Once value */
566 static val_t once_value_17
; /* Once value */
567 static val_t once_value_18
; /* Once value */
568 static val_t once_value_19
; /* Once value */
569 static val_t once_value_20
; /* Once value */
570 static val_t once_value_21
; /* Once value */
571 static val_t once_value_22
; /* Once value */
572 static val_t once_value_23
; /* Once value */
573 static val_t once_value_24
; /* Once value */
574 static val_t once_value_26
; /* Once value */
575 static val_t once_value_27
; /* Once value */
576 static val_t once_value_28
; /* Once value */
577 static val_t once_value_29
; /* Once value */
578 static val_t once_value_30
; /* Once value */
579 static val_t once_value_31
; /* Once value */
580 static val_t once_value_32
; /* Once value */
581 static val_t once_value_33
; /* Once value */
582 static val_t once_value_34
; /* Once value */
583 static val_t once_value_35
; /* Once value */
584 static val_t once_value_36
; /* Once value */
585 static val_t once_value_37
; /* Once value */
586 static val_t once_value_38
; /* Once value */
587 static val_t once_value_39
; /* Once value */
588 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
589 fra
.me
.file
= LOCATE_native_interface___frontier
;
591 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_super_to_frontier
;
592 fra
.me
.has_broke
= 0;
593 fra
.me
.REG_size
= 11;
594 fra
.me
.REG
[0] = NIT_NULL
;
595 fra
.me
.REG
[1] = NIT_NULL
;
596 fra
.me
.REG
[2] = NIT_NULL
;
597 fra
.me
.REG
[3] = NIT_NULL
;
598 fra
.me
.REG
[4] = NIT_NULL
;
599 fra
.me
.REG
[5] = NIT_NULL
;
600 fra
.me
.REG
[6] = NIT_NULL
;
601 fra
.me
.REG
[7] = NIT_NULL
;
602 fra
.me
.REG
[8] = NIT_NULL
;
603 fra
.me
.REG
[9] = NIT_NULL
;
604 fra
.me
.REG
[10] = NIT_NULL
;
607 /* ./native_interface//frontier.nit:113 */
608 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
610 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
612 fra
.me
.REG
[4] = BOX_NativeString("\n/* friendly for super of ");
614 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
615 once_value_1
= fra
.me
.REG
[4];
616 register_static_object(&once_value_1
);
617 } else fra
.me
.REG
[4] = once_value_1
;
618 fra
.me
.REG
[4] = fra
.me
.REG
[4];
619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
620 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
623 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
625 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
626 once_value_2
= fra
.me
.REG
[4];
627 register_static_object(&once_value_2
);
628 } else fra
.me
.REG
[4] = once_value_2
;
629 fra
.me
.REG
[4] = fra
.me
.REG
[4];
630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
631 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
632 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
633 /* ./native_interface//frontier.nit:114 */
634 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
636 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
638 fra
.me
.REG
[4] = BOX_NativeString("");
640 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
641 once_value_3
= fra
.me
.REG
[4];
642 register_static_object(&once_value_3
);
643 } else fra
.me
.REG
[4] = once_value_3
;
644 fra
.me
.REG
[4] = fra
.me
.REG
[4];
645 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
646 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
647 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___frontier_super_csignature_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
648 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
650 fra
.me
.REG
[4] = BOX_NativeString(";\n");
652 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
653 once_value_4
= fra
.me
.REG
[4];
654 register_static_object(&once_value_4
);
655 } else fra
.me
.REG
[4] = once_value_4
;
656 fra
.me
.REG
[4] = fra
.me
.REG
[4];
657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
658 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
659 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
660 /* ./native_interface//frontier.nit:117 */
661 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
663 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
665 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
667 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
668 once_value_5
= fra
.me
.REG
[4];
669 register_static_object(&once_value_5
);
670 } else fra
.me
.REG
[4] = once_value_5
;
671 fra
.me
.REG
[4] = fra
.me
.REG
[4];
672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
673 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___friendly_super_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
676 fra
.me
.REG
[4] = BOX_NativeString("\n");
678 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
679 once_value_6
= fra
.me
.REG
[4];
680 register_static_object(&once_value_6
);
681 } else fra
.me
.REG
[4] = once_value_6
;
682 fra
.me
.REG
[4] = fra
.me
.REG
[4];
683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
684 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
685 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
686 /* ./native_interface//frontier.nit:118 */
687 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
689 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
691 fra
.me
.REG
[4] = BOX_NativeString("#define ");
693 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
694 once_value_7
= fra
.me
.REG
[4];
695 register_static_object(&once_value_7
);
696 } else fra
.me
.REG
[4] = once_value_7
;
697 fra
.me
.REG
[4] = fra
.me
.REG
[4];
698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
699 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___friendly_super_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
700 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
702 fra
.me
.REG
[4] = BOX_NativeString(" ");
704 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
705 once_value_8
= fra
.me
.REG
[4];
706 register_static_object(&once_value_8
);
707 } else fra
.me
.REG
[4] = once_value_8
;
708 fra
.me
.REG
[4] = fra
.me
.REG
[4];
709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
710 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
711 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___local_friendly_super_name_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
714 fra
.me
.REG
[4] = BOX_NativeString("\n");
716 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
717 once_value_9
= fra
.me
.REG
[4];
718 register_static_object(&once_value_9
);
719 } else fra
.me
.REG
[4] = once_value_9
;
720 fra
.me
.REG
[4] = fra
.me
.REG
[4];
721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
722 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
723 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
724 /* ./native_interface//frontier.nit:119 */
725 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
726 if (!once_value_10
) {
727 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
729 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
730 once_value_10
= fra
.me
.REG
[3];
731 register_static_object(&once_value_10
);
732 } else fra
.me
.REG
[3] = once_value_10
;
733 fra
.me
.REG
[3] = fra
.me
.REG
[3];
734 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
735 /* ./native_interface//frontier.nit:122 */
736 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
738 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
739 if (!once_value_11
) {
740 fra
.me
.REG
[4] = BOX_NativeString("\n/* friendly for super of ");
742 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
743 once_value_11
= fra
.me
.REG
[4];
744 register_static_object(&once_value_11
);
745 } else fra
.me
.REG
[4] = once_value_11
;
746 fra
.me
.REG
[4] = fra
.me
.REG
[4];
747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
748 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
750 if (!once_value_12
) {
751 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
753 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
754 once_value_12
= fra
.me
.REG
[4];
755 register_static_object(&once_value_12
);
756 } else fra
.me
.REG
[4] = once_value_12
;
757 fra
.me
.REG
[4] = fra
.me
.REG
[4];
758 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
759 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
760 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
761 /* ./native_interface//frontier.nit:123 */
762 fra
.me
.REG
[2] = CALL_native_interface___ni_metamodel___MMMethod___friendly_super_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
763 fra
.me
.REG
[2] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[2]);
764 /* ./native_interface//frontier.nit:126 */
765 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
766 /* ./native_interface//frontier.nit:129 */
767 if (!once_value_13
) {
768 fra
.me
.REG
[4] = BOX_NativeString("recv___nit");
770 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
771 once_value_13
= fra
.me
.REG
[4];
772 register_static_object(&once_value_13
);
773 } else fra
.me
.REG
[4] = once_value_13
;
774 fra
.me
.REG
[4] = fra
.me
.REG
[4];
775 /* ./native_interface//frontier.nit:130 */
776 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
778 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
779 if (!once_value_14
) {
780 fra
.me
.REG
[7] = BOX_NativeString("val_t ");
782 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
783 once_value_14
= fra
.me
.REG
[7];
784 register_static_object(&once_value_14
);
785 } else fra
.me
.REG
[7] = once_value_14
;
786 fra
.me
.REG
[7] = fra
.me
.REG
[7];
787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
789 if (!once_value_15
) {
790 fra
.me
.REG
[7] = BOX_NativeString(";\n");
792 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
793 once_value_15
= fra
.me
.REG
[7];
794 register_static_object(&once_value_15
);
795 } else fra
.me
.REG
[7] = once_value_15
;
796 fra
.me
.REG
[7] = fra
.me
.REG
[7];
797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
798 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
799 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
800 /* ./native_interface//frontier.nit:131 */
801 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
803 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
804 if (!once_value_16
) {
805 fra
.me
.REG
[7] = BOX_NativeString("");
807 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
808 once_value_16
= fra
.me
.REG
[7];
809 register_static_object(&once_value_16
);
810 } else fra
.me
.REG
[7] = once_value_16
;
811 fra
.me
.REG
[7] = fra
.me
.REG
[7];
812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
813 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
814 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
815 if (UNTAG_Bool(REGB0
)) {
816 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 131);
818 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
819 if (!once_value_17
) {
820 fra
.me
.REG
[8] = BOX_NativeString("recv");
822 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
823 once_value_17
= fra
.me
.REG
[8];
824 register_static_object(&once_value_17
);
825 } else fra
.me
.REG
[8] = once_value_17
;
826 fra
.me
.REG
[8] = fra
.me
.REG
[8];
827 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4], fra
.me
.REG
[8]);
828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
829 if (!once_value_18
) {
830 fra
.me
.REG
[8] = BOX_NativeString(";\n");
832 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
833 once_value_18
= fra
.me
.REG
[8];
834 register_static_object(&once_value_18
);
835 } else fra
.me
.REG
[8] = once_value_18
;
836 fra
.me
.REG
[8] = fra
.me
.REG
[8];
837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
838 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
839 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
840 /* ./native_interface//frontier.nit:132 */
841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
842 /* ./native_interface//frontier.nit:135 */
843 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
844 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
845 if (UNTAG_Bool(REGB0
)) {
846 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 135);
848 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
849 /* ./../lib/standard//collection//array.nit:234 */
851 /* ./../lib/standard//collection//array.nit:235 */
852 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
853 if (UNTAG_Bool(REGB1
)) {
855 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
857 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
858 /* ./../lib/standard//collection//array.nit:236 */
859 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
860 /* ./../lib/standard//collection//array.nit:237 */
862 /* ./../lib/standard//collection//array.nit:23 */
863 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
864 if (UNTAG_Bool(REGB1
)) {
866 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
868 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
869 /* ./../lib/standard//kernel.nit:215 */
870 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
871 /* ./../lib/standard//collection//array.nit:237 */
872 if (UNTAG_Bool(REGB1
)) {
873 /* ./../lib/standard//collection//array.nit:238 */
874 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
875 if (UNTAG_Bool(REGB1
)) {
876 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
878 /* ./../lib/standard//collection//array.nit:654 */
879 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
880 /* ./native_interface//frontier.nit:136 */
882 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
883 if (!once_value_19
) {
884 fra
.me
.REG
[9] = BOX_NativeString("");
886 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
887 once_value_19
= fra
.me
.REG
[9];
888 register_static_object(&once_value_19
);
889 } else fra
.me
.REG
[9] = once_value_19
;
890 fra
.me
.REG
[9] = fra
.me
.REG
[9];
891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
892 fra
.me
.REG
[9] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
893 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
895 if (!once_value_20
) {
896 fra
.me
.REG
[9] = BOX_NativeString("___nit");
898 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
899 once_value_20
= fra
.me
.REG
[9];
900 register_static_object(&once_value_20
);
901 } else fra
.me
.REG
[9] = once_value_20
;
902 fra
.me
.REG
[9] = fra
.me
.REG
[9];
903 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
904 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
905 fra
.me
.REG
[4] = fra
.me
.REG
[7];
906 /* ./native_interface//frontier.nit:137 */
907 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
909 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
910 if (!once_value_21
) {
911 fra
.me
.REG
[10] = BOX_NativeString("val_t ");
913 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
914 once_value_21
= fra
.me
.REG
[10];
915 register_static_object(&once_value_21
);
916 } else fra
.me
.REG
[10] = once_value_21
;
917 fra
.me
.REG
[10] = fra
.me
.REG
[10];
918 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[4]);
920 if (!once_value_22
) {
921 fra
.me
.REG
[10] = BOX_NativeString(";\n");
923 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
924 once_value_22
= fra
.me
.REG
[10];
925 register_static_object(&once_value_22
);
926 } else fra
.me
.REG
[10] = once_value_22
;
927 fra
.me
.REG
[10] = fra
.me
.REG
[10];
928 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
929 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
930 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
931 /* ./native_interface//frontier.nit:138 */
932 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
934 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
935 if (!once_value_23
) {
936 fra
.me
.REG
[10] = BOX_NativeString("");
938 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
939 once_value_23
= fra
.me
.REG
[10];
940 register_static_object(&once_value_23
);
941 } else fra
.me
.REG
[10] = once_value_23
;
942 fra
.me
.REG
[10] = fra
.me
.REG
[10];
943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
944 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
945 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
946 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
947 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[4], fra
.me
.REG
[8]);
948 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
949 if (!once_value_24
) {
950 fra
.me
.REG
[8] = BOX_NativeString(";\n");
952 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
953 once_value_24
= fra
.me
.REG
[8];
954 register_static_object(&once_value_24
);
955 } else fra
.me
.REG
[8] = once_value_24
;
956 fra
.me
.REG
[8] = fra
.me
.REG
[8];
957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
958 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
959 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
960 /* ./native_interface//frontier.nit:139 */
961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
962 /* ./../lib/standard//collection//array.nit:239 */
964 /* ./../lib/standard//kernel.nit:218 */
965 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
966 /* ./../lib/standard//collection//array.nit:239 */
969 /* ./../lib/standard//collection//array.nit:237 */
974 /* ./native_interface//frontier.nit:143 */
975 fra
.me
.REG
[4] = NIT_NULL
;
976 /* ./native_interface//frontier.nit:145 */
977 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
978 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
979 if (UNTAG_Bool(REGB0
)) {
980 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 145);
982 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
983 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
984 if (UNTAG_Bool(REGB0
)) {
986 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
987 if (UNTAG_Bool(REGB1
)) {
988 REGB1
= TAG_Bool(false);
991 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
995 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
996 if (UNTAG_Bool(REGB0
)) {
997 /* ./native_interface//frontier.nit:146 */
998 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
999 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1000 if (UNTAG_Bool(REGB0
)) {
1001 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 146);
1003 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1004 fra
.me
.REG
[4] = fra
.me
.REG
[6];
1006 /* ./native_interface//frontier.nit:149 */
1007 fra
.me
.REG
[6] = NEW_Buffer_standard___string___Buffer___init();
1008 /* ./native_interface//frontier.nit:150 */
1009 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1010 if (UNTAG_Bool(REGB0
)) {
1012 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1013 if (UNTAG_Bool(REGB1
)) {
1014 REGB1
= TAG_Bool(false);
1017 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1021 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1022 if (UNTAG_Bool(REGB0
)) {
1023 /* ./native_interface//frontier.nit:151 */
1024 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1026 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1027 if (!once_value_26
) {
1028 fra
.me
.REG
[9] = BOX_NativeString("");
1030 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1031 once_value_26
= fra
.me
.REG
[9];
1032 register_static_object(&once_value_26
);
1033 } else fra
.me
.REG
[9] = once_value_26
;
1034 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1035 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1036 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1037 if (UNTAG_Bool(REGB0
)) {
1038 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 151);
1040 fra
.me
.REG
[9] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1042 if (!once_value_27
) {
1043 fra
.me
.REG
[9] = BOX_NativeString(" return___nitni;\n");
1044 REGB0
= TAG_Int(17);
1045 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1046 once_value_27
= fra
.me
.REG
[9];
1047 register_static_object(&once_value_27
);
1048 } else fra
.me
.REG
[9] = once_value_27
;
1049 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1050 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1051 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1052 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1053 /* ./native_interface//frontier.nit:152 */
1054 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1055 if (!once_value_28
) {
1056 fra
.me
.REG
[5] = BOX_NativeString("val_t return___nit;\n");
1057 REGB0
= TAG_Int(20);
1058 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1059 once_value_28
= fra
.me
.REG
[5];
1060 register_static_object(&once_value_28
);
1061 } else fra
.me
.REG
[5] = once_value_28
;
1062 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1063 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1064 /* ./native_interface//frontier.nit:153 */
1065 if (!once_value_29
) {
1066 fra
.me
.REG
[5] = BOX_NativeString("return___nit = ");
1067 REGB0
= TAG_Int(15);
1068 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1069 once_value_29
= fra
.me
.REG
[5];
1070 register_static_object(&once_value_29
);
1071 } else fra
.me
.REG
[5] = once_value_29
;
1072 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1073 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1075 /* ./native_interface//frontier.nit:156 */
1077 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1078 if (!once_value_30
) {
1079 fra
.me
.REG
[7] = BOX_NativeString("");
1081 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1082 once_value_30
= fra
.me
.REG
[7];
1083 register_static_object(&once_value_30
);
1084 } else fra
.me
.REG
[7] = once_value_30
;
1085 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1087 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1088 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1089 if (!once_value_31
) {
1090 fra
.me
.REG
[0] = BOX_NativeString("( recv___nit )");
1091 REGB0
= TAG_Int(14);
1092 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1093 once_value_31
= fra
.me
.REG
[0];
1094 register_static_object(&once_value_31
);
1095 } else fra
.me
.REG
[0] = once_value_31
;
1096 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1098 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1099 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1100 /* ./native_interface//frontier.nit:158 */
1102 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1103 if (!once_value_32
) {
1104 fra
.me
.REG
[0] = BOX_NativeString("( ");
1106 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1107 once_value_32
= fra
.me
.REG
[0];
1108 register_static_object(&once_value_32
);
1109 } else fra
.me
.REG
[0] = once_value_32
;
1110 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1112 if (!once_value_33
) {
1113 fra
.me
.REG
[0] = BOX_NativeString(", ");
1115 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1116 once_value_33
= fra
.me
.REG
[0];
1117 register_static_object(&once_value_33
);
1118 } else fra
.me
.REG
[0] = once_value_33
;
1119 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1120 fra
.me
.REG
[0] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1122 if (!once_value_34
) {
1123 fra
.me
.REG
[0] = BOX_NativeString(" );\n");
1125 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1126 once_value_34
= fra
.me
.REG
[0];
1127 register_static_object(&once_value_34
);
1128 } else fra
.me
.REG
[0] = once_value_34
;
1129 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1130 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1131 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1132 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1133 /* ./native_interface//frontier.nit:160 */
1134 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1135 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1136 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1137 /* ./native_interface//frontier.nit:163 */
1138 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1139 if (UNTAG_Bool(REGB0
)) {
1141 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1142 if (UNTAG_Bool(REGB1
)) {
1143 REGB1
= TAG_Bool(false);
1146 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1150 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1151 if (UNTAG_Bool(REGB0
)) {
1152 /* ./native_interface//frontier.nit:165 */
1153 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1155 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1156 if (!once_value_35
) {
1157 fra
.me
.REG
[0] = BOX_NativeString("");
1159 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1160 once_value_35
= fra
.me
.REG
[0];
1161 register_static_object(&once_value_35
);
1162 } else fra
.me
.REG
[0] = once_value_35
;
1163 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1165 if (!once_value_36
) {
1166 fra
.me
.REG
[0] = BOX_NativeString("return___nitni");
1167 REGB0
= TAG_Int(14);
1168 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1169 once_value_36
= fra
.me
.REG
[0];
1170 register_static_object(&once_value_36
);
1171 } else fra
.me
.REG
[0] = once_value_36
;
1172 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1173 if (!once_value_37
) {
1174 fra
.me
.REG
[3] = BOX_NativeString("return___nit");
1175 REGB0
= TAG_Int(12);
1176 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1177 once_value_37
= fra
.me
.REG
[3];
1178 register_static_object(&once_value_37
);
1179 } else fra
.me
.REG
[3] = once_value_37
;
1180 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1181 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1182 if (UNTAG_Bool(REGB0
)) {
1183 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 165);
1185 fra
.me
.REG
[3] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0], fra
.me
.REG
[3]);
1186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1187 if (!once_value_38
) {
1188 fra
.me
.REG
[3] = BOX_NativeString(";\n");
1190 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1191 once_value_38
= fra
.me
.REG
[3];
1192 register_static_object(&once_value_38
);
1193 } else fra
.me
.REG
[3] = once_value_38
;
1194 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1196 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1197 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1198 /* ./native_interface//frontier.nit:166 */
1199 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1200 if (!once_value_39
) {
1201 fra
.me
.REG
[6] = BOX_NativeString("return return___nitni;\n");
1202 REGB0
= TAG_Int(23);
1203 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1204 once_value_39
= fra
.me
.REG
[6];
1205 register_static_object(&once_value_39
);
1206 } else fra
.me
.REG
[6] = once_value_39
;
1207 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1208 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1210 /* ./native_interface//frontier.nit:169 */
1211 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1212 fra
.me
.REG
[2] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1213 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1214 stack_frame_head
= fra
.me
.prev
;
1217 void native_interface___frontier___MMSrcMethod___compile_out_to_frontier(val_t p0
, val_t p1
){
1218 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
1222 static val_t once_value_1
; /* Once value */
1223 static val_t once_value_2
; /* Once value */
1224 static val_t once_value_3
; /* Once value */
1225 static val_t once_value_4
; /* Once value */
1226 static val_t once_value_5
; /* Once value */
1227 static val_t once_value_6
; /* Once value */
1228 static val_t once_value_7
; /* Once value */
1229 static val_t once_value_8
; /* Once value */
1230 static val_t once_value_9
; /* Once value */
1231 static val_t once_value_10
; /* Once value */
1232 static val_t once_value_11
; /* Once value */
1233 static val_t once_value_12
; /* Once value */
1234 static val_t once_value_13
; /* Once value */
1235 static val_t once_value_14
; /* Once value */
1236 static val_t once_value_15
; /* Once value */
1237 static val_t once_value_16
; /* Once value */
1238 static val_t once_value_17
; /* Once value */
1239 static val_t once_value_18
; /* Once value */
1240 static val_t once_value_19
; /* Once value */
1241 static val_t once_value_20
; /* Once value */
1242 static val_t once_value_22
; /* Once value */
1243 static val_t once_value_23
; /* Once value */
1244 static val_t once_value_24
; /* Once value */
1245 static val_t once_value_25
; /* Once value */
1246 static val_t once_value_26
; /* Once value */
1247 static val_t once_value_27
; /* Once value */
1248 static val_t once_value_28
; /* Once value */
1249 static val_t once_value_29
; /* Once value */
1250 static val_t once_value_30
; /* Once value */
1251 static val_t once_value_31
; /* Once value */
1252 static val_t once_value_32
; /* Once value */
1253 static val_t once_value_33
; /* Once value */
1254 static val_t once_value_34
; /* Once value */
1255 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1256 fra
.me
.file
= LOCATE_native_interface___frontier
;
1258 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_out_to_frontier
;
1259 fra
.me
.has_broke
= 0;
1260 fra
.me
.REG_size
= 11;
1261 fra
.me
.REG
[0] = NIT_NULL
;
1262 fra
.me
.REG
[1] = NIT_NULL
;
1263 fra
.me
.REG
[2] = NIT_NULL
;
1264 fra
.me
.REG
[3] = NIT_NULL
;
1265 fra
.me
.REG
[4] = NIT_NULL
;
1266 fra
.me
.REG
[5] = NIT_NULL
;
1267 fra
.me
.REG
[6] = NIT_NULL
;
1268 fra
.me
.REG
[7] = NIT_NULL
;
1269 fra
.me
.REG
[8] = NIT_NULL
;
1270 fra
.me
.REG
[9] = NIT_NULL
;
1271 fra
.me
.REG
[10] = NIT_NULL
;
1274 /* ./native_interface//frontier.nit:178 */
1275 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1277 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1278 if (!once_value_1
) {
1279 fra
.me
.REG
[4] = BOX_NativeString("\n/* out/indirect function for ");
1280 REGB0
= TAG_Int(30);
1281 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1282 once_value_1
= fra
.me
.REG
[4];
1283 register_static_object(&once_value_1
);
1284 } else fra
.me
.REG
[4] = once_value_1
;
1285 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1287 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1288 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1289 if (!once_value_2
) {
1290 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
1292 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1293 once_value_2
= fra
.me
.REG
[4];
1294 register_static_object(&once_value_2
);
1295 } else fra
.me
.REG
[4] = once_value_2
;
1296 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1298 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1299 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1300 /* ./native_interface//frontier.nit:179 */
1301 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1303 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1304 if (!once_value_3
) {
1305 fra
.me
.REG
[4] = BOX_NativeString("");
1307 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1308 once_value_3
= fra
.me
.REG
[4];
1309 register_static_object(&once_value_3
);
1310 } else fra
.me
.REG
[4] = once_value_3
;
1311 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1313 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___out_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1315 if (!once_value_4
) {
1316 fra
.me
.REG
[4] = BOX_NativeString(";\n");
1318 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1319 once_value_4
= fra
.me
.REG
[4];
1320 register_static_object(&once_value_4
);
1321 } else fra
.me
.REG
[4] = once_value_4
;
1322 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1323 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1324 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1325 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1326 /* ./native_interface//frontier.nit:182 */
1327 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1329 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1330 if (!once_value_5
) {
1331 fra
.me
.REG
[4] = BOX_NativeString("/* out/indirect function for ");
1332 REGB0
= TAG_Int(29);
1333 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1334 once_value_5
= fra
.me
.REG
[4];
1335 register_static_object(&once_value_5
);
1336 } else fra
.me
.REG
[4] = once_value_5
;
1337 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1339 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1341 if (!once_value_6
) {
1342 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
1344 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1345 once_value_6
= fra
.me
.REG
[4];
1346 register_static_object(&once_value_6
);
1347 } else fra
.me
.REG
[4] = once_value_6
;
1348 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1350 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1351 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1352 /* ./native_interface//frontier.nit:183 */
1353 fra
.me
.REG
[3] = CALL_native_interface___ni_metamodel___MMMethod___out_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1354 fra
.me
.REG
[3] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[3]);
1355 /* ./native_interface//frontier.nit:186 */
1356 fra
.me
.REG
[2] = NEW_List_standard___collection___list___List___init();
1357 /* ./native_interface//frontier.nit:188 */
1358 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1359 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1360 if (UNTAG_Bool(REGB0
)) {
1361 /* ./native_interface//frontier.nit:189 */
1362 if (!once_value_7
) {
1363 fra
.me
.REG
[4] = BOX_NativeString("recv___nitni");
1364 REGB0
= TAG_Int(12);
1365 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1366 once_value_7
= fra
.me
.REG
[4];
1367 register_static_object(&once_value_7
);
1368 } else fra
.me
.REG
[4] = once_value_7
;
1369 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1370 /* ./native_interface//frontier.nit:190 */
1371 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1373 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1374 if (!once_value_8
) {
1375 fra
.me
.REG
[7] = BOX_NativeString("");
1377 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1378 once_value_8
= fra
.me
.REG
[7];
1379 register_static_object(&once_value_8
);
1380 } else fra
.me
.REG
[7] = once_value_8
;
1381 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1383 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1384 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1385 if (UNTAG_Bool(REGB0
)) {
1386 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 190);
1388 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1389 fra
.me
.REG
[7] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1391 if (!once_value_9
) {
1392 fra
.me
.REG
[7] = BOX_NativeString(" ");
1394 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1395 once_value_9
= fra
.me
.REG
[7];
1396 register_static_object(&once_value_9
);
1397 } else fra
.me
.REG
[7] = once_value_9
;
1398 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
1401 if (!once_value_10
) {
1402 fra
.me
.REG
[7] = BOX_NativeString(";\n");
1404 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1405 once_value_10
= fra
.me
.REG
[7];
1406 register_static_object(&once_value_10
);
1407 } else fra
.me
.REG
[7] = once_value_10
;
1408 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1410 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1411 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1412 /* ./native_interface//frontier.nit:191 */
1413 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1415 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1416 if (!once_value_11
) {
1417 fra
.me
.REG
[7] = BOX_NativeString("");
1419 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1420 once_value_11
= fra
.me
.REG
[7];
1421 register_static_object(&once_value_11
);
1422 } else fra
.me
.REG
[7] = once_value_11
;
1423 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1425 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1426 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1427 if (UNTAG_Bool(REGB0
)) {
1428 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 191);
1430 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1431 if (!once_value_12
) {
1432 fra
.me
.REG
[8] = BOX_NativeString("recv");
1434 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1435 once_value_12
= fra
.me
.REG
[8];
1436 register_static_object(&once_value_12
);
1437 } else fra
.me
.REG
[8] = once_value_12
;
1438 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1439 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4], fra
.me
.REG
[8]);
1440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1441 if (!once_value_13
) {
1442 fra
.me
.REG
[8] = BOX_NativeString(";\n");
1444 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1445 once_value_13
= fra
.me
.REG
[8];
1446 register_static_object(&once_value_13
);
1447 } else fra
.me
.REG
[8] = once_value_13
;
1448 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1450 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1451 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1452 /* ./native_interface//frontier.nit:192 */
1453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1455 /* ./native_interface//frontier.nit:195 */
1456 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1457 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1458 if (UNTAG_Bool(REGB0
)) {
1459 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 195);
1461 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1462 /* ./../lib/standard//collection//array.nit:234 */
1464 /* ./../lib/standard//collection//array.nit:235 */
1465 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1466 if (UNTAG_Bool(REGB1
)) {
1468 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1470 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1471 /* ./../lib/standard//collection//array.nit:236 */
1472 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1473 /* ./../lib/standard//collection//array.nit:237 */
1475 /* ./../lib/standard//collection//array.nit:23 */
1476 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1477 if (UNTAG_Bool(REGB1
)) {
1479 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1481 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1482 /* ./../lib/standard//kernel.nit:215 */
1483 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1484 /* ./../lib/standard//collection//array.nit:237 */
1485 if (UNTAG_Bool(REGB1
)) {
1486 /* ./../lib/standard//collection//array.nit:238 */
1487 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1488 if (UNTAG_Bool(REGB1
)) {
1489 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1491 /* ./../lib/standard//collection//array.nit:654 */
1492 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1493 /* ./native_interface//frontier.nit:196 */
1495 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1496 if (!once_value_14
) {
1497 fra
.me
.REG
[7] = BOX_NativeString("");
1499 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
1500 once_value_14
= fra
.me
.REG
[7];
1501 register_static_object(&once_value_14
);
1502 } else fra
.me
.REG
[7] = once_value_14
;
1503 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1505 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1506 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1508 if (!once_value_15
) {
1509 fra
.me
.REG
[7] = BOX_NativeString("___nitni");
1511 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
1512 once_value_15
= fra
.me
.REG
[7];
1513 register_static_object(&once_value_15
);
1514 } else fra
.me
.REG
[7] = once_value_15
;
1515 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1517 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1518 /* ./native_interface//frontier.nit:197 */
1519 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1521 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1522 if (!once_value_16
) {
1523 fra
.me
.REG
[10] = BOX_NativeString("");
1525 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1526 once_value_16
= fra
.me
.REG
[10];
1527 register_static_object(&once_value_16
);
1528 } else fra
.me
.REG
[10] = once_value_16
;
1529 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1530 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1531 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1532 fra
.me
.REG
[10] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1534 if (!once_value_17
) {
1535 fra
.me
.REG
[10] = BOX_NativeString(" ");
1537 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1538 once_value_17
= fra
.me
.REG
[10];
1539 register_static_object(&once_value_17
);
1540 } else fra
.me
.REG
[10] = once_value_17
;
1541 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1544 if (!once_value_18
) {
1545 fra
.me
.REG
[10] = BOX_NativeString(";\n");
1547 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1548 once_value_18
= fra
.me
.REG
[10];
1549 register_static_object(&once_value_18
);
1550 } else fra
.me
.REG
[10] = once_value_18
;
1551 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1553 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1554 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1555 /* ./native_interface//frontier.nit:198 */
1556 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1558 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1559 if (!once_value_19
) {
1560 fra
.me
.REG
[10] = BOX_NativeString("");
1562 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1563 once_value_19
= fra
.me
.REG
[10];
1564 register_static_object(&once_value_19
);
1565 } else fra
.me
.REG
[10] = once_value_19
;
1566 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
1568 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1569 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1570 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1571 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], fra
.me
.REG
[6]);
1572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1573 if (!once_value_20
) {
1574 fra
.me
.REG
[6] = BOX_NativeString(";\n");
1576 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
1577 once_value_20
= fra
.me
.REG
[6];
1578 register_static_object(&once_value_20
);
1579 } else fra
.me
.REG
[6] = once_value_20
;
1580 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1582 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1583 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
1584 /* ./native_interface//frontier.nit:199 */
1585 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
1586 /* ./../lib/standard//collection//array.nit:239 */
1588 /* ./../lib/standard//kernel.nit:218 */
1589 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1590 /* ./../lib/standard//collection//array.nit:239 */
1593 /* ./../lib/standard//collection//array.nit:237 */
1598 /* ./native_interface//frontier.nit:203 */
1599 fra
.me
.REG
[5] = NIT_NULL
;
1600 /* ./native_interface//frontier.nit:205 */
1601 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1602 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1603 if (UNTAG_Bool(REGB0
)) {
1604 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 205);
1606 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1607 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1608 if (UNTAG_Bool(REGB0
)) {
1610 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1611 if (UNTAG_Bool(REGB1
)) {
1612 REGB1
= TAG_Bool(false);
1615 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1619 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1620 if (UNTAG_Bool(REGB0
)) {
1621 /* ./native_interface//frontier.nit:206 */
1622 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1623 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1624 if (UNTAG_Bool(REGB0
)) {
1625 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 206);
1627 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1628 fra
.me
.REG
[5] = fra
.me
.REG
[4];
1630 /* ./native_interface//frontier.nit:207 */
1631 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1632 if (UNTAG_Bool(REGB0
)) {
1633 /* ./native_interface//frontier.nit:208 */
1634 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1635 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1636 fra
.me
.REG
[5] = fra
.me
.REG
[4];
1639 /* ./native_interface//frontier.nit:211 */
1640 fra
.me
.REG
[4] = NEW_Buffer_standard___string___Buffer___init();
1641 /* ./native_interface//frontier.nit:212 */
1642 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1643 if (UNTAG_Bool(REGB0
)) {
1645 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1646 if (UNTAG_Bool(REGB1
)) {
1647 REGB1
= TAG_Bool(false);
1650 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1654 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1655 if (UNTAG_Bool(REGB0
)) {
1656 /* ./native_interface//frontier.nit:213 */
1657 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1659 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1660 if (!once_value_22
) {
1661 fra
.me
.REG
[9] = BOX_NativeString("");
1663 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1664 once_value_22
= fra
.me
.REG
[9];
1665 register_static_object(&once_value_22
);
1666 } else fra
.me
.REG
[9] = once_value_22
;
1667 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1669 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1670 if (UNTAG_Bool(REGB0
)) {
1671 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 213);
1673 fra
.me
.REG
[9] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1675 if (!once_value_23
) {
1676 fra
.me
.REG
[9] = BOX_NativeString(" return___nitni;\n");
1677 REGB0
= TAG_Int(17);
1678 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1679 once_value_23
= fra
.me
.REG
[9];
1680 register_static_object(&once_value_23
);
1681 } else fra
.me
.REG
[9] = once_value_23
;
1682 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1684 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1685 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1686 /* ./native_interface//frontier.nit:214 */
1687 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1688 if (!once_value_24
) {
1689 fra
.me
.REG
[8] = BOX_NativeString("val_t return___nit;\n");
1690 REGB0
= TAG_Int(20);
1691 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1692 once_value_24
= fra
.me
.REG
[8];
1693 register_static_object(&once_value_24
);
1694 } else fra
.me
.REG
[8] = once_value_24
;
1695 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1696 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1697 /* ./native_interface//frontier.nit:215 */
1698 if (!once_value_25
) {
1699 fra
.me
.REG
[8] = BOX_NativeString("return___nitni = ");
1700 REGB0
= TAG_Int(17);
1701 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1702 once_value_25
= fra
.me
.REG
[8];
1703 register_static_object(&once_value_25
);
1704 } else fra
.me
.REG
[8] = once_value_25
;
1705 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1706 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1708 /* ./native_interface//frontier.nit:218 */
1710 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1711 if (!once_value_26
) {
1712 fra
.me
.REG
[7] = BOX_NativeString("");
1714 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1715 once_value_26
= fra
.me
.REG
[7];
1716 register_static_object(&once_value_26
);
1717 } else fra
.me
.REG
[7] = once_value_26
;
1718 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1720 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMMethod___extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1721 REGB0
= TAG_Bool((fra
.me
.REG
[0]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[0], COLOR_standard___string___String
, ID_standard___string___String
)) /*cast String*/;
1722 if (UNTAG_Bool(REGB0
)) {
1724 nit_abort("Cast failed", NULL
, LOCATE_native_interface___frontier
, 218);
1726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1727 if (!once_value_27
) {
1728 fra
.me
.REG
[0] = BOX_NativeString("( ");
1730 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1731 once_value_27
= fra
.me
.REG
[0];
1732 register_static_object(&once_value_27
);
1733 } else fra
.me
.REG
[0] = once_value_27
;
1734 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1736 if (!once_value_28
) {
1737 fra
.me
.REG
[0] = BOX_NativeString(", ");
1739 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1740 once_value_28
= fra
.me
.REG
[0];
1741 register_static_object(&once_value_28
);
1742 } else fra
.me
.REG
[0] = once_value_28
;
1743 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1744 fra
.me
.REG
[0] = CALL_standard___string___Collection___join(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1745 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1746 if (!once_value_29
) {
1747 fra
.me
.REG
[0] = BOX_NativeString(" );\n");
1749 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1750 once_value_29
= fra
.me
.REG
[0];
1751 register_static_object(&once_value_29
);
1752 } else fra
.me
.REG
[0] = once_value_29
;
1753 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1755 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1756 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1757 /* ./native_interface//frontier.nit:220 */
1758 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1759 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1760 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1761 /* ./native_interface//frontier.nit:223 */
1762 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1763 if (UNTAG_Bool(REGB0
)) {
1765 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1766 if (UNTAG_Bool(REGB1
)) {
1767 REGB1
= TAG_Bool(false);
1770 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1774 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1775 if (UNTAG_Bool(REGB0
)) {
1776 /* ./native_interface//frontier.nit:224 */
1777 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1779 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1780 if (!once_value_30
) {
1781 fra
.me
.REG
[0] = BOX_NativeString("");
1783 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1784 once_value_30
= fra
.me
.REG
[0];
1785 register_static_object(&once_value_30
);
1786 } else fra
.me
.REG
[0] = once_value_30
;
1787 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1789 if (!once_value_31
) {
1790 fra
.me
.REG
[0] = BOX_NativeString("return___nit");
1791 REGB0
= TAG_Int(12);
1792 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1793 once_value_31
= fra
.me
.REG
[0];
1794 register_static_object(&once_value_31
);
1795 } else fra
.me
.REG
[0] = once_value_31
;
1796 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1797 if (!once_value_32
) {
1798 fra
.me
.REG
[2] = BOX_NativeString("return___nitni");
1799 REGB0
= TAG_Int(14);
1800 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1801 once_value_32
= fra
.me
.REG
[2];
1802 register_static_object(&once_value_32
);
1803 } else fra
.me
.REG
[2] = once_value_32
;
1804 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1805 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1806 if (UNTAG_Bool(REGB0
)) {
1807 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 224);
1809 fra
.me
.REG
[2] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1810 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1811 if (!once_value_33
) {
1812 fra
.me
.REG
[2] = BOX_NativeString(";\n");
1814 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1815 once_value_33
= fra
.me
.REG
[2];
1816 register_static_object(&once_value_33
);
1817 } else fra
.me
.REG
[2] = once_value_33
;
1818 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1820 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1821 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1822 /* ./native_interface//frontier.nit:225 */
1823 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1824 if (!once_value_34
) {
1825 fra
.me
.REG
[4] = BOX_NativeString("return return___nit;\n");
1826 REGB0
= TAG_Int(21);
1827 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1828 once_value_34
= fra
.me
.REG
[4];
1829 register_static_object(&once_value_34
);
1830 } else fra
.me
.REG
[4] = once_value_34
;
1831 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1832 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[4]);
1834 /* ./native_interface//frontier.nit:228 */
1835 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1836 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1837 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1838 stack_frame_head
= fra
.me
.prev
;
1841 void native_interface___frontier___MMLocalClass___compile_defaut_extern_type(val_t p0
, val_t p1
){
1842 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1845 static val_t once_value_1
; /* Once value */
1846 static val_t once_value_2
; /* Once value */
1847 static val_t once_value_3
; /* Once value */
1848 static val_t once_value_4
; /* Once value */
1849 static val_t once_value_5
; /* Once value */
1850 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1851 fra
.me
.file
= LOCATE_native_interface___frontier
;
1853 fra
.me
.meth
= LOCATE_native_interface___frontier___MMLocalClass___compile_defaut_extern_type
;
1854 fra
.me
.has_broke
= 0;
1855 fra
.me
.REG_size
= 5;
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
;
1863 /* ./native_interface//frontier.nit:238 */
1864 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1866 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1867 if (!once_value_1
) {
1868 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
1870 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1871 once_value_1
= fra
.me
.REG
[4];
1872 register_static_object(&once_value_1
);
1873 } else fra
.me
.REG
[4] = once_value_1
;
1874 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1875 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1876 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1877 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1878 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1879 if (!once_value_2
) {
1880 fra
.me
.REG
[4] = BOX_NativeString("\n");
1882 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1883 once_value_2
= fra
.me
.REG
[4];
1884 register_static_object(&once_value_2
);
1885 } else fra
.me
.REG
[4] = once_value_2
;
1886 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1888 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1889 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1890 /* ./native_interface//frontier.nit:239 */
1891 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1893 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1894 if (!once_value_3
) {
1895 fra
.me
.REG
[4] = BOX_NativeString("\ttypedef void* ");
1896 REGB0
= TAG_Int(15);
1897 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1898 once_value_3
= fra
.me
.REG
[4];
1899 register_static_object(&once_value_3
);
1900 } else fra
.me
.REG
[4] = once_value_3
;
1901 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1903 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1904 fra
.me
.REG
[0] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1906 if (!once_value_4
) {
1907 fra
.me
.REG
[0] = BOX_NativeString(";\n");
1909 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1910 once_value_4
= fra
.me
.REG
[0];
1911 register_static_object(&once_value_4
);
1912 } else fra
.me
.REG
[0] = once_value_4
;
1913 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1915 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1916 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1917 /* ./native_interface//frontier.nit:240 */
1918 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1919 if (!once_value_5
) {
1920 fra
.me
.REG
[2] = BOX_NativeString("#endif\n\n");
1922 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1923 once_value_5
= fra
.me
.REG
[2];
1924 register_static_object(&once_value_5
);
1925 } else fra
.me
.REG
[2] = once_value_5
;
1926 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1927 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1928 stack_frame_head
= fra
.me
.prev
;
1931 void native_interface___frontier___MMSignature___compile_frontier(val_t p0
, val_t p1
){
1932 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1936 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1937 fra
.me
.file
= LOCATE_native_interface___frontier
;
1939 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSignature___compile_frontier
;
1940 fra
.me
.has_broke
= 0;
1941 fra
.me
.REG_size
= 6;
1942 fra
.me
.REG
[0] = NIT_NULL
;
1943 fra
.me
.REG
[1] = NIT_NULL
;
1944 fra
.me
.REG
[2] = NIT_NULL
;
1945 fra
.me
.REG
[3] = NIT_NULL
;
1946 fra
.me
.REG
[4] = NIT_NULL
;
1947 fra
.me
.REG
[5] = NIT_NULL
;
1950 /* ./native_interface//frontier.nit:248 */
1951 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1952 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1953 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1954 /* ./native_interface//frontier.nit:251 */
1955 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1956 /* ./../lib/standard//collection//array.nit:234 */
1958 /* ./../lib/standard//collection//array.nit:235 */
1959 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1960 if (UNTAG_Bool(REGB1
)) {
1962 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1964 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1965 /* ./../lib/standard//collection//array.nit:236 */
1966 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1967 /* ./../lib/standard//collection//array.nit:237 */
1969 /* ./../lib/standard//collection//array.nit:23 */
1970 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1971 if (UNTAG_Bool(REGB1
)) {
1973 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1975 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1976 /* ./../lib/standard//kernel.nit:215 */
1977 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1978 /* ./../lib/standard//collection//array.nit:237 */
1979 if (UNTAG_Bool(REGB1
)) {
1980 /* ./../lib/standard//collection//array.nit:238 */
1981 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1982 if (UNTAG_Bool(REGB1
)) {
1983 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1985 /* ./../lib/standard//collection//array.nit:654 */
1986 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1987 /* ./native_interface//frontier.nit:251 */
1988 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1989 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1990 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1991 /* ./../lib/standard//collection//array.nit:239 */
1993 /* ./../lib/standard//kernel.nit:218 */
1994 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1995 /* ./../lib/standard//collection//array.nit:239 */
1998 /* ./../lib/standard//collection//array.nit:237 */
2003 /* ./native_interface//frontier.nit:254 */
2004 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2005 /* ./native_interface//frontier.nit:255 */
2006 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2007 if (UNTAG_Bool(REGB0
)) {
2009 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2010 if (UNTAG_Bool(REGB1
)) {
2011 REGB1
= TAG_Bool(false);
2014 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2018 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2019 if (UNTAG_Bool(REGB0
)) {
2020 /* ./native_interface//frontier.nit:256 */
2021 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2024 stack_frame_head
= fra
.me
.prev
;
2027 val_t
native_interface___frontier___FrontierVisitor___header_top(val_t p0
){
2028 struct {struct stack_frame_t me
;} fra
;
2031 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2032 fra
.me
.file
= LOCATE_native_interface___frontier
;
2034 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header_top
;
2035 fra
.me
.has_broke
= 0;
2036 fra
.me
.REG_size
= 1;
2037 fra
.me
.REG
[0] = NIT_NULL
;
2039 /* ./native_interface//frontier.nit:264 */
2040 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0])!=NIT_NULL
);
2041 if (UNTAG_Bool(REGB0
)) {
2043 nit_abort("Uninitialized attribute %s", "@header_top", LOCATE_native_interface___frontier
, 264);
2045 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0]);
2046 stack_frame_head
= fra
.me
.prev
;
2047 return fra
.me
.REG
[0];
2049 void native_interface___frontier___FrontierVisitor___header_top__eq(val_t p0
, val_t p1
){
2050 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2053 fra
.me
.file
= LOCATE_native_interface___frontier
;
2055 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header_top__eq
;
2056 fra
.me
.has_broke
= 0;
2057 fra
.me
.REG_size
= 2;
2058 fra
.me
.REG
[0] = NIT_NULL
;
2059 fra
.me
.REG
[1] = NIT_NULL
;
2062 /* ./native_interface//frontier.nit:264 */
2063 ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2064 stack_frame_head
= fra
.me
.prev
;
2067 val_t
native_interface___frontier___FrontierVisitor___header(val_t p0
){
2068 struct {struct stack_frame_t me
;} fra
;
2071 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2072 fra
.me
.file
= LOCATE_native_interface___frontier
;
2074 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header
;
2075 fra
.me
.has_broke
= 0;
2076 fra
.me
.REG_size
= 1;
2077 fra
.me
.REG
[0] = NIT_NULL
;
2079 /* ./native_interface//frontier.nit:267 */
2080 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0])!=NIT_NULL
);
2081 if (UNTAG_Bool(REGB0
)) {
2083 nit_abort("Uninitialized attribute %s", "@header", LOCATE_native_interface___frontier
, 267);
2085 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0]);
2086 stack_frame_head
= fra
.me
.prev
;
2087 return fra
.me
.REG
[0];
2089 void native_interface___frontier___FrontierVisitor___header__eq(val_t p0
, val_t p1
){
2090 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2093 fra
.me
.file
= LOCATE_native_interface___frontier
;
2095 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header__eq
;
2096 fra
.me
.has_broke
= 0;
2097 fra
.me
.REG_size
= 2;
2098 fra
.me
.REG
[0] = NIT_NULL
;
2099 fra
.me
.REG
[1] = NIT_NULL
;
2102 /* ./native_interface//frontier.nit:267 */
2103 ATTR_native_interface___frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2104 stack_frame_head
= fra
.me
.prev
;
2107 val_t
native_interface___frontier___FrontierVisitor___body(val_t p0
){
2108 struct {struct stack_frame_t me
;} fra
;
2111 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2112 fra
.me
.file
= LOCATE_native_interface___frontier
;
2114 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___body
;
2115 fra
.me
.has_broke
= 0;
2116 fra
.me
.REG_size
= 1;
2117 fra
.me
.REG
[0] = NIT_NULL
;
2119 /* ./native_interface//frontier.nit:270 */
2120 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0])!=NIT_NULL
);
2121 if (UNTAG_Bool(REGB0
)) {
2123 nit_abort("Uninitialized attribute %s", "@body", LOCATE_native_interface___frontier
, 270);
2125 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0]);
2126 stack_frame_head
= fra
.me
.prev
;
2127 return fra
.me
.REG
[0];
2129 void native_interface___frontier___FrontierVisitor___body__eq(val_t p0
, val_t p1
){
2130 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2132 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2133 fra
.me
.file
= LOCATE_native_interface___frontier
;
2135 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___body__eq
;
2136 fra
.me
.has_broke
= 0;
2137 fra
.me
.REG_size
= 2;
2138 fra
.me
.REG
[0] = NIT_NULL
;
2139 fra
.me
.REG
[1] = NIT_NULL
;
2142 /* ./native_interface//frontier.nit:270 */
2143 ATTR_native_interface___frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2144 stack_frame_head
= fra
.me
.prev
;
2147 val_t
native_interface___frontier___FrontierVisitor___friendlys(val_t p0
){
2148 struct {struct stack_frame_t me
;} fra
;
2151 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2152 fra
.me
.file
= LOCATE_native_interface___frontier
;
2154 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___friendlys
;
2155 fra
.me
.has_broke
= 0;
2156 fra
.me
.REG_size
= 1;
2157 fra
.me
.REG
[0] = NIT_NULL
;
2159 /* ./native_interface//frontier.nit:273 */
2160 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0])!=NIT_NULL
);
2161 if (UNTAG_Bool(REGB0
)) {
2163 nit_abort("Uninitialized attribute %s", "@friendlys", LOCATE_native_interface___frontier
, 273);
2165 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0]);
2166 stack_frame_head
= fra
.me
.prev
;
2167 return fra
.me
.REG
[0];
2169 void native_interface___frontier___FrontierVisitor___friendlys__eq(val_t p0
, val_t p1
){
2170 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2172 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2173 fra
.me
.file
= LOCATE_native_interface___frontier
;
2175 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___friendlys__eq
;
2176 fra
.me
.has_broke
= 0;
2177 fra
.me
.REG_size
= 2;
2178 fra
.me
.REG
[0] = NIT_NULL
;
2179 fra
.me
.REG
[1] = NIT_NULL
;
2182 /* ./native_interface//frontier.nit:273 */
2183 ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2184 stack_frame_head
= fra
.me
.prev
;
2187 val_t
native_interface___frontier___FrontierVisitor___types(val_t p0
){
2188 struct {struct stack_frame_t me
;} fra
;
2191 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2192 fra
.me
.file
= LOCATE_native_interface___frontier
;
2194 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___types
;
2195 fra
.me
.has_broke
= 0;
2196 fra
.me
.REG_size
= 1;
2197 fra
.me
.REG
[0] = NIT_NULL
;
2199 /* ./native_interface//frontier.nit:276 */
2200 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0])!=NIT_NULL
);
2201 if (UNTAG_Bool(REGB0
)) {
2203 nit_abort("Uninitialized attribute %s", "@types", LOCATE_native_interface___frontier
, 276);
2205 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0]);
2206 stack_frame_head
= fra
.me
.prev
;
2207 return fra
.me
.REG
[0];
2209 void native_interface___frontier___FrontierVisitor___types__eq(val_t p0
, val_t p1
){
2210 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2213 fra
.me
.file
= LOCATE_native_interface___frontier
;
2215 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___types__eq
;
2216 fra
.me
.has_broke
= 0;
2217 fra
.me
.REG_size
= 2;
2218 fra
.me
.REG
[0] = NIT_NULL
;
2219 fra
.me
.REG
[1] = NIT_NULL
;
2222 /* ./native_interface//frontier.nit:276 */
2223 ATTR_native_interface___frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2224 stack_frame_head
= fra
.me
.prev
;
2227 val_t
native_interface___frontier___FrontierVisitor___casts(val_t p0
){
2228 struct {struct stack_frame_t me
;} fra
;
2231 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2232 fra
.me
.file
= LOCATE_native_interface___frontier
;
2234 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___casts
;
2235 fra
.me
.has_broke
= 0;
2236 fra
.me
.REG_size
= 1;
2237 fra
.me
.REG
[0] = NIT_NULL
;
2239 /* ./native_interface//frontier.nit:279 */
2240 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0])!=NIT_NULL
);
2241 if (UNTAG_Bool(REGB0
)) {
2243 nit_abort("Uninitialized attribute %s", "@casts", LOCATE_native_interface___frontier
, 279);
2245 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0]);
2246 stack_frame_head
= fra
.me
.prev
;
2247 return fra
.me
.REG
[0];
2249 void native_interface___frontier___FrontierVisitor___casts__eq(val_t p0
, val_t p1
){
2250 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2252 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2253 fra
.me
.file
= LOCATE_native_interface___frontier
;
2255 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___casts__eq
;
2256 fra
.me
.has_broke
= 0;
2257 fra
.me
.REG_size
= 2;
2258 fra
.me
.REG
[0] = NIT_NULL
;
2259 fra
.me
.REG
[1] = NIT_NULL
;
2262 /* ./native_interface//frontier.nit:279 */
2263 ATTR_native_interface___frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2264 stack_frame_head
= fra
.me
.prev
;
2267 val_t
native_interface___frontier___FrontierVisitor___mmmodule(val_t p0
){
2268 struct {struct stack_frame_t me
;} fra
;
2271 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2272 fra
.me
.file
= LOCATE_native_interface___frontier
;
2274 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___mmmodule
;
2275 fra
.me
.has_broke
= 0;
2276 fra
.me
.REG_size
= 1;
2277 fra
.me
.REG
[0] = NIT_NULL
;
2279 /* ./native_interface//frontier.nit:282 */
2280 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2281 if (UNTAG_Bool(REGB0
)) {
2283 nit_abort("Uninitialized attribute %s", "@mmmodule", LOCATE_native_interface___frontier
, 282);
2285 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]);
2286 stack_frame_head
= fra
.me
.prev
;
2287 return fra
.me
.REG
[0];
2289 void native_interface___frontier___FrontierVisitor___mmmodule__eq(val_t p0
, val_t p1
){
2290 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2292 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2293 fra
.me
.file
= LOCATE_native_interface___frontier
;
2295 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___mmmodule__eq
;
2296 fra
.me
.has_broke
= 0;
2297 fra
.me
.REG_size
= 2;
2298 fra
.me
.REG
[0] = NIT_NULL
;
2299 fra
.me
.REG
[1] = NIT_NULL
;
2302 /* ./native_interface//frontier.nit:282 */
2303 ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2304 stack_frame_head
= fra
.me
.prev
;
2307 val_t
native_interface___frontier___FrontierVisitor___cprogram(val_t p0
){
2308 struct {struct stack_frame_t me
;} fra
;
2311 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2312 fra
.me
.file
= LOCATE_native_interface___frontier
;
2314 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___cprogram
;
2315 fra
.me
.has_broke
= 0;
2316 fra
.me
.REG_size
= 1;
2317 fra
.me
.REG
[0] = NIT_NULL
;
2319 /* ./native_interface//frontier.nit:284 */
2320 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0])!=NIT_NULL
);
2321 if (UNTAG_Bool(REGB0
)) {
2323 nit_abort("Uninitialized attribute %s", "@cprogram", LOCATE_native_interface___frontier
, 284);
2325 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0]);
2326 stack_frame_head
= fra
.me
.prev
;
2327 return fra
.me
.REG
[0];
2329 void native_interface___frontier___FrontierVisitor___cprogram__eq(val_t p0
, val_t p1
){
2330 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2332 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2333 fra
.me
.file
= LOCATE_native_interface___frontier
;
2335 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___cprogram__eq
;
2336 fra
.me
.has_broke
= 0;
2337 fra
.me
.REG_size
= 2;
2338 fra
.me
.REG
[0] = NIT_NULL
;
2339 fra
.me
.REG
[1] = NIT_NULL
;
2342 /* ./native_interface//frontier.nit:284 */
2343 ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2344 stack_frame_head
= fra
.me
.prev
;
2347 void native_interface___frontier___FrontierVisitor___compile_cached(val_t p0
){
2348 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2350 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2351 fra
.me
.file
= LOCATE_native_interface___frontier
;
2353 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2354 fra
.me
.has_broke
= 0;
2355 fra
.me
.REG_size
= 2;
2356 fra
.me
.REG
[0] = NIT_NULL
;
2357 fra
.me
.REG
[1] = NIT_NULL
;
2359 /* ./native_interface//frontier.nit:289 */
2360 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2361 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___FrontierVisitor___compile_cached_1
));
2362 /* ./native_interface//frontier.nit:292 */
2363 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___friendlys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2364 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___FrontierVisitor___compile_cached_2
));
2365 /* ./native_interface//frontier.nit:295 */
2366 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___casts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2367 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___FrontierVisitor___compile_cached_3
));
2368 stack_frame_head
= fra
.me
.prev
;
2371 void OC_native_interface___frontier___FrontierVisitor___compile_cached_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2372 struct {struct stack_frame_t me
;} fra
;
2375 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2376 fra
.me
.file
= LOCATE_native_interface___frontier
;
2378 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2379 fra
.me
.has_broke
= 0;
2380 fra
.me
.REG_size
= 1;
2381 fra
.me
.REG
[0] = NIT_NULL
;
2382 fra
.me
.closure_ctx
= closctx_param
;
2383 fra
.me
.closure_funs
= CREG
;
2385 CREG
[0] = clos_fun0
;
2386 CALL_native_interface___frontier___MMType___compile_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2387 stack_frame_head
= fra
.me
.prev
;
2390 void OC_native_interface___frontier___FrontierVisitor___compile_cached_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2391 struct {struct stack_frame_t me
;} fra
;
2394 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2395 fra
.me
.file
= LOCATE_native_interface___frontier
;
2397 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2398 fra
.me
.has_broke
= 0;
2399 fra
.me
.REG_size
= 1;
2400 fra
.me
.REG
[0] = NIT_NULL
;
2401 fra
.me
.closure_ctx
= closctx_param
;
2402 fra
.me
.closure_funs
= CREG
;
2404 CREG
[0] = clos_fun0
;
2405 CALL_native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2406 stack_frame_head
= fra
.me
.prev
;
2409 void OC_native_interface___frontier___FrontierVisitor___compile_cached_3(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2410 struct {struct stack_frame_t me
;} fra
;
2413 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2414 fra
.me
.file
= LOCATE_native_interface___frontier
;
2416 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2417 fra
.me
.has_broke
= 0;
2418 fra
.me
.REG_size
= 1;
2419 fra
.me
.REG
[0] = NIT_NULL
;
2420 fra
.me
.closure_ctx
= closctx_param
;
2421 fra
.me
.closure_funs
= CREG
;
2423 CREG
[0] = clos_fun0
;
2424 CALL_native_interface___frontier___MMImportedCast___compile_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2425 stack_frame_head
= fra
.me
.prev
;
2428 void native_interface___frontier___FrontierVisitor___write_to_files(val_t p0
, val_t p1
){
2429 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2432 static val_t once_value_1
; /* Once value */
2433 static val_t once_value_2
; /* Once value */
2434 static val_t once_value_3
; /* Once value */
2435 static val_t once_value_4
; /* Once value */
2436 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2437 fra
.me
.file
= LOCATE_native_interface___frontier
;
2439 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___write_to_files
;
2440 fra
.me
.has_broke
= 0;
2441 fra
.me
.REG_size
= 6;
2442 fra
.me
.REG
[0] = NIT_NULL
;
2443 fra
.me
.REG
[1] = NIT_NULL
;
2444 fra
.me
.REG
[2] = NIT_NULL
;
2445 fra
.me
.REG
[3] = NIT_NULL
;
2446 fra
.me
.REG
[4] = NIT_NULL
;
2447 fra
.me
.REG
[5] = NIT_NULL
;
2450 /* ./native_interface//frontier.nit:300 */
2452 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2453 if (!once_value_1
) {
2454 fra
.me
.REG
[3] = BOX_NativeString("");
2456 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2457 once_value_1
= fra
.me
.REG
[3];
2458 register_static_object(&once_value_1
);
2459 } else fra
.me
.REG
[3] = once_value_1
;
2460 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2463 if (!once_value_2
) {
2464 fra
.me
.REG
[3] = BOX_NativeString("._nitni.h");
2466 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2467 once_value_2
= fra
.me
.REG
[3];
2468 register_static_object(&once_value_2
);
2469 } else fra
.me
.REG
[3] = once_value_2
;
2470 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2472 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2473 /* ./native_interface//frontier.nit:301 */
2474 fra
.me
.REG
[3] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[2]);
2475 /* ./native_interface//frontier.nit:302 */
2476 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2477 CALL_compiling___compiling_writer___Writer___write_to_stream(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2478 /* ./native_interface//frontier.nit:303 */
2479 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2480 CALL_compiling___compiling_writer___Writer___write_to_stream(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2481 /* ./native_interface//frontier.nit:304 */
2482 CALL_standard___stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2483 /* ./native_interface//frontier.nit:306 */
2485 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2486 if (!once_value_3
) {
2487 fra
.me
.REG
[5] = BOX_NativeString("");
2489 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2490 once_value_3
= fra
.me
.REG
[5];
2491 register_static_object(&once_value_3
);
2492 } else fra
.me
.REG
[5] = once_value_3
;
2493 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2495 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2496 if (!once_value_4
) {
2497 fra
.me
.REG
[1] = BOX_NativeString("._nitni.c");
2499 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2500 once_value_4
= fra
.me
.REG
[1];
2501 register_static_object(&once_value_4
);
2502 } else fra
.me
.REG
[1] = once_value_4
;
2503 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2505 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2506 fra
.me
.REG
[2] = fra
.me
.REG
[4];
2507 /* ./native_interface//frontier.nit:307 */
2508 fra
.me
.REG
[2] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[2]);
2509 fra
.me
.REG
[3] = fra
.me
.REG
[2];
2510 /* ./native_interface//frontier.nit:308 */
2511 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2512 CALL_compiling___compiling_writer___Writer___write_to_stream(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2513 /* ./native_interface//frontier.nit:309 */
2514 CALL_standard___stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2515 stack_frame_head
= fra
.me
.prev
;
2518 void native_interface___frontier___FrontierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2519 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_native_interface___frontier___FrontierVisitor
].i
;
2520 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2522 if (init_table
[itpos0
]) return;
2523 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2524 fra
.me
.file
= LOCATE_native_interface___frontier
;
2526 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___init
;
2527 fra
.me
.has_broke
= 0;
2528 fra
.me
.REG_size
= 3;
2529 fra
.me
.REG
[0] = NIT_NULL
;
2530 fra
.me
.REG
[1] = NIT_NULL
;
2531 fra
.me
.REG
[2] = NIT_NULL
;
2535 ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2536 ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
2537 stack_frame_head
= fra
.me
.prev
;
2538 init_table
[itpos0
] = 1;
2541 val_t
native_interface___frontier___String___path_from_parent(val_t p0
){
2542 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2547 static val_t once_value_2
; /* Once value */
2548 static val_t once_value_3
; /* Once value */
2549 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2550 fra
.me
.file
= LOCATE_native_interface___frontier
;
2552 fra
.me
.meth
= LOCATE_native_interface___frontier___String___path_from_parent
;
2553 fra
.me
.has_broke
= 0;
2554 fra
.me
.REG_size
= 4;
2555 fra
.me
.REG
[0] = NIT_NULL
;
2556 fra
.me
.REG
[1] = NIT_NULL
;
2557 fra
.me
.REG
[2] = NIT_NULL
;
2558 fra
.me
.REG
[3] = NIT_NULL
;
2560 /* ./native_interface//frontier.nit:318 */
2562 REGB0
= CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2563 REGB1
= TAG_Char('/');
2564 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2565 if (UNTAG_Bool(REGB2
)) {
2567 /* ./../lib/standard//kernel.nit:350 */
2568 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2569 /* ./native_interface//frontier.nit:318 */
2572 if (UNTAG_Bool(REGB2
)) {
2573 /* ./native_interface//frontier.nit:320 */
2574 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2577 /* ./native_interface//frontier.nit:322 */
2579 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2580 if (!once_value_2
) {
2581 fra
.me
.REG
[3] = BOX_NativeString("../");
2583 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
2584 once_value_2
= fra
.me
.REG
[3];
2585 register_static_object(&once_value_2
);
2586 } else fra
.me
.REG
[3] = once_value_2
;
2587 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2588 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2590 if (!once_value_3
) {
2591 fra
.me
.REG
[0] = BOX_NativeString("");
2593 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
2594 once_value_3
= fra
.me
.REG
[0];
2595 register_static_object(&once_value_3
);
2596 } else fra
.me
.REG
[0] = once_value_3
;
2597 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2598 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2599 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2600 fra
.me
.REG
[1] = fra
.me
.REG
[2];
2604 stack_frame_head
= fra
.me
.prev
;
2605 return fra
.me
.REG
[1];
2607 void native_interface___frontier___MMImportedCast___compile_to_frontier(val_t p0
, val_t p1
){
2608 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2612 static val_t once_value_1
; /* Once value */
2613 static val_t once_value_2
; /* Once value */
2614 static val_t once_value_3
; /* Once value */
2615 static val_t once_value_4
; /* Once value */
2616 static val_t once_value_5
; /* Once value */
2617 static val_t once_value_6
; /* Once value */
2618 static val_t once_value_7
; /* Once value */
2619 static val_t once_value_8
; /* Once value */
2620 static val_t once_value_9
; /* Once value */
2621 static val_t once_value_10
; /* Once value */
2622 static val_t once_value_11
; /* Once value */
2623 static val_t once_value_12
; /* Once value */
2624 static val_t once_value_13
; /* Once value */
2625 static val_t once_value_14
; /* Once value */
2626 static val_t once_value_15
; /* Once value */
2627 static val_t once_value_16
; /* Once value */
2628 static val_t once_value_17
; /* Once value */
2629 static val_t once_value_18
; /* Once value */
2630 static val_t once_value_19
; /* Once value */
2631 static val_t once_value_20
; /* Once value */
2632 static val_t once_value_21
; /* Once value */
2633 static val_t once_value_22
; /* Once value */
2634 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2635 fra
.me
.file
= LOCATE_native_interface___frontier
;
2637 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_to_frontier
;
2638 fra
.me
.has_broke
= 0;
2639 fra
.me
.REG_size
= 5;
2640 fra
.me
.REG
[0] = NIT_NULL
;
2641 fra
.me
.REG
[1] = NIT_NULL
;
2642 fra
.me
.REG
[2] = NIT_NULL
;
2643 fra
.me
.REG
[3] = NIT_NULL
;
2644 fra
.me
.REG
[4] = NIT_NULL
;
2647 /* ./native_interface//frontier.nit:333 */
2648 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2649 if (UNTAG_Bool(REGB0
)) {
2650 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_not_null_to_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2652 REGB1
= TAG_Bool(false);
2655 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2656 if (UNTAG_Bool(REGB0
)) {
2657 /* ./native_interface//frontier.nit:334 */
2658 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2660 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2661 if (!once_value_1
) {
2662 fra
.me
.REG
[4] = BOX_NativeString("\n/* Type check for ");
2663 REGB0
= TAG_Int(19);
2664 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2665 once_value_1
= fra
.me
.REG
[4];
2666 register_static_object(&once_value_1
);
2667 } else fra
.me
.REG
[4] = once_value_1
;
2668 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2670 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2671 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2673 if (!once_value_2
) {
2674 fra
.me
.REG
[4] = BOX_NativeString(" with ");
2676 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2677 once_value_2
= fra
.me
.REG
[4];
2678 register_static_object(&once_value_2
);
2679 } else fra
.me
.REG
[4] = once_value_2
;
2680 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2682 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2683 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2685 if (!once_value_3
) {
2686 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
2688 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2689 once_value_3
= fra
.me
.REG
[4];
2690 register_static_object(&once_value_3
);
2691 } else fra
.me
.REG
[4] = once_value_3
;
2692 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2693 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2694 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2695 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2696 /* ./native_interface//frontier.nit:335 */
2697 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2699 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2700 if (!once_value_4
) {
2701 fra
.me
.REG
[4] = BOX_NativeString("");
2703 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2704 once_value_4
= fra
.me
.REG
[4];
2705 register_static_object(&once_value_4
);
2706 } else fra
.me
.REG
[4] = once_value_4
;
2707 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2709 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2710 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2712 if (!once_value_5
) {
2713 fra
.me
.REG
[4] = BOX_NativeString(";\n");
2715 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2716 once_value_5
= fra
.me
.REG
[4];
2717 register_static_object(&once_value_5
);
2718 } else fra
.me
.REG
[4] = once_value_5
;
2719 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2721 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2722 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2723 /* ./native_interface//frontier.nit:337 */
2724 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2726 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2727 if (!once_value_6
) {
2728 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
2730 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2731 once_value_6
= fra
.me
.REG
[4];
2732 register_static_object(&once_value_6
);
2733 } else fra
.me
.REG
[4] = once_value_6
;
2734 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2736 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2738 if (!once_value_7
) {
2739 fra
.me
.REG
[4] = BOX_NativeString("\n");
2741 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2742 once_value_7
= fra
.me
.REG
[4];
2743 register_static_object(&once_value_7
);
2744 } else fra
.me
.REG
[4] = once_value_7
;
2745 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2747 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2748 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2749 /* ./native_interface//frontier.nit:338 */
2750 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2752 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2753 if (!once_value_8
) {
2754 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2756 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2757 once_value_8
= fra
.me
.REG
[4];
2758 register_static_object(&once_value_8
);
2759 } else fra
.me
.REG
[4] = once_value_8
;
2760 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2762 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2764 if (!once_value_9
) {
2765 fra
.me
.REG
[4] = BOX_NativeString(" ");
2767 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2768 once_value_9
= fra
.me
.REG
[4];
2769 register_static_object(&once_value_9
);
2770 } else fra
.me
.REG
[4] = once_value_9
;
2771 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2773 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2774 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_local_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2775 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2776 if (!once_value_10
) {
2777 fra
.me
.REG
[4] = BOX_NativeString("\n");
2779 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2780 once_value_10
= fra
.me
.REG
[4];
2781 register_static_object(&once_value_10
);
2782 } else fra
.me
.REG
[4] = once_value_10
;
2783 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2785 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2786 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2787 /* ./native_interface//frontier.nit:339 */
2788 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2789 if (!once_value_11
) {
2790 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
2792 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2793 once_value_11
= fra
.me
.REG
[3];
2794 register_static_object(&once_value_11
);
2795 } else fra
.me
.REG
[3] = once_value_11
;
2796 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2797 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2798 /* ./native_interface//frontier.nit:341 */
2799 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2800 fra
.me
.REG
[3] = CALL_native_interface___frontier___MMImportedCast___compile_is(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2801 /* ./native_interface//frontier.nit:342 */
2802 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2803 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2804 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2806 /* ./native_interface//frontier.nit:346 */
2807 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2809 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2810 if (!once_value_12
) {
2811 fra
.me
.REG
[4] = BOX_NativeString("\n/* Cast for ");
2812 REGB0
= TAG_Int(13);
2813 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2814 once_value_12
= fra
.me
.REG
[4];
2815 register_static_object(&once_value_12
);
2816 } else fra
.me
.REG
[4] = once_value_12
;
2817 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2818 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2819 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2820 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2822 if (!once_value_13
) {
2823 fra
.me
.REG
[4] = BOX_NativeString(" to ");
2825 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2826 once_value_13
= fra
.me
.REG
[4];
2827 register_static_object(&once_value_13
);
2828 } else fra
.me
.REG
[4] = once_value_13
;
2829 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2830 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2831 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2832 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2833 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2834 if (!once_value_14
) {
2835 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
2837 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2838 once_value_14
= fra
.me
.REG
[4];
2839 register_static_object(&once_value_14
);
2840 } else fra
.me
.REG
[4] = once_value_14
;
2841 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2843 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2844 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2845 /* ./native_interface//frontier.nit:347 */
2846 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2848 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2849 if (!once_value_15
) {
2850 fra
.me
.REG
[4] = BOX_NativeString("");
2852 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2853 once_value_15
= fra
.me
.REG
[4];
2854 register_static_object(&once_value_15
);
2855 } else fra
.me
.REG
[4] = once_value_15
;
2856 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2858 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2859 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2861 if (!once_value_16
) {
2862 fra
.me
.REG
[4] = BOX_NativeString(";\n");
2864 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2865 once_value_16
= fra
.me
.REG
[4];
2866 register_static_object(&once_value_16
);
2867 } else fra
.me
.REG
[4] = once_value_16
;
2868 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2870 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2871 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2872 /* ./native_interface//frontier.nit:349 */
2873 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2875 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2876 if (!once_value_17
) {
2877 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
2879 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2880 once_value_17
= fra
.me
.REG
[4];
2881 register_static_object(&once_value_17
);
2882 } else fra
.me
.REG
[4] = once_value_17
;
2883 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2885 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2887 if (!once_value_18
) {
2888 fra
.me
.REG
[4] = BOX_NativeString("\n");
2890 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2891 once_value_18
= fra
.me
.REG
[4];
2892 register_static_object(&once_value_18
);
2893 } else fra
.me
.REG
[4] = once_value_18
;
2894 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2896 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2897 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2898 /* ./native_interface//frontier.nit:350 */
2899 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2901 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2902 if (!once_value_19
) {
2903 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2905 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2906 once_value_19
= fra
.me
.REG
[4];
2907 register_static_object(&once_value_19
);
2908 } else fra
.me
.REG
[4] = once_value_19
;
2909 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2910 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2911 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2913 if (!once_value_20
) {
2914 fra
.me
.REG
[4] = BOX_NativeString(" ");
2916 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2917 once_value_20
= fra
.me
.REG
[4];
2918 register_static_object(&once_value_20
);
2919 } else fra
.me
.REG
[4] = once_value_20
;
2920 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2922 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2923 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_local_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2925 if (!once_value_21
) {
2926 fra
.me
.REG
[4] = BOX_NativeString("\n");
2928 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2929 once_value_21
= fra
.me
.REG
[4];
2930 register_static_object(&once_value_21
);
2931 } else fra
.me
.REG
[4] = once_value_21
;
2932 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2934 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2935 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2936 /* ./native_interface//frontier.nit:351 */
2937 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2938 if (!once_value_22
) {
2939 fra
.me
.REG
[2] = BOX_NativeString("#endif\n");
2941 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2942 once_value_22
= fra
.me
.REG
[2];
2943 register_static_object(&once_value_22
);
2944 } else fra
.me
.REG
[2] = once_value_22
;
2945 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2946 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2947 /* ./native_interface//frontier.nit:353 */
2948 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2949 fra
.me
.REG
[2] = CALL_native_interface___frontier___MMImportedCast___compile_as(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2950 /* ./native_interface//frontier.nit:354 */
2951 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2952 fra
.me
.REG
[2] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2953 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2954 stack_frame_head
= fra
.me
.prev
;
2957 val_t
native_interface___frontier___MMImportedCast___compile_as(val_t p0
, val_t p1
){
2958 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2961 static val_t once_value_1
; /* Once value */
2962 static val_t once_value_2
; /* Once value */
2963 static val_t once_value_3
; /* Once value */
2964 static val_t once_value_4
; /* Once value */
2965 static val_t once_value_5
; /* Once value */
2966 static val_t once_value_6
; /* Once value */
2967 static val_t once_value_7
; /* Once value */
2968 static val_t once_value_8
; /* Once value */
2969 static val_t once_value_9
; /* Once value */
2970 static val_t once_value_10
; /* Once value */
2971 static val_t once_value_11
; /* Once value */
2972 static val_t once_value_12
; /* Once value */
2973 static val_t once_value_13
; /* Once value */
2974 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2975 fra
.me
.file
= LOCATE_native_interface___frontier
;
2977 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_as
;
2978 fra
.me
.has_broke
= 0;
2979 fra
.me
.REG_size
= 8;
2980 fra
.me
.REG
[0] = NIT_NULL
;
2981 fra
.me
.REG
[1] = NIT_NULL
;
2982 fra
.me
.REG
[2] = NIT_NULL
;
2983 fra
.me
.REG
[3] = NIT_NULL
;
2984 fra
.me
.REG
[4] = NIT_NULL
;
2985 fra
.me
.REG
[5] = NIT_NULL
;
2986 fra
.me
.REG
[6] = NIT_NULL
;
2987 fra
.me
.REG
[7] = NIT_NULL
;
2990 /* ./native_interface//frontier.nit:361 */
2991 fra
.me
.REG
[1] = CALL_native_interface___ni_metamodel___MMImportedCast___as_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2992 fra
.me
.REG
[1] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[1]);
2993 /* ./native_interface//frontier.nit:363 */
2994 if (!once_value_1
) {
2995 fra
.me
.REG
[2] = BOX_NativeString("out");
2997 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2998 once_value_1
= fra
.me
.REG
[2];
2999 register_static_object(&once_value_1
);
3000 } else fra
.me
.REG
[2] = once_value_1
;
3001 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3002 /* ./native_interface//frontier.nit:364 */
3003 if (!once_value_2
) {
3004 fra
.me
.REG
[3] = BOX_NativeString("temp");
3006 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3007 once_value_2
= fra
.me
.REG
[3];
3008 register_static_object(&once_value_2
);
3009 } else fra
.me
.REG
[3] = once_value_2
;
3010 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3011 /* ./native_interface//frontier.nit:366 */
3012 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3014 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3015 if (!once_value_3
) {
3016 fra
.me
.REG
[6] = BOX_NativeString("val_t ");
3018 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3019 once_value_3
= fra
.me
.REG
[6];
3020 register_static_object(&once_value_3
);
3021 } else fra
.me
.REG
[6] = once_value_3
;
3022 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3024 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3025 if (!once_value_4
) {
3026 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3028 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3029 once_value_4
= fra
.me
.REG
[6];
3030 register_static_object(&once_value_4
);
3031 } else fra
.me
.REG
[6] = once_value_4
;
3032 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3033 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3034 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3035 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3036 /* ./native_interface//frontier.nit:367 */
3037 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3039 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3040 if (!once_value_5
) {
3041 fra
.me
.REG
[6] = BOX_NativeString("");
3043 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3044 once_value_5
= fra
.me
.REG
[6];
3045 register_static_object(&once_value_5
);
3046 } else fra
.me
.REG
[6] = once_value_5
;
3047 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3048 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3049 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3050 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3052 if (!once_value_6
) {
3053 fra
.me
.REG
[6] = BOX_NativeString(" ");
3055 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3056 once_value_6
= fra
.me
.REG
[6];
3057 register_static_object(&once_value_6
);
3058 } else fra
.me
.REG
[6] = once_value_6
;
3059 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3060 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3062 if (!once_value_7
) {
3063 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3065 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3066 once_value_7
= fra
.me
.REG
[6];
3067 register_static_object(&once_value_7
);
3068 } else fra
.me
.REG
[6] = once_value_7
;
3069 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3070 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3071 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3072 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3073 /* ./native_interface//frontier.nit:369 */
3074 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3076 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3077 if (!once_value_8
) {
3078 fra
.me
.REG
[6] = BOX_NativeString("");
3080 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3081 once_value_8
= fra
.me
.REG
[6];
3082 register_static_object(&once_value_8
);
3083 } else fra
.me
.REG
[6] = once_value_8
;
3084 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3085 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3086 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3087 fra
.me
.REG
[7] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3088 fra
.me
.REG
[7] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3090 if (!once_value_9
) {
3091 fra
.me
.REG
[7] = BOX_NativeString(";\n");
3093 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3094 once_value_9
= fra
.me
.REG
[7];
3095 register_static_object(&once_value_9
);
3096 } else fra
.me
.REG
[7] = once_value_9
;
3097 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3099 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3100 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3101 /* ./native_interface//frontier.nit:372 */
3102 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3103 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3104 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3105 if (UNTAG_Bool(REGB0
)) {
3106 /* ./native_interface//frontier.nit:373 */
3107 CALL_native_interface___frontier___MMImportedCast___compile_check_is_not_null(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
3109 /* ./native_interface//frontier.nit:377 */
3110 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3111 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3112 if (UNTAG_Bool(REGB0
)) {
3113 /* ./native_interface//frontier.nit:378 */
3114 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3115 CALL_native_interface___frontier___MMType___compile_check_isa(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[3]);
3117 /* ./native_interface//frontier.nit:381 */
3118 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3120 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3121 if (!once_value_10
) {
3122 fra
.me
.REG
[7] = BOX_NativeString("");
3124 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3125 once_value_10
= fra
.me
.REG
[7];
3126 register_static_object(&once_value_10
);
3127 } else fra
.me
.REG
[7] = once_value_10
;
3128 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3130 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3131 fra
.me
.REG
[3] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[3]);
3132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3133 if (!once_value_11
) {
3134 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3136 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3137 once_value_11
= fra
.me
.REG
[3];
3138 register_static_object(&once_value_11
);
3139 } else fra
.me
.REG
[3] = once_value_11
;
3140 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3142 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3143 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3144 /* ./native_interface//frontier.nit:383 */
3145 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3147 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3148 if (!once_value_12
) {
3149 fra
.me
.REG
[3] = BOX_NativeString("return ");
3151 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3152 once_value_12
= fra
.me
.REG
[3];
3153 register_static_object(&once_value_12
);
3154 } else fra
.me
.REG
[3] = once_value_12
;
3155 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3157 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3158 if (!once_value_13
) {
3159 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3161 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3162 once_value_13
= fra
.me
.REG
[2];
3163 register_static_object(&once_value_13
);
3164 } else fra
.me
.REG
[2] = once_value_13
;
3165 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3167 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3168 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3169 /* ./native_interface//frontier.nit:385 */
3172 stack_frame_head
= fra
.me
.prev
;
3173 return fra
.me
.REG
[1];
3175 val_t
native_interface___frontier___MMImportedCast___compile_is(val_t p0
, val_t p1
){
3176 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
3179 static val_t once_value_1
; /* Once value */
3180 static val_t once_value_2
; /* Once value */
3181 static val_t once_value_3
; /* Once value */
3182 static val_t once_value_4
; /* Once value */
3183 static val_t once_value_5
; /* Once value */
3184 static val_t once_value_6
; /* Once value */
3185 static val_t once_value_7
; /* Once value */
3186 static val_t once_value_8
; /* Once value */
3187 static val_t once_value_9
; /* Once value */
3188 static val_t once_value_10
; /* Once value */
3189 static val_t once_value_11
; /* Once value */
3190 static val_t once_value_12
; /* Once value */
3191 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3192 fra
.me
.file
= LOCATE_native_interface___frontier
;
3194 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_is
;
3195 fra
.me
.has_broke
= 0;
3196 fra
.me
.REG_size
= 7;
3197 fra
.me
.REG
[0] = NIT_NULL
;
3198 fra
.me
.REG
[1] = NIT_NULL
;
3199 fra
.me
.REG
[2] = NIT_NULL
;
3200 fra
.me
.REG
[3] = NIT_NULL
;
3201 fra
.me
.REG
[4] = NIT_NULL
;
3202 fra
.me
.REG
[5] = NIT_NULL
;
3203 fra
.me
.REG
[6] = NIT_NULL
;
3206 /* ./native_interface//frontier.nit:392 */
3207 fra
.me
.REG
[1] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3208 fra
.me
.REG
[1] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[1]);
3209 /* ./native_interface//frontier.nit:394 */
3210 if (!once_value_1
) {
3211 fra
.me
.REG
[2] = BOX_NativeString("temp");
3213 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3214 once_value_1
= fra
.me
.REG
[2];
3215 register_static_object(&once_value_1
);
3216 } else fra
.me
.REG
[2] = once_value_1
;
3217 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3218 /* ./native_interface//frontier.nit:395 */
3219 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3221 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3222 if (!once_value_2
) {
3223 fra
.me
.REG
[5] = BOX_NativeString("val_t ");
3225 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3226 once_value_2
= fra
.me
.REG
[5];
3227 register_static_object(&once_value_2
);
3228 } else fra
.me
.REG
[5] = once_value_2
;
3229 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3230 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3232 if (!once_value_3
) {
3233 fra
.me
.REG
[5] = BOX_NativeString(";\n");
3235 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3236 once_value_3
= fra
.me
.REG
[5];
3237 register_static_object(&once_value_3
);
3238 } else fra
.me
.REG
[5] = once_value_3
;
3239 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3241 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3242 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3243 /* ./native_interface//frontier.nit:397 */
3244 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3246 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3247 if (!once_value_4
) {
3248 fra
.me
.REG
[5] = BOX_NativeString("");
3250 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3251 once_value_4
= fra
.me
.REG
[5];
3252 register_static_object(&once_value_4
);
3253 } else fra
.me
.REG
[5] = once_value_4
;
3254 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
3256 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3257 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3258 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2], fra
.me
.REG
[6]);
3259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3260 if (!once_value_5
) {
3261 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3263 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3264 once_value_5
= fra
.me
.REG
[6];
3265 register_static_object(&once_value_5
);
3266 } else fra
.me
.REG
[6] = once_value_5
;
3267 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3269 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3270 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3271 /* ./native_interface//frontier.nit:399 */
3272 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_nullable_to_not_null(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3273 if (UNTAG_Bool(REGB0
)) {
3274 /* ./native_interface//frontier.nit:400 */
3275 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3276 if (UNTAG_Bool(REGB0
)) {
3277 /* ./native_interface//frontier.nit:401 */
3278 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3280 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3281 if (!once_value_6
) {
3282 fra
.me
.REG
[6] = BOX_NativeString("if ( ! ISNULL(");
3283 REGB0
= TAG_Int(14);
3284 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3285 once_value_6
= fra
.me
.REG
[6];
3286 register_static_object(&once_value_6
);
3287 } else fra
.me
.REG
[6] = once_value_6
;
3288 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3289 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3290 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3291 if (!once_value_7
) {
3292 fra
.me
.REG
[6] = BOX_NativeString(") ) return 0;\n");
3293 REGB0
= TAG_Int(14);
3294 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3295 once_value_7
= fra
.me
.REG
[6];
3296 register_static_object(&once_value_7
);
3297 } else fra
.me
.REG
[6] = once_value_7
;
3298 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3300 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3301 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3303 /* ./native_interface//frontier.nit:403 */
3304 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3306 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3307 if (!once_value_8
) {
3308 fra
.me
.REG
[6] = BOX_NativeString("if ( ISNULL(");
3309 REGB0
= TAG_Int(12);
3310 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3311 once_value_8
= fra
.me
.REG
[6];
3312 register_static_object(&once_value_8
);
3313 } else fra
.me
.REG
[6] = once_value_8
;
3314 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3315 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3317 if (!once_value_9
) {
3318 fra
.me
.REG
[6] = BOX_NativeString(") ) return 0;\n");
3319 REGB0
= TAG_Int(14);
3320 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3321 once_value_9
= fra
.me
.REG
[6];
3322 register_static_object(&once_value_9
);
3323 } else fra
.me
.REG
[6] = once_value_9
;
3324 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3326 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3327 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3330 /* ./native_interface//frontier.nit:407 */
3331 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3332 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3333 if (UNTAG_Bool(REGB0
)) {
3334 /* ./native_interface//frontier.nit:408 */
3335 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3337 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3338 if (!once_value_10
) {
3339 fra
.me
.REG
[6] = BOX_NativeString("if ( ! ");
3341 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3342 once_value_10
= fra
.me
.REG
[6];
3343 register_static_object(&once_value_10
);
3344 } else fra
.me
.REG
[6] = once_value_10
;
3345 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3347 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3348 fra
.me
.REG
[2] = CALL_native_interface___frontier___MMType___compile_condition_isa(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3350 if (!once_value_11
) {
3351 fra
.me
.REG
[2] = BOX_NativeString(" ) return 0;\n");
3352 REGB0
= TAG_Int(13);
3353 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3354 once_value_11
= fra
.me
.REG
[2];
3355 register_static_object(&once_value_11
);
3356 } else fra
.me
.REG
[2] = once_value_11
;
3357 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3359 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3360 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3362 /* ./native_interface//frontier.nit:411 */
3363 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3364 if (!once_value_12
) {
3365 fra
.me
.REG
[3] = BOX_NativeString("return 1;\n");
3366 REGB0
= TAG_Int(10);
3367 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3368 once_value_12
= fra
.me
.REG
[3];
3369 register_static_object(&once_value_12
);
3370 } else fra
.me
.REG
[3] = once_value_12
;
3371 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3372 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3373 /* ./native_interface//frontier.nit:413 */
3376 stack_frame_head
= fra
.me
.prev
;
3377 return fra
.me
.REG
[1];
3379 void native_interface___frontier___MMImportedCast___compile_check_is_not_null(val_t p0
, val_t p1
, val_t p2
){
3380 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3383 static val_t once_value_1
; /* Once value */
3384 static val_t once_value_2
; /* Once value */
3385 static val_t once_value_3
; /* Once value */
3386 static val_t once_value_4
; /* Once value */
3387 static val_t once_value_5
; /* Once value */
3388 static val_t once_value_6
; /* Once value */
3389 static val_t once_value_7
; /* Once value */
3390 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3391 fra
.me
.file
= LOCATE_native_interface___frontier
;
3393 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_check_is_not_null
;
3394 fra
.me
.has_broke
= 0;
3395 fra
.me
.REG_size
= 6;
3396 fra
.me
.REG
[0] = NIT_NULL
;
3397 fra
.me
.REG
[1] = NIT_NULL
;
3398 fra
.me
.REG
[2] = NIT_NULL
;
3399 fra
.me
.REG
[3] = NIT_NULL
;
3400 fra
.me
.REG
[4] = NIT_NULL
;
3401 fra
.me
.REG
[5] = NIT_NULL
;
3405 /* ./native_interface//frontier.nit:420 */
3406 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3408 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3409 if (!once_value_1
) {
3410 fra
.me
.REG
[5] = BOX_NativeString("if ( ISNULL(");
3411 REGB0
= TAG_Int(12);
3412 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3413 once_value_1
= fra
.me
.REG
[5];
3414 register_static_object(&once_value_1
);
3415 } else fra
.me
.REG
[5] = once_value_1
;
3416 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3418 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3419 if (!once_value_2
) {
3420 fra
.me
.REG
[2] = BOX_NativeString(") ){");
3422 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3423 once_value_2
= fra
.me
.REG
[2];
3424 register_static_object(&once_value_2
);
3425 } else fra
.me
.REG
[2] = once_value_2
;
3426 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3428 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3429 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3430 /* ./native_interface//frontier.nit:421 */
3431 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3433 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3434 if (!once_value_3
) {
3435 fra
.me
.REG
[2] = BOX_NativeString("\tfprintf( stderr, \"Casting from ");
3436 REGB0
= TAG_Int(32);
3437 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3438 once_value_3
= fra
.me
.REG
[2];
3439 register_static_object(&once_value_3
);
3440 } else fra
.me
.REG
[2] = once_value_3
;
3441 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3443 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3444 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3446 if (!once_value_4
) {
3447 fra
.me
.REG
[2] = BOX_NativeString(" to ");
3449 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3450 once_value_4
= fra
.me
.REG
[2];
3451 register_static_object(&once_value_4
);
3452 } else fra
.me
.REG
[2] = once_value_4
;
3453 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3455 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3456 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3458 if (!once_value_5
) {
3459 fra
.me
.REG
[0] = BOX_NativeString(" failed because value is null.\" );\n");
3460 REGB0
= TAG_Int(35);
3461 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3462 once_value_5
= fra
.me
.REG
[0];
3463 register_static_object(&once_value_5
);
3464 } else fra
.me
.REG
[0] = once_value_5
;
3465 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3467 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3468 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3469 /* ./native_interface//frontier.nit:422 */
3470 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3471 if (!once_value_6
) {
3472 fra
.me
.REG
[4] = BOX_NativeString("\tabort();\n");
3473 REGB0
= TAG_Int(10);
3474 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3475 once_value_6
= fra
.me
.REG
[4];
3476 register_static_object(&once_value_6
);
3477 } else fra
.me
.REG
[4] = once_value_6
;
3478 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3479 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3480 /* ./native_interface//frontier.nit:423 */
3481 fra
.me
.REG
[1] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3482 if (!once_value_7
) {
3483 fra
.me
.REG
[4] = BOX_NativeString("}");
3485 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3486 once_value_7
= fra
.me
.REG
[4];
3487 register_static_object(&once_value_7
);
3488 } else fra
.me
.REG
[4] = once_value_7
;
3489 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3490 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3491 stack_frame_head
= fra
.me
.prev
;
3494 val_t
native_interface___frontier___MMImportedCast_____eqeq(val_t p0
, val_t p1
){
3495 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3500 fra
.me
.file
= LOCATE_native_interface___frontier
;
3502 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast_____eqeq
;
3503 fra
.me
.has_broke
= 0;
3504 fra
.me
.REG_size
= 4;
3505 fra
.me
.REG
[0] = NIT_NULL
;
3506 fra
.me
.REG
[1] = NIT_NULL
;
3507 fra
.me
.REG
[2] = NIT_NULL
;
3508 fra
.me
.REG
[3] = NIT_NULL
;
3511 /* ./native_interface//frontier.nit:428 */
3512 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_metamodel___static_type___MMImportedCast
, ID_metamodel___static_type___MMImportedCast
)) /*cast MMImportedCast*/;
3513 if (UNTAG_Bool(REGB0
)) {
3514 /* ./native_interface//frontier.nit:429 */
3515 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3516 if (UNTAG_Bool(REGB0
)) {
3517 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 429);
3519 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3520 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3521 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
3522 if (UNTAG_Bool(REGB0
)) {
3524 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3528 /* ./native_interface//frontier.nit:428 */
3529 REGB1
= TAG_Bool(false);
3532 if (UNTAG_Bool(REGB0
)) {
3533 /* ./native_interface//frontier.nit:429 */
3534 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3535 if (UNTAG_Bool(REGB0
)) {
3536 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 429);
3538 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3539 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3540 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
3541 if (UNTAG_Bool(REGB0
)) {
3543 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3547 /* ./native_interface//frontier.nit:428 */
3548 REGB1
= TAG_Bool(false);
3553 stack_frame_head
= fra
.me
.prev
;
3556 val_t
native_interface___frontier___MMImportedCast___hash(val_t p0
){
3557 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3561 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3562 fra
.me
.file
= LOCATE_native_interface___frontier
;
3564 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___hash
;
3565 fra
.me
.has_broke
= 0;
3566 fra
.me
.REG_size
= 2;
3567 fra
.me
.REG
[0] = NIT_NULL
;
3568 fra
.me
.REG
[1] = NIT_NULL
;
3570 /* ./native_interface//frontier.nit:433 */
3571 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3572 REGB0
= CALL_standard___hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3573 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3574 REGB1
= CALL_standard___hash___Object___hash(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3575 /* ./../lib/standard//kernel.nit:218 */
3576 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3577 /* ./native_interface//frontier.nit:433 */
3580 stack_frame_head
= fra
.me
.prev
;
3583 void native_interface___frontier___MMType___compile_check_isa(val_t p0
, val_t p1
, val_t p2
){
3584 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3587 static val_t once_value_1
; /* Once value */
3588 static val_t once_value_2
; /* Once value */
3589 static val_t once_value_3
; /* Once value */
3590 static val_t once_value_4
; /* Once value */
3591 static val_t once_value_5
; /* Once value */
3592 static val_t once_value_6
; /* Once value */
3593 static val_t once_value_7
; /* Once value */
3594 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3595 fra
.me
.file
= LOCATE_native_interface___frontier
;
3597 fra
.me
.meth
= LOCATE_native_interface___frontier___MMType___compile_check_isa
;
3598 fra
.me
.has_broke
= 0;
3599 fra
.me
.REG_size
= 6;
3600 fra
.me
.REG
[0] = NIT_NULL
;
3601 fra
.me
.REG
[1] = NIT_NULL
;
3602 fra
.me
.REG
[2] = NIT_NULL
;
3603 fra
.me
.REG
[3] = NIT_NULL
;
3604 fra
.me
.REG
[4] = NIT_NULL
;
3605 fra
.me
.REG
[5] = NIT_NULL
;
3609 /* ./native_interface//frontier.nit:444 */
3610 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3612 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3613 if (!once_value_1
) {
3614 fra
.me
.REG
[5] = BOX_NativeString("if ( ! ");
3616 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3617 once_value_1
= fra
.me
.REG
[5];
3618 register_static_object(&once_value_1
);
3619 } else fra
.me
.REG
[5] = once_value_1
;
3620 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3622 fra
.me
.REG
[2] = CALL_native_interface___frontier___MMType___compile_condition_isa(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3623 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3624 if (!once_value_2
) {
3625 fra
.me
.REG
[2] = BOX_NativeString(" ){");
3627 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3628 once_value_2
= fra
.me
.REG
[2];
3629 register_static_object(&once_value_2
);
3630 } else fra
.me
.REG
[2] = once_value_2
;
3631 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3633 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3634 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3635 /* ./native_interface//frontier.nit:445 */
3636 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3638 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3639 if (!once_value_3
) {
3640 fra
.me
.REG
[2] = BOX_NativeString("\tfprintf( stderr, \"Casting to ");
3641 REGB0
= TAG_Int(30);
3642 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3643 once_value_3
= fra
.me
.REG
[2];
3644 register_static_object(&once_value_3
);
3645 } else fra
.me
.REG
[2] = once_value_3
;
3646 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3648 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3650 if (!once_value_4
) {
3651 fra
.me
.REG
[2] = BOX_NativeString(" failed because value is not a ");
3652 REGB0
= TAG_Int(31);
3653 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3654 once_value_4
= fra
.me
.REG
[2];
3655 register_static_object(&once_value_4
);
3656 } else fra
.me
.REG
[2] = once_value_4
;
3657 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3658 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3659 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3660 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3661 if (!once_value_5
) {
3662 fra
.me
.REG
[0] = BOX_NativeString(".\" );\n");
3664 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3665 once_value_5
= fra
.me
.REG
[0];
3666 register_static_object(&once_value_5
);
3667 } else fra
.me
.REG
[0] = once_value_5
;
3668 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3670 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3671 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3672 /* ./native_interface//frontier.nit:446 */
3673 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3674 if (!once_value_6
) {
3675 fra
.me
.REG
[4] = BOX_NativeString("\tabort();\n");
3676 REGB0
= TAG_Int(10);
3677 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3678 once_value_6
= fra
.me
.REG
[4];
3679 register_static_object(&once_value_6
);
3680 } else fra
.me
.REG
[4] = once_value_6
;
3681 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3682 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3683 /* ./native_interface//frontier.nit:447 */
3684 fra
.me
.REG
[1] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3685 if (!once_value_7
) {
3686 fra
.me
.REG
[4] = BOX_NativeString("}");
3688 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3689 once_value_7
= fra
.me
.REG
[4];
3690 register_static_object(&once_value_7
);
3691 } else fra
.me
.REG
[4] = once_value_7
;
3692 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3693 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3694 stack_frame_head
= fra
.me
.prev
;
3697 val_t
native_interface___frontier___MMType___compile_condition_isa(val_t p0
, val_t p1
){
3698 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3701 static val_t once_value_1
; /* Once value */
3702 static val_t once_value_2
; /* Once value */
3703 static val_t once_value_3
; /* Once value */
3704 static val_t once_value_4
; /* Once value */
3705 static val_t once_value_5
; /* Once value */
3706 static val_t once_value_6
; /* Once value */
3707 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3708 fra
.me
.file
= LOCATE_native_interface___frontier
;
3710 fra
.me
.meth
= LOCATE_native_interface___frontier___MMType___compile_condition_isa
;
3711 fra
.me
.has_broke
= 0;
3712 fra
.me
.REG_size
= 4;
3713 fra
.me
.REG
[0] = NIT_NULL
;
3714 fra
.me
.REG
[1] = NIT_NULL
;
3715 fra
.me
.REG
[2] = NIT_NULL
;
3716 fra
.me
.REG
[3] = NIT_NULL
;
3719 /* ./native_interface//frontier.nit:454 */
3720 REGB0
= TAG_Int(11);
3721 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3722 if (!once_value_1
) {
3723 fra
.me
.REG
[3] = BOX_NativeString("( ISOBJ( ");
3725 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3726 once_value_1
= fra
.me
.REG
[3];
3727 register_static_object(&once_value_1
);
3728 } else fra
.me
.REG
[3] = once_value_1
;
3729 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3730 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3732 if (!once_value_2
) {
3733 fra
.me
.REG
[3] = BOX_NativeString(" ) ? OBJISA( ");
3734 REGB0
= TAG_Int(13);
3735 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3736 once_value_2
= fra
.me
.REG
[3];
3737 register_static_object(&once_value_2
);
3738 } else fra
.me
.REG
[3] = once_value_2
;
3739 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3742 if (!once_value_3
) {
3743 fra
.me
.REG
[3] = BOX_NativeString(", ");
3745 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3746 once_value_3
= fra
.me
.REG
[3];
3747 register_static_object(&once_value_3
);
3748 } else fra
.me
.REG
[3] = once_value_3
;
3749 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3751 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3752 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3754 if (!once_value_4
) {
3755 fra
.me
.REG
[3] = BOX_NativeString(" ): VALISA( ");
3756 REGB0
= TAG_Int(12);
3757 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3758 once_value_4
= fra
.me
.REG
[3];
3759 register_static_object(&once_value_4
);
3760 } else fra
.me
.REG
[3] = once_value_4
;
3761 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3764 if (!once_value_5
) {
3765 fra
.me
.REG
[1] = BOX_NativeString(", ");
3767 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
3768 once_value_5
= fra
.me
.REG
[1];
3769 register_static_object(&once_value_5
);
3770 } else fra
.me
.REG
[1] = once_value_5
;
3771 fra
.me
.REG
[1] = fra
.me
.REG
[1];
3772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3773 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3774 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3775 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3776 if (!once_value_6
) {
3777 fra
.me
.REG
[0] = BOX_NativeString(" ) )");
3779 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3780 once_value_6
= fra
.me
.REG
[0];
3781 register_static_object(&once_value_6
);
3782 } else fra
.me
.REG
[0] = once_value_6
;
3783 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3785 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3788 stack_frame_head
= fra
.me
.prev
;
3789 return fra
.me
.REG
[2];
3791 void native_interface___frontier___MMType___compile_to_frontier(val_t p0
, val_t p1
){
3792 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
3796 static val_t once_value_1
; /* Once value */
3797 static val_t once_value_2
; /* Once value */
3798 static val_t once_value_3
; /* Once value */
3799 static val_t once_value_4
; /* Once value */
3800 static val_t once_value_5
; /* Once value */
3801 static val_t once_value_6
; /* Once value */
3802 static val_t once_value_7
; /* Once value */
3803 static val_t once_value_8
; /* Once value */
3804 static val_t once_value_9
; /* Once value */
3805 static val_t once_value_10
; /* Once value */
3806 static val_t once_value_11
; /* Once value */
3807 static val_t once_value_12
; /* Once value */
3808 static val_t once_value_13
; /* Once value */
3809 static val_t once_value_14
; /* Once value */
3810 static val_t once_value_15
; /* Once value */
3811 static val_t once_value_16
; /* Once value */
3812 static val_t once_value_17
; /* Once value */
3813 static val_t once_value_18
; /* Once value */
3814 static val_t once_value_19
; /* Once value */
3815 static val_t once_value_20
; /* Once value */
3816 static val_t once_value_21
; /* Once value */
3817 static val_t once_value_22
; /* Once value */
3818 static val_t once_value_23
; /* Once value */
3819 static val_t once_value_24
; /* Once value */
3820 static val_t once_value_25
; /* Once value */
3821 static val_t once_value_26
; /* Once value */
3822 static val_t once_value_27
; /* Once value */
3823 static val_t once_value_28
; /* Once value */
3824 static val_t once_value_29
; /* Once value */
3825 static val_t once_value_30
; /* Once value */
3826 static val_t once_value_31
; /* Once value */
3827 static val_t once_value_32
; /* Once value */
3828 static val_t once_value_33
; /* Once value */
3829 static val_t once_value_34
; /* Once value */
3830 static val_t once_value_35
; /* Once value */
3831 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3832 fra
.me
.file
= LOCATE_native_interface___frontier
;
3834 fra
.me
.meth
= LOCATE_native_interface___frontier___MMType___compile_to_frontier
;
3835 fra
.me
.has_broke
= 0;
3836 fra
.me
.REG_size
= 7;
3837 fra
.me
.REG
[0] = NIT_NULL
;
3838 fra
.me
.REG
[1] = NIT_NULL
;
3839 fra
.me
.REG
[2] = NIT_NULL
;
3840 fra
.me
.REG
[3] = NIT_NULL
;
3841 fra
.me
.REG
[4] = NIT_NULL
;
3842 fra
.me
.REG
[5] = NIT_NULL
;
3843 fra
.me
.REG
[6] = NIT_NULL
;
3846 /* ./native_interface//frontier.nit:461 */
3847 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3848 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3849 /* ./native_interface//frontier.nit:462 */
3850 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3851 if (UNTAG_Bool(REGB0
)) {
3853 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3854 if (UNTAG_Bool(REGB1
)) {
3855 REGB1
= TAG_Bool(false);
3858 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3862 if (UNTAG_Bool(REGB0
)) {
3863 REGB0
= TAG_Bool(true);
3865 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3868 if (UNTAG_Bool(REGB0
)) {
3869 /* ./native_interface//frontier.nit:463 */
3870 fra
.me
.REG
[2] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3871 /* ./native_interface//frontier.nit:464 */
3873 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3874 if (!once_value_1
) {
3875 fra
.me
.REG
[4] = BOX_NativeString("");
3877 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3878 once_value_1
= fra
.me
.REG
[4];
3879 register_static_object(&once_value_1
);
3880 } else fra
.me
.REG
[4] = once_value_1
;
3881 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3883 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3884 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___to_upper(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3886 if (!once_value_2
) {
3887 fra
.me
.REG
[4] = BOX_NativeString("_TYPE");
3889 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3890 once_value_2
= fra
.me
.REG
[4];
3891 register_static_object(&once_value_2
);
3892 } else fra
.me
.REG
[4] = once_value_2
;
3893 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3895 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3896 /* ./native_interface//frontier.nit:467 */
3897 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3899 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3900 if (!once_value_3
) {
3901 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
3903 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3904 once_value_3
= fra
.me
.REG
[6];
3905 register_static_object(&once_value_3
);
3906 } else fra
.me
.REG
[6] = once_value_3
;
3907 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3908 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3910 if (!once_value_4
) {
3911 fra
.me
.REG
[6] = BOX_NativeString("\n");
3913 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3914 once_value_4
= fra
.me
.REG
[6];
3915 register_static_object(&once_value_4
);
3916 } else fra
.me
.REG
[6] = once_value_4
;
3917 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3918 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3919 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3920 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3921 /* ./native_interface//frontier.nit:468 */
3922 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3924 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3925 if (!once_value_5
) {
3926 fra
.me
.REG
[6] = BOX_NativeString("#define ");
3928 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3929 once_value_5
= fra
.me
.REG
[6];
3930 register_static_object(&once_value_5
);
3931 } else fra
.me
.REG
[6] = once_value_5
;
3932 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3935 if (!once_value_6
) {
3936 fra
.me
.REG
[3] = BOX_NativeString("\n");
3938 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3939 once_value_6
= fra
.me
.REG
[3];
3940 register_static_object(&once_value_6
);
3941 } else fra
.me
.REG
[3] = once_value_6
;
3942 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3944 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3945 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3946 /* ./native_interface//frontier.nit:469 */
3947 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3949 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3950 if (!once_value_7
) {
3951 fra
.me
.REG
[3] = BOX_NativeString("typedef struct s_");
3952 REGB0
= TAG_Int(17);
3953 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3954 once_value_7
= fra
.me
.REG
[3];
3955 register_static_object(&once_value_7
);
3956 } else fra
.me
.REG
[3] = once_value_7
;
3957 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3960 if (!once_value_8
) {
3961 fra
.me
.REG
[3] = BOX_NativeString("{\n");
3963 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3964 once_value_8
= fra
.me
.REG
[3];
3965 register_static_object(&once_value_8
);
3966 } else fra
.me
.REG
[3] = once_value_8
;
3967 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3969 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3970 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3971 /* ./native_interface//frontier.nit:470 */
3972 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3973 if (!once_value_9
) {
3974 fra
.me
.REG
[4] = BOX_NativeString("\tval_t v;\n");
3975 REGB0
= TAG_Int(10);
3976 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3977 once_value_9
= fra
.me
.REG
[4];
3978 register_static_object(&once_value_9
);
3979 } else fra
.me
.REG
[4] = once_value_9
;
3980 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3981 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3982 /* ./native_interface//frontier.nit:471 */
3983 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3985 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3986 if (!once_value_10
) {
3987 fra
.me
.REG
[3] = BOX_NativeString("} ");
3989 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3990 once_value_10
= fra
.me
.REG
[3];
3991 register_static_object(&once_value_10
);
3992 } else fra
.me
.REG
[3] = once_value_10
;
3993 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3995 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3996 if (!once_value_11
) {
3997 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3999 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4000 once_value_11
= fra
.me
.REG
[3];
4001 register_static_object(&once_value_11
);
4002 } else fra
.me
.REG
[3] = once_value_11
;
4003 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4005 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4006 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4007 /* ./native_interface//frontier.nit:472 */
4008 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4009 if (!once_value_12
) {
4010 fra
.me
.REG
[4] = BOX_NativeString("#endif\n\n");
4012 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4013 once_value_12
= fra
.me
.REG
[4];
4014 register_static_object(&once_value_12
);
4015 } else fra
.me
.REG
[4] = once_value_12
;
4016 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4017 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4018 /* ./native_interface//frontier.nit:475 */
4019 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4020 if (UNTAG_Bool(REGB0
)) {
4021 /* ./native_interface//frontier.nit:476 */
4023 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4024 if (!once_value_13
) {
4025 fra
.me
.REG
[5] = BOX_NativeString("null_");
4027 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4028 once_value_13
= fra
.me
.REG
[5];
4029 register_static_object(&once_value_13
);
4030 } else fra
.me
.REG
[5] = once_value_13
;
4031 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4033 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___as_notnull(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4034 fra
.me
.REG
[5] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4035 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4036 if (!once_value_14
) {
4037 fra
.me
.REG
[5] = BOX_NativeString("");
4039 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4040 once_value_14
= fra
.me
.REG
[5];
4041 register_static_object(&once_value_14
);
4042 } else fra
.me
.REG
[5] = once_value_14
;
4043 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4045 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4046 /* ./native_interface//frontier.nit:477 */
4048 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4049 if (!once_value_15
) {
4050 fra
.me
.REG
[3] = BOX_NativeString("");
4052 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4053 once_value_15
= fra
.me
.REG
[3];
4054 register_static_object(&once_value_15
);
4055 } else fra
.me
.REG
[3] = once_value_15
;
4056 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4058 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4059 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4060 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4061 if (!once_value_16
) {
4062 fra
.me
.REG
[0] = BOX_NativeString("_");
4064 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4065 once_value_16
= fra
.me
.REG
[0];
4066 register_static_object(&once_value_16
);
4067 } else fra
.me
.REG
[0] = once_value_16
;
4068 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4070 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4071 if (!once_value_17
) {
4072 fra
.me
.REG
[0] = BOX_NativeString("");
4074 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4075 once_value_17
= fra
.me
.REG
[0];
4076 register_static_object(&once_value_17
);
4077 } else fra
.me
.REG
[0] = once_value_17
;
4078 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4080 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4081 /* ./native_interface//frontier.nit:479 */
4082 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4084 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4085 if (!once_value_18
) {
4086 fra
.me
.REG
[6] = BOX_NativeString("");
4088 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4089 once_value_18
= fra
.me
.REG
[6];
4090 register_static_object(&once_value_18
);
4091 } else fra
.me
.REG
[6] = once_value_18
;
4092 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4093 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4095 if (!once_value_19
) {
4096 fra
.me
.REG
[6] = BOX_NativeString(" ");
4098 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4099 once_value_19
= fra
.me
.REG
[6];
4100 register_static_object(&once_value_19
);
4101 } else fra
.me
.REG
[6] = once_value_19
;
4102 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4105 if (!once_value_20
) {
4106 fra
.me
.REG
[6] = BOX_NativeString("();\n");
4108 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4109 once_value_20
= fra
.me
.REG
[6];
4110 register_static_object(&once_value_20
);
4111 } else fra
.me
.REG
[6] = once_value_20
;
4112 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4113 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4114 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4115 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4116 /* ./native_interface//frontier.nit:481 */
4117 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4119 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4120 if (!once_value_21
) {
4121 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
4123 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4124 once_value_21
= fra
.me
.REG
[6];
4125 register_static_object(&once_value_21
);
4126 } else fra
.me
.REG
[6] = once_value_21
;
4127 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4128 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4130 if (!once_value_22
) {
4131 fra
.me
.REG
[6] = BOX_NativeString("\n");
4133 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4134 once_value_22
= fra
.me
.REG
[6];
4135 register_static_object(&once_value_22
);
4136 } else fra
.me
.REG
[6] = once_value_22
;
4137 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4138 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4139 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4140 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4141 /* ./native_interface//frontier.nit:482 */
4142 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4144 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4145 if (!once_value_23
) {
4146 fra
.me
.REG
[6] = BOX_NativeString("#define ");
4148 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4149 once_value_23
= fra
.me
.REG
[6];
4150 register_static_object(&once_value_23
);
4151 } else fra
.me
.REG
[6] = once_value_23
;
4152 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4153 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4155 if (!once_value_24
) {
4156 fra
.me
.REG
[4] = BOX_NativeString(" ");
4158 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4159 once_value_24
= fra
.me
.REG
[4];
4160 register_static_object(&once_value_24
);
4161 } else fra
.me
.REG
[4] = once_value_24
;
4162 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4163 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4165 if (!once_value_25
) {
4166 fra
.me
.REG
[4] = BOX_NativeString("\n");
4168 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4169 once_value_25
= fra
.me
.REG
[4];
4170 register_static_object(&once_value_25
);
4171 } else fra
.me
.REG
[4] = once_value_25
;
4172 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4174 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4175 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4176 /* ./native_interface//frontier.nit:483 */
4177 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4178 if (!once_value_26
) {
4179 fra
.me
.REG
[0] = BOX_NativeString("#endif\n\n");
4181 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4182 once_value_26
= fra
.me
.REG
[0];
4183 register_static_object(&once_value_26
);
4184 } else fra
.me
.REG
[0] = once_value_26
;
4185 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4186 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4187 /* ./native_interface//frontier.nit:485 */
4188 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4190 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4191 if (!once_value_27
) {
4192 fra
.me
.REG
[4] = BOX_NativeString("");
4194 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4195 once_value_27
= fra
.me
.REG
[4];
4196 register_static_object(&once_value_27
);
4197 } else fra
.me
.REG
[4] = once_value_27
;
4198 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4199 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4201 if (!once_value_28
) {
4202 fra
.me
.REG
[4] = BOX_NativeString(" ");
4204 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4205 once_value_28
= fra
.me
.REG
[4];
4206 register_static_object(&once_value_28
);
4207 } else fra
.me
.REG
[4] = once_value_28
;
4208 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4211 if (!once_value_29
) {
4212 fra
.me
.REG
[5] = BOX_NativeString("()\n");
4214 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4215 once_value_29
= fra
.me
.REG
[5];
4216 register_static_object(&once_value_29
);
4217 } else fra
.me
.REG
[5] = once_value_29
;
4218 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4220 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4221 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4222 /* ./native_interface//frontier.nit:486 */
4223 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4224 if (!once_value_30
) {
4225 fra
.me
.REG
[0] = BOX_NativeString("{\n");
4227 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4228 once_value_30
= fra
.me
.REG
[0];
4229 register_static_object(&once_value_30
);
4230 } else fra
.me
.REG
[0] = once_value_30
;
4231 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4232 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4233 /* ./native_interface//frontier.nit:487 */
4234 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4236 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4237 if (!once_value_31
) {
4238 fra
.me
.REG
[5] = BOX_NativeString("\t");
4240 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4241 once_value_31
= fra
.me
.REG
[5];
4242 register_static_object(&once_value_31
);
4243 } else fra
.me
.REG
[5] = once_value_31
;
4244 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4245 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4247 if (!once_value_32
) {
4248 fra
.me
.REG
[2] = BOX_NativeString(" n;\n");
4250 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4251 once_value_32
= fra
.me
.REG
[2];
4252 register_static_object(&once_value_32
);
4253 } else fra
.me
.REG
[2] = once_value_32
;
4254 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4256 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4257 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4258 /* ./native_interface//frontier.nit:488 */
4259 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4260 if (!once_value_33
) {
4261 fra
.me
.REG
[0] = BOX_NativeString("\tn.v = NIT_NULL;\n");
4262 REGB0
= TAG_Int(17);
4263 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4264 once_value_33
= fra
.me
.REG
[0];
4265 register_static_object(&once_value_33
);
4266 } else fra
.me
.REG
[0] = once_value_33
;
4267 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4268 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4269 /* ./native_interface//frontier.nit:489 */
4270 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4271 if (!once_value_34
) {
4272 fra
.me
.REG
[3] = BOX_NativeString("\treturn n;\n");
4273 REGB0
= TAG_Int(11);
4274 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4275 once_value_34
= fra
.me
.REG
[3];
4276 register_static_object(&once_value_34
);
4277 } else fra
.me
.REG
[3] = once_value_34
;
4278 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4279 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4280 /* ./native_interface//frontier.nit:490 */
4281 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4282 if (!once_value_35
) {
4283 fra
.me
.REG
[3] = BOX_NativeString("}\n\n");
4285 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4286 once_value_35
= fra
.me
.REG
[3];
4287 register_static_object(&once_value_35
);
4288 } else fra
.me
.REG
[3] = once_value_35
;
4289 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4290 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4293 stack_frame_head
= fra
.me
.prev
;
4296 void native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier(val_t p0
, val_t p1
){
4297 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
4301 static val_t once_value_1
; /* Once value */
4302 static val_t once_value_2
; /* Once value */
4303 static val_t once_value_3
; /* Once value */
4304 static val_t once_value_4
; /* Once value */
4305 static val_t once_value_5
; /* Once value */
4306 static val_t once_value_6
; /* Once value */
4307 static val_t once_value_7
; /* Once value */
4308 static val_t once_value_8
; /* Once value */
4309 static val_t once_value_9
; /* Once value */
4310 static val_t once_value_10
; /* Once value */
4311 static val_t once_value_11
; /* Once value */
4312 static val_t once_value_12
; /* Once value */
4313 static val_t once_value_13
; /* Once value */
4314 static val_t once_value_14
; /* Once value */
4315 static val_t once_value_15
; /* Once value */
4316 static val_t once_value_16
; /* Once value */
4317 static val_t once_value_17
; /* Once value */
4318 static val_t once_value_18
; /* Once value */
4319 static val_t once_value_19
; /* Once value */
4320 static val_t once_value_20
; /* Once value */
4321 static val_t once_value_21
; /* Once value */
4322 static val_t once_value_22
; /* Once value */
4323 static val_t once_value_23
; /* Once value */
4324 static val_t once_value_24
; /* Once value */
4325 static val_t once_value_26
; /* Once value */
4326 static val_t once_value_27
; /* Once value */
4327 static val_t once_value_28
; /* Once value */
4328 static val_t once_value_29
; /* Once value */
4329 static val_t once_value_30
; /* Once value */
4330 static val_t once_value_31
; /* Once value */
4331 static val_t once_value_32
; /* Once value */
4332 static val_t once_value_33
; /* Once value */
4333 static val_t once_value_34
; /* Once value */
4334 static val_t once_value_35
; /* Once value */
4335 static val_t once_value_36
; /* Once value */
4336 static val_t once_value_37
; /* Once value */
4337 static val_t once_value_38
; /* Once value */
4338 static val_t once_value_39
; /* Once value */
4339 static val_t once_value_40
; /* Once value */
4340 static val_t once_value_41
; /* Once value */
4341 static val_t once_value_42
; /* Once value */
4342 static val_t once_value_43
; /* Once value */
4343 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4344 fra
.me
.file
= LOCATE_native_interface___frontier
;
4346 fra
.me
.meth
= LOCATE_native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier
;
4347 fra
.me
.has_broke
= 0;
4348 fra
.me
.REG_size
= 11;
4349 fra
.me
.REG
[0] = NIT_NULL
;
4350 fra
.me
.REG
[1] = NIT_NULL
;
4351 fra
.me
.REG
[2] = NIT_NULL
;
4352 fra
.me
.REG
[3] = NIT_NULL
;
4353 fra
.me
.REG
[4] = NIT_NULL
;
4354 fra
.me
.REG
[5] = NIT_NULL
;
4355 fra
.me
.REG
[6] = NIT_NULL
;
4356 fra
.me
.REG
[7] = NIT_NULL
;
4357 fra
.me
.REG
[8] = NIT_NULL
;
4358 fra
.me
.REG
[9] = NIT_NULL
;
4359 fra
.me
.REG
[10] = NIT_NULL
;
4362 /* ./native_interface//frontier.nit:500 */
4363 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4365 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4366 if (!once_value_1
) {
4367 fra
.me
.REG
[4] = BOX_NativeString("/* friendly for ");
4368 REGB0
= TAG_Int(16);
4369 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4370 once_value_1
= fra
.me
.REG
[4];
4371 register_static_object(&once_value_1
);
4372 } else fra
.me
.REG
[4] = once_value_1
;
4373 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4375 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4376 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4378 if (!once_value_2
) {
4379 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
4381 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4382 once_value_2
= fra
.me
.REG
[4];
4383 register_static_object(&once_value_2
);
4384 } else fra
.me
.REG
[4] = once_value_2
;
4385 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4387 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4388 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4389 /* ./native_interface//frontier.nit:501 */
4390 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4392 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4393 if (!once_value_3
) {
4394 fra
.me
.REG
[4] = BOX_NativeString("");
4396 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4397 once_value_3
= fra
.me
.REG
[4];
4398 register_static_object(&once_value_3
);
4399 } else fra
.me
.REG
[4] = once_value_3
;
4400 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4402 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4403 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4404 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4405 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMMethod___frontier_csignature_from(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5], fra
.me
.REG
[6]);
4406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4407 if (!once_value_4
) {
4408 fra
.me
.REG
[6] = BOX_NativeString(";\n");
4410 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4411 once_value_4
= fra
.me
.REG
[6];
4412 register_static_object(&once_value_4
);
4413 } else fra
.me
.REG
[6] = once_value_4
;
4414 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4415 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4416 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4417 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4418 /* ./native_interface//frontier.nit:505 */
4419 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4421 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4422 if (!once_value_5
) {
4423 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
4425 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4426 once_value_5
= fra
.me
.REG
[6];
4427 register_static_object(&once_value_5
);
4428 } else fra
.me
.REG
[6] = once_value_5
;
4429 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4430 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4431 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4432 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4433 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___MMMethod___friendly_extern_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4435 if (!once_value_6
) {
4436 fra
.me
.REG
[5] = BOX_NativeString("\n");
4438 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4439 once_value_6
= fra
.me
.REG
[5];
4440 register_static_object(&once_value_6
);
4441 } else fra
.me
.REG
[5] = once_value_6
;
4442 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4444 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4445 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4446 /* ./native_interface//frontier.nit:506 */
4447 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4449 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4450 if (!once_value_7
) {
4451 fra
.me
.REG
[5] = BOX_NativeString("#define ");
4453 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4454 once_value_7
= fra
.me
.REG
[5];
4455 register_static_object(&once_value_7
);
4456 } else fra
.me
.REG
[5] = once_value_7
;
4457 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
4459 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4460 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4461 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___MMMethod___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4463 if (!once_value_8
) {
4464 fra
.me
.REG
[6] = BOX_NativeString(" ");
4466 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4467 once_value_8
= fra
.me
.REG
[6];
4468 register_static_object(&once_value_8
);
4469 } else fra
.me
.REG
[6] = once_value_8
;
4470 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4472 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4473 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4474 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4475 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___local_friendly_name_from(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5], fra
.me
.REG
[4]);
4476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4477 if (!once_value_9
) {
4478 fra
.me
.REG
[4] = BOX_NativeString("\n");
4480 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4481 once_value_9
= fra
.me
.REG
[4];
4482 register_static_object(&once_value_9
);
4483 } else fra
.me
.REG
[4] = once_value_9
;
4484 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4486 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4487 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4488 /* ./native_interface//frontier.nit:507 */
4489 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4490 if (!once_value_10
) {
4491 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
4493 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4494 once_value_10
= fra
.me
.REG
[3];
4495 register_static_object(&once_value_10
);
4496 } else fra
.me
.REG
[3] = once_value_10
;
4497 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4498 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4499 /* ./native_interface//frontier.nit:510 */
4500 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4502 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4503 if (!once_value_11
) {
4504 fra
.me
.REG
[4] = BOX_NativeString("/* friendly for ");
4505 REGB0
= TAG_Int(16);
4506 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4507 once_value_11
= fra
.me
.REG
[4];
4508 register_static_object(&once_value_11
);
4509 } else fra
.me
.REG
[4] = once_value_11
;
4510 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4512 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4513 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4515 if (!once_value_12
) {
4516 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
4518 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4519 once_value_12
= fra
.me
.REG
[4];
4520 register_static_object(&once_value_12
);
4521 } else fra
.me
.REG
[4] = once_value_12
;
4522 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4524 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4525 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4526 /* ./native_interface//frontier.nit:512 */
4527 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4528 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4529 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4530 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___frontier_csignature_from(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
4531 fra
.me
.REG
[4] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[4]);
4532 /* ./native_interface//frontier.nit:515 */
4533 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
4534 /* ./native_interface//frontier.nit:518 */
4535 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4536 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4537 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4538 if (UNTAG_Bool(REGB0
)) {
4539 /* ./native_interface//frontier.nit:519 */
4540 if (!once_value_13
) {
4541 fra
.me
.REG
[2] = BOX_NativeString("recv___nit");
4542 REGB0
= TAG_Int(10);
4543 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4544 once_value_13
= fra
.me
.REG
[2];
4545 register_static_object(&once_value_13
);
4546 } else fra
.me
.REG
[2] = once_value_13
;
4547 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4548 /* ./native_interface//frontier.nit:520 */
4549 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4551 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4552 if (!once_value_14
) {
4553 fra
.me
.REG
[7] = BOX_NativeString("val_t ");
4555 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4556 once_value_14
= fra
.me
.REG
[7];
4557 register_static_object(&once_value_14
);
4558 } else fra
.me
.REG
[7] = once_value_14
;
4559 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4560 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
4562 if (!once_value_15
) {
4563 fra
.me
.REG
[7] = BOX_NativeString(";\n");
4565 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4566 once_value_15
= fra
.me
.REG
[7];
4567 register_static_object(&once_value_15
);
4568 } else fra
.me
.REG
[7] = once_value_15
;
4569 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4570 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4571 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4572 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4573 /* ./native_interface//frontier.nit:521 */
4574 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4576 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4577 if (!once_value_16
) {
4578 fra
.me
.REG
[7] = BOX_NativeString("");
4580 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4581 once_value_16
= fra
.me
.REG
[7];
4582 register_static_object(&once_value_16
);
4583 } else fra
.me
.REG
[7] = once_value_16
;
4584 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4585 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
4586 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4587 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4588 if (!once_value_17
) {
4589 fra
.me
.REG
[8] = BOX_NativeString("recv");
4591 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4592 once_value_17
= fra
.me
.REG
[8];
4593 register_static_object(&once_value_17
);
4594 } else fra
.me
.REG
[8] = once_value_17
;
4595 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4596 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2], fra
.me
.REG
[8]);
4597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
4598 if (!once_value_18
) {
4599 fra
.me
.REG
[8] = BOX_NativeString(";\n");
4601 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4602 once_value_18
= fra
.me
.REG
[8];
4603 register_static_object(&once_value_18
);
4604 } else fra
.me
.REG
[8] = once_value_18
;
4605 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
4607 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4608 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4609 /* ./native_interface//frontier.nit:522 */
4610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4612 /* ./native_interface//frontier.nit:525 */
4613 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4614 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4615 /* ./../lib/standard//collection//array.nit:234 */
4617 /* ./../lib/standard//collection//array.nit:235 */
4618 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4619 if (UNTAG_Bool(REGB1
)) {
4621 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
4623 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4624 /* ./../lib/standard//collection//array.nit:236 */
4625 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
4626 /* ./../lib/standard//collection//array.nit:237 */
4628 /* ./../lib/standard//collection//array.nit:23 */
4629 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4630 if (UNTAG_Bool(REGB1
)) {
4632 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
4634 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4635 /* ./../lib/standard//kernel.nit:215 */
4636 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4637 /* ./../lib/standard//collection//array.nit:237 */
4638 if (UNTAG_Bool(REGB1
)) {
4639 /* ./../lib/standard//collection//array.nit:238 */
4640 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4641 if (UNTAG_Bool(REGB1
)) {
4642 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
4644 /* ./../lib/standard//collection//array.nit:654 */
4645 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
4646 /* ./native_interface//frontier.nit:526 */
4648 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4649 if (!once_value_19
) {
4650 fra
.me
.REG
[7] = BOX_NativeString("");
4652 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4653 once_value_19
= fra
.me
.REG
[7];
4654 register_static_object(&once_value_19
);
4655 } else fra
.me
.REG
[7] = once_value_19
;
4656 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4658 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4659 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4660 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4661 if (!once_value_20
) {
4662 fra
.me
.REG
[7] = BOX_NativeString("___nit");
4664 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4665 once_value_20
= fra
.me
.REG
[7];
4666 register_static_object(&once_value_20
);
4667 } else fra
.me
.REG
[7] = once_value_20
;
4668 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4670 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4671 /* ./native_interface//frontier.nit:527 */
4672 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4674 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4675 if (!once_value_21
) {
4676 fra
.me
.REG
[10] = BOX_NativeString("val_t ");
4678 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
4679 once_value_21
= fra
.me
.REG
[10];
4680 register_static_object(&once_value_21
);
4681 } else fra
.me
.REG
[10] = once_value_21
;
4682 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
4684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
4685 if (!once_value_22
) {
4686 fra
.me
.REG
[10] = BOX_NativeString(";\n");
4688 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
4689 once_value_22
= fra
.me
.REG
[10];
4690 register_static_object(&once_value_22
);
4691 } else fra
.me
.REG
[10] = once_value_22
;
4692 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4693 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
4694 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
4695 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4696 /* ./native_interface//frontier.nit:528 */
4697 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4699 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4700 if (!once_value_23
) {
4701 fra
.me
.REG
[10] = BOX_NativeString("");
4703 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
4704 once_value_23
= fra
.me
.REG
[10];
4705 register_static_object(&once_value_23
);
4706 } else fra
.me
.REG
[10] = once_value_23
;
4707 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
4709 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4710 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4711 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4712 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], fra
.me
.REG
[6]);
4713 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4714 if (!once_value_24
) {
4715 fra
.me
.REG
[6] = BOX_NativeString(";\n");
4717 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
4718 once_value_24
= fra
.me
.REG
[6];
4719 register_static_object(&once_value_24
);
4720 } else fra
.me
.REG
[6] = once_value_24
;
4721 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4723 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4724 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
4725 /* ./native_interface//frontier.nit:529 */
4726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
4727 /* ./../lib/standard//collection//array.nit:239 */
4729 /* ./../lib/standard//kernel.nit:218 */
4730 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4731 /* ./../lib/standard//collection//array.nit:239 */
4734 /* ./../lib/standard//collection//array.nit:237 */
4739 /* ./native_interface//frontier.nit:533 */
4740 fra
.me
.REG
[5] = NIT_NULL
;
4741 /* ./native_interface//frontier.nit:536 */
4742 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4743 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4744 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4745 if (UNTAG_Bool(REGB0
)) {
4746 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 536);
4748 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4749 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4750 if (UNTAG_Bool(REGB0
)) {
4752 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4753 if (UNTAG_Bool(REGB1
)) {
4754 REGB1
= TAG_Bool(false);
4757 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4761 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4762 if (UNTAG_Bool(REGB0
)) {
4763 /* ./native_interface//frontier.nit:537 */
4764 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4765 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4766 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4767 if (UNTAG_Bool(REGB0
)) {
4768 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 537);
4770 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4771 fra
.me
.REG
[5] = fra
.me
.REG
[2];
4773 /* ./native_interface//frontier.nit:538 */
4774 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4775 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4776 if (UNTAG_Bool(REGB0
)) {
4777 /* ./native_interface//frontier.nit:539 */
4778 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4779 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4780 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4781 fra
.me
.REG
[5] = fra
.me
.REG
[2];
4784 /* ./native_interface//frontier.nit:542 */
4785 fra
.me
.REG
[2] = NEW_Buffer_standard___string___Buffer___init();
4786 /* ./native_interface//frontier.nit:543 */
4787 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4788 if (UNTAG_Bool(REGB0
)) {
4790 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4791 if (UNTAG_Bool(REGB1
)) {
4792 REGB1
= TAG_Bool(false);
4795 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4799 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4800 if (UNTAG_Bool(REGB0
)) {
4801 /* ./native_interface//frontier.nit:544 */
4802 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4804 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4805 if (!once_value_26
) {
4806 fra
.me
.REG
[9] = BOX_NativeString("");
4808 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
4809 once_value_26
= fra
.me
.REG
[9];
4810 register_static_object(&once_value_26
);
4811 } else fra
.me
.REG
[9] = once_value_26
;
4812 fra
.me
.REG
[9] = fra
.me
.REG
[9];
4813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4814 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4815 if (UNTAG_Bool(REGB0
)) {
4816 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 544);
4818 fra
.me
.REG
[9] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4820 if (!once_value_27
) {
4821 fra
.me
.REG
[9] = BOX_NativeString(" result___nitni;\n");
4822 REGB0
= TAG_Int(17);
4823 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
4824 once_value_27
= fra
.me
.REG
[9];
4825 register_static_object(&once_value_27
);
4826 } else fra
.me
.REG
[9] = once_value_27
;
4827 fra
.me
.REG
[9] = fra
.me
.REG
[9];
4828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4829 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4830 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4831 /* ./native_interface//frontier.nit:545 */
4832 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4833 if (!once_value_28
) {
4834 fra
.me
.REG
[8] = BOX_NativeString("val_t result___nit;\n");
4835 REGB0
= TAG_Int(20);
4836 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4837 once_value_28
= fra
.me
.REG
[8];
4838 register_static_object(&once_value_28
);
4839 } else fra
.me
.REG
[8] = once_value_28
;
4840 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4841 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4842 /* ./native_interface//frontier.nit:546 */
4843 if (!once_value_29
) {
4844 fra
.me
.REG
[8] = BOX_NativeString("result___nit = ");
4845 REGB0
= TAG_Int(15);
4846 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4847 once_value_29
= fra
.me
.REG
[8];
4848 register_static_object(&once_value_29
);
4849 } else fra
.me
.REG
[8] = once_value_29
;
4850 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4851 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4853 /* ./native_interface//frontier.nit:550 */
4854 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4855 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4856 if (UNTAG_Bool(REGB0
)) {
4857 /* ./native_interface//frontier.nit:551 */
4859 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4860 if (!once_value_30
) {
4861 fra
.me
.REG
[7] = BOX_NativeString("NEW_");
4863 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4864 once_value_30
= fra
.me
.REG
[7];
4865 register_static_object(&once_value_30
);
4866 } else fra
.me
.REG
[7] = once_value_30
;
4867 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4869 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4870 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4872 if (!once_value_31
) {
4873 fra
.me
.REG
[7] = BOX_NativeString("_");
4875 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4876 once_value_31
= fra
.me
.REG
[7];
4877 register_static_object(&once_value_31
);
4878 } else fra
.me
.REG
[7] = once_value_31
;
4879 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4881 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4882 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4883 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4884 fra
.me
.REG
[7] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4886 if (!once_value_32
) {
4887 fra
.me
.REG
[7] = BOX_NativeString("");
4889 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4890 once_value_32
= fra
.me
.REG
[7];
4891 register_static_object(&once_value_32
);
4892 } else fra
.me
.REG
[7] = once_value_32
;
4893 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4895 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4896 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4898 /* ./native_interface//frontier.nit:553 */
4900 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4901 if (!once_value_33
) {
4902 fra
.me
.REG
[7] = BOX_NativeString("");
4904 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4905 once_value_33
= fra
.me
.REG
[7];
4906 register_static_object(&once_value_33
);
4907 } else fra
.me
.REG
[7] = once_value_33
;
4908 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4910 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4911 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4912 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4914 if (!once_value_34
) {
4915 fra
.me
.REG
[0] = BOX_NativeString("( recv___nit )");
4916 REGB0
= TAG_Int(14);
4917 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4918 once_value_34
= fra
.me
.REG
[0];
4919 register_static_object(&once_value_34
);
4920 } else fra
.me
.REG
[0] = once_value_34
;
4921 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4923 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4924 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4926 /* ./native_interface//frontier.nit:556 */
4928 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4929 if (!once_value_35
) {
4930 fra
.me
.REG
[0] = BOX_NativeString("( ");
4932 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4933 once_value_35
= fra
.me
.REG
[0];
4934 register_static_object(&once_value_35
);
4935 } else fra
.me
.REG
[0] = once_value_35
;
4936 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4937 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4938 if (!once_value_36
) {
4939 fra
.me
.REG
[0] = BOX_NativeString(", ");
4941 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4942 once_value_36
= fra
.me
.REG
[0];
4943 register_static_object(&once_value_36
);
4944 } else fra
.me
.REG
[0] = once_value_36
;
4945 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4946 fra
.me
.REG
[0] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4948 if (!once_value_37
) {
4949 fra
.me
.REG
[0] = BOX_NativeString(" );\n");
4951 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4952 once_value_37
= fra
.me
.REG
[0];
4953 register_static_object(&once_value_37
);
4954 } else fra
.me
.REG
[0] = once_value_37
;
4955 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4957 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4958 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4959 /* ./native_interface//frontier.nit:558 */
4960 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4961 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4962 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
4963 /* ./native_interface//frontier.nit:561 */
4964 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4965 if (UNTAG_Bool(REGB0
)) {
4967 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4968 if (UNTAG_Bool(REGB1
)) {
4969 REGB1
= TAG_Bool(false);
4972 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4976 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4977 if (UNTAG_Bool(REGB0
)) {
4978 /* ./native_interface//frontier.nit:562 */
4979 if (!once_value_38
) {
4980 fra
.me
.REG
[2] = BOX_NativeString("result___nitni");
4981 REGB0
= TAG_Int(14);
4982 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4983 once_value_38
= fra
.me
.REG
[2];
4984 register_static_object(&once_value_38
);
4985 } else fra
.me
.REG
[2] = once_value_38
;
4986 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4987 /* ./native_interface//frontier.nit:563 */
4988 if (!once_value_39
) {
4989 fra
.me
.REG
[8] = BOX_NativeString("result___nit");
4990 REGB0
= TAG_Int(12);
4991 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4992 once_value_39
= fra
.me
.REG
[8];
4993 register_static_object(&once_value_39
);
4994 } else fra
.me
.REG
[8] = once_value_39
;
4995 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4996 /* ./native_interface//frontier.nit:565 */
4997 fra
.me
.REG
[0] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4999 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5000 if (!once_value_40
) {
5001 fra
.me
.REG
[7] = BOX_NativeString("");
5003 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
5004 once_value_40
= fra
.me
.REG
[7];
5005 register_static_object(&once_value_40
);
5006 } else fra
.me
.REG
[7] = once_value_40
;
5007 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5008 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
5009 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5010 if (UNTAG_Bool(REGB0
)) {
5011 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 565);
5013 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2], fra
.me
.REG
[8]);
5014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
5015 if (!once_value_41
) {
5016 fra
.me
.REG
[8] = BOX_NativeString(";\n");
5018 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
5019 once_value_41
= fra
.me
.REG
[8];
5020 register_static_object(&once_value_41
);
5021 } else fra
.me
.REG
[8] = once_value_41
;
5022 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
5024 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5025 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5026 /* ./native_interface//frontier.nit:566 */
5027 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5029 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5030 if (!once_value_42
) {
5031 fra
.me
.REG
[8] = BOX_NativeString("return ");
5033 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
5034 once_value_42
= fra
.me
.REG
[8];
5035 register_static_object(&once_value_42
);
5036 } else fra
.me
.REG
[8] = once_value_42
;
5037 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5038 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
5039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
5040 if (!once_value_43
) {
5041 fra
.me
.REG
[2] = BOX_NativeString(";\n");
5043 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
5044 once_value_43
= fra
.me
.REG
[2];
5045 register_static_object(&once_value_43
);
5046 } else fra
.me
.REG
[2] = once_value_43
;
5047 fra
.me
.REG
[2] = fra
.me
.REG
[2];
5048 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
5049 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5050 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
5052 /* ./native_interface//frontier.nit:569 */
5053 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5054 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5055 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5056 stack_frame_head
= fra
.me
.prev
;
5059 val_t
native_interface___frontier___MMExplicitImport___hash(val_t p0
){
5060 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5065 fra
.me
.file
= LOCATE_native_interface___frontier
;
5067 fra
.me
.meth
= LOCATE_native_interface___frontier___MMExplicitImport___hash
;
5068 fra
.me
.has_broke
= 0;
5069 fra
.me
.REG_size
= 2;
5070 fra
.me
.REG
[0] = NIT_NULL
;
5071 fra
.me
.REG
[1] = NIT_NULL
;
5073 /* ./native_interface//frontier.nit:574 */
5074 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5075 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5076 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5077 REGB0
= CALL_standard___hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5078 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5079 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5080 REGB1
= CALL_standard___hash___Object___hash(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5081 /* ./../lib/standard//kernel.nit:218 */
5082 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5083 /* ./native_interface//frontier.nit:574 */
5086 stack_frame_head
= fra
.me
.prev
;
5089 val_t
native_interface___frontier___MMExplicitImport_____eqeq(val_t p0
, val_t p1
){
5090 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5094 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5095 fra
.me
.file
= LOCATE_native_interface___frontier
;
5097 fra
.me
.meth
= LOCATE_native_interface___frontier___MMExplicitImport_____eqeq
;
5098 fra
.me
.has_broke
= 0;
5099 fra
.me
.REG_size
= 4;
5100 fra
.me
.REG
[0] = NIT_NULL
;
5101 fra
.me
.REG
[1] = NIT_NULL
;
5102 fra
.me
.REG
[2] = NIT_NULL
;
5103 fra
.me
.REG
[3] = NIT_NULL
;
5106 /* ./native_interface//frontier.nit:578 */
5107 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_metamodel___abstractmetamodel___MMExplicitImport
, ID_metamodel___abstractmetamodel___MMExplicitImport
)) /*cast MMExplicitImport*/;
5108 if (UNTAG_Bool(REGB0
)) {
5109 /* ./native_interface//frontier.nit:579 */
5110 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5111 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5112 if (UNTAG_Bool(REGB0
)) {
5113 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 579);
5115 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5116 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
5117 if (UNTAG_Bool(REGB0
)) {
5119 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5123 /* ./native_interface//frontier.nit:578 */
5124 REGB1
= TAG_Bool(false);
5127 if (UNTAG_Bool(REGB0
)) {
5128 /* ./native_interface//frontier.nit:579 */
5129 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5130 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5131 if (UNTAG_Bool(REGB0
)) {
5132 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 579);
5134 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5135 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
5136 if (UNTAG_Bool(REGB0
)) {
5138 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5142 /* ./native_interface//frontier.nit:578 */
5143 REGB1
= TAG_Bool(false);
5148 stack_frame_head
= fra
.me
.prev
;