1 /* This C file is generated by NIT to compile module frontier. */
2 #include "frontier._sep.h"
3 void 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_frontier
;
32 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
46 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
48 fra
.me
.REG
[4] = BOX_NativeString("#include \"");
50 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
56 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
57 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
58 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
68 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
69 CALL_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_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_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_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_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
84 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
86 fra
.me
.REG
[4] = BOX_NativeString("#include \"");
88 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
94 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
95 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
96 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
98 fra
.me
.REG
[4] = BOX_NativeString("._sep.h\"\n");
100 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
106 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
107 CALL_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_array___Array___with_capacity(REGB0
);
112 fra
.me
.REG
[2] = BOX_NativeString("");
114 fra
.me
.REG
[2] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
120 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
121 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
122 fra
.me
.REG
[2] = CALL_string___AbstractString___to_upper(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
123 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
133 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
134 /* ./native_interface//frontier.nit:37 */
135 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
137 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
139 fra
.me
.REG
[5] = BOX_NativeString("#ifndef ");
141 fra
.me
.REG
[5] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
147 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
157 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
158 CALL_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_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
162 fra
.me
.REG
[2] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
172 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
182 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
183 CALL_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_array___Array___with_capacity(REGB0
);
187 if (!once_value_12
) {
188 fra
.me
.REG
[4] = BOX_NativeString("");
190 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
196 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
197 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
198 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
208 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
209 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
210 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
220 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
221 /* ./native_interface//frontier.nit:42 */
222 REGB0
= CALL_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_array___Array___with_capacity(REGB0
);
228 if (!once_value_15
) {
229 fra
.me
.REG
[3] = BOX_NativeString("");
231 fra
.me
.REG
[3] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
237 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
238 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMDirectory___path(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
239 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
249 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
250 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
251 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
261 fra
.me
.REG
[4] = CALL_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_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_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
270 fra
.me
.REG
[3] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
280 fra
.me
.REG
[5] = CALL_frontier___String___path_from_parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
281 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
291 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
292 CALL_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
296 fra
.me
.REG
[4] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
306 fra
.me
.REG
[2] = CALL_frontier___String___path_from_parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
307 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
317 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
318 CALL_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_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
322 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_frontier___MMSrcModule___compile_frontier_22
));
323 /* ./native_interface//frontier.nit:69 */
324 fra
.me
.REG
[1] = CALL_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_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_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_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_frontier
;
346 fra
.me
.meth
= LOCATE_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_abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
357 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
, ((fun_t
)OC_frontier___MMSrcModule___compile_frontier_23
));
358 /* ./native_interface//frontier.nit:63 */
359 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
360 fra
.me
.REG
[1] = CALL_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_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_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
370 REGB0
= CALL_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_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_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_frontier
;
392 fra
.me
.meth
= LOCATE_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_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_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_MMSrcMethod
, ID_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_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_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 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_frontier
;
440 fra
.me
.meth
= LOCATE_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_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_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_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_frontier
, 78);
470 CALL_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_abstractmetamodel___MMMethod___explicit_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
474 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_frontier___MMSrcMethod___compile_extern_to_frontier_1
));
475 /* ./native_interface//frontier.nit:90 */
476 fra
.me
.REG
[2] = CALL_static_type___MMMethod___explicit_casts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
477 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_frontier___MMSrcMethod___compile_extern_to_frontier_2
));
478 /* ./native_interface//frontier.nit:98 */
479 REGB0
= CALL_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_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_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_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_frontier
;
496 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor___friendlys(closctx
->REG
[1])(closctx
->REG
[1]);
507 CALL_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_static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
510 CALL_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_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_frontier
;
521 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor___casts(closctx
->REG
[1])(closctx
->REG
[1]);
533 CALL_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_frontier___FrontierVisitor___types(closctx
->REG
[1])(closctx
->REG
[1]);
536 fra
.me
.REG
[2] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
537 CALL_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_frontier___FrontierVisitor___types(closctx
->REG
[1])(closctx
->REG
[1]);
540 fra
.me
.REG
[0] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
541 CALL_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 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_frontier
;
591 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
610 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
612 fra
.me
.REG
[4] = BOX_NativeString("\n/* friendly for super of ");
614 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
620 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
621 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
631 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
632 CALL_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
636 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
638 fra
.me
.REG
[4] = BOX_NativeString("");
640 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
646 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
647 fra
.me
.REG
[4] = CALL_ni_metamodel___MMMethod___frontier_super_csignature_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
648 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
658 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
659 CALL_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
663 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
665 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
667 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
673 fra
.me
.REG
[4] = CALL_ni_metamodel___MMMethod___friendly_super_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
674 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
684 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
685 CALL_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
689 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
691 fra
.me
.REG
[4] = BOX_NativeString("#define ");
693 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
699 fra
.me
.REG
[4] = CALL_ni_metamodel___MMMethod___friendly_super_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
700 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
710 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
711 fra
.me
.REG
[4] = CALL_ni_metamodel___MMMethod___local_friendly_super_name_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
712 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
722 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
723 CALL_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_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_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_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_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
738 fra
.me
.REG
[2] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
748 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
749 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
759 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
760 CALL_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_ni_metamodel___MMMethod___friendly_super_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
763 fra
.me
.REG
[2] = NEW_FunctionCompiler_ni_tools___FunctionCompiler___init(fra
.me
.REG
[2]);
764 /* ./native_interface//frontier.nit:126 */
765 fra
.me
.REG
[3] = NEW_Array_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_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_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
778 fra
.me
.REG
[6] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
788 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
798 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
799 CALL_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
803 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
804 if (!once_value_16
) {
805 fra
.me
.REG
[7] = BOX_NativeString("");
807 fra
.me
.REG
[7] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
813 fra
.me
.REG
[7] = CALL_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_frontier
, 131);
818 fra
.me
.REG
[7] = CALL_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_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_ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4], fra
.me
.REG
[8]);
828 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
838 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
839 CALL_compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
840 /* ./native_interface//frontier.nit:132 */
841 CALL_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_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_frontier
, 135);
848 fra
.me
.REG
[5] = CALL_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_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
853 if (UNTAG_Bool(REGB1
)) {
855 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
857 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
858 /* ./../lib/standard//collection//array.nit:236 */
859 fra
.me
.REG
[6] = ATTR_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_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
864 if (UNTAG_Bool(REGB1
)) {
866 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
868 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
869 /* ./../lib/standard//kernel.nit:212 */
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_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_array___Array___with_capacity(REGB1
);
883 if (!once_value_19
) {
884 fra
.me
.REG
[9] = BOX_NativeString("");
886 fra
.me
.REG
[9] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
892 fra
.me
.REG
[9] = CALL_static_type___MMParam___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
893 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
894 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
904 fra
.me
.REG
[7] = CALL_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_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
909 fra
.me
.REG
[9] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
919 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
929 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
930 CALL_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
934 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
935 if (!once_value_23
) {
936 fra
.me
.REG
[10] = BOX_NativeString("");
938 fra
.me
.REG
[10] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
944 fra
.me
.REG
[10] = CALL_static_type___MMParam___mmtype(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
945 fra
.me
.REG
[8] = CALL_static_type___MMParam___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
946 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
947 fra
.me
.REG
[8] = CALL_ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[4], fra
.me
.REG
[8]);
948 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
958 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
959 CALL_compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
960 /* ./native_interface//frontier.nit:139 */
961 CALL_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:215 */
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_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_frontier
, 145);
982 fra
.me
.REG
[6] = CALL_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_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_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_frontier
, 146);
1003 fra
.me
.REG
[6] = CALL_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_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_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_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1026 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
1027 if (!once_value_26
) {
1028 fra
.me
.REG
[9] = BOX_NativeString("");
1030 fra
.me
.REG
[9] = NEW_String_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_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_frontier
, 151);
1040 fra
.me
.REG
[9] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1041 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1051 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1052 CALL_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_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_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_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_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_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_array___Array___with_capacity(REGB0
);
1078 if (!once_value_30
) {
1079 fra
.me
.REG
[7] = BOX_NativeString("");
1081 fra
.me
.REG
[7] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1087 fra
.me
.REG
[0] = CALL_compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1088 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1098 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1099 CALL_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_array___Array___with_capacity(REGB0
);
1103 if (!once_value_32
) {
1104 fra
.me
.REG
[0] = BOX_NativeString("( ");
1106 fra
.me
.REG
[0] = NEW_String_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_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_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_string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1121 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1131 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1132 CALL_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1135 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1136 CALL_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_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1155 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1156 if (!once_value_35
) {
1157 fra
.me
.REG
[0] = BOX_NativeString("");
1159 fra
.me
.REG
[0] = NEW_String_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_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_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_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_frontier
, 165);
1185 fra
.me
.REG
[3] = CALL_ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0], fra
.me
.REG
[3]);
1186 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1196 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1197 CALL_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_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_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_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_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1212 fra
.me
.REG
[2] = CALL_ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1213 CALL_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 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_frontier
;
1258 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1277 fra
.me
.REG
[3] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1287 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1288 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1298 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1299 CALL_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1303 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1304 if (!once_value_3
) {
1305 fra
.me
.REG
[4] = BOX_NativeString("");
1307 fra
.me
.REG
[4] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1313 fra
.me
.REG
[4] = CALL_ni_metamodel___MMMethod___out_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1314 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1324 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1325 CALL_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_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1329 fra
.me
.REG
[3] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1339 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1340 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1350 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1351 CALL_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_ni_metamodel___MMMethod___out_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1354 fra
.me
.REG
[3] = NEW_FunctionCompiler_ni_tools___FunctionCompiler___init(fra
.me
.REG
[3]);
1355 /* ./native_interface//frontier.nit:186 */
1356 fra
.me
.REG
[2] = NEW_List_list___List___init();
1357 /* ./native_interface//frontier.nit:188 */
1358 REGB0
= CALL_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_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_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1373 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
1374 if (!once_value_8
) {
1375 fra
.me
.REG
[7] = BOX_NativeString("");
1377 fra
.me
.REG
[7] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1383 fra
.me
.REG
[7] = CALL_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_frontier
, 190);
1388 fra
.me
.REG
[7] = CALL_static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1389 fra
.me
.REG
[7] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1390 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1400 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1410 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1411 CALL_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1415 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1416 if (!once_value_11
) {
1417 fra
.me
.REG
[7] = BOX_NativeString("");
1419 fra
.me
.REG
[7] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1425 fra
.me
.REG
[7] = CALL_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_frontier
, 191);
1430 fra
.me
.REG
[7] = CALL_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_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_ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4], fra
.me
.REG
[8]);
1440 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1450 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1451 CALL_compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1452 /* ./native_interface//frontier.nit:192 */
1453 CALL_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_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_frontier
, 195);
1461 fra
.me
.REG
[4] = CALL_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_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1466 if (UNTAG_Bool(REGB1
)) {
1468 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1470 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1471 /* ./../lib/standard//collection//array.nit:236 */
1472 fra
.me
.REG
[5] = ATTR_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_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1477 if (UNTAG_Bool(REGB1
)) {
1479 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1481 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1482 /* ./../lib/standard//kernel.nit:212 */
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_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_array___Array___with_capacity(REGB1
);
1496 if (!once_value_14
) {
1497 fra
.me
.REG
[7] = BOX_NativeString("");
1499 fra
.me
.REG
[7] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1505 fra
.me
.REG
[7] = CALL_static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1506 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1507 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1517 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1518 /* ./native_interface//frontier.nit:197 */
1519 fra
.me
.REG
[7] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1521 fra
.me
.REG
[9] = NEW_Array_array___Array___with_capacity(REGB1
);
1522 if (!once_value_16
) {
1523 fra
.me
.REG
[10] = BOX_NativeString("");
1525 fra
.me
.REG
[10] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1531 fra
.me
.REG
[10] = CALL_static_type___MMParam___mmtype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1532 fra
.me
.REG
[10] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1533 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1543 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1553 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1554 CALL_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1558 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
1559 if (!once_value_19
) {
1560 fra
.me
.REG
[10] = BOX_NativeString("");
1562 fra
.me
.REG
[10] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
1568 fra
.me
.REG
[10] = CALL_static_type___MMParam___mmtype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1569 fra
.me
.REG
[6] = CALL_static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1570 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1571 fra
.me
.REG
[6] = CALL_ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], fra
.me
.REG
[6]);
1572 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1582 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1583 CALL_compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
1584 /* ./native_interface//frontier.nit:199 */
1585 CALL_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:215 */
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_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_frontier
, 205);
1606 fra
.me
.REG
[4] = CALL_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_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_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_frontier
, 206);
1627 fra
.me
.REG
[4] = CALL_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_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_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1635 fra
.me
.REG
[4] = CALL_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_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_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_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1659 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
1660 if (!once_value_22
) {
1661 fra
.me
.REG
[9] = BOX_NativeString("");
1663 fra
.me
.REG
[9] = NEW_String_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_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_frontier
, 213);
1673 fra
.me
.REG
[9] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1674 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1684 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1685 CALL_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_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_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_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_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_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_array___Array___with_capacity(REGB0
);
1711 if (!once_value_26
) {
1712 fra
.me
.REG
[7] = BOX_NativeString("");
1714 fra
.me
.REG
[7] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1720 fra
.me
.REG
[0] = CALL_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_String
, ID_String
)) /*cast String*/;
1722 if (UNTAG_Bool(REGB0
)) {
1724 nit_abort("Cast failed", NULL
, LOCATE_frontier
, 218);
1726 CALL_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_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_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_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_string___Collection___join(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1745 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
1755 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1756 CALL_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1759 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1760 CALL_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_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_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1779 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
1780 if (!once_value_30
) {
1781 fra
.me
.REG
[0] = BOX_NativeString("");
1783 fra
.me
.REG
[0] = NEW_String_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_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_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_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_frontier
, 224);
1809 fra
.me
.REG
[2] = CALL_ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1810 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
1820 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1821 CALL_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_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_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_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_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1836 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1837 CALL_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 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_frontier
;
1853 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1866 fra
.me
.REG
[3] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1876 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1877 fra
.me
.REG
[4] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1878 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1888 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1889 CALL_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_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1893 fra
.me
.REG
[2] = NEW_Array_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1903 fra
.me
.REG
[0] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1904 fra
.me
.REG
[0] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1905 CALL_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1915 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1916 CALL_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_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_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_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1928 stack_frame_head
= fra
.me
.prev
;
1931 void 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_frontier
;
1939 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1952 fra
.me
.REG
[3] = CALL_static_type___MMSignature___recv(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1953 CALL_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_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_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1960 if (UNTAG_Bool(REGB1
)) {
1962 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1964 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1965 /* ./../lib/standard//collection//array.nit:236 */
1966 fra
.me
.REG
[2] = ATTR_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_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1971 if (UNTAG_Bool(REGB1
)) {
1973 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1975 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1976 /* ./../lib/standard//kernel.nit:212 */
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_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_frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1989 fra
.me
.REG
[4] = CALL_static_type___MMParam___mmtype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1990 CALL_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:215 */
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_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_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_frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2022 CALL_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
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_frontier
;
2034 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0])!=NIT_NULL
);
2041 if (UNTAG_Bool(REGB0
)) {
2043 nit_abort("Uninitialized attribute %s", "@header_top", LOCATE_frontier
, 264);
2045 fra
.me
.REG
[0] = ATTR_frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0]);
2046 stack_frame_head
= fra
.me
.prev
;
2047 return fra
.me
.REG
[0];
2049 void 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_frontier
;
2055 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2064 stack_frame_head
= fra
.me
.prev
;
2067 val_t
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_frontier
;
2074 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0])!=NIT_NULL
);
2081 if (UNTAG_Bool(REGB0
)) {
2083 nit_abort("Uninitialized attribute %s", "@header", LOCATE_frontier
, 267);
2085 fra
.me
.REG
[0] = ATTR_frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0]);
2086 stack_frame_head
= fra
.me
.prev
;
2087 return fra
.me
.REG
[0];
2089 void 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_frontier
;
2095 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2104 stack_frame_head
= fra
.me
.prev
;
2107 val_t
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_frontier
;
2114 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0])!=NIT_NULL
);
2121 if (UNTAG_Bool(REGB0
)) {
2123 nit_abort("Uninitialized attribute %s", "@body", LOCATE_frontier
, 270);
2125 fra
.me
.REG
[0] = ATTR_frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0]);
2126 stack_frame_head
= fra
.me
.prev
;
2127 return fra
.me
.REG
[0];
2129 void 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_frontier
;
2135 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2144 stack_frame_head
= fra
.me
.prev
;
2147 val_t
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_frontier
;
2154 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0])!=NIT_NULL
);
2161 if (UNTAG_Bool(REGB0
)) {
2163 nit_abort("Uninitialized attribute %s", "@friendlys", LOCATE_frontier
, 273);
2165 fra
.me
.REG
[0] = ATTR_frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0]);
2166 stack_frame_head
= fra
.me
.prev
;
2167 return fra
.me
.REG
[0];
2169 void 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_frontier
;
2175 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2184 stack_frame_head
= fra
.me
.prev
;
2187 val_t
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_frontier
;
2194 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0])!=NIT_NULL
);
2201 if (UNTAG_Bool(REGB0
)) {
2203 nit_abort("Uninitialized attribute %s", "@types", LOCATE_frontier
, 276);
2205 fra
.me
.REG
[0] = ATTR_frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0]);
2206 stack_frame_head
= fra
.me
.prev
;
2207 return fra
.me
.REG
[0];
2209 void 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_frontier
;
2215 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2224 stack_frame_head
= fra
.me
.prev
;
2227 val_t
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_frontier
;
2234 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0])!=NIT_NULL
);
2241 if (UNTAG_Bool(REGB0
)) {
2243 nit_abort("Uninitialized attribute %s", "@casts", LOCATE_frontier
, 279);
2245 fra
.me
.REG
[0] = ATTR_frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0]);
2246 stack_frame_head
= fra
.me
.prev
;
2247 return fra
.me
.REG
[0];
2249 void 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_frontier
;
2255 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2264 stack_frame_head
= fra
.me
.prev
;
2267 val_t
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_frontier
;
2274 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2281 if (UNTAG_Bool(REGB0
)) {
2283 nit_abort("Uninitialized attribute %s", "@mmmodule", LOCATE_frontier
, 282);
2285 fra
.me
.REG
[0] = ATTR_frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]);
2286 stack_frame_head
= fra
.me
.prev
;
2287 return fra
.me
.REG
[0];
2289 void 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_frontier
;
2295 fra
.me
.meth
= LOCATE_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_frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2304 stack_frame_head
= fra
.me
.prev
;
2307 void frontier___FrontierVisitor___init(val_t p0
, val_t p1
, int* init_table
){
2308 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_FrontierVisitor
].i
;
2309 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2311 if (init_table
[itpos0
]) return;
2312 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2313 fra
.me
.file
= LOCATE_frontier
;
2315 fra
.me
.meth
= LOCATE_frontier___FrontierVisitor___init
;
2316 fra
.me
.has_broke
= 0;
2317 fra
.me
.REG_size
= 2;
2318 fra
.me
.REG
[0] = NIT_NULL
;
2319 fra
.me
.REG
[1] = NIT_NULL
;
2322 /* ./native_interface//frontier.nit:284 */
2323 CALL_frontier___FrontierVisitor___mmmodule__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2324 stack_frame_head
= fra
.me
.prev
;
2325 init_table
[itpos0
] = 1;
2328 void frontier___FrontierVisitor___compile_cached(val_t p0
){
2329 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2331 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2332 fra
.me
.file
= LOCATE_frontier
;
2334 fra
.me
.meth
= LOCATE_frontier___FrontierVisitor___compile_cached
;
2335 fra
.me
.has_broke
= 0;
2336 fra
.me
.REG_size
= 2;
2337 fra
.me
.REG
[0] = NIT_NULL
;
2338 fra
.me
.REG
[1] = NIT_NULL
;
2340 /* ./native_interface//frontier.nit:289 */
2341 fra
.me
.REG
[1] = CALL_frontier___FrontierVisitor___types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2342 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_frontier___FrontierVisitor___compile_cached_1
));
2343 /* ./native_interface//frontier.nit:292 */
2344 fra
.me
.REG
[1] = CALL_frontier___FrontierVisitor___friendlys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2345 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_frontier___FrontierVisitor___compile_cached_2
));
2346 /* ./native_interface//frontier.nit:295 */
2347 fra
.me
.REG
[1] = CALL_frontier___FrontierVisitor___casts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2348 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_frontier___FrontierVisitor___compile_cached_3
));
2349 stack_frame_head
= fra
.me
.prev
;
2352 void OC_frontier___FrontierVisitor___compile_cached_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2353 struct {struct stack_frame_t me
;} fra
;
2356 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2357 fra
.me
.file
= LOCATE_frontier
;
2359 fra
.me
.meth
= LOCATE_frontier___FrontierVisitor___compile_cached
;
2360 fra
.me
.has_broke
= 0;
2361 fra
.me
.REG_size
= 1;
2362 fra
.me
.REG
[0] = NIT_NULL
;
2363 fra
.me
.closure_ctx
= closctx_param
;
2364 fra
.me
.closure_funs
= CREG
;
2366 CREG
[0] = clos_fun0
;
2367 CALL_frontier___MMType___compile_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2368 stack_frame_head
= fra
.me
.prev
;
2371 void OC_frontier___FrontierVisitor___compile_cached_2(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_frontier
;
2378 fra
.me
.meth
= LOCATE_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_frontier___MMExplicitImport___compile_friendly_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2387 stack_frame_head
= fra
.me
.prev
;
2390 void OC_frontier___FrontierVisitor___compile_cached_3(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_frontier
;
2397 fra
.me
.meth
= LOCATE_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_frontier___MMImportedCast___compile_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2406 stack_frame_head
= fra
.me
.prev
;
2409 void frontier___FrontierVisitor___write_to_files(val_t p0
, val_t p1
){
2410 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2413 static val_t once_value_1
; /* Once value */
2414 static val_t once_value_2
; /* Once value */
2415 static val_t once_value_3
; /* Once value */
2416 static val_t once_value_4
; /* Once value */
2417 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2418 fra
.me
.file
= LOCATE_frontier
;
2420 fra
.me
.meth
= LOCATE_frontier___FrontierVisitor___write_to_files
;
2421 fra
.me
.has_broke
= 0;
2422 fra
.me
.REG_size
= 6;
2423 fra
.me
.REG
[0] = NIT_NULL
;
2424 fra
.me
.REG
[1] = NIT_NULL
;
2425 fra
.me
.REG
[2] = NIT_NULL
;
2426 fra
.me
.REG
[3] = NIT_NULL
;
2427 fra
.me
.REG
[4] = NIT_NULL
;
2428 fra
.me
.REG
[5] = NIT_NULL
;
2431 /* ./native_interface//frontier.nit:300 */
2433 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2434 if (!once_value_1
) {
2435 fra
.me
.REG
[3] = BOX_NativeString("");
2437 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2438 once_value_1
= fra
.me
.REG
[3];
2439 register_static_object(&once_value_1
);
2440 } else fra
.me
.REG
[3] = once_value_1
;
2441 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2442 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2443 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2444 if (!once_value_2
) {
2445 fra
.me
.REG
[3] = BOX_NativeString("._nitni.h");
2447 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2448 once_value_2
= fra
.me
.REG
[3];
2449 register_static_object(&once_value_2
);
2450 } else fra
.me
.REG
[3] = once_value_2
;
2451 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2452 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2453 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2454 /* ./native_interface//frontier.nit:301 */
2455 fra
.me
.REG
[3] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[2]);
2456 /* ./native_interface//frontier.nit:302 */
2457 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2458 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2459 /* ./native_interface//frontier.nit:303 */
2460 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2461 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2462 /* ./native_interface//frontier.nit:304 */
2463 CALL_stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2464 /* ./native_interface//frontier.nit:306 */
2466 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2467 if (!once_value_3
) {
2468 fra
.me
.REG
[5] = BOX_NativeString("");
2470 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
2471 once_value_3
= fra
.me
.REG
[5];
2472 register_static_object(&once_value_3
);
2473 } else fra
.me
.REG
[5] = once_value_3
;
2474 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2475 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2476 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2477 if (!once_value_4
) {
2478 fra
.me
.REG
[1] = BOX_NativeString("._nitni.c");
2480 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
2481 once_value_4
= fra
.me
.REG
[1];
2482 register_static_object(&once_value_4
);
2483 } else fra
.me
.REG
[1] = once_value_4
;
2484 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2485 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2486 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2487 fra
.me
.REG
[2] = fra
.me
.REG
[4];
2488 /* ./native_interface//frontier.nit:307 */
2489 fra
.me
.REG
[2] = NEW_OFStream_file___OFStream___open(fra
.me
.REG
[2]);
2490 fra
.me
.REG
[3] = fra
.me
.REG
[2];
2491 /* ./native_interface//frontier.nit:308 */
2492 fra
.me
.REG
[0] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2493 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2494 /* ./native_interface//frontier.nit:309 */
2495 CALL_stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2496 stack_frame_head
= fra
.me
.prev
;
2499 val_t
frontier___String___path_from_parent(val_t p0
){
2500 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2505 static val_t once_value_2
; /* Once value */
2506 static val_t once_value_3
; /* Once value */
2507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2508 fra
.me
.file
= LOCATE_frontier
;
2510 fra
.me
.meth
= LOCATE_frontier___String___path_from_parent
;
2511 fra
.me
.has_broke
= 0;
2512 fra
.me
.REG_size
= 4;
2513 fra
.me
.REG
[0] = NIT_NULL
;
2514 fra
.me
.REG
[1] = NIT_NULL
;
2515 fra
.me
.REG
[2] = NIT_NULL
;
2516 fra
.me
.REG
[3] = NIT_NULL
;
2518 /* ./native_interface//frontier.nit:318 */
2520 REGB0
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2521 REGB1
= TAG_Char('/');
2522 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2523 if (UNTAG_Bool(REGB2
)) {
2525 /* ./../lib/standard//kernel.nit:347 */
2526 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2527 /* ./native_interface//frontier.nit:318 */
2530 if (UNTAG_Bool(REGB2
)) {
2531 /* ./native_interface//frontier.nit:320 */
2532 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2535 /* ./native_interface//frontier.nit:322 */
2537 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB2
);
2538 if (!once_value_2
) {
2539 fra
.me
.REG
[3] = BOX_NativeString("../");
2541 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
2542 once_value_2
= fra
.me
.REG
[3];
2543 register_static_object(&once_value_2
);
2544 } else fra
.me
.REG
[3] = once_value_2
;
2545 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2546 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2547 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2548 if (!once_value_3
) {
2549 fra
.me
.REG
[0] = BOX_NativeString("");
2551 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB2
);
2552 once_value_3
= fra
.me
.REG
[0];
2553 register_static_object(&once_value_3
);
2554 } else fra
.me
.REG
[0] = once_value_3
;
2555 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2556 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2557 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2558 fra
.me
.REG
[1] = fra
.me
.REG
[2];
2562 stack_frame_head
= fra
.me
.prev
;
2563 return fra
.me
.REG
[1];
2565 void frontier___MMImportedCast___compile_to_frontier(val_t p0
, val_t p1
){
2566 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2570 static val_t once_value_1
; /* Once value */
2571 static val_t once_value_2
; /* Once value */
2572 static val_t once_value_3
; /* Once value */
2573 static val_t once_value_4
; /* Once value */
2574 static val_t once_value_5
; /* Once value */
2575 static val_t once_value_6
; /* Once value */
2576 static val_t once_value_7
; /* Once value */
2577 static val_t once_value_8
; /* Once value */
2578 static val_t once_value_9
; /* Once value */
2579 static val_t once_value_10
; /* Once value */
2580 static val_t once_value_11
; /* Once value */
2581 static val_t once_value_12
; /* Once value */
2582 static val_t once_value_13
; /* Once value */
2583 static val_t once_value_14
; /* Once value */
2584 static val_t once_value_15
; /* Once value */
2585 static val_t once_value_16
; /* Once value */
2586 static val_t once_value_17
; /* Once value */
2587 static val_t once_value_18
; /* Once value */
2588 static val_t once_value_19
; /* Once value */
2589 static val_t once_value_20
; /* Once value */
2590 static val_t once_value_21
; /* Once value */
2591 static val_t once_value_22
; /* Once value */
2592 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2593 fra
.me
.file
= LOCATE_frontier
;
2595 fra
.me
.meth
= LOCATE_frontier___MMImportedCast___compile_to_frontier
;
2596 fra
.me
.has_broke
= 0;
2597 fra
.me
.REG_size
= 5;
2598 fra
.me
.REG
[0] = NIT_NULL
;
2599 fra
.me
.REG
[1] = NIT_NULL
;
2600 fra
.me
.REG
[2] = NIT_NULL
;
2601 fra
.me
.REG
[3] = NIT_NULL
;
2602 fra
.me
.REG
[4] = NIT_NULL
;
2605 /* ./native_interface//frontier.nit:333 */
2606 REGB0
= CALL_static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2607 if (UNTAG_Bool(REGB0
)) {
2608 REGB0
= CALL_static_type___MMImportedCast___is_not_null_to_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2610 REGB1
= TAG_Bool(false);
2613 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2614 if (UNTAG_Bool(REGB0
)) {
2615 /* ./native_interface//frontier.nit:334 */
2616 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2618 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2619 if (!once_value_1
) {
2620 fra
.me
.REG
[4] = BOX_NativeString("\n/* Type check for ");
2621 REGB0
= TAG_Int(19);
2622 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2623 once_value_1
= fra
.me
.REG
[4];
2624 register_static_object(&once_value_1
);
2625 } else fra
.me
.REG
[4] = once_value_1
;
2626 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2627 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2628 fra
.me
.REG
[4] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2629 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2630 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2631 if (!once_value_2
) {
2632 fra
.me
.REG
[4] = BOX_NativeString(" with ");
2634 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2635 once_value_2
= fra
.me
.REG
[4];
2636 register_static_object(&once_value_2
);
2637 } else fra
.me
.REG
[4] = once_value_2
;
2638 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2639 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2640 fra
.me
.REG
[4] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2641 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2642 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2643 if (!once_value_3
) {
2644 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
2646 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2647 once_value_3
= fra
.me
.REG
[4];
2648 register_static_object(&once_value_3
);
2649 } else fra
.me
.REG
[4] = once_value_3
;
2650 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2651 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2652 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2653 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2654 /* ./native_interface//frontier.nit:335 */
2655 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2657 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2658 if (!once_value_4
) {
2659 fra
.me
.REG
[4] = BOX_NativeString("");
2661 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2662 once_value_4
= fra
.me
.REG
[4];
2663 register_static_object(&once_value_4
);
2664 } else fra
.me
.REG
[4] = once_value_4
;
2665 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2666 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2667 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2668 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___is_a_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2669 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2670 if (!once_value_5
) {
2671 fra
.me
.REG
[4] = BOX_NativeString(";\n");
2673 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2674 once_value_5
= fra
.me
.REG
[4];
2675 register_static_object(&once_value_5
);
2676 } else fra
.me
.REG
[4] = once_value_5
;
2677 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2678 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2679 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2680 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2681 /* ./native_interface//frontier.nit:337 */
2682 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2684 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2685 if (!once_value_6
) {
2686 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
2688 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2689 once_value_6
= fra
.me
.REG
[4];
2690 register_static_object(&once_value_6
);
2691 } else fra
.me
.REG
[4] = once_value_6
;
2692 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2693 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2694 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2695 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2696 if (!once_value_7
) {
2697 fra
.me
.REG
[4] = BOX_NativeString("\n");
2699 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2700 once_value_7
= fra
.me
.REG
[4];
2701 register_static_object(&once_value_7
);
2702 } else fra
.me
.REG
[4] = once_value_7
;
2703 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2704 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2705 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2706 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2707 /* ./native_interface//frontier.nit:338 */
2708 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2710 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2711 if (!once_value_8
) {
2712 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2714 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2715 once_value_8
= fra
.me
.REG
[4];
2716 register_static_object(&once_value_8
);
2717 } else fra
.me
.REG
[4] = once_value_8
;
2718 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2719 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2720 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2721 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2722 if (!once_value_9
) {
2723 fra
.me
.REG
[4] = BOX_NativeString(" ");
2725 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2726 once_value_9
= fra
.me
.REG
[4];
2727 register_static_object(&once_value_9
);
2728 } else fra
.me
.REG
[4] = once_value_9
;
2729 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2730 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2731 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2732 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___is_a_local_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2733 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2734 if (!once_value_10
) {
2735 fra
.me
.REG
[4] = BOX_NativeString("\n");
2737 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2738 once_value_10
= fra
.me
.REG
[4];
2739 register_static_object(&once_value_10
);
2740 } else fra
.me
.REG
[4] = once_value_10
;
2741 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2742 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2743 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2744 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2745 /* ./native_interface//frontier.nit:339 */
2746 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2747 if (!once_value_11
) {
2748 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
2750 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2751 once_value_11
= fra
.me
.REG
[3];
2752 register_static_object(&once_value_11
);
2753 } else fra
.me
.REG
[3] = once_value_11
;
2754 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2755 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2756 /* ./native_interface//frontier.nit:341 */
2757 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2758 fra
.me
.REG
[3] = CALL_frontier___MMImportedCast___compile_is(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2759 /* ./native_interface//frontier.nit:342 */
2760 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2761 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2762 CALL_compiling_writer___Writer___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2764 /* ./native_interface//frontier.nit:346 */
2765 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2767 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2768 if (!once_value_12
) {
2769 fra
.me
.REG
[4] = BOX_NativeString("\n/* Cast for ");
2770 REGB0
= TAG_Int(13);
2771 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2772 once_value_12
= fra
.me
.REG
[4];
2773 register_static_object(&once_value_12
);
2774 } else fra
.me
.REG
[4] = once_value_12
;
2775 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2776 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2777 fra
.me
.REG
[4] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2778 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2779 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2780 if (!once_value_13
) {
2781 fra
.me
.REG
[4] = BOX_NativeString(" to ");
2783 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2784 once_value_13
= fra
.me
.REG
[4];
2785 register_static_object(&once_value_13
);
2786 } else fra
.me
.REG
[4] = once_value_13
;
2787 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2788 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2789 fra
.me
.REG
[4] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2790 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2791 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2792 if (!once_value_14
) {
2793 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
2795 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2796 once_value_14
= fra
.me
.REG
[4];
2797 register_static_object(&once_value_14
);
2798 } else fra
.me
.REG
[4] = once_value_14
;
2799 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2800 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2801 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2802 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2803 /* ./native_interface//frontier.nit:347 */
2804 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2806 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2807 if (!once_value_15
) {
2808 fra
.me
.REG
[4] = BOX_NativeString("");
2810 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2811 once_value_15
= fra
.me
.REG
[4];
2812 register_static_object(&once_value_15
);
2813 } else fra
.me
.REG
[4] = once_value_15
;
2814 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2815 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2816 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2817 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___as_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2818 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2819 if (!once_value_16
) {
2820 fra
.me
.REG
[4] = BOX_NativeString(";\n");
2822 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2823 once_value_16
= fra
.me
.REG
[4];
2824 register_static_object(&once_value_16
);
2825 } else fra
.me
.REG
[4] = once_value_16
;
2826 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2827 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2828 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2829 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2830 /* ./native_interface//frontier.nit:349 */
2831 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2833 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2834 if (!once_value_17
) {
2835 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
2837 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2838 once_value_17
= fra
.me
.REG
[4];
2839 register_static_object(&once_value_17
);
2840 } else fra
.me
.REG
[4] = once_value_17
;
2841 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2842 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2843 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___as_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2844 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2845 if (!once_value_18
) {
2846 fra
.me
.REG
[4] = BOX_NativeString("\n");
2848 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2849 once_value_18
= fra
.me
.REG
[4];
2850 register_static_object(&once_value_18
);
2851 } else fra
.me
.REG
[4] = once_value_18
;
2852 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2853 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2854 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2855 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2856 /* ./native_interface//frontier.nit:350 */
2857 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2859 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2860 if (!once_value_19
) {
2861 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2863 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2864 once_value_19
= fra
.me
.REG
[4];
2865 register_static_object(&once_value_19
);
2866 } else fra
.me
.REG
[4] = once_value_19
;
2867 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2868 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2869 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___as_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2870 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2871 if (!once_value_20
) {
2872 fra
.me
.REG
[4] = BOX_NativeString(" ");
2874 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2875 once_value_20
= fra
.me
.REG
[4];
2876 register_static_object(&once_value_20
);
2877 } else fra
.me
.REG
[4] = once_value_20
;
2878 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2879 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2880 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2881 fra
.me
.REG
[4] = CALL_ni_metamodel___MMImportedCast___as_local_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2882 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2883 if (!once_value_21
) {
2884 fra
.me
.REG
[4] = BOX_NativeString("\n");
2886 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2887 once_value_21
= fra
.me
.REG
[4];
2888 register_static_object(&once_value_21
);
2889 } else fra
.me
.REG
[4] = once_value_21
;
2890 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2891 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2892 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2893 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2894 /* ./native_interface//frontier.nit:351 */
2895 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2896 if (!once_value_22
) {
2897 fra
.me
.REG
[2] = BOX_NativeString("#endif\n");
2899 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2900 once_value_22
= fra
.me
.REG
[2];
2901 register_static_object(&once_value_22
);
2902 } else fra
.me
.REG
[2] = once_value_22
;
2903 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2904 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2905 /* ./native_interface//frontier.nit:353 */
2906 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2907 fra
.me
.REG
[2] = CALL_frontier___MMImportedCast___compile_as(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2908 /* ./native_interface//frontier.nit:354 */
2909 fra
.me
.REG
[1] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2910 fra
.me
.REG
[2] = CALL_ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2911 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2912 stack_frame_head
= fra
.me
.prev
;
2915 val_t
frontier___MMImportedCast___compile_as(val_t p0
, val_t p1
){
2916 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2919 static val_t once_value_1
; /* Once value */
2920 static val_t once_value_2
; /* Once value */
2921 static val_t once_value_3
; /* Once value */
2922 static val_t once_value_4
; /* Once value */
2923 static val_t once_value_5
; /* Once value */
2924 static val_t once_value_6
; /* Once value */
2925 static val_t once_value_7
; /* Once value */
2926 static val_t once_value_8
; /* Once value */
2927 static val_t once_value_9
; /* Once value */
2928 static val_t once_value_10
; /* Once value */
2929 static val_t once_value_11
; /* Once value */
2930 static val_t once_value_12
; /* Once value */
2931 static val_t once_value_13
; /* Once value */
2932 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2933 fra
.me
.file
= LOCATE_frontier
;
2935 fra
.me
.meth
= LOCATE_frontier___MMImportedCast___compile_as
;
2936 fra
.me
.has_broke
= 0;
2937 fra
.me
.REG_size
= 8;
2938 fra
.me
.REG
[0] = NIT_NULL
;
2939 fra
.me
.REG
[1] = NIT_NULL
;
2940 fra
.me
.REG
[2] = NIT_NULL
;
2941 fra
.me
.REG
[3] = NIT_NULL
;
2942 fra
.me
.REG
[4] = NIT_NULL
;
2943 fra
.me
.REG
[5] = NIT_NULL
;
2944 fra
.me
.REG
[6] = NIT_NULL
;
2945 fra
.me
.REG
[7] = NIT_NULL
;
2948 /* ./native_interface//frontier.nit:361 */
2949 fra
.me
.REG
[1] = CALL_ni_metamodel___MMImportedCast___as_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2950 fra
.me
.REG
[1] = NEW_FunctionCompiler_ni_tools___FunctionCompiler___init(fra
.me
.REG
[1]);
2951 /* ./native_interface//frontier.nit:363 */
2952 if (!once_value_1
) {
2953 fra
.me
.REG
[2] = BOX_NativeString("out");
2955 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2956 once_value_1
= fra
.me
.REG
[2];
2957 register_static_object(&once_value_1
);
2958 } else fra
.me
.REG
[2] = once_value_1
;
2959 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2960 /* ./native_interface//frontier.nit:364 */
2961 if (!once_value_2
) {
2962 fra
.me
.REG
[3] = BOX_NativeString("temp");
2964 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2965 once_value_2
= fra
.me
.REG
[3];
2966 register_static_object(&once_value_2
);
2967 } else fra
.me
.REG
[3] = once_value_2
;
2968 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2969 /* ./native_interface//frontier.nit:366 */
2970 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2972 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
2973 if (!once_value_3
) {
2974 fra
.me
.REG
[6] = BOX_NativeString("val_t ");
2976 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2977 once_value_3
= fra
.me
.REG
[6];
2978 register_static_object(&once_value_3
);
2979 } else fra
.me
.REG
[6] = once_value_3
;
2980 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2981 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2982 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2983 if (!once_value_4
) {
2984 fra
.me
.REG
[6] = BOX_NativeString(";\n");
2986 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
2987 once_value_4
= fra
.me
.REG
[6];
2988 register_static_object(&once_value_4
);
2989 } else fra
.me
.REG
[6] = once_value_4
;
2990 fra
.me
.REG
[6] = fra
.me
.REG
[6];
2991 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2992 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2993 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2994 /* ./native_interface//frontier.nit:367 */
2995 fra
.me
.REG
[5] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2997 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
2998 if (!once_value_5
) {
2999 fra
.me
.REG
[6] = BOX_NativeString("");
3001 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3002 once_value_5
= fra
.me
.REG
[6];
3003 register_static_object(&once_value_5
);
3004 } else fra
.me
.REG
[6] = once_value_5
;
3005 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3006 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3007 fra
.me
.REG
[6] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3008 fra
.me
.REG
[6] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3009 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3010 if (!once_value_6
) {
3011 fra
.me
.REG
[6] = BOX_NativeString(" ");
3013 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3014 once_value_6
= fra
.me
.REG
[6];
3015 register_static_object(&once_value_6
);
3016 } else fra
.me
.REG
[6] = once_value_6
;
3017 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3018 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3019 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3020 if (!once_value_7
) {
3021 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3023 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3024 once_value_7
= fra
.me
.REG
[6];
3025 register_static_object(&once_value_7
);
3026 } else fra
.me
.REG
[6] = once_value_7
;
3027 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3028 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3029 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3030 CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3031 /* ./native_interface//frontier.nit:369 */
3032 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3034 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
3035 if (!once_value_8
) {
3036 fra
.me
.REG
[6] = BOX_NativeString("");
3038 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3039 once_value_8
= fra
.me
.REG
[6];
3040 register_static_object(&once_value_8
);
3041 } else fra
.me
.REG
[6] = once_value_8
;
3042 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3043 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3044 fra
.me
.REG
[6] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3045 fra
.me
.REG
[7] = CALL_ni_metamodel___MMImportedCast___in_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3046 fra
.me
.REG
[7] = CALL_ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3047 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3048 if (!once_value_9
) {
3049 fra
.me
.REG
[7] = BOX_NativeString(";\n");
3051 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
3052 once_value_9
= fra
.me
.REG
[7];
3053 register_static_object(&once_value_9
);
3054 } else fra
.me
.REG
[7] = once_value_9
;
3055 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3056 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3057 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3058 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3059 /* ./native_interface//frontier.nit:372 */
3060 fra
.me
.REG
[5] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3061 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3062 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3063 if (UNTAG_Bool(REGB0
)) {
3064 /* ./native_interface//frontier.nit:373 */
3065 CALL_frontier___MMImportedCast___compile_check_is_not_null(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
3067 /* ./native_interface//frontier.nit:377 */
3068 REGB0
= CALL_static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3069 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3070 if (UNTAG_Bool(REGB0
)) {
3071 /* ./native_interface//frontier.nit:378 */
3072 fra
.me
.REG
[5] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3073 CALL_frontier___MMType___compile_check_isa(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[3]);
3075 /* ./native_interface//frontier.nit:381 */
3076 fra
.me
.REG
[5] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3078 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3079 if (!once_value_10
) {
3080 fra
.me
.REG
[7] = BOX_NativeString("");
3082 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
3083 once_value_10
= fra
.me
.REG
[7];
3084 register_static_object(&once_value_10
);
3085 } else fra
.me
.REG
[7] = once_value_10
;
3086 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3087 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3088 fra
.me
.REG
[0] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3089 fra
.me
.REG
[3] = CALL_ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[3]);
3090 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3091 if (!once_value_11
) {
3092 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3094 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3095 once_value_11
= fra
.me
.REG
[3];
3096 register_static_object(&once_value_11
);
3097 } else fra
.me
.REG
[3] = once_value_11
;
3098 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3099 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3100 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3101 CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3102 /* ./native_interface//frontier.nit:383 */
3103 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3105 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
3106 if (!once_value_12
) {
3107 fra
.me
.REG
[3] = BOX_NativeString("return ");
3109 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3110 once_value_12
= fra
.me
.REG
[3];
3111 register_static_object(&once_value_12
);
3112 } else fra
.me
.REG
[3] = once_value_12
;
3113 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3114 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3115 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3116 if (!once_value_13
) {
3117 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3119 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3120 once_value_13
= fra
.me
.REG
[2];
3121 register_static_object(&once_value_13
);
3122 } else fra
.me
.REG
[2] = once_value_13
;
3123 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3124 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3125 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3126 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3127 /* ./native_interface//frontier.nit:385 */
3130 stack_frame_head
= fra
.me
.prev
;
3131 return fra
.me
.REG
[1];
3133 val_t
frontier___MMImportedCast___compile_is(val_t p0
, val_t p1
){
3134 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
3137 static val_t once_value_1
; /* Once value */
3138 static val_t once_value_2
; /* Once value */
3139 static val_t once_value_3
; /* Once value */
3140 static val_t once_value_4
; /* Once value */
3141 static val_t once_value_5
; /* Once value */
3142 static val_t once_value_6
; /* Once value */
3143 static val_t once_value_7
; /* Once value */
3144 static val_t once_value_8
; /* Once value */
3145 static val_t once_value_9
; /* Once value */
3146 static val_t once_value_10
; /* Once value */
3147 static val_t once_value_11
; /* Once value */
3148 static val_t once_value_12
; /* Once value */
3149 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3150 fra
.me
.file
= LOCATE_frontier
;
3152 fra
.me
.meth
= LOCATE_frontier___MMImportedCast___compile_is
;
3153 fra
.me
.has_broke
= 0;
3154 fra
.me
.REG_size
= 7;
3155 fra
.me
.REG
[0] = NIT_NULL
;
3156 fra
.me
.REG
[1] = NIT_NULL
;
3157 fra
.me
.REG
[2] = NIT_NULL
;
3158 fra
.me
.REG
[3] = NIT_NULL
;
3159 fra
.me
.REG
[4] = NIT_NULL
;
3160 fra
.me
.REG
[5] = NIT_NULL
;
3161 fra
.me
.REG
[6] = NIT_NULL
;
3164 /* ./native_interface//frontier.nit:392 */
3165 fra
.me
.REG
[1] = CALL_ni_metamodel___MMImportedCast___is_a_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3166 fra
.me
.REG
[1] = NEW_FunctionCompiler_ni_tools___FunctionCompiler___init(fra
.me
.REG
[1]);
3167 /* ./native_interface//frontier.nit:394 */
3168 if (!once_value_1
) {
3169 fra
.me
.REG
[2] = BOX_NativeString("temp");
3171 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3172 once_value_1
= fra
.me
.REG
[2];
3173 register_static_object(&once_value_1
);
3174 } else fra
.me
.REG
[2] = once_value_1
;
3175 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3176 /* ./native_interface//frontier.nit:395 */
3177 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3179 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3180 if (!once_value_2
) {
3181 fra
.me
.REG
[5] = BOX_NativeString("val_t ");
3183 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3184 once_value_2
= fra
.me
.REG
[5];
3185 register_static_object(&once_value_2
);
3186 } else fra
.me
.REG
[5] = once_value_2
;
3187 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3188 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3189 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3190 if (!once_value_3
) {
3191 fra
.me
.REG
[5] = BOX_NativeString(";\n");
3193 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3194 once_value_3
= fra
.me
.REG
[5];
3195 register_static_object(&once_value_3
);
3196 } else fra
.me
.REG
[5] = once_value_3
;
3197 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3198 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3199 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3200 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3201 /* ./native_interface//frontier.nit:397 */
3202 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3204 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
3205 if (!once_value_4
) {
3206 fra
.me
.REG
[5] = BOX_NativeString("");
3208 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3209 once_value_4
= fra
.me
.REG
[5];
3210 register_static_object(&once_value_4
);
3211 } else fra
.me
.REG
[5] = once_value_4
;
3212 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3213 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
3214 fra
.me
.REG
[5] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3215 fra
.me
.REG
[6] = CALL_ni_metamodel___MMImportedCast___in_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3216 fra
.me
.REG
[6] = CALL_ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2], fra
.me
.REG
[6]);
3217 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3218 if (!once_value_5
) {
3219 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3221 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3222 once_value_5
= fra
.me
.REG
[6];
3223 register_static_object(&once_value_5
);
3224 } else fra
.me
.REG
[6] = once_value_5
;
3225 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3226 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3227 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3228 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3229 /* ./native_interface//frontier.nit:399 */
3230 REGB0
= CALL_static_type___MMImportedCast___is_nullable_to_not_null(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3231 if (UNTAG_Bool(REGB0
)) {
3232 /* ./native_interface//frontier.nit:400 */
3233 REGB0
= CALL_static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3234 if (UNTAG_Bool(REGB0
)) {
3235 /* ./native_interface//frontier.nit:401 */
3236 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3238 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3239 if (!once_value_6
) {
3240 fra
.me
.REG
[6] = BOX_NativeString("if ( ! ISNULL(");
3241 REGB0
= TAG_Int(14);
3242 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3243 once_value_6
= fra
.me
.REG
[6];
3244 register_static_object(&once_value_6
);
3245 } else fra
.me
.REG
[6] = once_value_6
;
3246 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3247 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3248 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3249 if (!once_value_7
) {
3250 fra
.me
.REG
[6] = BOX_NativeString(") ) return 0;\n");
3251 REGB0
= TAG_Int(14);
3252 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3253 once_value_7
= fra
.me
.REG
[6];
3254 register_static_object(&once_value_7
);
3255 } else fra
.me
.REG
[6] = once_value_7
;
3256 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3257 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3258 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3259 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3261 /* ./native_interface//frontier.nit:403 */
3262 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3264 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
3265 if (!once_value_8
) {
3266 fra
.me
.REG
[6] = BOX_NativeString("if ( ISNULL(");
3267 REGB0
= TAG_Int(12);
3268 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3269 once_value_8
= fra
.me
.REG
[6];
3270 register_static_object(&once_value_8
);
3271 } else fra
.me
.REG
[6] = once_value_8
;
3272 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3273 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3274 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3275 if (!once_value_9
) {
3276 fra
.me
.REG
[6] = BOX_NativeString(") ) return 0;\n");
3277 REGB0
= TAG_Int(14);
3278 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3279 once_value_9
= fra
.me
.REG
[6];
3280 register_static_object(&once_value_9
);
3281 } else fra
.me
.REG
[6] = once_value_9
;
3282 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3283 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3284 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3285 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3288 /* ./native_interface//frontier.nit:407 */
3289 REGB0
= CALL_static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3290 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3291 if (UNTAG_Bool(REGB0
)) {
3292 /* ./native_interface//frontier.nit:408 */
3293 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3295 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3296 if (!once_value_10
) {
3297 fra
.me
.REG
[6] = BOX_NativeString("if ( ! ");
3299 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3300 once_value_10
= fra
.me
.REG
[6];
3301 register_static_object(&once_value_10
);
3302 } else fra
.me
.REG
[6] = once_value_10
;
3303 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3304 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3305 fra
.me
.REG
[0] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3306 fra
.me
.REG
[2] = CALL_frontier___MMType___compile_condition_isa(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3307 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3308 if (!once_value_11
) {
3309 fra
.me
.REG
[2] = BOX_NativeString(" ) return 0;\n");
3310 REGB0
= TAG_Int(13);
3311 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3312 once_value_11
= fra
.me
.REG
[2];
3313 register_static_object(&once_value_11
);
3314 } else fra
.me
.REG
[2] = once_value_11
;
3315 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3316 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3317 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3318 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3320 /* ./native_interface//frontier.nit:411 */
3321 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3322 if (!once_value_12
) {
3323 fra
.me
.REG
[3] = BOX_NativeString("return 1;\n");
3324 REGB0
= TAG_Int(10);
3325 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3326 once_value_12
= fra
.me
.REG
[3];
3327 register_static_object(&once_value_12
);
3328 } else fra
.me
.REG
[3] = once_value_12
;
3329 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3330 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3331 /* ./native_interface//frontier.nit:413 */
3334 stack_frame_head
= fra
.me
.prev
;
3335 return fra
.me
.REG
[1];
3337 void frontier___MMImportedCast___compile_check_is_not_null(val_t p0
, val_t p1
, val_t p2
){
3338 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3341 static val_t once_value_1
; /* Once value */
3342 static val_t once_value_2
; /* Once value */
3343 static val_t once_value_3
; /* Once value */
3344 static val_t once_value_4
; /* Once value */
3345 static val_t once_value_5
; /* Once value */
3346 static val_t once_value_6
; /* Once value */
3347 static val_t once_value_7
; /* Once value */
3348 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3349 fra
.me
.file
= LOCATE_frontier
;
3351 fra
.me
.meth
= LOCATE_frontier___MMImportedCast___compile_check_is_not_null
;
3352 fra
.me
.has_broke
= 0;
3353 fra
.me
.REG_size
= 6;
3354 fra
.me
.REG
[0] = NIT_NULL
;
3355 fra
.me
.REG
[1] = NIT_NULL
;
3356 fra
.me
.REG
[2] = NIT_NULL
;
3357 fra
.me
.REG
[3] = NIT_NULL
;
3358 fra
.me
.REG
[4] = NIT_NULL
;
3359 fra
.me
.REG
[5] = NIT_NULL
;
3363 /* ./native_interface//frontier.nit:420 */
3364 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3366 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3367 if (!once_value_1
) {
3368 fra
.me
.REG
[5] = BOX_NativeString("if ( ISNULL(");
3369 REGB0
= TAG_Int(12);
3370 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3371 once_value_1
= fra
.me
.REG
[5];
3372 register_static_object(&once_value_1
);
3373 } else fra
.me
.REG
[5] = once_value_1
;
3374 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3375 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3376 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3377 if (!once_value_2
) {
3378 fra
.me
.REG
[2] = BOX_NativeString(") ){");
3380 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3381 once_value_2
= fra
.me
.REG
[2];
3382 register_static_object(&once_value_2
);
3383 } else fra
.me
.REG
[2] = once_value_2
;
3384 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3385 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3386 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3387 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3388 /* ./native_interface//frontier.nit:421 */
3389 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3391 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
3392 if (!once_value_3
) {
3393 fra
.me
.REG
[2] = BOX_NativeString("\tfprintf( stderr, \"Casting from ");
3394 REGB0
= TAG_Int(32);
3395 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3396 once_value_3
= fra
.me
.REG
[2];
3397 register_static_object(&once_value_3
);
3398 } else fra
.me
.REG
[2] = once_value_3
;
3399 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3400 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3401 fra
.me
.REG
[2] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3402 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3403 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3404 if (!once_value_4
) {
3405 fra
.me
.REG
[2] = BOX_NativeString(" to ");
3407 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3408 once_value_4
= fra
.me
.REG
[2];
3409 register_static_object(&once_value_4
);
3410 } else fra
.me
.REG
[2] = once_value_4
;
3411 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3412 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3413 fra
.me
.REG
[0] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3414 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3415 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3416 if (!once_value_5
) {
3417 fra
.me
.REG
[0] = BOX_NativeString(" failed because value is null.\" );\n");
3418 REGB0
= TAG_Int(35);
3419 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3420 once_value_5
= fra
.me
.REG
[0];
3421 register_static_object(&once_value_5
);
3422 } else fra
.me
.REG
[0] = once_value_5
;
3423 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3424 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3425 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3426 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3427 /* ./native_interface//frontier.nit:422 */
3428 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3429 if (!once_value_6
) {
3430 fra
.me
.REG
[4] = BOX_NativeString("\tabort();\n");
3431 REGB0
= TAG_Int(10);
3432 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3433 once_value_6
= fra
.me
.REG
[4];
3434 register_static_object(&once_value_6
);
3435 } else fra
.me
.REG
[4] = once_value_6
;
3436 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3437 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3438 /* ./native_interface//frontier.nit:423 */
3439 fra
.me
.REG
[1] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3440 if (!once_value_7
) {
3441 fra
.me
.REG
[4] = BOX_NativeString("}");
3443 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3444 once_value_7
= fra
.me
.REG
[4];
3445 register_static_object(&once_value_7
);
3446 } else fra
.me
.REG
[4] = once_value_7
;
3447 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3448 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3449 stack_frame_head
= fra
.me
.prev
;
3452 val_t
frontier___MMImportedCast_____eqeq(val_t p0
, val_t p1
){
3453 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3457 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3458 fra
.me
.file
= LOCATE_frontier
;
3460 fra
.me
.meth
= LOCATE_frontier___MMImportedCast_____eqeq
;
3461 fra
.me
.has_broke
= 0;
3462 fra
.me
.REG_size
= 4;
3463 fra
.me
.REG
[0] = NIT_NULL
;
3464 fra
.me
.REG
[1] = NIT_NULL
;
3465 fra
.me
.REG
[2] = NIT_NULL
;
3466 fra
.me
.REG
[3] = NIT_NULL
;
3469 /* ./native_interface//frontier.nit:428 */
3470 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_MMImportedCast
, ID_MMImportedCast
)) /*cast MMImportedCast*/;
3471 if (UNTAG_Bool(REGB0
)) {
3472 /* ./native_interface//frontier.nit:429 */
3473 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3474 if (UNTAG_Bool(REGB0
)) {
3475 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 429);
3477 fra
.me
.REG
[2] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3478 fra
.me
.REG
[3] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3479 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
3480 if (UNTAG_Bool(REGB0
)) {
3482 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3486 /* ./native_interface//frontier.nit:428 */
3487 REGB1
= TAG_Bool(false);
3490 if (UNTAG_Bool(REGB0
)) {
3491 /* ./native_interface//frontier.nit:429 */
3492 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3493 if (UNTAG_Bool(REGB0
)) {
3494 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 429);
3496 fra
.me
.REG
[1] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3497 fra
.me
.REG
[0] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3498 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
3499 if (UNTAG_Bool(REGB0
)) {
3501 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3505 /* ./native_interface//frontier.nit:428 */
3506 REGB1
= TAG_Bool(false);
3511 stack_frame_head
= fra
.me
.prev
;
3514 val_t
frontier___MMImportedCast___hash(val_t p0
){
3515 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3519 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3520 fra
.me
.file
= LOCATE_frontier
;
3522 fra
.me
.meth
= LOCATE_frontier___MMImportedCast___hash
;
3523 fra
.me
.has_broke
= 0;
3524 fra
.me
.REG_size
= 2;
3525 fra
.me
.REG
[0] = NIT_NULL
;
3526 fra
.me
.REG
[1] = NIT_NULL
;
3528 /* ./native_interface//frontier.nit:433 */
3529 fra
.me
.REG
[1] = CALL_static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3530 REGB0
= CALL_hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3531 fra
.me
.REG
[0] = CALL_static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3532 REGB1
= CALL_hash___Object___hash(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3533 /* ./../lib/standard//kernel.nit:215 */
3534 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3535 /* ./native_interface//frontier.nit:433 */
3538 stack_frame_head
= fra
.me
.prev
;
3541 void frontier___MMType___compile_check_isa(val_t p0
, val_t p1
, val_t p2
){
3542 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3545 static val_t once_value_1
; /* Once value */
3546 static val_t once_value_2
; /* Once value */
3547 static val_t once_value_3
; /* Once value */
3548 static val_t once_value_4
; /* Once value */
3549 static val_t once_value_5
; /* Once value */
3550 static val_t once_value_6
; /* Once value */
3551 static val_t once_value_7
; /* Once value */
3552 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3553 fra
.me
.file
= LOCATE_frontier
;
3555 fra
.me
.meth
= LOCATE_frontier___MMType___compile_check_isa
;
3556 fra
.me
.has_broke
= 0;
3557 fra
.me
.REG_size
= 6;
3558 fra
.me
.REG
[0] = NIT_NULL
;
3559 fra
.me
.REG
[1] = NIT_NULL
;
3560 fra
.me
.REG
[2] = NIT_NULL
;
3561 fra
.me
.REG
[3] = NIT_NULL
;
3562 fra
.me
.REG
[4] = NIT_NULL
;
3563 fra
.me
.REG
[5] = NIT_NULL
;
3567 /* ./native_interface//frontier.nit:444 */
3568 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3570 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3571 if (!once_value_1
) {
3572 fra
.me
.REG
[5] = BOX_NativeString("if ( ! ");
3574 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3575 once_value_1
= fra
.me
.REG
[5];
3576 register_static_object(&once_value_1
);
3577 } else fra
.me
.REG
[5] = once_value_1
;
3578 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3579 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3580 fra
.me
.REG
[2] = CALL_frontier___MMType___compile_condition_isa(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3581 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3582 if (!once_value_2
) {
3583 fra
.me
.REG
[2] = BOX_NativeString(" ){");
3585 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3586 once_value_2
= fra
.me
.REG
[2];
3587 register_static_object(&once_value_2
);
3588 } else fra
.me
.REG
[2] = once_value_2
;
3589 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3590 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3591 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3592 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3593 /* ./native_interface//frontier.nit:445 */
3594 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3596 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
3597 if (!once_value_3
) {
3598 fra
.me
.REG
[2] = BOX_NativeString("\tfprintf( stderr, \"Casting to ");
3599 REGB0
= TAG_Int(30);
3600 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3601 once_value_3
= fra
.me
.REG
[2];
3602 register_static_object(&once_value_3
);
3603 } else fra
.me
.REG
[2] = once_value_3
;
3604 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3605 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3606 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3607 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3608 if (!once_value_4
) {
3609 fra
.me
.REG
[2] = BOX_NativeString(" failed because value is not a ");
3610 REGB0
= TAG_Int(31);
3611 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
3612 once_value_4
= fra
.me
.REG
[2];
3613 register_static_object(&once_value_4
);
3614 } else fra
.me
.REG
[2] = once_value_4
;
3615 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3616 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3617 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3618 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3619 if (!once_value_5
) {
3620 fra
.me
.REG
[0] = BOX_NativeString(".\" );\n");
3622 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3623 once_value_5
= fra
.me
.REG
[0];
3624 register_static_object(&once_value_5
);
3625 } else fra
.me
.REG
[0] = once_value_5
;
3626 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3627 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3628 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3629 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3630 /* ./native_interface//frontier.nit:446 */
3631 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3632 if (!once_value_6
) {
3633 fra
.me
.REG
[4] = BOX_NativeString("\tabort();\n");
3634 REGB0
= TAG_Int(10);
3635 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3636 once_value_6
= fra
.me
.REG
[4];
3637 register_static_object(&once_value_6
);
3638 } else fra
.me
.REG
[4] = once_value_6
;
3639 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3640 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3641 /* ./native_interface//frontier.nit:447 */
3642 fra
.me
.REG
[1] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3643 if (!once_value_7
) {
3644 fra
.me
.REG
[4] = BOX_NativeString("}");
3646 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3647 once_value_7
= fra
.me
.REG
[4];
3648 register_static_object(&once_value_7
);
3649 } else fra
.me
.REG
[4] = once_value_7
;
3650 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3651 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3652 stack_frame_head
= fra
.me
.prev
;
3655 val_t
frontier___MMType___compile_condition_isa(val_t p0
, val_t p1
){
3656 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3659 static val_t once_value_1
; /* Once value */
3660 static val_t once_value_2
; /* Once value */
3661 static val_t once_value_3
; /* Once value */
3662 static val_t once_value_4
; /* Once value */
3663 static val_t once_value_5
; /* Once value */
3664 static val_t once_value_6
; /* Once value */
3665 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3666 fra
.me
.file
= LOCATE_frontier
;
3668 fra
.me
.meth
= LOCATE_frontier___MMType___compile_condition_isa
;
3669 fra
.me
.has_broke
= 0;
3670 fra
.me
.REG_size
= 4;
3671 fra
.me
.REG
[0] = NIT_NULL
;
3672 fra
.me
.REG
[1] = NIT_NULL
;
3673 fra
.me
.REG
[2] = NIT_NULL
;
3674 fra
.me
.REG
[3] = NIT_NULL
;
3677 /* ./native_interface//frontier.nit:454 */
3678 REGB0
= TAG_Int(11);
3679 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
3680 if (!once_value_1
) {
3681 fra
.me
.REG
[3] = BOX_NativeString("( ISOBJ( ");
3683 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3684 once_value_1
= fra
.me
.REG
[3];
3685 register_static_object(&once_value_1
);
3686 } else fra
.me
.REG
[3] = once_value_1
;
3687 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3688 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3689 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3690 if (!once_value_2
) {
3691 fra
.me
.REG
[3] = BOX_NativeString(" ) ? OBJISA( ");
3692 REGB0
= TAG_Int(13);
3693 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3694 once_value_2
= fra
.me
.REG
[3];
3695 register_static_object(&once_value_2
);
3696 } else fra
.me
.REG
[3] = once_value_2
;
3697 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3698 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3699 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3700 if (!once_value_3
) {
3701 fra
.me
.REG
[3] = BOX_NativeString(", ");
3703 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3704 once_value_3
= fra
.me
.REG
[3];
3705 register_static_object(&once_value_3
);
3706 } else fra
.me
.REG
[3] = once_value_3
;
3707 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3708 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3709 fra
.me
.REG
[3] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3710 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3711 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3712 if (!once_value_4
) {
3713 fra
.me
.REG
[3] = BOX_NativeString(" ): VALISA( ");
3714 REGB0
= TAG_Int(12);
3715 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3716 once_value_4
= fra
.me
.REG
[3];
3717 register_static_object(&once_value_4
);
3718 } else fra
.me
.REG
[3] = once_value_4
;
3719 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3720 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3721 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3722 if (!once_value_5
) {
3723 fra
.me
.REG
[1] = BOX_NativeString(", ");
3725 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
3726 once_value_5
= fra
.me
.REG
[1];
3727 register_static_object(&once_value_5
);
3728 } else fra
.me
.REG
[1] = once_value_5
;
3729 fra
.me
.REG
[1] = fra
.me
.REG
[1];
3730 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3731 fra
.me
.REG
[0] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3732 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3733 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3734 if (!once_value_6
) {
3735 fra
.me
.REG
[0] = BOX_NativeString(" ) )");
3737 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3738 once_value_6
= fra
.me
.REG
[0];
3739 register_static_object(&once_value_6
);
3740 } else fra
.me
.REG
[0] = once_value_6
;
3741 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3742 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3743 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3746 stack_frame_head
= fra
.me
.prev
;
3747 return fra
.me
.REG
[2];
3749 void frontier___MMType___compile_to_frontier(val_t p0
, val_t p1
){
3750 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
3754 static val_t once_value_1
; /* Once value */
3755 static val_t once_value_2
; /* Once value */
3756 static val_t once_value_3
; /* Once value */
3757 static val_t once_value_4
; /* Once value */
3758 static val_t once_value_5
; /* Once value */
3759 static val_t once_value_6
; /* Once value */
3760 static val_t once_value_7
; /* Once value */
3761 static val_t once_value_8
; /* Once value */
3762 static val_t once_value_9
; /* Once value */
3763 static val_t once_value_10
; /* Once value */
3764 static val_t once_value_11
; /* Once value */
3765 static val_t once_value_12
; /* Once value */
3766 static val_t once_value_13
; /* Once value */
3767 static val_t once_value_14
; /* Once value */
3768 static val_t once_value_15
; /* Once value */
3769 static val_t once_value_16
; /* Once value */
3770 static val_t once_value_17
; /* Once value */
3771 static val_t once_value_18
; /* Once value */
3772 static val_t once_value_19
; /* Once value */
3773 static val_t once_value_20
; /* Once value */
3774 static val_t once_value_21
; /* Once value */
3775 static val_t once_value_22
; /* Once value */
3776 static val_t once_value_23
; /* Once value */
3777 static val_t once_value_24
; /* Once value */
3778 static val_t once_value_25
; /* Once value */
3779 static val_t once_value_26
; /* Once value */
3780 static val_t once_value_27
; /* Once value */
3781 static val_t once_value_28
; /* Once value */
3782 static val_t once_value_29
; /* Once value */
3783 static val_t once_value_30
; /* Once value */
3784 static val_t once_value_31
; /* Once value */
3785 static val_t once_value_32
; /* Once value */
3786 static val_t once_value_33
; /* Once value */
3787 static val_t once_value_34
; /* Once value */
3788 static val_t once_value_35
; /* Once value */
3789 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3790 fra
.me
.file
= LOCATE_frontier
;
3792 fra
.me
.meth
= LOCATE_frontier___MMType___compile_to_frontier
;
3793 fra
.me
.has_broke
= 0;
3794 fra
.me
.REG_size
= 7;
3795 fra
.me
.REG
[0] = NIT_NULL
;
3796 fra
.me
.REG
[1] = NIT_NULL
;
3797 fra
.me
.REG
[2] = NIT_NULL
;
3798 fra
.me
.REG
[3] = NIT_NULL
;
3799 fra
.me
.REG
[4] = NIT_NULL
;
3800 fra
.me
.REG
[5] = NIT_NULL
;
3801 fra
.me
.REG
[6] = NIT_NULL
;
3804 /* ./native_interface//frontier.nit:461 */
3805 fra
.me
.REG
[2] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3806 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3807 /* ./native_interface//frontier.nit:462 */
3808 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3809 if (UNTAG_Bool(REGB0
)) {
3811 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3812 if (UNTAG_Bool(REGB1
)) {
3813 REGB1
= TAG_Bool(false);
3816 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3820 if (UNTAG_Bool(REGB0
)) {
3821 REGB0
= TAG_Bool(true);
3823 REGB1
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3826 if (UNTAG_Bool(REGB0
)) {
3827 /* ./native_interface//frontier.nit:463 */
3828 fra
.me
.REG
[2] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3829 /* ./native_interface//frontier.nit:464 */
3831 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
3832 if (!once_value_1
) {
3833 fra
.me
.REG
[4] = BOX_NativeString("");
3835 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3836 once_value_1
= fra
.me
.REG
[4];
3837 register_static_object(&once_value_1
);
3838 } else fra
.me
.REG
[4] = once_value_1
;
3839 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3840 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3841 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3842 fra
.me
.REG
[4] = CALL_string___AbstractString___to_upper(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3843 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3844 if (!once_value_2
) {
3845 fra
.me
.REG
[4] = BOX_NativeString("_TYPE");
3847 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3848 once_value_2
= fra
.me
.REG
[4];
3849 register_static_object(&once_value_2
);
3850 } else fra
.me
.REG
[4] = once_value_2
;
3851 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3852 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3853 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3854 /* ./native_interface//frontier.nit:467 */
3855 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3857 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
3858 if (!once_value_3
) {
3859 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
3861 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3862 once_value_3
= fra
.me
.REG
[6];
3863 register_static_object(&once_value_3
);
3864 } else fra
.me
.REG
[6] = once_value_3
;
3865 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3866 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3867 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3868 if (!once_value_4
) {
3869 fra
.me
.REG
[6] = BOX_NativeString("\n");
3871 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3872 once_value_4
= fra
.me
.REG
[6];
3873 register_static_object(&once_value_4
);
3874 } else fra
.me
.REG
[6] = once_value_4
;
3875 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3876 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3877 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3878 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3879 /* ./native_interface//frontier.nit:468 */
3880 fra
.me
.REG
[5] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3882 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3883 if (!once_value_5
) {
3884 fra
.me
.REG
[6] = BOX_NativeString("#define ");
3886 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
3887 once_value_5
= fra
.me
.REG
[6];
3888 register_static_object(&once_value_5
);
3889 } else fra
.me
.REG
[6] = once_value_5
;
3890 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3891 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3892 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3893 if (!once_value_6
) {
3894 fra
.me
.REG
[3] = BOX_NativeString("\n");
3896 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3897 once_value_6
= fra
.me
.REG
[3];
3898 register_static_object(&once_value_6
);
3899 } else fra
.me
.REG
[3] = once_value_6
;
3900 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3901 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3902 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3903 CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3904 /* ./native_interface//frontier.nit:469 */
3905 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3907 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
3908 if (!once_value_7
) {
3909 fra
.me
.REG
[3] = BOX_NativeString("typedef struct s_");
3910 REGB0
= TAG_Int(17);
3911 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3912 once_value_7
= fra
.me
.REG
[3];
3913 register_static_object(&once_value_7
);
3914 } else fra
.me
.REG
[3] = once_value_7
;
3915 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3916 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3917 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3918 if (!once_value_8
) {
3919 fra
.me
.REG
[3] = BOX_NativeString("{\n");
3921 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3922 once_value_8
= fra
.me
.REG
[3];
3923 register_static_object(&once_value_8
);
3924 } else fra
.me
.REG
[3] = once_value_8
;
3925 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3926 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3927 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3928 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3929 /* ./native_interface//frontier.nit:470 */
3930 fra
.me
.REG
[5] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3931 if (!once_value_9
) {
3932 fra
.me
.REG
[4] = BOX_NativeString("\tval_t v;\n");
3933 REGB0
= TAG_Int(10);
3934 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3935 once_value_9
= fra
.me
.REG
[4];
3936 register_static_object(&once_value_9
);
3937 } else fra
.me
.REG
[4] = once_value_9
;
3938 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3939 CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3940 /* ./native_interface//frontier.nit:471 */
3941 fra
.me
.REG
[4] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3943 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
3944 if (!once_value_10
) {
3945 fra
.me
.REG
[3] = BOX_NativeString("} ");
3947 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3948 once_value_10
= fra
.me
.REG
[3];
3949 register_static_object(&once_value_10
);
3950 } else fra
.me
.REG
[3] = once_value_10
;
3951 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3952 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3953 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3954 if (!once_value_11
) {
3955 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3957 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
3958 once_value_11
= fra
.me
.REG
[3];
3959 register_static_object(&once_value_11
);
3960 } else fra
.me
.REG
[3] = once_value_11
;
3961 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3962 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3963 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3964 CALL_compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3965 /* ./native_interface//frontier.nit:472 */
3966 fra
.me
.REG
[5] = CALL_frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3967 if (!once_value_12
) {
3968 fra
.me
.REG
[4] = BOX_NativeString("#endif\n\n");
3970 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3971 once_value_12
= fra
.me
.REG
[4];
3972 register_static_object(&once_value_12
);
3973 } else fra
.me
.REG
[4] = once_value_12
;
3974 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3975 CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3976 /* ./native_interface//frontier.nit:475 */
3977 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3978 if (UNTAG_Bool(REGB0
)) {
3979 /* ./native_interface//frontier.nit:476 */
3981 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3982 if (!once_value_13
) {
3983 fra
.me
.REG
[5] = BOX_NativeString("null_");
3985 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3986 once_value_13
= fra
.me
.REG
[5];
3987 register_static_object(&once_value_13
);
3988 } else fra
.me
.REG
[5] = once_value_13
;
3989 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3990 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3991 fra
.me
.REG
[5] = CALL_static_type___MMType___as_notnull(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3992 fra
.me
.REG
[5] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3993 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3994 if (!once_value_14
) {
3995 fra
.me
.REG
[5] = BOX_NativeString("");
3997 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
3998 once_value_14
= fra
.me
.REG
[5];
3999 register_static_object(&once_value_14
);
4000 } else fra
.me
.REG
[5] = once_value_14
;
4001 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4002 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4003 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4004 /* ./native_interface//frontier.nit:477 */
4006 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4007 if (!once_value_15
) {
4008 fra
.me
.REG
[3] = BOX_NativeString("");
4010 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4011 once_value_15
= fra
.me
.REG
[3];
4012 register_static_object(&once_value_15
);
4013 } else fra
.me
.REG
[3] = once_value_15
;
4014 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4015 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4016 fra
.me
.REG
[0] = CALL_static_type___MMType___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4017 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4018 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4019 if (!once_value_16
) {
4020 fra
.me
.REG
[0] = BOX_NativeString("_");
4022 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4023 once_value_16
= fra
.me
.REG
[0];
4024 register_static_object(&once_value_16
);
4025 } else fra
.me
.REG
[0] = once_value_16
;
4026 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4027 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4028 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4029 if (!once_value_17
) {
4030 fra
.me
.REG
[0] = BOX_NativeString("");
4032 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4033 once_value_17
= fra
.me
.REG
[0];
4034 register_static_object(&once_value_17
);
4035 } else fra
.me
.REG
[0] = once_value_17
;
4036 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4037 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4038 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4039 /* ./native_interface//frontier.nit:479 */
4040 fra
.me
.REG
[0] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4042 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4043 if (!once_value_18
) {
4044 fra
.me
.REG
[6] = BOX_NativeString("");
4046 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4047 once_value_18
= fra
.me
.REG
[6];
4048 register_static_object(&once_value_18
);
4049 } else fra
.me
.REG
[6] = once_value_18
;
4050 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4051 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4052 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4053 if (!once_value_19
) {
4054 fra
.me
.REG
[6] = BOX_NativeString(" ");
4056 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4057 once_value_19
= fra
.me
.REG
[6];
4058 register_static_object(&once_value_19
);
4059 } else fra
.me
.REG
[6] = once_value_19
;
4060 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4061 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4062 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4063 if (!once_value_20
) {
4064 fra
.me
.REG
[6] = BOX_NativeString("();\n");
4066 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4067 once_value_20
= fra
.me
.REG
[6];
4068 register_static_object(&once_value_20
);
4069 } else fra
.me
.REG
[6] = once_value_20
;
4070 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4071 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4072 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4073 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4074 /* ./native_interface//frontier.nit:481 */
4075 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4077 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4078 if (!once_value_21
) {
4079 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
4081 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4082 once_value_21
= fra
.me
.REG
[6];
4083 register_static_object(&once_value_21
);
4084 } else fra
.me
.REG
[6] = once_value_21
;
4085 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4086 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4087 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4088 if (!once_value_22
) {
4089 fra
.me
.REG
[6] = BOX_NativeString("\n");
4091 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4092 once_value_22
= fra
.me
.REG
[6];
4093 register_static_object(&once_value_22
);
4094 } else fra
.me
.REG
[6] = once_value_22
;
4095 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4096 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4097 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4098 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4099 /* ./native_interface//frontier.nit:482 */
4100 fra
.me
.REG
[0] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4102 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4103 if (!once_value_23
) {
4104 fra
.me
.REG
[6] = BOX_NativeString("#define ");
4106 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4107 once_value_23
= fra
.me
.REG
[6];
4108 register_static_object(&once_value_23
);
4109 } else fra
.me
.REG
[6] = once_value_23
;
4110 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4111 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4112 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4113 if (!once_value_24
) {
4114 fra
.me
.REG
[4] = BOX_NativeString(" ");
4116 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4117 once_value_24
= fra
.me
.REG
[4];
4118 register_static_object(&once_value_24
);
4119 } else fra
.me
.REG
[4] = once_value_24
;
4120 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4121 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4122 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4123 if (!once_value_25
) {
4124 fra
.me
.REG
[4] = BOX_NativeString("\n");
4126 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4127 once_value_25
= fra
.me
.REG
[4];
4128 register_static_object(&once_value_25
);
4129 } else fra
.me
.REG
[4] = once_value_25
;
4130 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4131 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4132 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4133 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4134 /* ./native_interface//frontier.nit:483 */
4135 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4136 if (!once_value_26
) {
4137 fra
.me
.REG
[0] = BOX_NativeString("#endif\n\n");
4139 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4140 once_value_26
= fra
.me
.REG
[0];
4141 register_static_object(&once_value_26
);
4142 } else fra
.me
.REG
[0] = once_value_26
;
4143 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4144 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4145 /* ./native_interface//frontier.nit:485 */
4146 fra
.me
.REG
[0] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4148 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4149 if (!once_value_27
) {
4150 fra
.me
.REG
[4] = BOX_NativeString("");
4152 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4153 once_value_27
= fra
.me
.REG
[4];
4154 register_static_object(&once_value_27
);
4155 } else fra
.me
.REG
[4] = once_value_27
;
4156 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4157 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4158 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4159 if (!once_value_28
) {
4160 fra
.me
.REG
[4] = BOX_NativeString(" ");
4162 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4163 once_value_28
= fra
.me
.REG
[4];
4164 register_static_object(&once_value_28
);
4165 } else fra
.me
.REG
[4] = once_value_28
;
4166 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4167 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4168 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4169 if (!once_value_29
) {
4170 fra
.me
.REG
[5] = BOX_NativeString("()\n");
4172 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4173 once_value_29
= fra
.me
.REG
[5];
4174 register_static_object(&once_value_29
);
4175 } else fra
.me
.REG
[5] = once_value_29
;
4176 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4177 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4178 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4179 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4180 /* ./native_interface//frontier.nit:486 */
4181 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4182 if (!once_value_30
) {
4183 fra
.me
.REG
[0] = BOX_NativeString("{\n");
4185 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4186 once_value_30
= fra
.me
.REG
[0];
4187 register_static_object(&once_value_30
);
4188 } else fra
.me
.REG
[0] = once_value_30
;
4189 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4190 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4191 /* ./native_interface//frontier.nit:487 */
4192 fra
.me
.REG
[0] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4194 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4195 if (!once_value_31
) {
4196 fra
.me
.REG
[5] = BOX_NativeString("\t");
4198 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4199 once_value_31
= fra
.me
.REG
[5];
4200 register_static_object(&once_value_31
);
4201 } else fra
.me
.REG
[5] = once_value_31
;
4202 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4203 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4204 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4205 if (!once_value_32
) {
4206 fra
.me
.REG
[2] = BOX_NativeString(" n;\n");
4208 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4209 once_value_32
= fra
.me
.REG
[2];
4210 register_static_object(&once_value_32
);
4211 } else fra
.me
.REG
[2] = once_value_32
;
4212 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4213 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4214 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4215 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4216 /* ./native_interface//frontier.nit:488 */
4217 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4218 if (!once_value_33
) {
4219 fra
.me
.REG
[0] = BOX_NativeString("\tn.v = NIT_NULL;\n");
4220 REGB0
= TAG_Int(17);
4221 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4222 once_value_33
= fra
.me
.REG
[0];
4223 register_static_object(&once_value_33
);
4224 } else fra
.me
.REG
[0] = once_value_33
;
4225 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4226 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4227 /* ./native_interface//frontier.nit:489 */
4228 fra
.me
.REG
[0] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4229 if (!once_value_34
) {
4230 fra
.me
.REG
[3] = BOX_NativeString("\treturn n;\n");
4231 REGB0
= TAG_Int(11);
4232 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4233 once_value_34
= fra
.me
.REG
[3];
4234 register_static_object(&once_value_34
);
4235 } else fra
.me
.REG
[3] = once_value_34
;
4236 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4237 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4238 /* ./native_interface//frontier.nit:490 */
4239 fra
.me
.REG
[1] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4240 if (!once_value_35
) {
4241 fra
.me
.REG
[3] = BOX_NativeString("}\n\n");
4243 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4244 once_value_35
= fra
.me
.REG
[3];
4245 register_static_object(&once_value_35
);
4246 } else fra
.me
.REG
[3] = once_value_35
;
4247 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4248 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4251 stack_frame_head
= fra
.me
.prev
;
4254 void frontier___MMExplicitImport___compile_friendly_to_frontier(val_t p0
, val_t p1
){
4255 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
4259 static val_t once_value_1
; /* Once value */
4260 static val_t once_value_2
; /* Once value */
4261 static val_t once_value_3
; /* Once value */
4262 static val_t once_value_4
; /* Once value */
4263 static val_t once_value_5
; /* Once value */
4264 static val_t once_value_6
; /* Once value */
4265 static val_t once_value_7
; /* Once value */
4266 static val_t once_value_8
; /* Once value */
4267 static val_t once_value_9
; /* Once value */
4268 static val_t once_value_10
; /* Once value */
4269 static val_t once_value_11
; /* Once value */
4270 static val_t once_value_12
; /* Once value */
4271 static val_t once_value_13
; /* Once value */
4272 static val_t once_value_14
; /* Once value */
4273 static val_t once_value_15
; /* Once value */
4274 static val_t once_value_16
; /* Once value */
4275 static val_t once_value_17
; /* Once value */
4276 static val_t once_value_18
; /* Once value */
4277 static val_t once_value_19
; /* Once value */
4278 static val_t once_value_20
; /* Once value */
4279 static val_t once_value_21
; /* Once value */
4280 static val_t once_value_22
; /* Once value */
4281 static val_t once_value_23
; /* Once value */
4282 static val_t once_value_24
; /* Once value */
4283 static val_t once_value_26
; /* Once value */
4284 static val_t once_value_27
; /* Once value */
4285 static val_t once_value_28
; /* Once value */
4286 static val_t once_value_29
; /* Once value */
4287 static val_t once_value_30
; /* Once value */
4288 static val_t once_value_31
; /* Once value */
4289 static val_t once_value_32
; /* Once value */
4290 static val_t once_value_33
; /* Once value */
4291 static val_t once_value_34
; /* Once value */
4292 static val_t once_value_35
; /* Once value */
4293 static val_t once_value_36
; /* Once value */
4294 static val_t once_value_37
; /* Once value */
4295 static val_t once_value_38
; /* Once value */
4296 static val_t once_value_39
; /* Once value */
4297 static val_t once_value_40
; /* Once value */
4298 static val_t once_value_41
; /* Once value */
4299 static val_t once_value_42
; /* Once value */
4300 static val_t once_value_43
; /* Once value */
4301 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4302 fra
.me
.file
= LOCATE_frontier
;
4304 fra
.me
.meth
= LOCATE_frontier___MMExplicitImport___compile_friendly_to_frontier
;
4305 fra
.me
.has_broke
= 0;
4306 fra
.me
.REG_size
= 11;
4307 fra
.me
.REG
[0] = NIT_NULL
;
4308 fra
.me
.REG
[1] = NIT_NULL
;
4309 fra
.me
.REG
[2] = NIT_NULL
;
4310 fra
.me
.REG
[3] = NIT_NULL
;
4311 fra
.me
.REG
[4] = NIT_NULL
;
4312 fra
.me
.REG
[5] = NIT_NULL
;
4313 fra
.me
.REG
[6] = NIT_NULL
;
4314 fra
.me
.REG
[7] = NIT_NULL
;
4315 fra
.me
.REG
[8] = NIT_NULL
;
4316 fra
.me
.REG
[9] = NIT_NULL
;
4317 fra
.me
.REG
[10] = NIT_NULL
;
4320 /* ./native_interface//frontier.nit:500 */
4321 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4323 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4324 if (!once_value_1
) {
4325 fra
.me
.REG
[4] = BOX_NativeString("/* friendly for ");
4326 REGB0
= TAG_Int(16);
4327 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4328 once_value_1
= fra
.me
.REG
[4];
4329 register_static_object(&once_value_1
);
4330 } else fra
.me
.REG
[4] = once_value_1
;
4331 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4332 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4333 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4334 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4335 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4336 if (!once_value_2
) {
4337 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
4339 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4340 once_value_2
= fra
.me
.REG
[4];
4341 register_static_object(&once_value_2
);
4342 } else fra
.me
.REG
[4] = once_value_2
;
4343 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4344 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4345 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4346 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4347 /* ./native_interface//frontier.nit:501 */
4348 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4350 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
4351 if (!once_value_3
) {
4352 fra
.me
.REG
[4] = BOX_NativeString("");
4354 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4355 once_value_3
= fra
.me
.REG
[4];
4356 register_static_object(&once_value_3
);
4357 } else fra
.me
.REG
[4] = once_value_3
;
4358 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4359 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4360 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4361 fra
.me
.REG
[5] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4362 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4363 fra
.me
.REG
[6] = CALL_ni_metamodel___MMMethod___frontier_csignature_from(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5], fra
.me
.REG
[6]);
4364 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4365 if (!once_value_4
) {
4366 fra
.me
.REG
[6] = BOX_NativeString(";\n");
4368 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4369 once_value_4
= fra
.me
.REG
[6];
4370 register_static_object(&once_value_4
);
4371 } else fra
.me
.REG
[6] = once_value_4
;
4372 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4373 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4374 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4375 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4376 /* ./native_interface//frontier.nit:505 */
4377 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4379 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4380 if (!once_value_5
) {
4381 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
4383 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4384 once_value_5
= fra
.me
.REG
[6];
4385 register_static_object(&once_value_5
);
4386 } else fra
.me
.REG
[6] = once_value_5
;
4387 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4388 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4389 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4390 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4391 fra
.me
.REG
[5] = CALL_mmbuilder___MMMethod___friendly_extern_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4392 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4393 if (!once_value_6
) {
4394 fra
.me
.REG
[5] = BOX_NativeString("\n");
4396 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4397 once_value_6
= fra
.me
.REG
[5];
4398 register_static_object(&once_value_6
);
4399 } else fra
.me
.REG
[5] = once_value_6
;
4400 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4401 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4402 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4403 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4404 /* ./native_interface//frontier.nit:506 */
4405 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4407 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
4408 if (!once_value_7
) {
4409 fra
.me
.REG
[5] = BOX_NativeString("#define ");
4411 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4412 once_value_7
= fra
.me
.REG
[5];
4413 register_static_object(&once_value_7
);
4414 } else fra
.me
.REG
[5] = once_value_7
;
4415 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4416 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
4417 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4418 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4419 fra
.me
.REG
[6] = CALL_mmbuilder___MMMethod___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4420 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4421 if (!once_value_8
) {
4422 fra
.me
.REG
[6] = BOX_NativeString(" ");
4424 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4425 once_value_8
= fra
.me
.REG
[6];
4426 register_static_object(&once_value_8
);
4427 } else fra
.me
.REG
[6] = once_value_8
;
4428 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4429 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4430 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4431 fra
.me
.REG
[5] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4432 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4433 fra
.me
.REG
[4] = CALL_ni_metamodel___MMMethod___local_friendly_name_from(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5], fra
.me
.REG
[4]);
4434 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4435 if (!once_value_9
) {
4436 fra
.me
.REG
[4] = BOX_NativeString("\n");
4438 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4439 once_value_9
= fra
.me
.REG
[4];
4440 register_static_object(&once_value_9
);
4441 } else fra
.me
.REG
[4] = once_value_9
;
4442 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4443 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4444 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4445 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4446 /* ./native_interface//frontier.nit:507 */
4447 fra
.me
.REG
[2] = CALL_frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4448 if (!once_value_10
) {
4449 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
4451 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
4452 once_value_10
= fra
.me
.REG
[3];
4453 register_static_object(&once_value_10
);
4454 } else fra
.me
.REG
[3] = once_value_10
;
4455 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4456 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4457 /* ./native_interface//frontier.nit:510 */
4458 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4460 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
4461 if (!once_value_11
) {
4462 fra
.me
.REG
[4] = BOX_NativeString("/* friendly for ");
4463 REGB0
= TAG_Int(16);
4464 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4465 once_value_11
= fra
.me
.REG
[4];
4466 register_static_object(&once_value_11
);
4467 } else fra
.me
.REG
[4] = once_value_11
;
4468 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4469 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4470 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4471 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4472 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4473 if (!once_value_12
) {
4474 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
4476 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4477 once_value_12
= fra
.me
.REG
[4];
4478 register_static_object(&once_value_12
);
4479 } else fra
.me
.REG
[4] = once_value_12
;
4480 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4481 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4482 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4483 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4484 /* ./native_interface//frontier.nit:512 */
4485 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4486 fra
.me
.REG
[3] = CALL_frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4487 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4488 fra
.me
.REG
[4] = CALL_ni_metamodel___MMMethod___frontier_csignature_from(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
4489 fra
.me
.REG
[4] = NEW_FunctionCompiler_ni_tools___FunctionCompiler___init(fra
.me
.REG
[4]);
4490 /* ./native_interface//frontier.nit:515 */
4491 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
4492 /* ./native_interface//frontier.nit:518 */
4493 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4494 REGB0
= CALL_syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4495 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4496 if (UNTAG_Bool(REGB0
)) {
4497 /* ./native_interface//frontier.nit:519 */
4498 if (!once_value_13
) {
4499 fra
.me
.REG
[2] = BOX_NativeString("recv___nit");
4500 REGB0
= TAG_Int(10);
4501 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4502 once_value_13
= fra
.me
.REG
[2];
4503 register_static_object(&once_value_13
);
4504 } else fra
.me
.REG
[2] = once_value_13
;
4505 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4506 /* ./native_interface//frontier.nit:520 */
4507 fra
.me
.REG
[5] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4509 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB0
);
4510 if (!once_value_14
) {
4511 fra
.me
.REG
[7] = BOX_NativeString("val_t ");
4513 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4514 once_value_14
= fra
.me
.REG
[7];
4515 register_static_object(&once_value_14
);
4516 } else fra
.me
.REG
[7] = once_value_14
;
4517 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4518 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4519 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
4520 if (!once_value_15
) {
4521 fra
.me
.REG
[7] = BOX_NativeString(";\n");
4523 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4524 once_value_15
= fra
.me
.REG
[7];
4525 register_static_object(&once_value_15
);
4526 } else fra
.me
.REG
[7] = once_value_15
;
4527 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4528 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4529 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4530 CALL_compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4531 /* ./native_interface//frontier.nit:521 */
4532 fra
.me
.REG
[6] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4534 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4535 if (!once_value_16
) {
4536 fra
.me
.REG
[7] = BOX_NativeString("");
4538 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4539 once_value_16
= fra
.me
.REG
[7];
4540 register_static_object(&once_value_16
);
4541 } else fra
.me
.REG
[7] = once_value_16
;
4542 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4543 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
4544 fra
.me
.REG
[7] = CALL_static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4545 fra
.me
.REG
[7] = CALL_static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4546 if (!once_value_17
) {
4547 fra
.me
.REG
[8] = BOX_NativeString("recv");
4549 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4550 once_value_17
= fra
.me
.REG
[8];
4551 register_static_object(&once_value_17
);
4552 } else fra
.me
.REG
[8] = once_value_17
;
4553 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4554 fra
.me
.REG
[8] = CALL_ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2], fra
.me
.REG
[8]);
4555 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
4556 if (!once_value_18
) {
4557 fra
.me
.REG
[8] = BOX_NativeString(";\n");
4559 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4560 once_value_18
= fra
.me
.REG
[8];
4561 register_static_object(&once_value_18
);
4562 } else fra
.me
.REG
[8] = once_value_18
;
4563 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4564 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
4565 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4566 CALL_compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4567 /* ./native_interface//frontier.nit:522 */
4568 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4570 /* ./native_interface//frontier.nit:525 */
4571 fra
.me
.REG
[2] = CALL_static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4572 fra
.me
.REG
[2] = CALL_static_type___MMSignature___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4573 /* ./../lib/standard//collection//array.nit:234 */
4575 /* ./../lib/standard//collection//array.nit:235 */
4576 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4577 if (UNTAG_Bool(REGB1
)) {
4579 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
4581 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4582 /* ./../lib/standard//collection//array.nit:236 */
4583 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[2]);
4584 /* ./../lib/standard//collection//array.nit:237 */
4586 /* ./../lib/standard//collection//array.nit:23 */
4587 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4588 if (UNTAG_Bool(REGB1
)) {
4590 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
4592 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4593 /* ./../lib/standard//kernel.nit:212 */
4594 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4595 /* ./../lib/standard//collection//array.nit:237 */
4596 if (UNTAG_Bool(REGB1
)) {
4597 /* ./../lib/standard//collection//array.nit:238 */
4598 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4599 if (UNTAG_Bool(REGB1
)) {
4600 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
4602 /* ./../lib/standard//collection//array.nit:654 */
4603 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
4604 /* ./native_interface//frontier.nit:526 */
4606 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB1
);
4607 if (!once_value_19
) {
4608 fra
.me
.REG
[7] = BOX_NativeString("");
4610 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
4611 once_value_19
= fra
.me
.REG
[7];
4612 register_static_object(&once_value_19
);
4613 } else fra
.me
.REG
[7] = once_value_19
;
4614 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4615 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4616 fra
.me
.REG
[7] = CALL_static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4617 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4618 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4619 if (!once_value_20
) {
4620 fra
.me
.REG
[7] = BOX_NativeString("___nit");
4622 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
4623 once_value_20
= fra
.me
.REG
[7];
4624 register_static_object(&once_value_20
);
4625 } else fra
.me
.REG
[7] = once_value_20
;
4626 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4627 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4628 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4629 /* ./native_interface//frontier.nit:527 */
4630 fra
.me
.REG
[7] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4632 fra
.me
.REG
[9] = NEW_Array_array___Array___with_capacity(REGB1
);
4633 if (!once_value_21
) {
4634 fra
.me
.REG
[10] = BOX_NativeString("val_t ");
4636 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
4637 once_value_21
= fra
.me
.REG
[10];
4638 register_static_object(&once_value_21
);
4639 } else fra
.me
.REG
[10] = once_value_21
;
4640 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4641 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
4642 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
4643 if (!once_value_22
) {
4644 fra
.me
.REG
[10] = BOX_NativeString(";\n");
4646 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
4647 once_value_22
= fra
.me
.REG
[10];
4648 register_static_object(&once_value_22
);
4649 } else fra
.me
.REG
[10] = once_value_22
;
4650 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4651 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
4652 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
4653 CALL_compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4654 /* ./native_interface//frontier.nit:528 */
4655 fra
.me
.REG
[9] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4657 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
4658 if (!once_value_23
) {
4659 fra
.me
.REG
[10] = BOX_NativeString("");
4661 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
4662 once_value_23
= fra
.me
.REG
[10];
4663 register_static_object(&once_value_23
);
4664 } else fra
.me
.REG
[10] = once_value_23
;
4665 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4666 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
4667 fra
.me
.REG
[10] = CALL_static_type___MMParam___mmtype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4668 fra
.me
.REG
[6] = CALL_static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4669 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4670 fra
.me
.REG
[6] = CALL_ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], fra
.me
.REG
[6]);
4671 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4672 if (!once_value_24
) {
4673 fra
.me
.REG
[6] = BOX_NativeString(";\n");
4675 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB1
);
4676 once_value_24
= fra
.me
.REG
[6];
4677 register_static_object(&once_value_24
);
4678 } else fra
.me
.REG
[6] = once_value_24
;
4679 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4680 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4681 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4682 CALL_compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
4683 /* ./native_interface//frontier.nit:529 */
4684 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
4685 /* ./../lib/standard//collection//array.nit:239 */
4687 /* ./../lib/standard//kernel.nit:215 */
4688 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4689 /* ./../lib/standard//collection//array.nit:239 */
4692 /* ./../lib/standard//collection//array.nit:237 */
4697 /* ./native_interface//frontier.nit:533 */
4698 fra
.me
.REG
[5] = NIT_NULL
;
4699 /* ./native_interface//frontier.nit:536 */
4700 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4701 fra
.me
.REG
[2] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4702 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4703 if (UNTAG_Bool(REGB0
)) {
4704 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 536);
4706 fra
.me
.REG
[2] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4707 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4708 if (UNTAG_Bool(REGB0
)) {
4710 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4711 if (UNTAG_Bool(REGB1
)) {
4712 REGB1
= TAG_Bool(false);
4715 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4719 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4720 if (UNTAG_Bool(REGB0
)) {
4721 /* ./native_interface//frontier.nit:537 */
4722 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4723 fra
.me
.REG
[2] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4724 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4725 if (UNTAG_Bool(REGB0
)) {
4726 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 537);
4728 fra
.me
.REG
[2] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4729 fra
.me
.REG
[5] = fra
.me
.REG
[2];
4731 /* ./native_interface//frontier.nit:538 */
4732 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4733 REGB0
= CALL_syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4734 if (UNTAG_Bool(REGB0
)) {
4735 /* ./native_interface//frontier.nit:539 */
4736 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4737 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4738 fra
.me
.REG
[2] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4739 fra
.me
.REG
[5] = fra
.me
.REG
[2];
4742 /* ./native_interface//frontier.nit:542 */
4743 fra
.me
.REG
[2] = NEW_Buffer_string___Buffer___init();
4744 /* ./native_interface//frontier.nit:543 */
4745 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4746 if (UNTAG_Bool(REGB0
)) {
4748 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4749 if (UNTAG_Bool(REGB1
)) {
4750 REGB1
= TAG_Bool(false);
4753 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4757 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4758 if (UNTAG_Bool(REGB0
)) {
4759 /* ./native_interface//frontier.nit:544 */
4760 fra
.me
.REG
[8] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4762 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
4763 if (!once_value_26
) {
4764 fra
.me
.REG
[9] = BOX_NativeString("");
4766 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB0
);
4767 once_value_26
= fra
.me
.REG
[9];
4768 register_static_object(&once_value_26
);
4769 } else fra
.me
.REG
[9] = once_value_26
;
4770 fra
.me
.REG
[9] = fra
.me
.REG
[9];
4771 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4772 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4773 if (UNTAG_Bool(REGB0
)) {
4774 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 544);
4776 fra
.me
.REG
[9] = CALL_ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4777 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4778 if (!once_value_27
) {
4779 fra
.me
.REG
[9] = BOX_NativeString(" result___nitni;\n");
4780 REGB0
= TAG_Int(17);
4781 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB0
);
4782 once_value_27
= fra
.me
.REG
[9];
4783 register_static_object(&once_value_27
);
4784 } else fra
.me
.REG
[9] = once_value_27
;
4785 fra
.me
.REG
[9] = fra
.me
.REG
[9];
4786 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4787 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4788 CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4789 /* ./native_interface//frontier.nit:545 */
4790 fra
.me
.REG
[7] = CALL_ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4791 if (!once_value_28
) {
4792 fra
.me
.REG
[8] = BOX_NativeString("val_t result___nit;\n");
4793 REGB0
= TAG_Int(20);
4794 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4795 once_value_28
= fra
.me
.REG
[8];
4796 register_static_object(&once_value_28
);
4797 } else fra
.me
.REG
[8] = once_value_28
;
4798 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4799 CALL_compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4800 /* ./native_interface//frontier.nit:546 */
4801 if (!once_value_29
) {
4802 fra
.me
.REG
[8] = BOX_NativeString("result___nit = ");
4803 REGB0
= TAG_Int(15);
4804 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4805 once_value_29
= fra
.me
.REG
[8];
4806 register_static_object(&once_value_29
);
4807 } else fra
.me
.REG
[8] = once_value_29
;
4808 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4809 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4811 /* ./native_interface//frontier.nit:550 */
4812 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4813 REGB0
= CALL_syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4814 if (UNTAG_Bool(REGB0
)) {
4815 /* ./native_interface//frontier.nit:551 */
4817 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
4818 if (!once_value_30
) {
4819 fra
.me
.REG
[7] = BOX_NativeString("NEW_");
4821 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4822 once_value_30
= fra
.me
.REG
[7];
4823 register_static_object(&once_value_30
);
4824 } else fra
.me
.REG
[7] = once_value_30
;
4825 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4826 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4827 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4828 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4829 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4830 if (!once_value_31
) {
4831 fra
.me
.REG
[7] = BOX_NativeString("_");
4833 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4834 once_value_31
= fra
.me
.REG
[7];
4835 register_static_object(&once_value_31
);
4836 } else fra
.me
.REG
[7] = once_value_31
;
4837 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4838 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4839 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4840 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4841 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4842 fra
.me
.REG
[7] = CALL_compiling_base___MMLocalProperty___cname(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4843 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4844 if (!once_value_32
) {
4845 fra
.me
.REG
[7] = BOX_NativeString("");
4847 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4848 once_value_32
= fra
.me
.REG
[7];
4849 register_static_object(&once_value_32
);
4850 } else fra
.me
.REG
[7] = once_value_32
;
4851 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4852 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4853 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4854 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4856 /* ./native_interface//frontier.nit:553 */
4858 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
4859 if (!once_value_33
) {
4860 fra
.me
.REG
[7] = BOX_NativeString("");
4862 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4863 once_value_33
= fra
.me
.REG
[7];
4864 register_static_object(&once_value_33
);
4865 } else fra
.me
.REG
[7] = once_value_33
;
4866 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4867 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4868 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4869 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4870 fra
.me
.REG
[0] = CALL_compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4871 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4872 if (!once_value_34
) {
4873 fra
.me
.REG
[0] = BOX_NativeString("( recv___nit )");
4874 REGB0
= TAG_Int(14);
4875 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4876 once_value_34
= fra
.me
.REG
[0];
4877 register_static_object(&once_value_34
);
4878 } else fra
.me
.REG
[0] = once_value_34
;
4879 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4880 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4881 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4882 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4884 /* ./native_interface//frontier.nit:556 */
4886 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB0
);
4887 if (!once_value_35
) {
4888 fra
.me
.REG
[0] = BOX_NativeString("( ");
4890 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4891 once_value_35
= fra
.me
.REG
[0];
4892 register_static_object(&once_value_35
);
4893 } else fra
.me
.REG
[0] = once_value_35
;
4894 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4895 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4896 if (!once_value_36
) {
4897 fra
.me
.REG
[0] = BOX_NativeString(", ");
4899 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4900 once_value_36
= fra
.me
.REG
[0];
4901 register_static_object(&once_value_36
);
4902 } else fra
.me
.REG
[0] = once_value_36
;
4903 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4904 fra
.me
.REG
[0] = CALL_string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4905 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4906 if (!once_value_37
) {
4907 fra
.me
.REG
[0] = BOX_NativeString(" );\n");
4909 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4910 once_value_37
= fra
.me
.REG
[0];
4911 register_static_object(&once_value_37
);
4912 } else fra
.me
.REG
[0] = once_value_37
;
4913 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4914 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4915 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4916 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4917 /* ./native_interface//frontier.nit:558 */
4918 fra
.me
.REG
[8] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4919 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4920 CALL_compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
4921 /* ./native_interface//frontier.nit:561 */
4922 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4923 if (UNTAG_Bool(REGB0
)) {
4925 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4926 if (UNTAG_Bool(REGB1
)) {
4927 REGB1
= TAG_Bool(false);
4930 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4934 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4935 if (UNTAG_Bool(REGB0
)) {
4936 /* ./native_interface//frontier.nit:562 */
4937 if (!once_value_38
) {
4938 fra
.me
.REG
[2] = BOX_NativeString("result___nitni");
4939 REGB0
= TAG_Int(14);
4940 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
4941 once_value_38
= fra
.me
.REG
[2];
4942 register_static_object(&once_value_38
);
4943 } else fra
.me
.REG
[2] = once_value_38
;
4944 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4945 /* ./native_interface//frontier.nit:563 */
4946 if (!once_value_39
) {
4947 fra
.me
.REG
[8] = BOX_NativeString("result___nit");
4948 REGB0
= TAG_Int(12);
4949 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4950 once_value_39
= fra
.me
.REG
[8];
4951 register_static_object(&once_value_39
);
4952 } else fra
.me
.REG
[8] = once_value_39
;
4953 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4954 /* ./native_interface//frontier.nit:565 */
4955 fra
.me
.REG
[0] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4957 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
4958 if (!once_value_40
) {
4959 fra
.me
.REG
[7] = BOX_NativeString("");
4961 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB0
);
4962 once_value_40
= fra
.me
.REG
[7];
4963 register_static_object(&once_value_40
);
4964 } else fra
.me
.REG
[7] = once_value_40
;
4965 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4966 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
4967 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4968 if (UNTAG_Bool(REGB0
)) {
4969 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 565);
4971 fra
.me
.REG
[8] = CALL_ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2], fra
.me
.REG
[8]);
4972 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
4973 if (!once_value_41
) {
4974 fra
.me
.REG
[8] = BOX_NativeString(";\n");
4976 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4977 once_value_41
= fra
.me
.REG
[8];
4978 register_static_object(&once_value_41
);
4979 } else fra
.me
.REG
[8] = once_value_41
;
4980 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4981 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
4982 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4983 CALL_compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4984 /* ./native_interface//frontier.nit:566 */
4985 fra
.me
.REG
[3] = CALL_ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4987 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4988 if (!once_value_42
) {
4989 fra
.me
.REG
[8] = BOX_NativeString("return ");
4991 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
4992 once_value_42
= fra
.me
.REG
[8];
4993 register_static_object(&once_value_42
);
4994 } else fra
.me
.REG
[8] = once_value_42
;
4995 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4996 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
4997 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
4998 if (!once_value_43
) {
4999 fra
.me
.REG
[2] = BOX_NativeString(";\n");
5001 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
5002 once_value_43
= fra
.me
.REG
[2];
5003 register_static_object(&once_value_43
);
5004 } else fra
.me
.REG
[2] = once_value_43
;
5005 fra
.me
.REG
[2] = fra
.me
.REG
[2];
5006 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
5007 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5008 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
5010 /* ./native_interface//frontier.nit:569 */
5011 fra
.me
.REG
[1] = CALL_frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5012 fra
.me
.REG
[4] = CALL_ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5013 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5014 stack_frame_head
= fra
.me
.prev
;
5017 val_t
frontier___MMExplicitImport___hash(val_t p0
){
5018 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5023 fra
.me
.file
= LOCATE_frontier
;
5025 fra
.me
.meth
= LOCATE_frontier___MMExplicitImport___hash
;
5026 fra
.me
.has_broke
= 0;
5027 fra
.me
.REG_size
= 2;
5028 fra
.me
.REG
[0] = NIT_NULL
;
5029 fra
.me
.REG
[1] = NIT_NULL
;
5031 /* ./native_interface//frontier.nit:574 */
5032 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5033 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5034 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5035 REGB0
= CALL_hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5036 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5037 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5038 REGB1
= CALL_hash___Object___hash(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5039 /* ./../lib/standard//kernel.nit:215 */
5040 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5041 /* ./native_interface//frontier.nit:574 */
5044 stack_frame_head
= fra
.me
.prev
;
5047 val_t
frontier___MMExplicitImport_____eqeq(val_t p0
, val_t p1
){
5048 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5053 fra
.me
.file
= LOCATE_frontier
;
5055 fra
.me
.meth
= LOCATE_frontier___MMExplicitImport_____eqeq
;
5056 fra
.me
.has_broke
= 0;
5057 fra
.me
.REG_size
= 4;
5058 fra
.me
.REG
[0] = NIT_NULL
;
5059 fra
.me
.REG
[1] = NIT_NULL
;
5060 fra
.me
.REG
[2] = NIT_NULL
;
5061 fra
.me
.REG
[3] = NIT_NULL
;
5064 /* ./native_interface//frontier.nit:578 */
5065 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_MMExplicitImport
, ID_MMExplicitImport
)) /*cast MMExplicitImport*/;
5066 if (UNTAG_Bool(REGB0
)) {
5067 /* ./native_interface//frontier.nit:579 */
5068 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5069 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5070 if (UNTAG_Bool(REGB0
)) {
5071 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 579);
5073 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5074 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
5075 if (UNTAG_Bool(REGB0
)) {
5077 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5081 /* ./native_interface//frontier.nit:578 */
5082 REGB1
= TAG_Bool(false);
5085 if (UNTAG_Bool(REGB0
)) {
5086 /* ./native_interface//frontier.nit:579 */
5087 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5088 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5089 if (UNTAG_Bool(REGB0
)) {
5090 nit_abort("Reciever is null", NULL
, LOCATE_frontier
, 579);
5092 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5093 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
5094 if (UNTAG_Bool(REGB0
)) {
5096 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5100 /* ./native_interface//frontier.nit:578 */
5101 REGB1
= TAG_Bool(false);
5106 stack_frame_head
= fra
.me
.prev
;