1 /* This C file is generated by NIT to compile module native_interface___frontier. */
2 #include "native_interface___frontier._sep.h"
3 void native_interface___frontier___MMSrcModule___compile_frontier(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
7 static val_t once_value_1
; /* Once value */
8 static val_t once_value_2
; /* Once value */
9 static val_t once_value_3
; /* Once value */
10 static val_t once_value_4
; /* Once value */
11 static val_t once_value_5
; /* Once value */
12 static val_t once_value_6
; /* Once value */
13 static val_t once_value_7
; /* Once value */
14 static val_t once_value_8
; /* Once value */
15 static val_t once_value_9
; /* Once value */
16 static val_t once_value_10
; /* Once value */
17 static val_t once_value_11
; /* Once value */
18 static val_t once_value_12
; /* Once value */
19 static val_t once_value_13
; /* Once value */
20 static val_t once_value_14
; /* Once value */
21 static val_t once_value_15
; /* Once value */
22 static val_t once_value_16
; /* Once value */
23 static val_t once_value_17
; /* Once value */
24 static val_t once_value_18
; /* Once value */
25 static val_t once_value_19
; /* Once value */
26 static val_t once_value_20
; /* Once value */
27 static val_t once_value_21
; /* Once value */
28 static val_t once_value_24
; /* Once value */
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_native_interface___frontier
;
32 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcModule___compile_frontier
;
35 fra
.me
.REG
[0] = NIT_NULL
;
36 fra
.me
.REG
[1] = NIT_NULL
;
37 fra
.me
.REG
[2] = NIT_NULL
;
38 fra
.me
.REG
[3] = NIT_NULL
;
39 fra
.me
.REG
[4] = NIT_NULL
;
40 fra
.me
.REG
[5] = NIT_NULL
;
43 /* ./native_interface//frontier.nit:32 */
44 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
46 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
48 fra
.me
.REG
[4] = BOX_NativeString("#include \"");
50 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
51 once_value_1
= fra
.me
.REG
[4];
52 register_static_object(&once_value_1
);
53 } else fra
.me
.REG
[4] = once_value_1
;
54 fra
.me
.REG
[4] = fra
.me
.REG
[4];
55 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
56 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
57 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
58 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
60 fra
.me
.REG
[4] = BOX_NativeString("._nitni.h\"\n");
62 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
63 once_value_2
= fra
.me
.REG
[4];
64 register_static_object(&once_value_2
);
65 } else fra
.me
.REG
[4] = once_value_2
;
66 fra
.me
.REG
[4] = fra
.me
.REG
[4];
67 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
68 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
69 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
70 /* ./native_interface//frontier.nit:35 */
71 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
73 fra
.me
.REG
[2] = BOX_NativeString("#include <nit_common.h>\n");
75 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
76 once_value_3
= fra
.me
.REG
[2];
77 register_static_object(&once_value_3
);
78 } else fra
.me
.REG
[2] = once_value_3
;
79 fra
.me
.REG
[2] = fra
.me
.REG
[2];
80 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
81 /* ./native_interface//frontier.nit:36 */
82 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
84 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
86 fra
.me
.REG
[4] = BOX_NativeString("#include \"");
88 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
89 once_value_4
= fra
.me
.REG
[4];
90 register_static_object(&once_value_4
);
91 } else fra
.me
.REG
[4] = once_value_4
;
92 fra
.me
.REG
[4] = fra
.me
.REG
[4];
93 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
94 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___cprogram(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
95 fra
.me
.REG
[4] = CALL_compiling___compiling_base___CProgram___module_header_name(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
96 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
98 fra
.me
.REG
[4] = BOX_NativeString("\"\n");
100 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
101 once_value_5
= fra
.me
.REG
[4];
102 register_static_object(&once_value_5
);
103 } else fra
.me
.REG
[4] = once_value_5
;
104 fra
.me
.REG
[4] = fra
.me
.REG
[4];
105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
106 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
107 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
108 /* ./native_interface//frontier.nit:38 */
110 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
112 fra
.me
.REG
[2] = BOX_NativeString("");
114 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
115 once_value_6
= fra
.me
.REG
[2];
116 register_static_object(&once_value_6
);
117 } else fra
.me
.REG
[2] = once_value_6
;
118 fra
.me
.REG
[2] = fra
.me
.REG
[2];
119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
120 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
121 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
122 fra
.me
.REG
[2] = CALL_standard___string___AbstractString___to_upper(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
125 fra
.me
.REG
[2] = BOX_NativeString("_NITNI_H");
127 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
128 once_value_7
= fra
.me
.REG
[2];
129 register_static_object(&once_value_7
);
130 } else fra
.me
.REG
[2] = once_value_7
;
131 fra
.me
.REG
[2] = fra
.me
.REG
[2];
132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
133 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
134 /* ./native_interface//frontier.nit:39 */
135 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
137 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
139 fra
.me
.REG
[5] = BOX_NativeString("#ifndef ");
141 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
142 once_value_8
= fra
.me
.REG
[5];
143 register_static_object(&once_value_8
);
144 } else fra
.me
.REG
[5] = once_value_8
;
145 fra
.me
.REG
[5] = fra
.me
.REG
[5];
146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
149 fra
.me
.REG
[5] = BOX_NativeString("\n");
151 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
152 once_value_9
= fra
.me
.REG
[5];
153 register_static_object(&once_value_9
);
154 } else fra
.me
.REG
[5] = once_value_9
;
155 fra
.me
.REG
[5] = fra
.me
.REG
[5];
156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
157 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
158 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
159 /* ./native_interface//frontier.nit:40 */
160 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
162 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
163 if (!once_value_10
) {
164 fra
.me
.REG
[5] = BOX_NativeString("#define ");
166 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
167 once_value_10
= fra
.me
.REG
[5];
168 register_static_object(&once_value_10
);
169 } else fra
.me
.REG
[5] = once_value_10
;
170 fra
.me
.REG
[5] = fra
.me
.REG
[5];
171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
173 if (!once_value_11
) {
174 fra
.me
.REG
[3] = BOX_NativeString("\n\n");
176 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
177 once_value_11
= fra
.me
.REG
[3];
178 register_static_object(&once_value_11
);
179 } else fra
.me
.REG
[3] = once_value_11
;
180 fra
.me
.REG
[3] = fra
.me
.REG
[3];
181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
182 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
183 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
184 /* ./native_interface//frontier.nit:43 */
186 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
187 if (!once_value_12
) {
188 fra
.me
.REG
[4] = BOX_NativeString("");
190 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
191 once_value_12
= fra
.me
.REG
[4];
192 register_static_object(&once_value_12
);
193 } else fra
.me
.REG
[4] = once_value_12
;
194 fra
.me
.REG
[4] = fra
.me
.REG
[4];
195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
196 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
197 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMDirectory___path(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
199 if (!once_value_13
) {
200 fra
.me
.REG
[4] = BOX_NativeString("/");
202 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
203 once_value_13
= fra
.me
.REG
[4];
204 register_static_object(&once_value_13
);
205 } else fra
.me
.REG
[4] = once_value_13
;
206 fra
.me
.REG
[4] = fra
.me
.REG
[4];
207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
208 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
209 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
211 if (!once_value_14
) {
212 fra
.me
.REG
[4] = BOX_NativeString(".nit.h");
214 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
215 once_value_14
= fra
.me
.REG
[4];
216 register_static_object(&once_value_14
);
217 } else fra
.me
.REG
[4] = once_value_14
;
218 fra
.me
.REG
[4] = fra
.me
.REG
[4];
219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
220 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
221 /* ./native_interface//frontier.nit:44 */
222 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
223 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
224 if (UNTAG_Bool(REGB0
)) {
225 /* ./native_interface//frontier.nit:45 */
227 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
228 if (!once_value_15
) {
229 fra
.me
.REG
[3] = BOX_NativeString("");
231 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
232 once_value_15
= fra
.me
.REG
[3];
233 register_static_object(&once_value_15
);
234 } else fra
.me
.REG
[3] = once_value_15
;
235 fra
.me
.REG
[3] = fra
.me
.REG
[3];
236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
237 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___directory(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
238 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMDirectory___path(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
240 if (!once_value_16
) {
241 fra
.me
.REG
[3] = BOX_NativeString("/");
243 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
244 once_value_16
= fra
.me
.REG
[3];
245 register_static_object(&once_value_16
);
246 } else fra
.me
.REG
[3] = once_value_16
;
247 fra
.me
.REG
[3] = fra
.me
.REG
[3];
248 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
249 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
250 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
252 if (!once_value_17
) {
253 fra
.me
.REG
[3] = BOX_NativeString("_nit.h");
255 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
256 once_value_17
= fra
.me
.REG
[3];
257 register_static_object(&once_value_17
);
258 } else fra
.me
.REG
[3] = once_value_17
;
259 fra
.me
.REG
[3] = fra
.me
.REG
[3];
260 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
261 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
262 fra
.me
.REG
[2] = fra
.me
.REG
[4];
264 /* ./native_interface//frontier.nit:47 */
265 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
266 if (UNTAG_Bool(REGB0
)) {
267 /* ./native_interface//frontier.nit:48 */
268 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
270 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
271 if (!once_value_18
) {
272 fra
.me
.REG
[5] = BOX_NativeString("#include \"");
274 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
275 once_value_18
= fra
.me
.REG
[5];
276 register_static_object(&once_value_18
);
277 } else fra
.me
.REG
[5] = once_value_18
;
278 fra
.me
.REG
[5] = fra
.me
.REG
[5];
279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
280 fra
.me
.REG
[5] = CALL_native_interface___frontier___String___path_from_parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
282 if (!once_value_19
) {
283 fra
.me
.REG
[5] = BOX_NativeString("\"\n");
285 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
286 once_value_19
= fra
.me
.REG
[5];
287 register_static_object(&once_value_19
);
288 } else fra
.me
.REG
[5] = once_value_19
;
289 fra
.me
.REG
[5] = fra
.me
.REG
[5];
290 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
291 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
292 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
293 /* ./native_interface//frontier.nit:49 */
294 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
296 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
297 if (!once_value_20
) {
298 fra
.me
.REG
[5] = BOX_NativeString("#include \"");
300 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
301 once_value_20
= fra
.me
.REG
[5];
302 register_static_object(&once_value_20
);
303 } else fra
.me
.REG
[5] = once_value_20
;
304 fra
.me
.REG
[5] = fra
.me
.REG
[5];
305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
306 fra
.me
.REG
[2] = CALL_native_interface___frontier___String___path_from_parent(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
308 if (!once_value_21
) {
309 fra
.me
.REG
[2] = BOX_NativeString("\"\n");
311 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
312 once_value_21
= fra
.me
.REG
[2];
313 register_static_object(&once_value_21
);
314 } else fra
.me
.REG
[2] = once_value_21
;
315 fra
.me
.REG
[2] = fra
.me
.REG
[2];
316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
317 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
318 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
320 /* ./native_interface//frontier.nit:52 */
321 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
322 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___MMSrcModule___compile_frontier_22
));
323 /* ./native_interface//frontier.nit:71 */
324 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
325 if (!once_value_24
) {
326 fra
.me
.REG
[0] = BOX_NativeString("#endif\n");
328 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
329 once_value_24
= fra
.me
.REG
[0];
330 register_static_object(&once_value_24
);
331 } else fra
.me
.REG
[0] = once_value_24
;
332 fra
.me
.REG
[0] = fra
.me
.REG
[0];
333 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
334 stack_frame_head
= fra
.me
.prev
;
337 void OC_native_interface___frontier___MMSrcModule___compile_frontier_22(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
338 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
343 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
344 fra
.me
.file
= LOCATE_native_interface___frontier
;
346 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcModule___compile_frontier
;
347 fra
.me
.has_broke
= 0;
349 fra
.me
.REG
[0] = NIT_NULL
;
350 fra
.me
.REG
[1] = NIT_NULL
;
351 fra
.me
.closure_ctx
= closctx_param
;
352 fra
.me
.closure_funs
= CREG
;
355 /* ./native_interface//frontier.nit:54 */
356 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
357 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
, ((fun_t
)OC_native_interface___frontier___MMSrcModule___compile_frontier_23
));
358 /* ./native_interface//frontier.nit:65 */
359 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
360 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
361 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
362 if (UNTAG_Bool(REGB0
)) {
364 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
367 if (UNTAG_Bool(REGB0
)) {
368 /* ./native_interface//frontier.nit:66 */
369 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
370 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
372 /* ./native_interface//frontier.nit:65 */
373 REGB1
= TAG_Bool(false);
376 if (UNTAG_Bool(REGB0
)) {
377 /* ./native_interface//frontier.nit:67 */
378 CALL_native_interface___frontier___MMLocalClass___compile_defaut_extern_type(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
380 stack_frame_head
= fra
.me
.prev
;
383 void OC_native_interface___frontier___MMSrcModule___compile_frontier_23(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
384 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
389 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
390 fra
.me
.file
= LOCATE_native_interface___frontier
;
392 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcModule___compile_frontier
;
393 fra
.me
.has_broke
= 0;
395 fra
.me
.REG
[0] = NIT_NULL
;
396 fra
.me
.REG
[1] = NIT_NULL
;
397 fra
.me
.closure_ctx
= closctx_param
;
398 fra
.me
.closure_funs
= CREG
;
401 /* ./native_interface//frontier.nit:57 */
402 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
403 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[0]));
404 if (UNTAG_Bool(REGB0
)) {
406 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[0]);
409 if (UNTAG_Bool(REGB0
)) {
410 /* ./native_interface//frontier.nit:58 */
411 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_syntax___syntax_base___MMSrcMethod
, ID_syntax___syntax_base___MMSrcMethod
)) /*cast MMSrcMethod*/;
413 /* ./native_interface//frontier.nit:57 */
414 REGB1
= TAG_Bool(false);
417 if (UNTAG_Bool(REGB0
)) {
418 /* ./native_interface//frontier.nit:58 */
419 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
421 /* ./native_interface//frontier.nit:57 */
422 REGB1
= TAG_Bool(false);
425 if (UNTAG_Bool(REGB0
)) {
426 /* ./native_interface//frontier.nit:59 */
427 CALL_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
429 stack_frame_head
= fra
.me
.prev
;
432 void native_interface___frontier___MMSrcMethod___compile_extern_to_frontier(val_t p0
, val_t p1
){
433 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
437 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
438 fra
.me
.file
= LOCATE_native_interface___frontier
;
440 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier
;
441 fra
.me
.has_broke
= 0;
443 fra
.me
.REG
[0] = NIT_NULL
;
444 fra
.me
.REG
[1] = NIT_NULL
;
445 fra
.me
.REG
[2] = NIT_NULL
;
448 /* ./native_interface//frontier.nit:79 */
449 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
450 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
451 if (UNTAG_Bool(REGB0
)) {
453 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
454 if (UNTAG_Bool(REGB1
)) {
455 REGB1
= TAG_Bool(false);
458 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
462 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
463 if (UNTAG_Bool(REGB0
)) {
464 /* ./native_interface//frontier.nit:80 */
465 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
466 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
467 if (UNTAG_Bool(REGB0
)) {
468 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 80);
470 CALL_native_interface___frontier___MMSignature___compile_frontier(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
472 /* ./native_interface//frontier.nit:83 */
473 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMMethod___explicit_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
474 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_1
));
475 /* ./native_interface//frontier.nit:92 */
476 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMMethod___explicit_casts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
477 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_2
));
478 /* ./native_interface//frontier.nit:100 */
479 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___need_super(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
480 if (UNTAG_Bool(REGB0
)) {
481 /* ./native_interface//frontier.nit:101 */
482 CALL_native_interface___frontier___MMSrcMethod___compile_super_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
484 /* ./native_interface//frontier.nit:105 */
485 CALL_native_interface___frontier___MMSrcMethod___compile_out_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
486 stack_frame_head
= fra
.me
.prev
;
489 void OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
490 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
493 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
494 fra
.me
.file
= LOCATE_native_interface___frontier
;
496 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier
;
497 fra
.me
.has_broke
= 0;
499 fra
.me
.REG
[0] = NIT_NULL
;
500 fra
.me
.REG
[1] = NIT_NULL
;
501 fra
.me
.closure_ctx
= closctx_param
;
502 fra
.me
.closure_funs
= CREG
;
505 /* ./native_interface//frontier.nit:85 */
506 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___friendlys(closctx
->REG
[1])(closctx
->REG
[1]);
507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
508 /* ./native_interface//frontier.nit:88 */
509 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
510 CALL_native_interface___frontier___MMSignature___compile_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
511 stack_frame_head
= fra
.me
.prev
;
514 void OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
515 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
518 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
519 fra
.me
.file
= LOCATE_native_interface___frontier
;
521 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier
;
522 fra
.me
.has_broke
= 0;
524 fra
.me
.REG
[0] = NIT_NULL
;
525 fra
.me
.REG
[1] = NIT_NULL
;
526 fra
.me
.REG
[2] = NIT_NULL
;
527 fra
.me
.closure_ctx
= closctx_param
;
528 fra
.me
.closure_funs
= CREG
;
531 /* ./native_interface//frontier.nit:93 */
532 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___casts(closctx
->REG
[1])(closctx
->REG
[1]);
533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
534 /* ./native_interface//frontier.nit:95 */
535 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___types(closctx
->REG
[1])(closctx
->REG
[1]);
536 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
538 /* ./native_interface//frontier.nit:96 */
539 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___types(closctx
->REG
[1])(closctx
->REG
[1]);
540 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
542 stack_frame_head
= fra
.me
.prev
;
545 void native_interface___frontier___MMSrcMethod___compile_super_to_frontier(val_t p0
, val_t p1
){
546 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
551 static val_t once_value_1
; /* Once value */
552 static val_t once_value_2
; /* Once value */
553 static val_t once_value_3
; /* Once value */
554 static val_t once_value_4
; /* Once value */
555 static val_t once_value_5
; /* Once value */
556 static val_t once_value_6
; /* Once value */
557 static val_t once_value_7
; /* Once value */
558 static val_t once_value_8
; /* Once value */
559 static val_t once_value_9
; /* Once value */
560 static val_t once_value_10
; /* Once value */
561 static val_t once_value_11
; /* Once value */
562 static val_t once_value_12
; /* Once value */
563 static val_t once_value_13
; /* Once value */
564 static val_t once_value_14
; /* Once value */
565 static val_t once_value_15
; /* Once value */
566 static val_t once_value_16
; /* Once value */
567 static val_t once_value_17
; /* Once value */
568 static val_t once_value_18
; /* Once value */
569 static val_t once_value_19
; /* Once value */
570 static val_t once_value_20
; /* Once value */
571 static val_t once_value_21
; /* Once value */
572 static val_t once_value_22
; /* Once value */
573 static val_t once_value_23
; /* Once value */
574 static val_t once_value_24
; /* Once value */
575 static val_t once_value_26
; /* Once value */
576 static val_t once_value_27
; /* Once value */
577 static val_t once_value_28
; /* Once value */
578 static val_t once_value_29
; /* Once value */
579 static val_t once_value_30
; /* Once value */
580 static val_t once_value_31
; /* Once value */
581 static val_t once_value_32
; /* Once value */
582 static val_t once_value_33
; /* Once value */
583 static val_t once_value_34
; /* Once value */
584 static val_t once_value_35
; /* Once value */
585 static val_t once_value_36
; /* Once value */
586 static val_t once_value_37
; /* Once value */
587 static val_t once_value_38
; /* Once value */
588 static val_t once_value_39
; /* Once value */
589 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
590 fra
.me
.file
= LOCATE_native_interface___frontier
;
592 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_super_to_frontier
;
593 fra
.me
.has_broke
= 0;
594 fra
.me
.REG_size
= 11;
595 fra
.me
.REG
[0] = NIT_NULL
;
596 fra
.me
.REG
[1] = NIT_NULL
;
597 fra
.me
.REG
[2] = NIT_NULL
;
598 fra
.me
.REG
[3] = NIT_NULL
;
599 fra
.me
.REG
[4] = NIT_NULL
;
600 fra
.me
.REG
[5] = NIT_NULL
;
601 fra
.me
.REG
[6] = NIT_NULL
;
602 fra
.me
.REG
[7] = NIT_NULL
;
603 fra
.me
.REG
[8] = NIT_NULL
;
604 fra
.me
.REG
[9] = NIT_NULL
;
605 fra
.me
.REG
[10] = NIT_NULL
;
608 /* ./native_interface//frontier.nit:115 */
609 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
611 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
613 fra
.me
.REG
[4] = BOX_NativeString("\n/* friendly for super of ");
615 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
616 once_value_1
= fra
.me
.REG
[4];
617 register_static_object(&once_value_1
);
618 } else fra
.me
.REG
[4] = once_value_1
;
619 fra
.me
.REG
[4] = fra
.me
.REG
[4];
620 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
621 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
624 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
626 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
627 once_value_2
= fra
.me
.REG
[4];
628 register_static_object(&once_value_2
);
629 } else fra
.me
.REG
[4] = once_value_2
;
630 fra
.me
.REG
[4] = fra
.me
.REG
[4];
631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
632 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
633 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
634 /* ./native_interface//frontier.nit:116 */
635 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
637 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
639 fra
.me
.REG
[4] = BOX_NativeString("");
641 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
642 once_value_3
= fra
.me
.REG
[4];
643 register_static_object(&once_value_3
);
644 } else fra
.me
.REG
[4] = once_value_3
;
645 fra
.me
.REG
[4] = fra
.me
.REG
[4];
646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
647 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
648 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___frontier_super_csignature_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
651 fra
.me
.REG
[4] = BOX_NativeString(";\n");
653 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
654 once_value_4
= fra
.me
.REG
[4];
655 register_static_object(&once_value_4
);
656 } else fra
.me
.REG
[4] = once_value_4
;
657 fra
.me
.REG
[4] = fra
.me
.REG
[4];
658 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
659 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
660 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
661 /* ./native_interface//frontier.nit:119 */
662 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
664 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
666 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
668 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
669 once_value_5
= fra
.me
.REG
[4];
670 register_static_object(&once_value_5
);
671 } else fra
.me
.REG
[4] = once_value_5
;
672 fra
.me
.REG
[4] = fra
.me
.REG
[4];
673 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
674 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___friendly_super_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
677 fra
.me
.REG
[4] = BOX_NativeString("\n");
679 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
680 once_value_6
= fra
.me
.REG
[4];
681 register_static_object(&once_value_6
);
682 } else fra
.me
.REG
[4] = once_value_6
;
683 fra
.me
.REG
[4] = fra
.me
.REG
[4];
684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
685 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
686 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
687 /* ./native_interface//frontier.nit:120 */
688 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
690 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
692 fra
.me
.REG
[4] = BOX_NativeString("#define ");
694 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
695 once_value_7
= fra
.me
.REG
[4];
696 register_static_object(&once_value_7
);
697 } else fra
.me
.REG
[4] = once_value_7
;
698 fra
.me
.REG
[4] = fra
.me
.REG
[4];
699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
700 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___friendly_super_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
703 fra
.me
.REG
[4] = BOX_NativeString(" ");
705 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
706 once_value_8
= fra
.me
.REG
[4];
707 register_static_object(&once_value_8
);
708 } else fra
.me
.REG
[4] = once_value_8
;
709 fra
.me
.REG
[4] = fra
.me
.REG
[4];
710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
711 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
712 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___local_friendly_super_name_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
713 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
715 fra
.me
.REG
[4] = BOX_NativeString("\n");
717 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
718 once_value_9
= fra
.me
.REG
[4];
719 register_static_object(&once_value_9
);
720 } else fra
.me
.REG
[4] = once_value_9
;
721 fra
.me
.REG
[4] = fra
.me
.REG
[4];
722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
723 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
724 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
725 /* ./native_interface//frontier.nit:121 */
726 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
727 if (!once_value_10
) {
728 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
730 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
731 once_value_10
= fra
.me
.REG
[3];
732 register_static_object(&once_value_10
);
733 } else fra
.me
.REG
[3] = once_value_10
;
734 fra
.me
.REG
[3] = fra
.me
.REG
[3];
735 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
736 /* ./native_interface//frontier.nit:124 */
737 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
739 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
740 if (!once_value_11
) {
741 fra
.me
.REG
[4] = BOX_NativeString("\n/* friendly for super of ");
743 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
744 once_value_11
= fra
.me
.REG
[4];
745 register_static_object(&once_value_11
);
746 } else fra
.me
.REG
[4] = once_value_11
;
747 fra
.me
.REG
[4] = fra
.me
.REG
[4];
748 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
749 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
751 if (!once_value_12
) {
752 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
754 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
755 once_value_12
= fra
.me
.REG
[4];
756 register_static_object(&once_value_12
);
757 } else fra
.me
.REG
[4] = once_value_12
;
758 fra
.me
.REG
[4] = fra
.me
.REG
[4];
759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
760 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
761 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
762 /* ./native_interface//frontier.nit:125 */
763 fra
.me
.REG
[2] = CALL_native_interface___ni_metamodel___MMMethod___friendly_super_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
764 fra
.me
.REG
[2] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[2]);
765 /* ./native_interface//frontier.nit:128 */
766 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
767 /* ./native_interface//frontier.nit:131 */
768 if (!once_value_13
) {
769 fra
.me
.REG
[4] = BOX_NativeString("recv___nit");
771 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
772 once_value_13
= fra
.me
.REG
[4];
773 register_static_object(&once_value_13
);
774 } else fra
.me
.REG
[4] = once_value_13
;
775 fra
.me
.REG
[4] = fra
.me
.REG
[4];
776 /* ./native_interface//frontier.nit:132 */
777 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
779 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
780 if (!once_value_14
) {
781 fra
.me
.REG
[7] = BOX_NativeString("val_t ");
783 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
784 once_value_14
= fra
.me
.REG
[7];
785 register_static_object(&once_value_14
);
786 } else fra
.me
.REG
[7] = once_value_14
;
787 fra
.me
.REG
[7] = fra
.me
.REG
[7];
788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[4]);
790 if (!once_value_15
) {
791 fra
.me
.REG
[7] = BOX_NativeString(";\n");
793 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
794 once_value_15
= fra
.me
.REG
[7];
795 register_static_object(&once_value_15
);
796 } else fra
.me
.REG
[7] = once_value_15
;
797 fra
.me
.REG
[7] = fra
.me
.REG
[7];
798 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
799 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
800 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
801 /* ./native_interface//frontier.nit:133 */
802 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
804 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
805 if (!once_value_16
) {
806 fra
.me
.REG
[7] = BOX_NativeString("");
808 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
809 once_value_16
= fra
.me
.REG
[7];
810 register_static_object(&once_value_16
);
811 } else fra
.me
.REG
[7] = once_value_16
;
812 fra
.me
.REG
[7] = fra
.me
.REG
[7];
813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
814 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
815 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
816 if (UNTAG_Bool(REGB0
)) {
817 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 133);
819 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
820 if (!once_value_17
) {
821 fra
.me
.REG
[8] = BOX_NativeString("recv");
823 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
824 once_value_17
= fra
.me
.REG
[8];
825 register_static_object(&once_value_17
);
826 } else fra
.me
.REG
[8] = once_value_17
;
827 fra
.me
.REG
[8] = fra
.me
.REG
[8];
828 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4], fra
.me
.REG
[8]);
829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
830 if (!once_value_18
) {
831 fra
.me
.REG
[8] = BOX_NativeString(";\n");
833 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
834 once_value_18
= fra
.me
.REG
[8];
835 register_static_object(&once_value_18
);
836 } else fra
.me
.REG
[8] = once_value_18
;
837 fra
.me
.REG
[8] = fra
.me
.REG
[8];
838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
839 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
840 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
841 /* ./native_interface//frontier.nit:134 */
842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
843 /* ./native_interface//frontier.nit:137 */
844 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
845 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
846 if (UNTAG_Bool(REGB0
)) {
847 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 137);
849 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
850 /* ./../lib/standard//collection//array.nit:269 */
852 /* ./../lib/standard//collection//array.nit:270 */
853 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
854 if (UNTAG_Bool(REGB1
)) {
856 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
858 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
859 /* ./../lib/standard//collection//array.nit:271 */
860 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
861 /* ./../lib/standard//collection//array.nit:272 */
863 /* ./../lib/standard//collection//array.nit:24 */
864 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
865 if (UNTAG_Bool(REGB1
)) {
867 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
869 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
870 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
871 if (UNTAG_Bool(REGB2
)) {
873 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
875 /* ./../lib/standard//kernel.nit:232 */
876 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
877 /* ./../lib/standard//collection//array.nit:272 */
878 if (UNTAG_Bool(REGB1
)) {
879 /* ./../lib/standard//collection//array.nit:273 */
880 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
881 if (UNTAG_Bool(REGB1
)) {
882 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
884 /* ./../lib/standard//collection//array.nit:718 */
885 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
886 /* ./native_interface//frontier.nit:138 */
888 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
889 if (!once_value_19
) {
890 fra
.me
.REG
[9] = BOX_NativeString("");
892 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
893 once_value_19
= fra
.me
.REG
[9];
894 register_static_object(&once_value_19
);
895 } else fra
.me
.REG
[9] = once_value_19
;
896 fra
.me
.REG
[9] = fra
.me
.REG
[9];
897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
898 fra
.me
.REG
[9] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
899 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
900 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
901 if (!once_value_20
) {
902 fra
.me
.REG
[9] = BOX_NativeString("___nit");
904 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
905 once_value_20
= fra
.me
.REG
[9];
906 register_static_object(&once_value_20
);
907 } else fra
.me
.REG
[9] = once_value_20
;
908 fra
.me
.REG
[9] = fra
.me
.REG
[9];
909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
910 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
911 fra
.me
.REG
[4] = fra
.me
.REG
[7];
912 /* ./native_interface//frontier.nit:139 */
913 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
915 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
916 if (!once_value_21
) {
917 fra
.me
.REG
[10] = BOX_NativeString("val_t ");
919 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
920 once_value_21
= fra
.me
.REG
[10];
921 register_static_object(&once_value_21
);
922 } else fra
.me
.REG
[10] = once_value_21
;
923 fra
.me
.REG
[10] = fra
.me
.REG
[10];
924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
925 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[4]);
926 if (!once_value_22
) {
927 fra
.me
.REG
[10] = BOX_NativeString(";\n");
929 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
930 once_value_22
= fra
.me
.REG
[10];
931 register_static_object(&once_value_22
);
932 } else fra
.me
.REG
[10] = once_value_22
;
933 fra
.me
.REG
[10] = fra
.me
.REG
[10];
934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
935 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
936 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
937 /* ./native_interface//frontier.nit:140 */
938 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
940 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
941 if (!once_value_23
) {
942 fra
.me
.REG
[10] = BOX_NativeString("");
944 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
945 once_value_23
= fra
.me
.REG
[10];
946 register_static_object(&once_value_23
);
947 } else fra
.me
.REG
[10] = once_value_23
;
948 fra
.me
.REG
[10] = fra
.me
.REG
[10];
949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
950 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
951 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
952 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
953 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[4], fra
.me
.REG
[8]);
954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
955 if (!once_value_24
) {
956 fra
.me
.REG
[8] = BOX_NativeString(";\n");
958 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
959 once_value_24
= fra
.me
.REG
[8];
960 register_static_object(&once_value_24
);
961 } else fra
.me
.REG
[8] = once_value_24
;
962 fra
.me
.REG
[8] = fra
.me
.REG
[8];
963 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
964 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
965 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
966 /* ./native_interface//frontier.nit:141 */
967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
968 /* ./../lib/standard//collection//array.nit:274 */
970 /* ./../lib/standard//kernel.nit:235 */
971 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
972 /* ./../lib/standard//collection//array.nit:274 */
975 /* ./../lib/standard//collection//array.nit:272 */
980 /* ./native_interface//frontier.nit:145 */
981 fra
.me
.REG
[4] = NIT_NULL
;
982 /* ./native_interface//frontier.nit:147 */
983 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
984 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
985 if (UNTAG_Bool(REGB0
)) {
986 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 147);
988 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
989 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
990 if (UNTAG_Bool(REGB0
)) {
992 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
993 if (UNTAG_Bool(REGB1
)) {
994 REGB1
= TAG_Bool(false);
997 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
1001 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1002 if (UNTAG_Bool(REGB0
)) {
1003 /* ./native_interface//frontier.nit:148 */
1004 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1005 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1006 if (UNTAG_Bool(REGB0
)) {
1007 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 148);
1009 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1010 fra
.me
.REG
[4] = fra
.me
.REG
[6];
1012 /* ./native_interface//frontier.nit:151 */
1013 fra
.me
.REG
[6] = NEW_Buffer_standard___string___Buffer___init();
1014 /* ./native_interface//frontier.nit:152 */
1015 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1016 if (UNTAG_Bool(REGB0
)) {
1018 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1019 if (UNTAG_Bool(REGB1
)) {
1020 REGB1
= TAG_Bool(false);
1023 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1027 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1028 if (UNTAG_Bool(REGB0
)) {
1029 /* ./native_interface//frontier.nit:153 */
1030 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1032 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1033 if (!once_value_26
) {
1034 fra
.me
.REG
[9] = BOX_NativeString("");
1036 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1037 once_value_26
= fra
.me
.REG
[9];
1038 register_static_object(&once_value_26
);
1039 } else fra
.me
.REG
[9] = once_value_26
;
1040 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1042 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1043 if (UNTAG_Bool(REGB0
)) {
1044 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 153);
1046 fra
.me
.REG
[9] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1048 if (!once_value_27
) {
1049 fra
.me
.REG
[9] = BOX_NativeString(" return___nitni;\n");
1050 REGB0
= TAG_Int(17);
1051 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1052 once_value_27
= fra
.me
.REG
[9];
1053 register_static_object(&once_value_27
);
1054 } else fra
.me
.REG
[9] = once_value_27
;
1055 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
1057 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1058 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1059 /* ./native_interface//frontier.nit:154 */
1060 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1061 if (!once_value_28
) {
1062 fra
.me
.REG
[5] = BOX_NativeString("val_t return___nit;\n");
1063 REGB0
= TAG_Int(20);
1064 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1065 once_value_28
= fra
.me
.REG
[5];
1066 register_static_object(&once_value_28
);
1067 } else fra
.me
.REG
[5] = once_value_28
;
1068 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1069 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1070 /* ./native_interface//frontier.nit:155 */
1071 if (!once_value_29
) {
1072 fra
.me
.REG
[5] = BOX_NativeString("return___nit = ");
1073 REGB0
= TAG_Int(15);
1074 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1075 once_value_29
= fra
.me
.REG
[5];
1076 register_static_object(&once_value_29
);
1077 } else fra
.me
.REG
[5] = once_value_29
;
1078 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1079 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1081 /* ./native_interface//frontier.nit:158 */
1083 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1084 if (!once_value_30
) {
1085 fra
.me
.REG
[7] = BOX_NativeString("");
1087 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
1088 once_value_30
= fra
.me
.REG
[7];
1089 register_static_object(&once_value_30
);
1090 } else fra
.me
.REG
[7] = once_value_30
;
1091 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1092 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
1093 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalProperty___super_meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1095 if (!once_value_31
) {
1096 fra
.me
.REG
[0] = BOX_NativeString("( recv___nit )");
1097 REGB0
= TAG_Int(14);
1098 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1099 once_value_31
= fra
.me
.REG
[0];
1100 register_static_object(&once_value_31
);
1101 } else fra
.me
.REG
[0] = once_value_31
;
1102 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1104 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1105 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1106 /* ./native_interface//frontier.nit:160 */
1108 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1109 if (!once_value_32
) {
1110 fra
.me
.REG
[0] = BOX_NativeString("( ");
1112 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1113 once_value_32
= fra
.me
.REG
[0];
1114 register_static_object(&once_value_32
);
1115 } else fra
.me
.REG
[0] = once_value_32
;
1116 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1118 if (!once_value_33
) {
1119 fra
.me
.REG
[0] = BOX_NativeString(", ");
1121 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1122 once_value_33
= fra
.me
.REG
[0];
1123 register_static_object(&once_value_33
);
1124 } else fra
.me
.REG
[0] = once_value_33
;
1125 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1126 fra
.me
.REG
[0] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1128 if (!once_value_34
) {
1129 fra
.me
.REG
[0] = BOX_NativeString(" );\n");
1131 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1132 once_value_34
= fra
.me
.REG
[0];
1133 register_static_object(&once_value_34
);
1134 } else fra
.me
.REG
[0] = once_value_34
;
1135 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1137 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1138 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1139 /* ./native_interface//frontier.nit:162 */
1140 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1141 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1142 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1143 /* ./native_interface//frontier.nit:165 */
1144 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1145 if (UNTAG_Bool(REGB0
)) {
1147 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1148 if (UNTAG_Bool(REGB1
)) {
1149 REGB1
= TAG_Bool(false);
1152 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1156 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1157 if (UNTAG_Bool(REGB0
)) {
1158 /* ./native_interface//frontier.nit:167 */
1159 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1161 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1162 if (!once_value_35
) {
1163 fra
.me
.REG
[0] = BOX_NativeString("");
1165 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1166 once_value_35
= fra
.me
.REG
[0];
1167 register_static_object(&once_value_35
);
1168 } else fra
.me
.REG
[0] = once_value_35
;
1169 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1170 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1171 if (!once_value_36
) {
1172 fra
.me
.REG
[0] = BOX_NativeString("return___nitni");
1173 REGB0
= TAG_Int(14);
1174 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1175 once_value_36
= fra
.me
.REG
[0];
1176 register_static_object(&once_value_36
);
1177 } else fra
.me
.REG
[0] = once_value_36
;
1178 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1179 if (!once_value_37
) {
1180 fra
.me
.REG
[3] = BOX_NativeString("return___nit");
1181 REGB0
= TAG_Int(12);
1182 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1183 once_value_37
= fra
.me
.REG
[3];
1184 register_static_object(&once_value_37
);
1185 } else fra
.me
.REG
[3] = once_value_37
;
1186 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1187 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1188 if (UNTAG_Bool(REGB0
)) {
1189 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 167);
1191 fra
.me
.REG
[3] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0], fra
.me
.REG
[3]);
1192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1193 if (!once_value_38
) {
1194 fra
.me
.REG
[3] = BOX_NativeString(";\n");
1196 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1197 once_value_38
= fra
.me
.REG
[3];
1198 register_static_object(&once_value_38
);
1199 } else fra
.me
.REG
[3] = once_value_38
;
1200 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1202 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1203 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1204 /* ./native_interface//frontier.nit:168 */
1205 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1206 if (!once_value_39
) {
1207 fra
.me
.REG
[6] = BOX_NativeString("return return___nitni;\n");
1208 REGB0
= TAG_Int(23);
1209 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1210 once_value_39
= fra
.me
.REG
[6];
1211 register_static_object(&once_value_39
);
1212 } else fra
.me
.REG
[6] = once_value_39
;
1213 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1214 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1216 /* ./native_interface//frontier.nit:171 */
1217 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1218 fra
.me
.REG
[2] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1219 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1220 stack_frame_head
= fra
.me
.prev
;
1223 void native_interface___frontier___MMSrcMethod___compile_out_to_frontier(val_t p0
, val_t p1
){
1224 struct {struct stack_frame_t me
; val_t MORE_REG
[11];} fra
;
1229 static val_t once_value_1
; /* Once value */
1230 static val_t once_value_2
; /* Once value */
1231 static val_t once_value_3
; /* Once value */
1232 static val_t once_value_4
; /* Once value */
1233 static val_t once_value_5
; /* Once value */
1234 static val_t once_value_6
; /* Once value */
1235 static val_t once_value_7
; /* Once value */
1236 static val_t once_value_8
; /* Once value */
1237 static val_t once_value_9
; /* Once value */
1238 static val_t once_value_10
; /* Once value */
1239 static val_t once_value_11
; /* Once value */
1240 static val_t once_value_12
; /* Once value */
1241 static val_t once_value_13
; /* Once value */
1242 static val_t once_value_14
; /* Once value */
1243 static val_t once_value_15
; /* Once value */
1244 static val_t once_value_16
; /* Once value */
1245 static val_t once_value_17
; /* Once value */
1246 static val_t once_value_18
; /* Once value */
1247 static val_t once_value_19
; /* Once value */
1248 static val_t once_value_20
; /* Once value */
1249 static val_t once_value_22
; /* Once value */
1250 static val_t once_value_23
; /* Once value */
1251 static val_t once_value_24
; /* Once value */
1252 static val_t once_value_25
; /* Once value */
1253 static val_t once_value_26
; /* Once value */
1254 static val_t once_value_27
; /* Once value */
1255 static val_t once_value_28
; /* Once value */
1256 static val_t once_value_29
; /* Once value */
1257 static val_t once_value_30
; /* Once value */
1258 static val_t once_value_31
; /* Once value */
1259 static val_t once_value_32
; /* Once value */
1260 static val_t once_value_33
; /* Once value */
1261 static val_t once_value_34
; /* Once value */
1262 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1263 fra
.me
.file
= LOCATE_native_interface___frontier
;
1265 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSrcMethod___compile_out_to_frontier
;
1266 fra
.me
.has_broke
= 0;
1267 fra
.me
.REG_size
= 12;
1268 fra
.me
.REG
[0] = NIT_NULL
;
1269 fra
.me
.REG
[1] = NIT_NULL
;
1270 fra
.me
.REG
[2] = NIT_NULL
;
1271 fra
.me
.REG
[3] = NIT_NULL
;
1272 fra
.me
.REG
[4] = NIT_NULL
;
1273 fra
.me
.REG
[5] = NIT_NULL
;
1274 fra
.me
.REG
[6] = NIT_NULL
;
1275 fra
.me
.REG
[7] = NIT_NULL
;
1276 fra
.me
.REG
[8] = NIT_NULL
;
1277 fra
.me
.REG
[9] = NIT_NULL
;
1278 fra
.me
.REG
[10] = NIT_NULL
;
1279 fra
.me
.REG
[11] = NIT_NULL
;
1282 /* ./native_interface//frontier.nit:174 */
1283 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1284 /* ./native_interface//frontier.nit:180 */
1285 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1287 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1288 if (!once_value_1
) {
1289 fra
.me
.REG
[5] = BOX_NativeString("\n/* out/indirect function for ");
1290 REGB0
= TAG_Int(30);
1291 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1292 once_value_1
= fra
.me
.REG
[5];
1293 register_static_object(&once_value_1
);
1294 } else fra
.me
.REG
[5] = once_value_1
;
1295 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1297 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1298 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1299 if (!once_value_2
) {
1300 fra
.me
.REG
[5] = BOX_NativeString(" */\n");
1302 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1303 once_value_2
= fra
.me
.REG
[5];
1304 register_static_object(&once_value_2
);
1305 } else fra
.me
.REG
[5] = once_value_2
;
1306 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1308 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1309 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1310 /* ./native_interface//frontier.nit:181 */
1311 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1313 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1314 if (!once_value_3
) {
1315 fra
.me
.REG
[5] = BOX_NativeString("");
1317 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1318 once_value_3
= fra
.me
.REG
[5];
1319 register_static_object(&once_value_3
);
1320 } else fra
.me
.REG
[5] = once_value_3
;
1321 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1323 fra
.me
.REG
[5] = CALL_native_interface___ni_metamodel___MMMethod___out_csignature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1325 if (!once_value_4
) {
1326 fra
.me
.REG
[5] = BOX_NativeString(";\n");
1328 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1329 once_value_4
= fra
.me
.REG
[5];
1330 register_static_object(&once_value_4
);
1331 } else fra
.me
.REG
[5] = once_value_4
;
1332 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1334 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1335 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1336 /* ./native_interface//frontier.nit:184 */
1337 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1339 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1340 if (!once_value_5
) {
1341 fra
.me
.REG
[5] = BOX_NativeString("/* out/indirect function for ");
1342 REGB0
= TAG_Int(29);
1343 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1344 once_value_5
= fra
.me
.REG
[5];
1345 register_static_object(&once_value_5
);
1346 } else fra
.me
.REG
[5] = once_value_5
;
1347 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1348 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1349 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1350 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1351 if (!once_value_6
) {
1352 fra
.me
.REG
[5] = BOX_NativeString(" */\n");
1354 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1355 once_value_6
= fra
.me
.REG
[5];
1356 register_static_object(&once_value_6
);
1357 } else fra
.me
.REG
[5] = once_value_6
;
1358 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1360 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1361 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1362 /* ./native_interface//frontier.nit:185 */
1363 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___out_csignature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1364 fra
.me
.REG
[4] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[4]);
1365 /* ./native_interface//frontier.nit:188 */
1366 fra
.me
.REG
[3] = NEW_List_standard___collection___list___List___init();
1367 /* ./native_interface//frontier.nit:190 */
1368 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1369 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1370 if (UNTAG_Bool(REGB0
)) {
1371 /* ./native_interface//frontier.nit:191 */
1372 if (!once_value_7
) {
1373 fra
.me
.REG
[5] = BOX_NativeString("recv___nitni");
1374 REGB0
= TAG_Int(12);
1375 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1376 once_value_7
= fra
.me
.REG
[5];
1377 register_static_object(&once_value_7
);
1378 } else fra
.me
.REG
[5] = once_value_7
;
1379 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1380 /* ./native_interface//frontier.nit:192 */
1381 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1383 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1384 if (!once_value_8
) {
1385 fra
.me
.REG
[8] = BOX_NativeString("");
1387 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1388 once_value_8
= fra
.me
.REG
[8];
1389 register_static_object(&once_value_8
);
1390 } else fra
.me
.REG
[8] = once_value_8
;
1391 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1393 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1394 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1395 if (UNTAG_Bool(REGB0
)) {
1396 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 192);
1398 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1399 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1401 if (!once_value_9
) {
1402 fra
.me
.REG
[8] = BOX_NativeString(" ");
1404 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1405 once_value_9
= fra
.me
.REG
[8];
1406 register_static_object(&once_value_9
);
1407 } else fra
.me
.REG
[8] = once_value_9
;
1408 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[5]);
1411 if (!once_value_10
) {
1412 fra
.me
.REG
[8] = BOX_NativeString(";\n");
1414 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1415 once_value_10
= fra
.me
.REG
[8];
1416 register_static_object(&once_value_10
);
1417 } else fra
.me
.REG
[8] = once_value_10
;
1418 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1420 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1421 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1422 /* ./native_interface//frontier.nit:193 */
1423 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1425 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1426 if (!once_value_11
) {
1427 fra
.me
.REG
[8] = BOX_NativeString("");
1429 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1430 once_value_11
= fra
.me
.REG
[8];
1431 register_static_object(&once_value_11
);
1432 } else fra
.me
.REG
[8] = once_value_11
;
1433 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[8]);
1435 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1436 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1437 if (UNTAG_Bool(REGB0
)) {
1438 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 193);
1440 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1441 if (!once_value_12
) {
1442 fra
.me
.REG
[9] = BOX_NativeString("recv");
1444 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1445 once_value_12
= fra
.me
.REG
[9];
1446 register_static_object(&once_value_12
);
1447 } else fra
.me
.REG
[9] = once_value_12
;
1448 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1449 fra
.me
.REG
[9] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5], fra
.me
.REG
[9]);
1450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
1451 if (!once_value_13
) {
1452 fra
.me
.REG
[9] = BOX_NativeString(";\n");
1454 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1455 once_value_13
= fra
.me
.REG
[9];
1456 register_static_object(&once_value_13
);
1457 } else fra
.me
.REG
[9] = once_value_13
;
1458 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
1460 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1461 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1462 /* ./native_interface//frontier.nit:194 */
1463 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
1465 /* ./native_interface//frontier.nit:197 */
1466 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1467 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1468 if (UNTAG_Bool(REGB0
)) {
1469 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 197);
1471 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1472 /* ./../lib/standard//collection//array.nit:269 */
1474 /* ./../lib/standard//collection//array.nit:270 */
1475 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1476 if (UNTAG_Bool(REGB1
)) {
1478 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1480 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1481 /* ./../lib/standard//collection//array.nit:271 */
1482 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
1483 /* ./../lib/standard//collection//array.nit:272 */
1485 /* ./../lib/standard//collection//array.nit:24 */
1486 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1487 if (UNTAG_Bool(REGB1
)) {
1489 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1491 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1492 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1493 if (UNTAG_Bool(REGB2
)) {
1495 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1497 /* ./../lib/standard//kernel.nit:232 */
1498 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1499 /* ./../lib/standard//collection//array.nit:272 */
1500 if (UNTAG_Bool(REGB1
)) {
1501 /* ./../lib/standard//collection//array.nit:273 */
1502 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1503 if (UNTAG_Bool(REGB1
)) {
1504 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1506 /* ./../lib/standard//collection//array.nit:718 */
1507 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
1508 /* ./native_interface//frontier.nit:198 */
1510 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1511 if (!once_value_14
) {
1512 fra
.me
.REG
[8] = BOX_NativeString("");
1514 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
1515 once_value_14
= fra
.me
.REG
[8];
1516 register_static_object(&once_value_14
);
1517 } else fra
.me
.REG
[8] = once_value_14
;
1518 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1520 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1521 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1523 if (!once_value_15
) {
1524 fra
.me
.REG
[8] = BOX_NativeString("___nitni");
1526 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
1527 once_value_15
= fra
.me
.REG
[8];
1528 register_static_object(&once_value_15
);
1529 } else fra
.me
.REG
[8] = once_value_15
;
1530 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1532 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1533 /* ./native_interface//frontier.nit:199 */
1534 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1536 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1537 if (!once_value_16
) {
1538 fra
.me
.REG
[11] = BOX_NativeString("");
1540 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB1
);
1541 once_value_16
= fra
.me
.REG
[11];
1542 register_static_object(&once_value_16
);
1543 } else fra
.me
.REG
[11] = once_value_16
;
1544 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
1546 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1547 fra
.me
.REG
[11] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
1548 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
1549 if (!once_value_17
) {
1550 fra
.me
.REG
[11] = BOX_NativeString(" ");
1552 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB1
);
1553 once_value_17
= fra
.me
.REG
[11];
1554 register_static_object(&once_value_17
);
1555 } else fra
.me
.REG
[11] = once_value_17
;
1556 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
1558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
1559 if (!once_value_18
) {
1560 fra
.me
.REG
[11] = BOX_NativeString(";\n");
1562 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB1
);
1563 once_value_18
= fra
.me
.REG
[11];
1564 register_static_object(&once_value_18
);
1565 } else fra
.me
.REG
[11] = once_value_18
;
1566 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
1568 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
1569 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1570 /* ./native_interface//frontier.nit:200 */
1571 fra
.me
.REG
[10] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1573 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1574 if (!once_value_19
) {
1575 fra
.me
.REG
[11] = BOX_NativeString("");
1577 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB1
);
1578 once_value_19
= fra
.me
.REG
[11];
1579 register_static_object(&once_value_19
);
1580 } else fra
.me
.REG
[11] = once_value_19
;
1581 fra
.me
.REG
[11] = fra
.me
.REG
[11];
1582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[11]);
1583 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1584 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1585 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1586 fra
.me
.REG
[7] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[9], fra
.me
.REG
[7]);
1587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1588 if (!once_value_20
) {
1589 fra
.me
.REG
[7] = BOX_NativeString(";\n");
1591 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
1592 once_value_20
= fra
.me
.REG
[7];
1593 register_static_object(&once_value_20
);
1594 } else fra
.me
.REG
[7] = once_value_20
;
1595 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
1597 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1598 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
1599 /* ./native_interface//frontier.nit:201 */
1600 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[9]);
1601 /* ./../lib/standard//collection//array.nit:274 */
1603 /* ./../lib/standard//kernel.nit:235 */
1604 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1605 /* ./../lib/standard//collection//array.nit:274 */
1608 /* ./../lib/standard//collection//array.nit:272 */
1613 /* ./native_interface//frontier.nit:205 */
1614 fra
.me
.REG
[6] = NIT_NULL
;
1615 /* ./native_interface//frontier.nit:207 */
1616 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1617 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1618 if (UNTAG_Bool(REGB0
)) {
1619 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 207);
1621 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1622 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1623 if (UNTAG_Bool(REGB0
)) {
1625 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1626 if (UNTAG_Bool(REGB1
)) {
1627 REGB1
= TAG_Bool(false);
1630 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
1634 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1635 if (UNTAG_Bool(REGB0
)) {
1636 /* ./native_interface//frontier.nit:208 */
1637 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1638 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1639 if (UNTAG_Bool(REGB0
)) {
1640 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 208);
1642 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1643 fra
.me
.REG
[6] = fra
.me
.REG
[5];
1645 /* ./native_interface//frontier.nit:209 */
1646 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1647 if (UNTAG_Bool(REGB0
)) {
1648 /* ./native_interface//frontier.nit:210 */
1649 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1650 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1651 fra
.me
.REG
[6] = fra
.me
.REG
[5];
1654 /* ./native_interface//frontier.nit:213 */
1655 fra
.me
.REG
[5] = NEW_Buffer_standard___string___Buffer___init();
1656 /* ./native_interface//frontier.nit:214 */
1657 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1658 if (UNTAG_Bool(REGB0
)) {
1660 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1661 if (UNTAG_Bool(REGB1
)) {
1662 REGB1
= TAG_Bool(false);
1665 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
1669 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1670 if (UNTAG_Bool(REGB0
)) {
1671 /* ./native_interface//frontier.nit:215 */
1672 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1674 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1675 if (!once_value_22
) {
1676 fra
.me
.REG
[10] = BOX_NativeString("");
1678 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
1679 once_value_22
= fra
.me
.REG
[10];
1680 register_static_object(&once_value_22
);
1681 } else fra
.me
.REG
[10] = once_value_22
;
1682 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1684 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1685 if (UNTAG_Bool(REGB0
)) {
1686 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 215);
1688 fra
.me
.REG
[10] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1690 if (!once_value_23
) {
1691 fra
.me
.REG
[10] = BOX_NativeString(" return___nitni;\n");
1692 REGB0
= TAG_Int(17);
1693 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
1694 once_value_23
= fra
.me
.REG
[10];
1695 register_static_object(&once_value_23
);
1696 } else fra
.me
.REG
[10] = once_value_23
;
1697 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
1699 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1700 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1701 /* ./native_interface//frontier.nit:216 */
1702 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1703 if (!once_value_24
) {
1704 fra
.me
.REG
[9] = BOX_NativeString("val_t return___nit;\n");
1705 REGB0
= TAG_Int(20);
1706 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1707 once_value_24
= fra
.me
.REG
[9];
1708 register_static_object(&once_value_24
);
1709 } else fra
.me
.REG
[9] = once_value_24
;
1710 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1711 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
1712 /* ./native_interface//frontier.nit:217 */
1713 if (!once_value_25
) {
1714 fra
.me
.REG
[9] = BOX_NativeString("return___nitni = ");
1715 REGB0
= TAG_Int(17);
1716 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
1717 once_value_25
= fra
.me
.REG
[9];
1718 register_static_object(&once_value_25
);
1719 } else fra
.me
.REG
[9] = once_value_25
;
1720 fra
.me
.REG
[9] = fra
.me
.REG
[9];
1721 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[9]);
1723 /* ./native_interface//frontier.nit:220 */
1725 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1726 if (!once_value_26
) {
1727 fra
.me
.REG
[8] = BOX_NativeString("");
1729 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
1730 once_value_26
= fra
.me
.REG
[8];
1731 register_static_object(&once_value_26
);
1732 } else fra
.me
.REG
[8] = once_value_26
;
1733 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
1735 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMMethod___extern_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1736 REGB0
= TAG_Bool((fra
.me
.REG
[2]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[2], COLOR_standard___string___String
, ID_standard___string___String
)) /*cast String*/;
1737 if (UNTAG_Bool(REGB0
)) {
1739 nit_abort("Cast failed", NULL
, LOCATE_native_interface___frontier
, 220);
1741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[2]);
1742 if (!once_value_27
) {
1743 fra
.me
.REG
[2] = BOX_NativeString("( ");
1745 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1746 once_value_27
= fra
.me
.REG
[2];
1747 register_static_object(&once_value_27
);
1748 } else fra
.me
.REG
[2] = once_value_27
;
1749 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[2]);
1751 if (!once_value_28
) {
1752 fra
.me
.REG
[2] = BOX_NativeString(", ");
1754 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1755 once_value_28
= fra
.me
.REG
[2];
1756 register_static_object(&once_value_28
);
1757 } else fra
.me
.REG
[2] = once_value_28
;
1758 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1759 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1760 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[2]);
1761 if (!once_value_29
) {
1762 fra
.me
.REG
[2] = BOX_NativeString(" );\n");
1764 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1765 once_value_29
= fra
.me
.REG
[2];
1766 register_static_object(&once_value_29
);
1767 } else fra
.me
.REG
[2] = once_value_29
;
1768 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[2]);
1770 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1771 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[9]);
1772 /* ./native_interface//frontier.nit:222 */
1773 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1774 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1775 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[5]);
1776 /* ./native_interface//frontier.nit:225 */
1777 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1778 if (UNTAG_Bool(REGB0
)) {
1780 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1781 if (UNTAG_Bool(REGB1
)) {
1782 REGB1
= TAG_Bool(false);
1785 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
1789 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1790 if (UNTAG_Bool(REGB0
)) {
1791 /* ./native_interface//frontier.nit:226 */
1792 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1794 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1795 if (!once_value_30
) {
1796 fra
.me
.REG
[2] = BOX_NativeString("");
1798 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1799 once_value_30
= fra
.me
.REG
[2];
1800 register_static_object(&once_value_30
);
1801 } else fra
.me
.REG
[2] = once_value_30
;
1802 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1803 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[2]);
1804 if (!once_value_31
) {
1805 fra
.me
.REG
[2] = BOX_NativeString("return___nit");
1806 REGB0
= TAG_Int(12);
1807 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1808 once_value_31
= fra
.me
.REG
[2];
1809 register_static_object(&once_value_31
);
1810 } else fra
.me
.REG
[2] = once_value_31
;
1811 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1812 if (!once_value_32
) {
1813 fra
.me
.REG
[3] = BOX_NativeString("return___nitni");
1814 REGB0
= TAG_Int(14);
1815 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1816 once_value_32
= fra
.me
.REG
[3];
1817 register_static_object(&once_value_32
);
1818 } else fra
.me
.REG
[3] = once_value_32
;
1819 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1820 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1821 if (UNTAG_Bool(REGB0
)) {
1822 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 226);
1824 fra
.me
.REG
[3] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2], fra
.me
.REG
[3]);
1825 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[3]);
1826 if (!once_value_33
) {
1827 fra
.me
.REG
[3] = BOX_NativeString(";\n");
1829 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1830 once_value_33
= fra
.me
.REG
[3];
1831 register_static_object(&once_value_33
);
1832 } else fra
.me
.REG
[3] = once_value_33
;
1833 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[3]);
1835 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1836 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[9]);
1837 /* ./native_interface//frontier.nit:227 */
1838 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1839 if (!once_value_34
) {
1840 fra
.me
.REG
[5] = BOX_NativeString("return return___nit;\n");
1841 REGB0
= TAG_Int(21);
1842 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
1843 once_value_34
= fra
.me
.REG
[5];
1844 register_static_object(&once_value_34
);
1845 } else fra
.me
.REG
[5] = once_value_34
;
1846 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1847 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[5]);
1849 /* ./native_interface//frontier.nit:230 */
1850 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1851 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1852 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1853 stack_frame_head
= fra
.me
.prev
;
1856 void native_interface___frontier___MMLocalClass___compile_defaut_extern_type(val_t p0
, val_t p1
){
1857 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1860 static val_t once_value_1
; /* Once value */
1861 static val_t once_value_2
; /* Once value */
1862 static val_t once_value_3
; /* Once value */
1863 static val_t once_value_4
; /* Once value */
1864 static val_t once_value_5
; /* Once value */
1865 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1866 fra
.me
.file
= LOCATE_native_interface___frontier
;
1868 fra
.me
.meth
= LOCATE_native_interface___frontier___MMLocalClass___compile_defaut_extern_type
;
1869 fra
.me
.has_broke
= 0;
1870 fra
.me
.REG_size
= 5;
1871 fra
.me
.REG
[0] = NIT_NULL
;
1872 fra
.me
.REG
[1] = NIT_NULL
;
1873 fra
.me
.REG
[2] = NIT_NULL
;
1874 fra
.me
.REG
[3] = NIT_NULL
;
1875 fra
.me
.REG
[4] = NIT_NULL
;
1878 /* ./native_interface//frontier.nit:240 */
1879 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1881 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1882 if (!once_value_1
) {
1883 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
1885 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1886 once_value_1
= fra
.me
.REG
[4];
1887 register_static_object(&once_value_1
);
1888 } else fra
.me
.REG
[4] = once_value_1
;
1889 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1890 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1891 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1892 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1893 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1894 if (!once_value_2
) {
1895 fra
.me
.REG
[4] = BOX_NativeString("\n");
1897 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1898 once_value_2
= fra
.me
.REG
[4];
1899 register_static_object(&once_value_2
);
1900 } else fra
.me
.REG
[4] = once_value_2
;
1901 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1903 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1904 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1905 /* ./native_interface//frontier.nit:241 */
1906 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1908 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1909 if (!once_value_3
) {
1910 fra
.me
.REG
[4] = BOX_NativeString("\ttypedef void* ");
1911 REGB0
= TAG_Int(15);
1912 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1913 once_value_3
= fra
.me
.REG
[4];
1914 register_static_object(&once_value_3
);
1915 } else fra
.me
.REG
[4] = once_value_3
;
1916 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1918 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1919 fra
.me
.REG
[0] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1920 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1921 if (!once_value_4
) {
1922 fra
.me
.REG
[0] = BOX_NativeString(";\n");
1924 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1925 once_value_4
= fra
.me
.REG
[0];
1926 register_static_object(&once_value_4
);
1927 } else fra
.me
.REG
[0] = once_value_4
;
1928 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1930 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1931 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
1932 /* ./native_interface//frontier.nit:242 */
1933 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1934 if (!once_value_5
) {
1935 fra
.me
.REG
[2] = BOX_NativeString("#endif\n\n");
1937 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1938 once_value_5
= fra
.me
.REG
[2];
1939 register_static_object(&once_value_5
);
1940 } else fra
.me
.REG
[2] = once_value_5
;
1941 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1942 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1943 stack_frame_head
= fra
.me
.prev
;
1946 void native_interface___frontier___MMSignature___compile_frontier(val_t p0
, val_t p1
){
1947 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1952 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1953 fra
.me
.file
= LOCATE_native_interface___frontier
;
1955 fra
.me
.meth
= LOCATE_native_interface___frontier___MMSignature___compile_frontier
;
1956 fra
.me
.has_broke
= 0;
1957 fra
.me
.REG_size
= 6;
1958 fra
.me
.REG
[0] = NIT_NULL
;
1959 fra
.me
.REG
[1] = NIT_NULL
;
1960 fra
.me
.REG
[2] = NIT_NULL
;
1961 fra
.me
.REG
[3] = NIT_NULL
;
1962 fra
.me
.REG
[4] = NIT_NULL
;
1963 fra
.me
.REG
[5] = NIT_NULL
;
1966 /* ./native_interface//frontier.nit:250 */
1967 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1968 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1970 /* ./native_interface//frontier.nit:253 */
1971 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1972 /* ./../lib/standard//collection//array.nit:269 */
1974 /* ./../lib/standard//collection//array.nit:270 */
1975 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1976 if (UNTAG_Bool(REGB1
)) {
1978 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1980 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1981 /* ./../lib/standard//collection//array.nit:271 */
1982 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1983 /* ./../lib/standard//collection//array.nit:272 */
1985 /* ./../lib/standard//collection//array.nit:24 */
1986 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1987 if (UNTAG_Bool(REGB1
)) {
1989 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1991 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1992 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1993 if (UNTAG_Bool(REGB2
)) {
1995 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1997 /* ./../lib/standard//kernel.nit:232 */
1998 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1999 /* ./../lib/standard//collection//array.nit:272 */
2000 if (UNTAG_Bool(REGB1
)) {
2001 /* ./../lib/standard//collection//array.nit:273 */
2002 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2003 if (UNTAG_Bool(REGB1
)) {
2004 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2006 /* ./../lib/standard//collection//array.nit:718 */
2007 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2008 /* ./native_interface//frontier.nit:253 */
2009 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2010 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
2012 /* ./../lib/standard//collection//array.nit:274 */
2014 /* ./../lib/standard//kernel.nit:235 */
2015 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2016 /* ./../lib/standard//collection//array.nit:274 */
2019 /* ./../lib/standard//collection//array.nit:272 */
2024 /* ./native_interface//frontier.nit:256 */
2025 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2026 /* ./native_interface//frontier.nit:257 */
2027 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2028 if (UNTAG_Bool(REGB0
)) {
2030 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2031 if (UNTAG_Bool(REGB1
)) {
2032 REGB1
= TAG_Bool(false);
2035 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2039 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2040 if (UNTAG_Bool(REGB0
)) {
2041 /* ./native_interface//frontier.nit:258 */
2042 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2043 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2045 stack_frame_head
= fra
.me
.prev
;
2048 val_t
native_interface___frontier___FrontierVisitor___header_top(val_t p0
){
2049 struct {struct stack_frame_t me
;} fra
;
2052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2053 fra
.me
.file
= LOCATE_native_interface___frontier
;
2055 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header_top
;
2056 fra
.me
.has_broke
= 0;
2057 fra
.me
.REG_size
= 1;
2058 fra
.me
.REG
[0] = NIT_NULL
;
2060 /* ./native_interface//frontier.nit:266 */
2061 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0])!=NIT_NULL
);
2062 if (UNTAG_Bool(REGB0
)) {
2064 nit_abort("Uninitialized attribute %s", "@header_top", LOCATE_native_interface___frontier
, 266);
2066 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0]);
2067 stack_frame_head
= fra
.me
.prev
;
2068 return fra
.me
.REG
[0];
2070 void native_interface___frontier___FrontierVisitor___header_top__eq(val_t p0
, val_t p1
){
2071 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2073 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2074 fra
.me
.file
= LOCATE_native_interface___frontier
;
2076 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header_top__eq
;
2077 fra
.me
.has_broke
= 0;
2078 fra
.me
.REG_size
= 2;
2079 fra
.me
.REG
[0] = NIT_NULL
;
2080 fra
.me
.REG
[1] = NIT_NULL
;
2083 /* ./native_interface//frontier.nit:266 */
2084 ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2085 stack_frame_head
= fra
.me
.prev
;
2088 val_t
native_interface___frontier___FrontierVisitor___header(val_t p0
){
2089 struct {struct stack_frame_t me
;} fra
;
2092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2093 fra
.me
.file
= LOCATE_native_interface___frontier
;
2095 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header
;
2096 fra
.me
.has_broke
= 0;
2097 fra
.me
.REG_size
= 1;
2098 fra
.me
.REG
[0] = NIT_NULL
;
2100 /* ./native_interface//frontier.nit:269 */
2101 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0])!=NIT_NULL
);
2102 if (UNTAG_Bool(REGB0
)) {
2104 nit_abort("Uninitialized attribute %s", "@header", LOCATE_native_interface___frontier
, 269);
2106 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0]);
2107 stack_frame_head
= fra
.me
.prev
;
2108 return fra
.me
.REG
[0];
2110 void native_interface___frontier___FrontierVisitor___header__eq(val_t p0
, val_t p1
){
2111 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2113 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2114 fra
.me
.file
= LOCATE_native_interface___frontier
;
2116 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___header__eq
;
2117 fra
.me
.has_broke
= 0;
2118 fra
.me
.REG_size
= 2;
2119 fra
.me
.REG
[0] = NIT_NULL
;
2120 fra
.me
.REG
[1] = NIT_NULL
;
2123 /* ./native_interface//frontier.nit:269 */
2124 ATTR_native_interface___frontier___FrontierVisitor_____atheader(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2125 stack_frame_head
= fra
.me
.prev
;
2128 val_t
native_interface___frontier___FrontierVisitor___body(val_t p0
){
2129 struct {struct stack_frame_t me
;} fra
;
2132 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2133 fra
.me
.file
= LOCATE_native_interface___frontier
;
2135 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___body
;
2136 fra
.me
.has_broke
= 0;
2137 fra
.me
.REG_size
= 1;
2138 fra
.me
.REG
[0] = NIT_NULL
;
2140 /* ./native_interface//frontier.nit:272 */
2141 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0])!=NIT_NULL
);
2142 if (UNTAG_Bool(REGB0
)) {
2144 nit_abort("Uninitialized attribute %s", "@body", LOCATE_native_interface___frontier
, 272);
2146 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0]);
2147 stack_frame_head
= fra
.me
.prev
;
2148 return fra
.me
.REG
[0];
2150 void native_interface___frontier___FrontierVisitor___body__eq(val_t p0
, val_t p1
){
2151 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2153 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2154 fra
.me
.file
= LOCATE_native_interface___frontier
;
2156 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___body__eq
;
2157 fra
.me
.has_broke
= 0;
2158 fra
.me
.REG_size
= 2;
2159 fra
.me
.REG
[0] = NIT_NULL
;
2160 fra
.me
.REG
[1] = NIT_NULL
;
2163 /* ./native_interface//frontier.nit:272 */
2164 ATTR_native_interface___frontier___FrontierVisitor_____atbody(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2165 stack_frame_head
= fra
.me
.prev
;
2168 val_t
native_interface___frontier___FrontierVisitor___friendlys(val_t p0
){
2169 struct {struct stack_frame_t me
;} fra
;
2172 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2173 fra
.me
.file
= LOCATE_native_interface___frontier
;
2175 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___friendlys
;
2176 fra
.me
.has_broke
= 0;
2177 fra
.me
.REG_size
= 1;
2178 fra
.me
.REG
[0] = NIT_NULL
;
2180 /* ./native_interface//frontier.nit:275 */
2181 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0])!=NIT_NULL
);
2182 if (UNTAG_Bool(REGB0
)) {
2184 nit_abort("Uninitialized attribute %s", "@friendlys", LOCATE_native_interface___frontier
, 275);
2186 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0]);
2187 stack_frame_head
= fra
.me
.prev
;
2188 return fra
.me
.REG
[0];
2190 void native_interface___frontier___FrontierVisitor___friendlys__eq(val_t p0
, val_t p1
){
2191 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2193 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2194 fra
.me
.file
= LOCATE_native_interface___frontier
;
2196 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___friendlys__eq
;
2197 fra
.me
.has_broke
= 0;
2198 fra
.me
.REG_size
= 2;
2199 fra
.me
.REG
[0] = NIT_NULL
;
2200 fra
.me
.REG
[1] = NIT_NULL
;
2203 /* ./native_interface//frontier.nit:275 */
2204 ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2205 stack_frame_head
= fra
.me
.prev
;
2208 val_t
native_interface___frontier___FrontierVisitor___types(val_t p0
){
2209 struct {struct stack_frame_t me
;} fra
;
2212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2213 fra
.me
.file
= LOCATE_native_interface___frontier
;
2215 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___types
;
2216 fra
.me
.has_broke
= 0;
2217 fra
.me
.REG_size
= 1;
2218 fra
.me
.REG
[0] = NIT_NULL
;
2220 /* ./native_interface//frontier.nit:278 */
2221 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0])!=NIT_NULL
);
2222 if (UNTAG_Bool(REGB0
)) {
2224 nit_abort("Uninitialized attribute %s", "@types", LOCATE_native_interface___frontier
, 278);
2226 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0]);
2227 stack_frame_head
= fra
.me
.prev
;
2228 return fra
.me
.REG
[0];
2230 void native_interface___frontier___FrontierVisitor___types__eq(val_t p0
, val_t p1
){
2231 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2233 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2234 fra
.me
.file
= LOCATE_native_interface___frontier
;
2236 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___types__eq
;
2237 fra
.me
.has_broke
= 0;
2238 fra
.me
.REG_size
= 2;
2239 fra
.me
.REG
[0] = NIT_NULL
;
2240 fra
.me
.REG
[1] = NIT_NULL
;
2243 /* ./native_interface//frontier.nit:278 */
2244 ATTR_native_interface___frontier___FrontierVisitor_____attypes(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2245 stack_frame_head
= fra
.me
.prev
;
2248 val_t
native_interface___frontier___FrontierVisitor___casts(val_t p0
){
2249 struct {struct stack_frame_t me
;} fra
;
2252 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2253 fra
.me
.file
= LOCATE_native_interface___frontier
;
2255 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___casts
;
2256 fra
.me
.has_broke
= 0;
2257 fra
.me
.REG_size
= 1;
2258 fra
.me
.REG
[0] = NIT_NULL
;
2260 /* ./native_interface//frontier.nit:281 */
2261 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0])!=NIT_NULL
);
2262 if (UNTAG_Bool(REGB0
)) {
2264 nit_abort("Uninitialized attribute %s", "@casts", LOCATE_native_interface___frontier
, 281);
2266 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0]);
2267 stack_frame_head
= fra
.me
.prev
;
2268 return fra
.me
.REG
[0];
2270 void native_interface___frontier___FrontierVisitor___casts__eq(val_t p0
, val_t p1
){
2271 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2273 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2274 fra
.me
.file
= LOCATE_native_interface___frontier
;
2276 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___casts__eq
;
2277 fra
.me
.has_broke
= 0;
2278 fra
.me
.REG_size
= 2;
2279 fra
.me
.REG
[0] = NIT_NULL
;
2280 fra
.me
.REG
[1] = NIT_NULL
;
2283 /* ./native_interface//frontier.nit:281 */
2284 ATTR_native_interface___frontier___FrontierVisitor_____atcasts(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2285 stack_frame_head
= fra
.me
.prev
;
2288 val_t
native_interface___frontier___FrontierVisitor___mmmodule(val_t p0
){
2289 struct {struct stack_frame_t me
;} fra
;
2292 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2293 fra
.me
.file
= LOCATE_native_interface___frontier
;
2295 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___mmmodule
;
2296 fra
.me
.has_broke
= 0;
2297 fra
.me
.REG_size
= 1;
2298 fra
.me
.REG
[0] = NIT_NULL
;
2300 /* ./native_interface//frontier.nit:284 */
2301 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
2302 if (UNTAG_Bool(REGB0
)) {
2304 nit_abort("Uninitialized attribute %s", "@mmmodule", LOCATE_native_interface___frontier
, 284);
2306 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]);
2307 stack_frame_head
= fra
.me
.prev
;
2308 return fra
.me
.REG
[0];
2310 void native_interface___frontier___FrontierVisitor___mmmodule__eq(val_t p0
, val_t p1
){
2311 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2313 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2314 fra
.me
.file
= LOCATE_native_interface___frontier
;
2316 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___mmmodule__eq
;
2317 fra
.me
.has_broke
= 0;
2318 fra
.me
.REG_size
= 2;
2319 fra
.me
.REG
[0] = NIT_NULL
;
2320 fra
.me
.REG
[1] = NIT_NULL
;
2323 /* ./native_interface//frontier.nit:284 */
2324 ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2325 stack_frame_head
= fra
.me
.prev
;
2328 val_t
native_interface___frontier___FrontierVisitor___cprogram(val_t p0
){
2329 struct {struct stack_frame_t me
;} fra
;
2332 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2333 fra
.me
.file
= LOCATE_native_interface___frontier
;
2335 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___cprogram
;
2336 fra
.me
.has_broke
= 0;
2337 fra
.me
.REG_size
= 1;
2338 fra
.me
.REG
[0] = NIT_NULL
;
2340 /* ./native_interface//frontier.nit:286 */
2341 REGB0
= TAG_Bool(ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0])!=NIT_NULL
);
2342 if (UNTAG_Bool(REGB0
)) {
2344 nit_abort("Uninitialized attribute %s", "@cprogram", LOCATE_native_interface___frontier
, 286);
2346 fra
.me
.REG
[0] = ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0]);
2347 stack_frame_head
= fra
.me
.prev
;
2348 return fra
.me
.REG
[0];
2350 void native_interface___frontier___FrontierVisitor___cprogram__eq(val_t p0
, val_t p1
){
2351 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2353 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2354 fra
.me
.file
= LOCATE_native_interface___frontier
;
2356 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___cprogram__eq
;
2357 fra
.me
.has_broke
= 0;
2358 fra
.me
.REG_size
= 2;
2359 fra
.me
.REG
[0] = NIT_NULL
;
2360 fra
.me
.REG
[1] = NIT_NULL
;
2363 /* ./native_interface//frontier.nit:286 */
2364 ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2365 stack_frame_head
= fra
.me
.prev
;
2368 void native_interface___frontier___FrontierVisitor___compile_cached(val_t p0
){
2369 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2371 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2372 fra
.me
.file
= LOCATE_native_interface___frontier
;
2374 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2375 fra
.me
.has_broke
= 0;
2376 fra
.me
.REG_size
= 2;
2377 fra
.me
.REG
[0] = NIT_NULL
;
2378 fra
.me
.REG
[1] = NIT_NULL
;
2380 /* ./native_interface//frontier.nit:291 */
2381 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2382 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___FrontierVisitor___compile_cached_1
));
2383 /* ./native_interface//frontier.nit:294 */
2384 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___friendlys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2385 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___FrontierVisitor___compile_cached_2
));
2386 /* ./native_interface//frontier.nit:297 */
2387 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___casts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2388 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_native_interface___frontier___FrontierVisitor___compile_cached_3
));
2389 stack_frame_head
= fra
.me
.prev
;
2392 void OC_native_interface___frontier___FrontierVisitor___compile_cached_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2393 struct {struct stack_frame_t me
;} fra
;
2396 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2397 fra
.me
.file
= LOCATE_native_interface___frontier
;
2399 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2400 fra
.me
.has_broke
= 0;
2401 fra
.me
.REG_size
= 1;
2402 fra
.me
.REG
[0] = NIT_NULL
;
2403 fra
.me
.closure_ctx
= closctx_param
;
2404 fra
.me
.closure_funs
= CREG
;
2406 CREG
[0] = clos_fun0
;
2407 CALL_native_interface___frontier___MMType___compile_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2408 stack_frame_head
= fra
.me
.prev
;
2411 void OC_native_interface___frontier___FrontierVisitor___compile_cached_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2412 struct {struct stack_frame_t me
;} fra
;
2415 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2416 fra
.me
.file
= LOCATE_native_interface___frontier
;
2418 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2419 fra
.me
.has_broke
= 0;
2420 fra
.me
.REG_size
= 1;
2421 fra
.me
.REG
[0] = NIT_NULL
;
2422 fra
.me
.closure_ctx
= closctx_param
;
2423 fra
.me
.closure_funs
= CREG
;
2425 CREG
[0] = clos_fun0
;
2426 CALL_native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2427 stack_frame_head
= fra
.me
.prev
;
2430 void OC_native_interface___frontier___FrontierVisitor___compile_cached_3(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2431 struct {struct stack_frame_t me
;} fra
;
2434 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2435 fra
.me
.file
= LOCATE_native_interface___frontier
;
2437 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___compile_cached
;
2438 fra
.me
.has_broke
= 0;
2439 fra
.me
.REG_size
= 1;
2440 fra
.me
.REG
[0] = NIT_NULL
;
2441 fra
.me
.closure_ctx
= closctx_param
;
2442 fra
.me
.closure_funs
= CREG
;
2444 CREG
[0] = clos_fun0
;
2445 CALL_native_interface___frontier___MMImportedCast___compile_to_frontier(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
2446 stack_frame_head
= fra
.me
.prev
;
2449 void native_interface___frontier___FrontierVisitor___write_to_files(val_t p0
, val_t p1
){
2450 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2453 static val_t once_value_1
; /* Once value */
2454 static val_t once_value_2
; /* Once value */
2455 static val_t once_value_3
; /* Once value */
2456 static val_t once_value_4
; /* Once value */
2457 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2458 fra
.me
.file
= LOCATE_native_interface___frontier
;
2460 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___write_to_files
;
2461 fra
.me
.has_broke
= 0;
2462 fra
.me
.REG_size
= 6;
2463 fra
.me
.REG
[0] = NIT_NULL
;
2464 fra
.me
.REG
[1] = NIT_NULL
;
2465 fra
.me
.REG
[2] = NIT_NULL
;
2466 fra
.me
.REG
[3] = NIT_NULL
;
2467 fra
.me
.REG
[4] = NIT_NULL
;
2468 fra
.me
.REG
[5] = NIT_NULL
;
2471 /* ./native_interface//frontier.nit:302 */
2473 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2474 if (!once_value_1
) {
2475 fra
.me
.REG
[3] = BOX_NativeString("");
2477 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2478 once_value_1
= fra
.me
.REG
[3];
2479 register_static_object(&once_value_1
);
2480 } else fra
.me
.REG
[3] = once_value_1
;
2481 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2483 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2484 if (!once_value_2
) {
2485 fra
.me
.REG
[3] = BOX_NativeString("._nitni.h");
2487 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2488 once_value_2
= fra
.me
.REG
[3];
2489 register_static_object(&once_value_2
);
2490 } else fra
.me
.REG
[3] = once_value_2
;
2491 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2493 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2494 /* ./native_interface//frontier.nit:303 */
2495 fra
.me
.REG
[3] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[2]);
2496 /* ./native_interface//frontier.nit:304 */
2497 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2498 CALL_compiling___compiling_writer___Writer___write_to_stream(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2499 /* ./native_interface//frontier.nit:305 */
2500 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2501 CALL_compiling___compiling_writer___Writer___write_to_stream(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
2502 /* ./native_interface//frontier.nit:306 */
2503 CALL_standard___stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2504 /* ./native_interface//frontier.nit:308 */
2506 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2507 if (!once_value_3
) {
2508 fra
.me
.REG
[5] = BOX_NativeString("");
2510 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
2511 once_value_3
= fra
.me
.REG
[5];
2512 register_static_object(&once_value_3
);
2513 } else fra
.me
.REG
[5] = once_value_3
;
2514 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2517 if (!once_value_4
) {
2518 fra
.me
.REG
[1] = BOX_NativeString("._nitni.c");
2520 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2521 once_value_4
= fra
.me
.REG
[1];
2522 register_static_object(&once_value_4
);
2523 } else fra
.me
.REG
[1] = once_value_4
;
2524 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2525 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2526 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2527 fra
.me
.REG
[2] = fra
.me
.REG
[4];
2528 /* ./native_interface//frontier.nit:309 */
2529 fra
.me
.REG
[2] = NEW_OFStream_standard___file___OFStream___open(fra
.me
.REG
[2]);
2530 fra
.me
.REG
[3] = fra
.me
.REG
[2];
2531 /* ./native_interface//frontier.nit:310 */
2532 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2533 CALL_compiling___compiling_writer___Writer___write_to_stream(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2534 /* ./native_interface//frontier.nit:311 */
2535 CALL_standard___stream___IOS___close(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2536 stack_frame_head
= fra
.me
.prev
;
2539 void native_interface___frontier___FrontierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2540 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_native_interface___frontier___FrontierVisitor
].i
;
2541 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2543 if (init_table
[itpos0
]) return;
2544 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2545 fra
.me
.file
= LOCATE_native_interface___frontier
;
2547 fra
.me
.meth
= LOCATE_native_interface___frontier___FrontierVisitor___init
;
2548 fra
.me
.has_broke
= 0;
2549 fra
.me
.REG_size
= 3;
2550 fra
.me
.REG
[0] = NIT_NULL
;
2551 fra
.me
.REG
[1] = NIT_NULL
;
2552 fra
.me
.REG
[2] = NIT_NULL
;
2556 ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2557 ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
2558 stack_frame_head
= fra
.me
.prev
;
2559 init_table
[itpos0
] = 1;
2562 val_t
native_interface___frontier___String___path_from_parent(val_t p0
){
2563 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2568 static val_t once_value_2
; /* Once value */
2569 static val_t once_value_3
; /* Once value */
2570 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2571 fra
.me
.file
= LOCATE_native_interface___frontier
;
2573 fra
.me
.meth
= LOCATE_native_interface___frontier___String___path_from_parent
;
2574 fra
.me
.has_broke
= 0;
2575 fra
.me
.REG_size
= 4;
2576 fra
.me
.REG
[0] = NIT_NULL
;
2577 fra
.me
.REG
[1] = NIT_NULL
;
2578 fra
.me
.REG
[2] = NIT_NULL
;
2579 fra
.me
.REG
[3] = NIT_NULL
;
2581 /* ./native_interface//frontier.nit:320 */
2583 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2584 REGB1
= TAG_Char('/');
2585 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2586 if (UNTAG_Bool(REGB2
)) {
2588 /* ./../lib/standard//kernel.nit:378 */
2589 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2590 /* ./native_interface//frontier.nit:320 */
2593 if (UNTAG_Bool(REGB2
)) {
2594 /* ./native_interface//frontier.nit:322 */
2595 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2598 /* ./native_interface//frontier.nit:324 */
2600 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
2601 if (!once_value_2
) {
2602 fra
.me
.REG
[3] = BOX_NativeString("../");
2604 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
2605 once_value_2
= fra
.me
.REG
[3];
2606 register_static_object(&once_value_2
);
2607 } else fra
.me
.REG
[3] = once_value_2
;
2608 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2609 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2611 if (!once_value_3
) {
2612 fra
.me
.REG
[0] = BOX_NativeString("");
2614 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
2615 once_value_3
= fra
.me
.REG
[0];
2616 register_static_object(&once_value_3
);
2617 } else fra
.me
.REG
[0] = once_value_3
;
2618 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2620 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2621 fra
.me
.REG
[1] = fra
.me
.REG
[2];
2625 stack_frame_head
= fra
.me
.prev
;
2626 return fra
.me
.REG
[1];
2628 void native_interface___frontier___MMImportedCast___compile_to_frontier(val_t p0
, val_t p1
){
2629 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2633 static val_t once_value_1
; /* Once value */
2634 static val_t once_value_2
; /* Once value */
2635 static val_t once_value_3
; /* Once value */
2636 static val_t once_value_4
; /* Once value */
2637 static val_t once_value_5
; /* Once value */
2638 static val_t once_value_6
; /* Once value */
2639 static val_t once_value_7
; /* Once value */
2640 static val_t once_value_8
; /* Once value */
2641 static val_t once_value_9
; /* Once value */
2642 static val_t once_value_10
; /* Once value */
2643 static val_t once_value_11
; /* Once value */
2644 static val_t once_value_12
; /* Once value */
2645 static val_t once_value_13
; /* Once value */
2646 static val_t once_value_14
; /* Once value */
2647 static val_t once_value_15
; /* Once value */
2648 static val_t once_value_16
; /* Once value */
2649 static val_t once_value_17
; /* Once value */
2650 static val_t once_value_18
; /* Once value */
2651 static val_t once_value_19
; /* Once value */
2652 static val_t once_value_20
; /* Once value */
2653 static val_t once_value_21
; /* Once value */
2654 static val_t once_value_22
; /* Once value */
2655 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2656 fra
.me
.file
= LOCATE_native_interface___frontier
;
2658 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_to_frontier
;
2659 fra
.me
.has_broke
= 0;
2660 fra
.me
.REG_size
= 5;
2661 fra
.me
.REG
[0] = NIT_NULL
;
2662 fra
.me
.REG
[1] = NIT_NULL
;
2663 fra
.me
.REG
[2] = NIT_NULL
;
2664 fra
.me
.REG
[3] = NIT_NULL
;
2665 fra
.me
.REG
[4] = NIT_NULL
;
2668 /* ./native_interface//frontier.nit:335 */
2669 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2670 if (UNTAG_Bool(REGB0
)) {
2671 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_not_null_to_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2673 REGB1
= TAG_Bool(false);
2676 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2677 if (UNTAG_Bool(REGB0
)) {
2678 /* ./native_interface//frontier.nit:336 */
2679 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2681 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2682 if (!once_value_1
) {
2683 fra
.me
.REG
[4] = BOX_NativeString("\n/* Type check for ");
2684 REGB0
= TAG_Int(19);
2685 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2686 once_value_1
= fra
.me
.REG
[4];
2687 register_static_object(&once_value_1
);
2688 } else fra
.me
.REG
[4] = once_value_1
;
2689 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2691 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2692 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2693 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2694 if (!once_value_2
) {
2695 fra
.me
.REG
[4] = BOX_NativeString(" with ");
2697 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2698 once_value_2
= fra
.me
.REG
[4];
2699 register_static_object(&once_value_2
);
2700 } else fra
.me
.REG
[4] = once_value_2
;
2701 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2703 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2704 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2705 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2706 if (!once_value_3
) {
2707 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
2709 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2710 once_value_3
= fra
.me
.REG
[4];
2711 register_static_object(&once_value_3
);
2712 } else fra
.me
.REG
[4] = once_value_3
;
2713 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2715 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2716 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2717 /* ./native_interface//frontier.nit:337 */
2718 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2720 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2721 if (!once_value_4
) {
2722 fra
.me
.REG
[4] = BOX_NativeString("");
2724 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2725 once_value_4
= fra
.me
.REG
[4];
2726 register_static_object(&once_value_4
);
2727 } else fra
.me
.REG
[4] = once_value_4
;
2728 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2730 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2731 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2733 if (!once_value_5
) {
2734 fra
.me
.REG
[4] = BOX_NativeString(";\n");
2736 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2737 once_value_5
= fra
.me
.REG
[4];
2738 register_static_object(&once_value_5
);
2739 } else fra
.me
.REG
[4] = once_value_5
;
2740 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2742 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2743 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2744 /* ./native_interface//frontier.nit:339 */
2745 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2747 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2748 if (!once_value_6
) {
2749 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
2751 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2752 once_value_6
= fra
.me
.REG
[4];
2753 register_static_object(&once_value_6
);
2754 } else fra
.me
.REG
[4] = once_value_6
;
2755 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2757 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2758 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2759 if (!once_value_7
) {
2760 fra
.me
.REG
[4] = BOX_NativeString("\n");
2762 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2763 once_value_7
= fra
.me
.REG
[4];
2764 register_static_object(&once_value_7
);
2765 } else fra
.me
.REG
[4] = once_value_7
;
2766 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2768 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2769 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2770 /* ./native_interface//frontier.nit:340 */
2771 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2773 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2774 if (!once_value_8
) {
2775 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2777 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2778 once_value_8
= fra
.me
.REG
[4];
2779 register_static_object(&once_value_8
);
2780 } else fra
.me
.REG
[4] = once_value_8
;
2781 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2783 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2785 if (!once_value_9
) {
2786 fra
.me
.REG
[4] = BOX_NativeString(" ");
2788 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2789 once_value_9
= fra
.me
.REG
[4];
2790 register_static_object(&once_value_9
);
2791 } else fra
.me
.REG
[4] = once_value_9
;
2792 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2793 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2794 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2795 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_local_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2797 if (!once_value_10
) {
2798 fra
.me
.REG
[4] = BOX_NativeString("\n");
2800 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2801 once_value_10
= fra
.me
.REG
[4];
2802 register_static_object(&once_value_10
);
2803 } else fra
.me
.REG
[4] = once_value_10
;
2804 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2806 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2807 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2808 /* ./native_interface//frontier.nit:341 */
2809 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2810 if (!once_value_11
) {
2811 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
2813 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2814 once_value_11
= fra
.me
.REG
[3];
2815 register_static_object(&once_value_11
);
2816 } else fra
.me
.REG
[3] = once_value_11
;
2817 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2818 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2819 /* ./native_interface//frontier.nit:343 */
2820 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2821 fra
.me
.REG
[3] = CALL_native_interface___frontier___MMImportedCast___compile_is(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2822 /* ./native_interface//frontier.nit:344 */
2823 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2824 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2825 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2827 /* ./native_interface//frontier.nit:348 */
2828 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2830 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2831 if (!once_value_12
) {
2832 fra
.me
.REG
[4] = BOX_NativeString("\n/* Cast for ");
2833 REGB0
= TAG_Int(13);
2834 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2835 once_value_12
= fra
.me
.REG
[4];
2836 register_static_object(&once_value_12
);
2837 } else fra
.me
.REG
[4] = once_value_12
;
2838 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2840 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2841 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2843 if (!once_value_13
) {
2844 fra
.me
.REG
[4] = BOX_NativeString(" to ");
2846 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2847 once_value_13
= fra
.me
.REG
[4];
2848 register_static_object(&once_value_13
);
2849 } else fra
.me
.REG
[4] = once_value_13
;
2850 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2852 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2853 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2854 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2855 if (!once_value_14
) {
2856 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
2858 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2859 once_value_14
= fra
.me
.REG
[4];
2860 register_static_object(&once_value_14
);
2861 } else fra
.me
.REG
[4] = once_value_14
;
2862 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2863 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2864 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2865 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2866 /* ./native_interface//frontier.nit:349 */
2867 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2869 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2870 if (!once_value_15
) {
2871 fra
.me
.REG
[4] = BOX_NativeString("");
2873 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2874 once_value_15
= fra
.me
.REG
[4];
2875 register_static_object(&once_value_15
);
2876 } else fra
.me
.REG
[4] = once_value_15
;
2877 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2878 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2879 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2880 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2882 if (!once_value_16
) {
2883 fra
.me
.REG
[4] = BOX_NativeString(";\n");
2885 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2886 once_value_16
= fra
.me
.REG
[4];
2887 register_static_object(&once_value_16
);
2888 } else fra
.me
.REG
[4] = once_value_16
;
2889 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2890 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2891 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2892 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2893 /* ./native_interface//frontier.nit:351 */
2894 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2896 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2897 if (!once_value_17
) {
2898 fra
.me
.REG
[4] = BOX_NativeString("#ifndef ");
2900 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2901 once_value_17
= fra
.me
.REG
[4];
2902 register_static_object(&once_value_17
);
2903 } else fra
.me
.REG
[4] = once_value_17
;
2904 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2906 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2908 if (!once_value_18
) {
2909 fra
.me
.REG
[4] = BOX_NativeString("\n");
2911 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2912 once_value_18
= fra
.me
.REG
[4];
2913 register_static_object(&once_value_18
);
2914 } else fra
.me
.REG
[4] = once_value_18
;
2915 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2917 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2918 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2919 /* ./native_interface//frontier.nit:352 */
2920 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2922 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2923 if (!once_value_19
) {
2924 fra
.me
.REG
[4] = BOX_NativeString("#define ");
2926 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2927 once_value_19
= fra
.me
.REG
[4];
2928 register_static_object(&once_value_19
);
2929 } else fra
.me
.REG
[4] = once_value_19
;
2930 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2932 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2934 if (!once_value_20
) {
2935 fra
.me
.REG
[4] = BOX_NativeString(" ");
2937 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2938 once_value_20
= fra
.me
.REG
[4];
2939 register_static_object(&once_value_20
);
2940 } else fra
.me
.REG
[4] = once_value_20
;
2941 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2943 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2944 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMImportedCast___as_local_cname(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2945 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2946 if (!once_value_21
) {
2947 fra
.me
.REG
[4] = BOX_NativeString("\n");
2949 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2950 once_value_21
= fra
.me
.REG
[4];
2951 register_static_object(&once_value_21
);
2952 } else fra
.me
.REG
[4] = once_value_21
;
2953 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2955 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2956 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2957 /* ./native_interface//frontier.nit:353 */
2958 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2959 if (!once_value_22
) {
2960 fra
.me
.REG
[2] = BOX_NativeString("#endif\n");
2962 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2963 once_value_22
= fra
.me
.REG
[2];
2964 register_static_object(&once_value_22
);
2965 } else fra
.me
.REG
[2] = once_value_22
;
2966 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2967 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2968 /* ./native_interface//frontier.nit:355 */
2969 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2970 fra
.me
.REG
[2] = CALL_native_interface___frontier___MMImportedCast___compile_as(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2971 /* ./native_interface//frontier.nit:356 */
2972 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2973 fra
.me
.REG
[2] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2974 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2975 stack_frame_head
= fra
.me
.prev
;
2978 val_t
native_interface___frontier___MMImportedCast___compile_as(val_t p0
, val_t p1
){
2979 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2982 static val_t once_value_1
; /* Once value */
2983 static val_t once_value_2
; /* Once value */
2984 static val_t once_value_3
; /* Once value */
2985 static val_t once_value_4
; /* Once value */
2986 static val_t once_value_5
; /* Once value */
2987 static val_t once_value_6
; /* Once value */
2988 static val_t once_value_7
; /* Once value */
2989 static val_t once_value_8
; /* Once value */
2990 static val_t once_value_9
; /* Once value */
2991 static val_t once_value_10
; /* Once value */
2992 static val_t once_value_11
; /* Once value */
2993 static val_t once_value_12
; /* Once value */
2994 static val_t once_value_13
; /* Once value */
2995 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2996 fra
.me
.file
= LOCATE_native_interface___frontier
;
2998 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_as
;
2999 fra
.me
.has_broke
= 0;
3000 fra
.me
.REG_size
= 8;
3001 fra
.me
.REG
[0] = NIT_NULL
;
3002 fra
.me
.REG
[1] = NIT_NULL
;
3003 fra
.me
.REG
[2] = NIT_NULL
;
3004 fra
.me
.REG
[3] = NIT_NULL
;
3005 fra
.me
.REG
[4] = NIT_NULL
;
3006 fra
.me
.REG
[5] = NIT_NULL
;
3007 fra
.me
.REG
[6] = NIT_NULL
;
3008 fra
.me
.REG
[7] = NIT_NULL
;
3011 /* ./native_interface//frontier.nit:363 */
3012 fra
.me
.REG
[1] = CALL_native_interface___ni_metamodel___MMImportedCast___as_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3013 fra
.me
.REG
[1] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[1]);
3014 /* ./native_interface//frontier.nit:365 */
3015 if (!once_value_1
) {
3016 fra
.me
.REG
[2] = BOX_NativeString("out");
3018 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3019 once_value_1
= fra
.me
.REG
[2];
3020 register_static_object(&once_value_1
);
3021 } else fra
.me
.REG
[2] = once_value_1
;
3022 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3023 /* ./native_interface//frontier.nit:366 */
3024 if (!once_value_2
) {
3025 fra
.me
.REG
[3] = BOX_NativeString("temp");
3027 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3028 once_value_2
= fra
.me
.REG
[3];
3029 register_static_object(&once_value_2
);
3030 } else fra
.me
.REG
[3] = once_value_2
;
3031 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3032 /* ./native_interface//frontier.nit:368 */
3033 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3035 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3036 if (!once_value_3
) {
3037 fra
.me
.REG
[6] = BOX_NativeString("val_t ");
3039 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3040 once_value_3
= fra
.me
.REG
[6];
3041 register_static_object(&once_value_3
);
3042 } else fra
.me
.REG
[6] = once_value_3
;
3043 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3045 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3046 if (!once_value_4
) {
3047 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3049 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3050 once_value_4
= fra
.me
.REG
[6];
3051 register_static_object(&once_value_4
);
3052 } else fra
.me
.REG
[6] = once_value_4
;
3053 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3055 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3056 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3057 /* ./native_interface//frontier.nit:369 */
3058 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3060 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3061 if (!once_value_5
) {
3062 fra
.me
.REG
[6] = BOX_NativeString("");
3064 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3065 once_value_5
= fra
.me
.REG
[6];
3066 register_static_object(&once_value_5
);
3067 } else fra
.me
.REG
[6] = once_value_5
;
3068 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3070 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3071 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3072 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3073 if (!once_value_6
) {
3074 fra
.me
.REG
[6] = BOX_NativeString(" ");
3076 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3077 once_value_6
= fra
.me
.REG
[6];
3078 register_static_object(&once_value_6
);
3079 } else fra
.me
.REG
[6] = once_value_6
;
3080 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3083 if (!once_value_7
) {
3084 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3086 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3087 once_value_7
= fra
.me
.REG
[6];
3088 register_static_object(&once_value_7
);
3089 } else fra
.me
.REG
[6] = once_value_7
;
3090 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3092 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3093 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3094 /* ./native_interface//frontier.nit:371 */
3095 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3097 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3098 if (!once_value_8
) {
3099 fra
.me
.REG
[6] = BOX_NativeString("");
3101 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3102 once_value_8
= fra
.me
.REG
[6];
3103 register_static_object(&once_value_8
);
3104 } else fra
.me
.REG
[6] = once_value_8
;
3105 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3107 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3108 fra
.me
.REG
[7] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3109 fra
.me
.REG
[7] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3110 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3111 if (!once_value_9
) {
3112 fra
.me
.REG
[7] = BOX_NativeString(";\n");
3114 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3115 once_value_9
= fra
.me
.REG
[7];
3116 register_static_object(&once_value_9
);
3117 } else fra
.me
.REG
[7] = once_value_9
;
3118 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
3120 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3121 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3122 /* ./native_interface//frontier.nit:374 */
3123 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3124 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3125 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3126 if (UNTAG_Bool(REGB0
)) {
3127 /* ./native_interface//frontier.nit:375 */
3128 CALL_native_interface___frontier___MMImportedCast___compile_check_is_not_null(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
3130 /* ./native_interface//frontier.nit:379 */
3131 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3132 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3133 if (UNTAG_Bool(REGB0
)) {
3134 /* ./native_interface//frontier.nit:380 */
3135 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3136 CALL_native_interface___frontier___MMType___compile_check_isa(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[3]);
3138 /* ./native_interface//frontier.nit:383 */
3139 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3141 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3142 if (!once_value_10
) {
3143 fra
.me
.REG
[7] = BOX_NativeString("");
3145 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
3146 once_value_10
= fra
.me
.REG
[7];
3147 register_static_object(&once_value_10
);
3148 } else fra
.me
.REG
[7] = once_value_10
;
3149 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3150 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3151 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3152 fra
.me
.REG
[3] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[3]);
3153 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3154 if (!once_value_11
) {
3155 fra
.me
.REG
[3] = BOX_NativeString(";\n");
3157 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3158 once_value_11
= fra
.me
.REG
[3];
3159 register_static_object(&once_value_11
);
3160 } else fra
.me
.REG
[3] = once_value_11
;
3161 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3163 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3164 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3165 /* ./native_interface//frontier.nit:385 */
3166 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3168 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3169 if (!once_value_12
) {
3170 fra
.me
.REG
[3] = BOX_NativeString("return ");
3172 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3173 once_value_12
= fra
.me
.REG
[3];
3174 register_static_object(&once_value_12
);
3175 } else fra
.me
.REG
[3] = once_value_12
;
3176 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3177 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3179 if (!once_value_13
) {
3180 fra
.me
.REG
[2] = BOX_NativeString(";\n");
3182 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3183 once_value_13
= fra
.me
.REG
[2];
3184 register_static_object(&once_value_13
);
3185 } else fra
.me
.REG
[2] = once_value_13
;
3186 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3188 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3189 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3190 /* ./native_interface//frontier.nit:387 */
3193 stack_frame_head
= fra
.me
.prev
;
3194 return fra
.me
.REG
[1];
3196 val_t
native_interface___frontier___MMImportedCast___compile_is(val_t p0
, val_t p1
){
3197 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
3200 static val_t once_value_1
; /* Once value */
3201 static val_t once_value_2
; /* Once value */
3202 static val_t once_value_3
; /* Once value */
3203 static val_t once_value_4
; /* Once value */
3204 static val_t once_value_5
; /* Once value */
3205 static val_t once_value_6
; /* Once value */
3206 static val_t once_value_7
; /* Once value */
3207 static val_t once_value_8
; /* Once value */
3208 static val_t once_value_9
; /* Once value */
3209 static val_t once_value_10
; /* Once value */
3210 static val_t once_value_11
; /* Once value */
3211 static val_t once_value_12
; /* Once value */
3212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3213 fra
.me
.file
= LOCATE_native_interface___frontier
;
3215 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_is
;
3216 fra
.me
.has_broke
= 0;
3217 fra
.me
.REG_size
= 7;
3218 fra
.me
.REG
[0] = NIT_NULL
;
3219 fra
.me
.REG
[1] = NIT_NULL
;
3220 fra
.me
.REG
[2] = NIT_NULL
;
3221 fra
.me
.REG
[3] = NIT_NULL
;
3222 fra
.me
.REG
[4] = NIT_NULL
;
3223 fra
.me
.REG
[5] = NIT_NULL
;
3224 fra
.me
.REG
[6] = NIT_NULL
;
3227 /* ./native_interface//frontier.nit:394 */
3228 fra
.me
.REG
[1] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_local_csignature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3229 fra
.me
.REG
[1] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[1]);
3230 /* ./native_interface//frontier.nit:396 */
3231 if (!once_value_1
) {
3232 fra
.me
.REG
[2] = BOX_NativeString("temp");
3234 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3235 once_value_1
= fra
.me
.REG
[2];
3236 register_static_object(&once_value_1
);
3237 } else fra
.me
.REG
[2] = once_value_1
;
3238 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3239 /* ./native_interface//frontier.nit:397 */
3240 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3242 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3243 if (!once_value_2
) {
3244 fra
.me
.REG
[5] = BOX_NativeString("val_t ");
3246 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3247 once_value_2
= fra
.me
.REG
[5];
3248 register_static_object(&once_value_2
);
3249 } else fra
.me
.REG
[5] = once_value_2
;
3250 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3253 if (!once_value_3
) {
3254 fra
.me
.REG
[5] = BOX_NativeString(";\n");
3256 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3257 once_value_3
= fra
.me
.REG
[5];
3258 register_static_object(&once_value_3
);
3259 } else fra
.me
.REG
[5] = once_value_3
;
3260 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3262 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3263 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3264 /* ./native_interface//frontier.nit:399 */
3265 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3267 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3268 if (!once_value_4
) {
3269 fra
.me
.REG
[5] = BOX_NativeString("");
3271 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3272 once_value_4
= fra
.me
.REG
[5];
3273 register_static_object(&once_value_4
);
3274 } else fra
.me
.REG
[5] = once_value_4
;
3275 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
3277 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3278 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3279 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2], fra
.me
.REG
[6]);
3280 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3281 if (!once_value_5
) {
3282 fra
.me
.REG
[6] = BOX_NativeString(";\n");
3284 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3285 once_value_5
= fra
.me
.REG
[6];
3286 register_static_object(&once_value_5
);
3287 } else fra
.me
.REG
[6] = once_value_5
;
3288 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3289 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3290 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3291 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3292 /* ./native_interface//frontier.nit:401 */
3293 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_nullable_to_not_null(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3294 if (UNTAG_Bool(REGB0
)) {
3295 /* ./native_interface//frontier.nit:402 */
3296 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3297 if (UNTAG_Bool(REGB0
)) {
3298 /* ./native_interface//frontier.nit:403 */
3299 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3301 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3302 if (!once_value_6
) {
3303 fra
.me
.REG
[6] = BOX_NativeString("if ( ! ISNULL(");
3304 REGB0
= TAG_Int(14);
3305 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3306 once_value_6
= fra
.me
.REG
[6];
3307 register_static_object(&once_value_6
);
3308 } else fra
.me
.REG
[6] = once_value_6
;
3309 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3310 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3312 if (!once_value_7
) {
3313 fra
.me
.REG
[6] = BOX_NativeString(") ) return 0;\n");
3314 REGB0
= TAG_Int(14);
3315 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3316 once_value_7
= fra
.me
.REG
[6];
3317 register_static_object(&once_value_7
);
3318 } else fra
.me
.REG
[6] = once_value_7
;
3319 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3320 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3321 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3322 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3324 /* ./native_interface//frontier.nit:405 */
3325 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3327 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3328 if (!once_value_8
) {
3329 fra
.me
.REG
[6] = BOX_NativeString("if ( ISNULL(");
3330 REGB0
= TAG_Int(12);
3331 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3332 once_value_8
= fra
.me
.REG
[6];
3333 register_static_object(&once_value_8
);
3334 } else fra
.me
.REG
[6] = once_value_8
;
3335 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3338 if (!once_value_9
) {
3339 fra
.me
.REG
[6] = BOX_NativeString(") ) return 0;\n");
3340 REGB0
= TAG_Int(14);
3341 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3342 once_value_9
= fra
.me
.REG
[6];
3343 register_static_object(&once_value_9
);
3344 } else fra
.me
.REG
[6] = once_value_9
;
3345 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3347 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3348 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3351 /* ./native_interface//frontier.nit:409 */
3352 REGB0
= CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3353 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3354 if (UNTAG_Bool(REGB0
)) {
3355 /* ./native_interface//frontier.nit:410 */
3356 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3358 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3359 if (!once_value_10
) {
3360 fra
.me
.REG
[6] = BOX_NativeString("if ( ! ");
3362 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3363 once_value_10
= fra
.me
.REG
[6];
3364 register_static_object(&once_value_10
);
3365 } else fra
.me
.REG
[6] = once_value_10
;
3366 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3368 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3369 fra
.me
.REG
[2] = CALL_native_interface___frontier___MMType___compile_condition_isa(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3370 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3371 if (!once_value_11
) {
3372 fra
.me
.REG
[2] = BOX_NativeString(" ) return 0;\n");
3373 REGB0
= TAG_Int(13);
3374 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3375 once_value_11
= fra
.me
.REG
[2];
3376 register_static_object(&once_value_11
);
3377 } else fra
.me
.REG
[2] = once_value_11
;
3378 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3380 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3381 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3383 /* ./native_interface//frontier.nit:413 */
3384 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3385 if (!once_value_12
) {
3386 fra
.me
.REG
[3] = BOX_NativeString("return 1;\n");
3387 REGB0
= TAG_Int(10);
3388 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3389 once_value_12
= fra
.me
.REG
[3];
3390 register_static_object(&once_value_12
);
3391 } else fra
.me
.REG
[3] = once_value_12
;
3392 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3393 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3394 /* ./native_interface//frontier.nit:415 */
3397 stack_frame_head
= fra
.me
.prev
;
3398 return fra
.me
.REG
[1];
3400 void native_interface___frontier___MMImportedCast___compile_check_is_not_null(val_t p0
, val_t p1
, val_t p2
){
3401 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3404 static val_t once_value_1
; /* Once value */
3405 static val_t once_value_2
; /* Once value */
3406 static val_t once_value_3
; /* Once value */
3407 static val_t once_value_4
; /* Once value */
3408 static val_t once_value_5
; /* Once value */
3409 static val_t once_value_6
; /* Once value */
3410 static val_t once_value_7
; /* Once value */
3411 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3412 fra
.me
.file
= LOCATE_native_interface___frontier
;
3414 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___compile_check_is_not_null
;
3415 fra
.me
.has_broke
= 0;
3416 fra
.me
.REG_size
= 6;
3417 fra
.me
.REG
[0] = NIT_NULL
;
3418 fra
.me
.REG
[1] = NIT_NULL
;
3419 fra
.me
.REG
[2] = NIT_NULL
;
3420 fra
.me
.REG
[3] = NIT_NULL
;
3421 fra
.me
.REG
[4] = NIT_NULL
;
3422 fra
.me
.REG
[5] = NIT_NULL
;
3426 /* ./native_interface//frontier.nit:422 */
3427 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3429 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3430 if (!once_value_1
) {
3431 fra
.me
.REG
[5] = BOX_NativeString("if ( ISNULL(");
3432 REGB0
= TAG_Int(12);
3433 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3434 once_value_1
= fra
.me
.REG
[5];
3435 register_static_object(&once_value_1
);
3436 } else fra
.me
.REG
[5] = once_value_1
;
3437 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3440 if (!once_value_2
) {
3441 fra
.me
.REG
[2] = BOX_NativeString(") ){");
3443 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3444 once_value_2
= fra
.me
.REG
[2];
3445 register_static_object(&once_value_2
);
3446 } else fra
.me
.REG
[2] = once_value_2
;
3447 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3448 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3449 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3450 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3451 /* ./native_interface//frontier.nit:423 */
3452 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3454 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3455 if (!once_value_3
) {
3456 fra
.me
.REG
[2] = BOX_NativeString("\tfprintf( stderr, \"Casting from ");
3457 REGB0
= TAG_Int(32);
3458 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3459 once_value_3
= fra
.me
.REG
[2];
3460 register_static_object(&once_value_3
);
3461 } else fra
.me
.REG
[2] = once_value_3
;
3462 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3463 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3464 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3465 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3467 if (!once_value_4
) {
3468 fra
.me
.REG
[2] = BOX_NativeString(" to ");
3470 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3471 once_value_4
= fra
.me
.REG
[2];
3472 register_static_object(&once_value_4
);
3473 } else fra
.me
.REG
[2] = once_value_4
;
3474 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3476 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3477 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3478 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3479 if (!once_value_5
) {
3480 fra
.me
.REG
[0] = BOX_NativeString(" failed because value is null.\" );\n");
3481 REGB0
= TAG_Int(35);
3482 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3483 once_value_5
= fra
.me
.REG
[0];
3484 register_static_object(&once_value_5
);
3485 } else fra
.me
.REG
[0] = once_value_5
;
3486 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3488 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3489 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3490 /* ./native_interface//frontier.nit:424 */
3491 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3492 if (!once_value_6
) {
3493 fra
.me
.REG
[4] = BOX_NativeString("\tabort();\n");
3494 REGB0
= TAG_Int(10);
3495 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3496 once_value_6
= fra
.me
.REG
[4];
3497 register_static_object(&once_value_6
);
3498 } else fra
.me
.REG
[4] = once_value_6
;
3499 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3500 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3501 /* ./native_interface//frontier.nit:425 */
3502 fra
.me
.REG
[1] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3503 if (!once_value_7
) {
3504 fra
.me
.REG
[4] = BOX_NativeString("}");
3506 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3507 once_value_7
= fra
.me
.REG
[4];
3508 register_static_object(&once_value_7
);
3509 } else fra
.me
.REG
[4] = once_value_7
;
3510 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3511 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3512 stack_frame_head
= fra
.me
.prev
;
3515 val_t
native_interface___frontier___MMImportedCast_____eqeq(val_t p0
, val_t p1
){
3516 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3520 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3521 fra
.me
.file
= LOCATE_native_interface___frontier
;
3523 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast_____eqeq
;
3524 fra
.me
.has_broke
= 0;
3525 fra
.me
.REG_size
= 4;
3526 fra
.me
.REG
[0] = NIT_NULL
;
3527 fra
.me
.REG
[1] = NIT_NULL
;
3528 fra
.me
.REG
[2] = NIT_NULL
;
3529 fra
.me
.REG
[3] = NIT_NULL
;
3532 /* ./native_interface//frontier.nit:430 */
3533 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_metamodel___static_type___MMImportedCast
, ID_metamodel___static_type___MMImportedCast
)) /*cast MMImportedCast*/;
3534 if (UNTAG_Bool(REGB0
)) {
3535 /* ./native_interface//frontier.nit:431 */
3536 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3537 if (UNTAG_Bool(REGB0
)) {
3538 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 431);
3540 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3541 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3542 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
3543 if (UNTAG_Bool(REGB0
)) {
3545 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3549 /* ./native_interface//frontier.nit:430 */
3550 REGB1
= TAG_Bool(false);
3553 if (UNTAG_Bool(REGB0
)) {
3554 /* ./native_interface//frontier.nit:431 */
3555 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3556 if (UNTAG_Bool(REGB0
)) {
3557 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 431);
3559 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3560 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3561 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
3562 if (UNTAG_Bool(REGB0
)) {
3564 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3568 /* ./native_interface//frontier.nit:430 */
3569 REGB1
= TAG_Bool(false);
3574 stack_frame_head
= fra
.me
.prev
;
3577 val_t
native_interface___frontier___MMImportedCast___hash(val_t p0
){
3578 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3582 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3583 fra
.me
.file
= LOCATE_native_interface___frontier
;
3585 fra
.me
.meth
= LOCATE_native_interface___frontier___MMImportedCast___hash
;
3586 fra
.me
.has_broke
= 0;
3587 fra
.me
.REG_size
= 2;
3588 fra
.me
.REG
[0] = NIT_NULL
;
3589 fra
.me
.REG
[1] = NIT_NULL
;
3591 /* ./native_interface//frontier.nit:435 */
3592 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMImportedCast___from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3593 REGB0
= CALL_standard___hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3594 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMImportedCast___to(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3595 REGB1
= CALL_standard___hash___Object___hash(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3596 /* ./../lib/standard//kernel.nit:235 */
3597 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3598 /* ./native_interface//frontier.nit:435 */
3601 stack_frame_head
= fra
.me
.prev
;
3604 void native_interface___frontier___MMType___compile_check_isa(val_t p0
, val_t p1
, val_t p2
){
3605 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3608 static val_t once_value_1
; /* Once value */
3609 static val_t once_value_2
; /* Once value */
3610 static val_t once_value_3
; /* Once value */
3611 static val_t once_value_4
; /* Once value */
3612 static val_t once_value_5
; /* Once value */
3613 static val_t once_value_6
; /* Once value */
3614 static val_t once_value_7
; /* Once value */
3615 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3616 fra
.me
.file
= LOCATE_native_interface___frontier
;
3618 fra
.me
.meth
= LOCATE_native_interface___frontier___MMType___compile_check_isa
;
3619 fra
.me
.has_broke
= 0;
3620 fra
.me
.REG_size
= 6;
3621 fra
.me
.REG
[0] = NIT_NULL
;
3622 fra
.me
.REG
[1] = NIT_NULL
;
3623 fra
.me
.REG
[2] = NIT_NULL
;
3624 fra
.me
.REG
[3] = NIT_NULL
;
3625 fra
.me
.REG
[4] = NIT_NULL
;
3626 fra
.me
.REG
[5] = NIT_NULL
;
3630 /* ./native_interface//frontier.nit:446 */
3631 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3633 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3634 if (!once_value_1
) {
3635 fra
.me
.REG
[5] = BOX_NativeString("if ( ! ");
3637 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
3638 once_value_1
= fra
.me
.REG
[5];
3639 register_static_object(&once_value_1
);
3640 } else fra
.me
.REG
[5] = once_value_1
;
3641 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3643 fra
.me
.REG
[2] = CALL_native_interface___frontier___MMType___compile_condition_isa(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3645 if (!once_value_2
) {
3646 fra
.me
.REG
[2] = BOX_NativeString(" ){");
3648 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3649 once_value_2
= fra
.me
.REG
[2];
3650 register_static_object(&once_value_2
);
3651 } else fra
.me
.REG
[2] = once_value_2
;
3652 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
3654 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3655 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3656 /* ./native_interface//frontier.nit:447 */
3657 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3659 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3660 if (!once_value_3
) {
3661 fra
.me
.REG
[2] = BOX_NativeString("\tfprintf( stderr, \"Casting to ");
3662 REGB0
= TAG_Int(30);
3663 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3664 once_value_3
= fra
.me
.REG
[2];
3665 register_static_object(&once_value_3
);
3666 } else fra
.me
.REG
[2] = once_value_3
;
3667 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3669 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3670 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3671 if (!once_value_4
) {
3672 fra
.me
.REG
[2] = BOX_NativeString(" failed because value is not a ");
3673 REGB0
= TAG_Int(31);
3674 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3675 once_value_4
= fra
.me
.REG
[2];
3676 register_static_object(&once_value_4
);
3677 } else fra
.me
.REG
[2] = once_value_4
;
3678 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3680 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3682 if (!once_value_5
) {
3683 fra
.me
.REG
[0] = BOX_NativeString(".\" );\n");
3685 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3686 once_value_5
= fra
.me
.REG
[0];
3687 register_static_object(&once_value_5
);
3688 } else fra
.me
.REG
[0] = once_value_5
;
3689 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
3691 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3692 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3693 /* ./native_interface//frontier.nit:448 */
3694 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3695 if (!once_value_6
) {
3696 fra
.me
.REG
[4] = BOX_NativeString("\tabort();\n");
3697 REGB0
= TAG_Int(10);
3698 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3699 once_value_6
= fra
.me
.REG
[4];
3700 register_static_object(&once_value_6
);
3701 } else fra
.me
.REG
[4] = once_value_6
;
3702 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3703 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3704 /* ./native_interface//frontier.nit:449 */
3705 fra
.me
.REG
[1] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3706 if (!once_value_7
) {
3707 fra
.me
.REG
[4] = BOX_NativeString("}");
3709 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3710 once_value_7
= fra
.me
.REG
[4];
3711 register_static_object(&once_value_7
);
3712 } else fra
.me
.REG
[4] = once_value_7
;
3713 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3714 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
3715 stack_frame_head
= fra
.me
.prev
;
3718 val_t
native_interface___frontier___MMType___compile_condition_isa(val_t p0
, val_t p1
){
3719 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3722 static val_t once_value_1
; /* Once value */
3723 static val_t once_value_2
; /* Once value */
3724 static val_t once_value_3
; /* Once value */
3725 static val_t once_value_4
; /* Once value */
3726 static val_t once_value_5
; /* Once value */
3727 static val_t once_value_6
; /* Once value */
3728 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3729 fra
.me
.file
= LOCATE_native_interface___frontier
;
3731 fra
.me
.meth
= LOCATE_native_interface___frontier___MMType___compile_condition_isa
;
3732 fra
.me
.has_broke
= 0;
3733 fra
.me
.REG_size
= 4;
3734 fra
.me
.REG
[0] = NIT_NULL
;
3735 fra
.me
.REG
[1] = NIT_NULL
;
3736 fra
.me
.REG
[2] = NIT_NULL
;
3737 fra
.me
.REG
[3] = NIT_NULL
;
3740 /* ./native_interface//frontier.nit:456 */
3741 REGB0
= TAG_Int(11);
3742 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3743 if (!once_value_1
) {
3744 fra
.me
.REG
[3] = BOX_NativeString("( ISOBJ( ");
3746 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3747 once_value_1
= fra
.me
.REG
[3];
3748 register_static_object(&once_value_1
);
3749 } else fra
.me
.REG
[3] = once_value_1
;
3750 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3753 if (!once_value_2
) {
3754 fra
.me
.REG
[3] = BOX_NativeString(" ) ? OBJISA( ");
3755 REGB0
= TAG_Int(13);
3756 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3757 once_value_2
= fra
.me
.REG
[3];
3758 register_static_object(&once_value_2
);
3759 } else fra
.me
.REG
[3] = once_value_2
;
3760 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3763 if (!once_value_3
) {
3764 fra
.me
.REG
[3] = BOX_NativeString(", ");
3766 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3767 once_value_3
= fra
.me
.REG
[3];
3768 register_static_object(&once_value_3
);
3769 } else fra
.me
.REG
[3] = once_value_3
;
3770 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3772 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3773 fra
.me
.REG
[3] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3775 if (!once_value_4
) {
3776 fra
.me
.REG
[3] = BOX_NativeString(" ): VALISA( ");
3777 REGB0
= TAG_Int(12);
3778 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3779 once_value_4
= fra
.me
.REG
[3];
3780 register_static_object(&once_value_4
);
3781 } else fra
.me
.REG
[3] = once_value_4
;
3782 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3783 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3785 if (!once_value_5
) {
3786 fra
.me
.REG
[1] = BOX_NativeString(", ");
3788 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
3789 once_value_5
= fra
.me
.REG
[1];
3790 register_static_object(&once_value_5
);
3791 } else fra
.me
.REG
[1] = once_value_5
;
3792 fra
.me
.REG
[1] = fra
.me
.REG
[1];
3793 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3794 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3795 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMLocalClass___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3797 if (!once_value_6
) {
3798 fra
.me
.REG
[0] = BOX_NativeString(" ) )");
3800 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
3801 once_value_6
= fra
.me
.REG
[0];
3802 register_static_object(&once_value_6
);
3803 } else fra
.me
.REG
[0] = once_value_6
;
3804 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3806 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3809 stack_frame_head
= fra
.me
.prev
;
3810 return fra
.me
.REG
[2];
3812 void native_interface___frontier___MMType___compile_to_frontier(val_t p0
, val_t p1
){
3813 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
3817 static val_t once_value_1
; /* Once value */
3818 static val_t once_value_2
; /* Once value */
3819 static val_t once_value_3
; /* Once value */
3820 static val_t once_value_4
; /* Once value */
3821 static val_t once_value_5
; /* Once value */
3822 static val_t once_value_6
; /* Once value */
3823 static val_t once_value_7
; /* Once value */
3824 static val_t once_value_8
; /* Once value */
3825 static val_t once_value_9
; /* Once value */
3826 static val_t once_value_10
; /* Once value */
3827 static val_t once_value_11
; /* Once value */
3828 static val_t once_value_12
; /* Once value */
3829 static val_t once_value_13
; /* Once value */
3830 static val_t once_value_14
; /* Once value */
3831 static val_t once_value_15
; /* Once value */
3832 static val_t once_value_16
; /* Once value */
3833 static val_t once_value_17
; /* Once value */
3834 static val_t once_value_18
; /* Once value */
3835 static val_t once_value_19
; /* Once value */
3836 static val_t once_value_20
; /* Once value */
3837 static val_t once_value_21
; /* Once value */
3838 static val_t once_value_22
; /* Once value */
3839 static val_t once_value_23
; /* Once value */
3840 static val_t once_value_24
; /* Once value */
3841 static val_t once_value_25
; /* Once value */
3842 static val_t once_value_26
; /* Once value */
3843 static val_t once_value_27
; /* Once value */
3844 static val_t once_value_28
; /* Once value */
3845 static val_t once_value_29
; /* Once value */
3846 static val_t once_value_30
; /* Once value */
3847 static val_t once_value_31
; /* Once value */
3848 static val_t once_value_32
; /* Once value */
3849 static val_t once_value_33
; /* Once value */
3850 static val_t once_value_34
; /* Once value */
3851 static val_t once_value_35
; /* Once value */
3852 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3853 fra
.me
.file
= LOCATE_native_interface___frontier
;
3855 fra
.me
.meth
= LOCATE_native_interface___frontier___MMType___compile_to_frontier
;
3856 fra
.me
.has_broke
= 0;
3857 fra
.me
.REG_size
= 7;
3858 fra
.me
.REG
[0] = NIT_NULL
;
3859 fra
.me
.REG
[1] = NIT_NULL
;
3860 fra
.me
.REG
[2] = NIT_NULL
;
3861 fra
.me
.REG
[3] = NIT_NULL
;
3862 fra
.me
.REG
[4] = NIT_NULL
;
3863 fra
.me
.REG
[5] = NIT_NULL
;
3864 fra
.me
.REG
[6] = NIT_NULL
;
3867 /* ./native_interface//frontier.nit:463 */
3868 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3869 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3870 /* ./native_interface//frontier.nit:464 */
3871 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3872 if (UNTAG_Bool(REGB0
)) {
3874 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3875 if (UNTAG_Bool(REGB1
)) {
3876 REGB1
= TAG_Bool(false);
3879 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3883 if (UNTAG_Bool(REGB0
)) {
3884 REGB0
= TAG_Bool(true);
3886 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3889 if (UNTAG_Bool(REGB0
)) {
3890 /* ./native_interface//frontier.nit:465 */
3891 fra
.me
.REG
[2] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3892 /* ./native_interface//frontier.nit:466 */
3894 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3895 if (!once_value_1
) {
3896 fra
.me
.REG
[4] = BOX_NativeString("");
3898 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3899 once_value_1
= fra
.me
.REG
[4];
3900 register_static_object(&once_value_1
);
3901 } else fra
.me
.REG
[4] = once_value_1
;
3902 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3903 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3904 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3905 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___to_upper(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3907 if (!once_value_2
) {
3908 fra
.me
.REG
[4] = BOX_NativeString("_TYPE");
3910 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3911 once_value_2
= fra
.me
.REG
[4];
3912 register_static_object(&once_value_2
);
3913 } else fra
.me
.REG
[4] = once_value_2
;
3914 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3916 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3917 /* ./native_interface//frontier.nit:469 */
3918 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3920 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3921 if (!once_value_3
) {
3922 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
3924 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3925 once_value_3
= fra
.me
.REG
[6];
3926 register_static_object(&once_value_3
);
3927 } else fra
.me
.REG
[6] = once_value_3
;
3928 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3930 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3931 if (!once_value_4
) {
3932 fra
.me
.REG
[6] = BOX_NativeString("\n");
3934 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3935 once_value_4
= fra
.me
.REG
[6];
3936 register_static_object(&once_value_4
);
3937 } else fra
.me
.REG
[6] = once_value_4
;
3938 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3940 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3941 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3942 /* ./native_interface//frontier.nit:470 */
3943 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3945 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3946 if (!once_value_5
) {
3947 fra
.me
.REG
[6] = BOX_NativeString("#define ");
3949 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
3950 once_value_5
= fra
.me
.REG
[6];
3951 register_static_object(&once_value_5
);
3952 } else fra
.me
.REG
[6] = once_value_5
;
3953 fra
.me
.REG
[6] = fra
.me
.REG
[6];
3954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
3955 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3956 if (!once_value_6
) {
3957 fra
.me
.REG
[3] = BOX_NativeString("\n");
3959 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3960 once_value_6
= fra
.me
.REG
[3];
3961 register_static_object(&once_value_6
);
3962 } else fra
.me
.REG
[3] = once_value_6
;
3963 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
3965 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3966 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
3967 /* ./native_interface//frontier.nit:471 */
3968 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3970 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3971 if (!once_value_7
) {
3972 fra
.me
.REG
[3] = BOX_NativeString("typedef struct s_");
3973 REGB0
= TAG_Int(17);
3974 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3975 once_value_7
= fra
.me
.REG
[3];
3976 register_static_object(&once_value_7
);
3977 } else fra
.me
.REG
[3] = once_value_7
;
3978 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
3981 if (!once_value_8
) {
3982 fra
.me
.REG
[3] = BOX_NativeString("{\n");
3984 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3985 once_value_8
= fra
.me
.REG
[3];
3986 register_static_object(&once_value_8
);
3987 } else fra
.me
.REG
[3] = once_value_8
;
3988 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
3990 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3991 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3992 /* ./native_interface//frontier.nit:472 */
3993 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3994 if (!once_value_9
) {
3995 fra
.me
.REG
[4] = BOX_NativeString("\tval_t v;\n");
3996 REGB0
= TAG_Int(10);
3997 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3998 once_value_9
= fra
.me
.REG
[4];
3999 register_static_object(&once_value_9
);
4000 } else fra
.me
.REG
[4] = once_value_9
;
4001 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4002 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4003 /* ./native_interface//frontier.nit:473 */
4004 fra
.me
.REG
[4] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4006 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4007 if (!once_value_10
) {
4008 fra
.me
.REG
[3] = BOX_NativeString("} ");
4010 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4011 once_value_10
= fra
.me
.REG
[3];
4012 register_static_object(&once_value_10
);
4013 } else fra
.me
.REG
[3] = once_value_10
;
4014 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4015 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
4017 if (!once_value_11
) {
4018 fra
.me
.REG
[3] = BOX_NativeString(";\n");
4020 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4021 once_value_11
= fra
.me
.REG
[3];
4022 register_static_object(&once_value_11
);
4023 } else fra
.me
.REG
[3] = once_value_11
;
4024 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4026 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4027 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4028 /* ./native_interface//frontier.nit:474 */
4029 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___header_top(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4030 if (!once_value_12
) {
4031 fra
.me
.REG
[4] = BOX_NativeString("#endif\n\n");
4033 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4034 once_value_12
= fra
.me
.REG
[4];
4035 register_static_object(&once_value_12
);
4036 } else fra
.me
.REG
[4] = once_value_12
;
4037 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4038 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4039 /* ./native_interface//frontier.nit:477 */
4040 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4041 if (UNTAG_Bool(REGB0
)) {
4042 /* ./native_interface//frontier.nit:478 */
4044 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4045 if (!once_value_13
) {
4046 fra
.me
.REG
[5] = BOX_NativeString("null_");
4048 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4049 once_value_13
= fra
.me
.REG
[5];
4050 register_static_object(&once_value_13
);
4051 } else fra
.me
.REG
[5] = once_value_13
;
4052 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4053 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4054 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___as_notnull(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4055 fra
.me
.REG
[5] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4057 if (!once_value_14
) {
4058 fra
.me
.REG
[5] = BOX_NativeString("");
4060 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4061 once_value_14
= fra
.me
.REG
[5];
4062 register_static_object(&once_value_14
);
4063 } else fra
.me
.REG
[5] = once_value_14
;
4064 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4065 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4066 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4067 /* ./native_interface//frontier.nit:479 */
4069 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4070 if (!once_value_15
) {
4071 fra
.me
.REG
[3] = BOX_NativeString("");
4073 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4074 once_value_15
= fra
.me
.REG
[3];
4075 register_static_object(&once_value_15
);
4076 } else fra
.me
.REG
[3] = once_value_15
;
4077 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4078 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4079 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4080 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4082 if (!once_value_16
) {
4083 fra
.me
.REG
[0] = BOX_NativeString("_");
4085 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4086 once_value_16
= fra
.me
.REG
[0];
4087 register_static_object(&once_value_16
);
4088 } else fra
.me
.REG
[0] = once_value_16
;
4089 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4090 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
4092 if (!once_value_17
) {
4093 fra
.me
.REG
[0] = BOX_NativeString("");
4095 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4096 once_value_17
= fra
.me
.REG
[0];
4097 register_static_object(&once_value_17
);
4098 } else fra
.me
.REG
[0] = once_value_17
;
4099 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
4101 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4102 /* ./native_interface//frontier.nit:481 */
4103 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4105 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4106 if (!once_value_18
) {
4107 fra
.me
.REG
[6] = BOX_NativeString("");
4109 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4110 once_value_18
= fra
.me
.REG
[6];
4111 register_static_object(&once_value_18
);
4112 } else fra
.me
.REG
[6] = once_value_18
;
4113 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4115 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4116 if (!once_value_19
) {
4117 fra
.me
.REG
[6] = BOX_NativeString(" ");
4119 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4120 once_value_19
= fra
.me
.REG
[6];
4121 register_static_object(&once_value_19
);
4122 } else fra
.me
.REG
[6] = once_value_19
;
4123 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4125 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4126 if (!once_value_20
) {
4127 fra
.me
.REG
[6] = BOX_NativeString("();\n");
4129 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4130 once_value_20
= fra
.me
.REG
[6];
4131 register_static_object(&once_value_20
);
4132 } else fra
.me
.REG
[6] = once_value_20
;
4133 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4135 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4136 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4137 /* ./native_interface//frontier.nit:483 */
4138 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4140 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4141 if (!once_value_21
) {
4142 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
4144 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4145 once_value_21
= fra
.me
.REG
[6];
4146 register_static_object(&once_value_21
);
4147 } else fra
.me
.REG
[6] = once_value_21
;
4148 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4150 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4151 if (!once_value_22
) {
4152 fra
.me
.REG
[6] = BOX_NativeString("\n");
4154 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4155 once_value_22
= fra
.me
.REG
[6];
4156 register_static_object(&once_value_22
);
4157 } else fra
.me
.REG
[6] = once_value_22
;
4158 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
4160 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4161 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4162 /* ./native_interface//frontier.nit:484 */
4163 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4165 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4166 if (!once_value_23
) {
4167 fra
.me
.REG
[6] = BOX_NativeString("#define ");
4169 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4170 once_value_23
= fra
.me
.REG
[6];
4171 register_static_object(&once_value_23
);
4172 } else fra
.me
.REG
[6] = once_value_23
;
4173 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4175 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4176 if (!once_value_24
) {
4177 fra
.me
.REG
[4] = BOX_NativeString(" ");
4179 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4180 once_value_24
= fra
.me
.REG
[4];
4181 register_static_object(&once_value_24
);
4182 } else fra
.me
.REG
[4] = once_value_24
;
4183 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4185 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4186 if (!once_value_25
) {
4187 fra
.me
.REG
[4] = BOX_NativeString("\n");
4189 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4190 once_value_25
= fra
.me
.REG
[4];
4191 register_static_object(&once_value_25
);
4192 } else fra
.me
.REG
[4] = once_value_25
;
4193 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4194 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4195 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4196 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4197 /* ./native_interface//frontier.nit:485 */
4198 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4199 if (!once_value_26
) {
4200 fra
.me
.REG
[0] = BOX_NativeString("#endif\n\n");
4202 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4203 once_value_26
= fra
.me
.REG
[0];
4204 register_static_object(&once_value_26
);
4205 } else fra
.me
.REG
[0] = once_value_26
;
4206 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4207 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4208 /* ./native_interface//frontier.nit:487 */
4209 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4211 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4212 if (!once_value_27
) {
4213 fra
.me
.REG
[4] = BOX_NativeString("");
4215 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4216 once_value_27
= fra
.me
.REG
[4];
4217 register_static_object(&once_value_27
);
4218 } else fra
.me
.REG
[4] = once_value_27
;
4219 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4220 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4222 if (!once_value_28
) {
4223 fra
.me
.REG
[4] = BOX_NativeString(" ");
4225 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4226 once_value_28
= fra
.me
.REG
[4];
4227 register_static_object(&once_value_28
);
4228 } else fra
.me
.REG
[4] = once_value_28
;
4229 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4230 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4232 if (!once_value_29
) {
4233 fra
.me
.REG
[5] = BOX_NativeString("()\n");
4235 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4236 once_value_29
= fra
.me
.REG
[5];
4237 register_static_object(&once_value_29
);
4238 } else fra
.me
.REG
[5] = once_value_29
;
4239 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4241 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4242 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4243 /* ./native_interface//frontier.nit:488 */
4244 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4245 if (!once_value_30
) {
4246 fra
.me
.REG
[0] = BOX_NativeString("{\n");
4248 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4249 once_value_30
= fra
.me
.REG
[0];
4250 register_static_object(&once_value_30
);
4251 } else fra
.me
.REG
[0] = once_value_30
;
4252 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4253 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4254 /* ./native_interface//frontier.nit:489 */
4255 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4257 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4258 if (!once_value_31
) {
4259 fra
.me
.REG
[5] = BOX_NativeString("\t");
4261 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4262 once_value_31
= fra
.me
.REG
[5];
4263 register_static_object(&once_value_31
);
4264 } else fra
.me
.REG
[5] = once_value_31
;
4265 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4268 if (!once_value_32
) {
4269 fra
.me
.REG
[2] = BOX_NativeString(" n;\n");
4271 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4272 once_value_32
= fra
.me
.REG
[2];
4273 register_static_object(&once_value_32
);
4274 } else fra
.me
.REG
[2] = once_value_32
;
4275 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4277 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4278 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4279 /* ./native_interface//frontier.nit:490 */
4280 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4281 if (!once_value_33
) {
4282 fra
.me
.REG
[0] = BOX_NativeString("\tn.v = NIT_NULL;\n");
4283 REGB0
= TAG_Int(17);
4284 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4285 once_value_33
= fra
.me
.REG
[0];
4286 register_static_object(&once_value_33
);
4287 } else fra
.me
.REG
[0] = once_value_33
;
4288 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4289 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4290 /* ./native_interface//frontier.nit:491 */
4291 fra
.me
.REG
[0] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4292 if (!once_value_34
) {
4293 fra
.me
.REG
[3] = BOX_NativeString("\treturn n;\n");
4294 REGB0
= TAG_Int(11);
4295 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4296 once_value_34
= fra
.me
.REG
[3];
4297 register_static_object(&once_value_34
);
4298 } else fra
.me
.REG
[3] = once_value_34
;
4299 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4300 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4301 /* ./native_interface//frontier.nit:492 */
4302 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4303 if (!once_value_35
) {
4304 fra
.me
.REG
[3] = BOX_NativeString("}\n\n");
4306 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4307 once_value_35
= fra
.me
.REG
[3];
4308 register_static_object(&once_value_35
);
4309 } else fra
.me
.REG
[3] = once_value_35
;
4310 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4311 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4314 stack_frame_head
= fra
.me
.prev
;
4317 void native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier(val_t p0
, val_t p1
){
4318 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
4323 static val_t once_value_1
; /* Once value */
4324 static val_t once_value_2
; /* Once value */
4325 static val_t once_value_3
; /* Once value */
4326 static val_t once_value_4
; /* Once value */
4327 static val_t once_value_5
; /* Once value */
4328 static val_t once_value_6
; /* Once value */
4329 static val_t once_value_7
; /* Once value */
4330 static val_t once_value_8
; /* Once value */
4331 static val_t once_value_9
; /* Once value */
4332 static val_t once_value_10
; /* Once value */
4333 static val_t once_value_11
; /* Once value */
4334 static val_t once_value_12
; /* Once value */
4335 static val_t once_value_13
; /* Once value */
4336 static val_t once_value_14
; /* Once value */
4337 static val_t once_value_15
; /* Once value */
4338 static val_t once_value_16
; /* Once value */
4339 static val_t once_value_17
; /* Once value */
4340 static val_t once_value_18
; /* Once value */
4341 static val_t once_value_19
; /* Once value */
4342 static val_t once_value_20
; /* Once value */
4343 static val_t once_value_21
; /* Once value */
4344 static val_t once_value_22
; /* Once value */
4345 static val_t once_value_23
; /* Once value */
4346 static val_t once_value_24
; /* Once value */
4347 static val_t once_value_26
; /* Once value */
4348 static val_t once_value_27
; /* Once value */
4349 static val_t once_value_28
; /* Once value */
4350 static val_t once_value_29
; /* Once value */
4351 static val_t once_value_30
; /* Once value */
4352 static val_t once_value_31
; /* Once value */
4353 static val_t once_value_32
; /* Once value */
4354 static val_t once_value_33
; /* Once value */
4355 static val_t once_value_34
; /* Once value */
4356 static val_t once_value_35
; /* Once value */
4357 static val_t once_value_36
; /* Once value */
4358 static val_t once_value_37
; /* Once value */
4359 static val_t once_value_38
; /* Once value */
4360 static val_t once_value_39
; /* Once value */
4361 static val_t once_value_40
; /* Once value */
4362 static val_t once_value_41
; /* Once value */
4363 static val_t once_value_42
; /* Once value */
4364 static val_t once_value_43
; /* Once value */
4365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4366 fra
.me
.file
= LOCATE_native_interface___frontier
;
4368 fra
.me
.meth
= LOCATE_native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier
;
4369 fra
.me
.has_broke
= 0;
4370 fra
.me
.REG_size
= 11;
4371 fra
.me
.REG
[0] = NIT_NULL
;
4372 fra
.me
.REG
[1] = NIT_NULL
;
4373 fra
.me
.REG
[2] = NIT_NULL
;
4374 fra
.me
.REG
[3] = NIT_NULL
;
4375 fra
.me
.REG
[4] = NIT_NULL
;
4376 fra
.me
.REG
[5] = NIT_NULL
;
4377 fra
.me
.REG
[6] = NIT_NULL
;
4378 fra
.me
.REG
[7] = NIT_NULL
;
4379 fra
.me
.REG
[8] = NIT_NULL
;
4380 fra
.me
.REG
[9] = NIT_NULL
;
4381 fra
.me
.REG
[10] = NIT_NULL
;
4384 /* ./native_interface//frontier.nit:502 */
4385 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4387 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4388 if (!once_value_1
) {
4389 fra
.me
.REG
[4] = BOX_NativeString("/* friendly for ");
4390 REGB0
= TAG_Int(16);
4391 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4392 once_value_1
= fra
.me
.REG
[4];
4393 register_static_object(&once_value_1
);
4394 } else fra
.me
.REG
[4] = once_value_1
;
4395 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4397 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4398 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4400 if (!once_value_2
) {
4401 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
4403 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4404 once_value_2
= fra
.me
.REG
[4];
4405 register_static_object(&once_value_2
);
4406 } else fra
.me
.REG
[4] = once_value_2
;
4407 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4409 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4410 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4411 /* ./native_interface//frontier.nit:503 */
4412 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4414 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4415 if (!once_value_3
) {
4416 fra
.me
.REG
[4] = BOX_NativeString("");
4418 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4419 once_value_3
= fra
.me
.REG
[4];
4420 register_static_object(&once_value_3
);
4421 } else fra
.me
.REG
[4] = once_value_3
;
4422 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4424 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4425 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4426 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4427 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMMethod___frontier_csignature_from(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5], fra
.me
.REG
[6]);
4428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4429 if (!once_value_4
) {
4430 fra
.me
.REG
[6] = BOX_NativeString(";\n");
4432 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4433 once_value_4
= fra
.me
.REG
[6];
4434 register_static_object(&once_value_4
);
4435 } else fra
.me
.REG
[6] = once_value_4
;
4436 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4438 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4439 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4440 /* ./native_interface//frontier.nit:507 */
4441 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4443 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4444 if (!once_value_5
) {
4445 fra
.me
.REG
[6] = BOX_NativeString("#ifndef ");
4447 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4448 once_value_5
= fra
.me
.REG
[6];
4449 register_static_object(&once_value_5
);
4450 } else fra
.me
.REG
[6] = once_value_5
;
4451 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
4453 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4454 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4455 fra
.me
.REG
[5] = CALL_primitive_info___MMMethod___friendly_extern_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4457 if (!once_value_6
) {
4458 fra
.me
.REG
[5] = BOX_NativeString("\n");
4460 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4461 once_value_6
= fra
.me
.REG
[5];
4462 register_static_object(&once_value_6
);
4463 } else fra
.me
.REG
[5] = once_value_6
;
4464 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4466 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4467 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4468 /* ./native_interface//frontier.nit:508 */
4469 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4471 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4472 if (!once_value_7
) {
4473 fra
.me
.REG
[5] = BOX_NativeString("#define ");
4475 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
4476 once_value_7
= fra
.me
.REG
[5];
4477 register_static_object(&once_value_7
);
4478 } else fra
.me
.REG
[5] = once_value_7
;
4479 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4480 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
4481 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4482 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4483 fra
.me
.REG
[6] = CALL_primitive_info___MMMethod___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4485 if (!once_value_8
) {
4486 fra
.me
.REG
[6] = BOX_NativeString(" ");
4488 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
4489 once_value_8
= fra
.me
.REG
[6];
4490 register_static_object(&once_value_8
);
4491 } else fra
.me
.REG
[6] = once_value_8
;
4492 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4493 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
4494 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4495 fra
.me
.REG
[5] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4496 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4497 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___local_friendly_name_from(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5], fra
.me
.REG
[4]);
4498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4499 if (!once_value_9
) {
4500 fra
.me
.REG
[4] = BOX_NativeString("\n");
4502 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4503 once_value_9
= fra
.me
.REG
[4];
4504 register_static_object(&once_value_9
);
4505 } else fra
.me
.REG
[4] = once_value_9
;
4506 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4508 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4509 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4510 /* ./native_interface//frontier.nit:509 */
4511 fra
.me
.REG
[2] = CALL_native_interface___frontier___FrontierVisitor___header(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4512 if (!once_value_10
) {
4513 fra
.me
.REG
[3] = BOX_NativeString("#endif\n");
4515 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
4516 once_value_10
= fra
.me
.REG
[3];
4517 register_static_object(&once_value_10
);
4518 } else fra
.me
.REG
[3] = once_value_10
;
4519 fra
.me
.REG
[3] = fra
.me
.REG
[3];
4520 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4521 /* ./native_interface//frontier.nit:512 */
4522 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4524 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4525 if (!once_value_11
) {
4526 fra
.me
.REG
[4] = BOX_NativeString("/* friendly for ");
4527 REGB0
= TAG_Int(16);
4528 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4529 once_value_11
= fra
.me
.REG
[4];
4530 register_static_object(&once_value_11
);
4531 } else fra
.me
.REG
[4] = once_value_11
;
4532 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4534 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4535 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4537 if (!once_value_12
) {
4538 fra
.me
.REG
[4] = BOX_NativeString(" */\n");
4540 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4541 once_value_12
= fra
.me
.REG
[4];
4542 register_static_object(&once_value_12
);
4543 } else fra
.me
.REG
[4] = once_value_12
;
4544 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4546 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4547 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4548 /* ./native_interface//frontier.nit:514 */
4549 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4550 fra
.me
.REG
[3] = CALL_native_interface___frontier___FrontierVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4551 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4552 fra
.me
.REG
[4] = CALL_native_interface___ni_metamodel___MMMethod___frontier_csignature_from(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
4553 fra
.me
.REG
[4] = NEW_FunctionCompiler_native_interface___ni_tools___FunctionCompiler___init(fra
.me
.REG
[4]);
4554 /* ./native_interface//frontier.nit:517 */
4555 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
4556 /* ./native_interface//frontier.nit:520 */
4557 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4558 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4559 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4560 if (UNTAG_Bool(REGB0
)) {
4561 /* ./native_interface//frontier.nit:521 */
4562 if (!once_value_13
) {
4563 fra
.me
.REG
[2] = BOX_NativeString("recv___nit");
4564 REGB0
= TAG_Int(10);
4565 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
4566 once_value_13
= fra
.me
.REG
[2];
4567 register_static_object(&once_value_13
);
4568 } else fra
.me
.REG
[2] = once_value_13
;
4569 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4570 /* ./native_interface//frontier.nit:522 */
4571 fra
.me
.REG
[5] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4573 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4574 if (!once_value_14
) {
4575 fra
.me
.REG
[7] = BOX_NativeString("val_t ");
4577 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4578 once_value_14
= fra
.me
.REG
[7];
4579 register_static_object(&once_value_14
);
4580 } else fra
.me
.REG
[7] = once_value_14
;
4581 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4583 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
4584 if (!once_value_15
) {
4585 fra
.me
.REG
[7] = BOX_NativeString(";\n");
4587 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4588 once_value_15
= fra
.me
.REG
[7];
4589 register_static_object(&once_value_15
);
4590 } else fra
.me
.REG
[7] = once_value_15
;
4591 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4593 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4594 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4595 /* ./native_interface//frontier.nit:523 */
4596 fra
.me
.REG
[6] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4598 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4599 if (!once_value_16
) {
4600 fra
.me
.REG
[7] = BOX_NativeString("");
4602 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4603 once_value_16
= fra
.me
.REG
[7];
4604 register_static_object(&once_value_16
);
4605 } else fra
.me
.REG
[7] = once_value_16
;
4606 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
4608 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4609 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___recv(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4610 if (!once_value_17
) {
4611 fra
.me
.REG
[8] = BOX_NativeString("recv");
4613 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4614 once_value_17
= fra
.me
.REG
[8];
4615 register_static_object(&once_value_17
);
4616 } else fra
.me
.REG
[8] = once_value_17
;
4617 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4618 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2], fra
.me
.REG
[8]);
4619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
4620 if (!once_value_18
) {
4621 fra
.me
.REG
[8] = BOX_NativeString(";\n");
4623 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4624 once_value_18
= fra
.me
.REG
[8];
4625 register_static_object(&once_value_18
);
4626 } else fra
.me
.REG
[8] = once_value_18
;
4627 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
4629 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4630 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4631 /* ./native_interface//frontier.nit:524 */
4632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4634 /* ./native_interface//frontier.nit:527 */
4635 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMExplicitImport___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4636 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4637 /* ./../lib/standard//collection//array.nit:269 */
4639 /* ./../lib/standard//collection//array.nit:270 */
4640 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4641 if (UNTAG_Bool(REGB1
)) {
4643 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
4645 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4646 /* ./../lib/standard//collection//array.nit:271 */
4647 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
4648 /* ./../lib/standard//collection//array.nit:272 */
4650 /* ./../lib/standard//collection//array.nit:24 */
4651 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4652 if (UNTAG_Bool(REGB1
)) {
4654 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4656 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4657 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4658 if (UNTAG_Bool(REGB2
)) {
4660 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4662 /* ./../lib/standard//kernel.nit:232 */
4663 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4664 /* ./../lib/standard//collection//array.nit:272 */
4665 if (UNTAG_Bool(REGB1
)) {
4666 /* ./../lib/standard//collection//array.nit:273 */
4667 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4668 if (UNTAG_Bool(REGB1
)) {
4669 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
4671 /* ./../lib/standard//collection//array.nit:718 */
4672 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
4673 /* ./native_interface//frontier.nit:528 */
4675 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4676 if (!once_value_19
) {
4677 fra
.me
.REG
[7] = BOX_NativeString("");
4679 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4680 once_value_19
= fra
.me
.REG
[7];
4681 register_static_object(&once_value_19
);
4682 } else fra
.me
.REG
[7] = once_value_19
;
4683 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4685 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4686 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4688 if (!once_value_20
) {
4689 fra
.me
.REG
[7] = BOX_NativeString("___nit");
4691 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4692 once_value_20
= fra
.me
.REG
[7];
4693 register_static_object(&once_value_20
);
4694 } else fra
.me
.REG
[7] = once_value_20
;
4695 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4697 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4698 /* ./native_interface//frontier.nit:529 */
4699 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4701 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4702 if (!once_value_21
) {
4703 fra
.me
.REG
[10] = BOX_NativeString("val_t ");
4705 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
4706 once_value_21
= fra
.me
.REG
[10];
4707 register_static_object(&once_value_21
);
4708 } else fra
.me
.REG
[10] = once_value_21
;
4709 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
4711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[8]);
4712 if (!once_value_22
) {
4713 fra
.me
.REG
[10] = BOX_NativeString(";\n");
4715 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
4716 once_value_22
= fra
.me
.REG
[10];
4717 register_static_object(&once_value_22
);
4718 } else fra
.me
.REG
[10] = once_value_22
;
4719 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
4721 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
4722 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4723 /* ./native_interface//frontier.nit:530 */
4724 fra
.me
.REG
[9] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4726 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4727 if (!once_value_23
) {
4728 fra
.me
.REG
[10] = BOX_NativeString("");
4730 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
4731 once_value_23
= fra
.me
.REG
[10];
4732 register_static_object(&once_value_23
);
4733 } else fra
.me
.REG
[10] = once_value_23
;
4734 fra
.me
.REG
[10] = fra
.me
.REG
[10];
4735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
4736 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMParam___mmtype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4737 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMParam___name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4738 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4739 fra
.me
.REG
[6] = CALL_native_interface___ni_metamodel___MMType___assign_from_friendly(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8], fra
.me
.REG
[6]);
4740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4741 if (!once_value_24
) {
4742 fra
.me
.REG
[6] = BOX_NativeString(";\n");
4744 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
4745 once_value_24
= fra
.me
.REG
[6];
4746 register_static_object(&once_value_24
);
4747 } else fra
.me
.REG
[6] = once_value_24
;
4748 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
4750 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4751 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[7]);
4752 /* ./native_interface//frontier.nit:531 */
4753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
4754 /* ./../lib/standard//collection//array.nit:274 */
4756 /* ./../lib/standard//kernel.nit:235 */
4757 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4758 /* ./../lib/standard//collection//array.nit:274 */
4761 /* ./../lib/standard//collection//array.nit:272 */
4766 /* ./native_interface//frontier.nit:535 */
4767 fra
.me
.REG
[5] = NIT_NULL
;
4768 /* ./native_interface//frontier.nit:538 */
4769 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4770 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4771 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4772 if (UNTAG_Bool(REGB0
)) {
4773 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 538);
4775 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4776 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4777 if (UNTAG_Bool(REGB0
)) {
4779 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4780 if (UNTAG_Bool(REGB1
)) {
4781 REGB1
= TAG_Bool(false);
4784 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
4788 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4789 if (UNTAG_Bool(REGB0
)) {
4790 /* ./native_interface//frontier.nit:539 */
4791 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4792 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4793 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4794 if (UNTAG_Bool(REGB0
)) {
4795 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 539);
4797 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4798 fra
.me
.REG
[5] = fra
.me
.REG
[2];
4800 /* ./native_interface//frontier.nit:540 */
4801 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4802 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4803 if (UNTAG_Bool(REGB0
)) {
4804 /* ./native_interface//frontier.nit:541 */
4805 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4806 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4807 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4808 fra
.me
.REG
[5] = fra
.me
.REG
[2];
4811 /* ./native_interface//frontier.nit:544 */
4812 fra
.me
.REG
[2] = NEW_Buffer_standard___string___Buffer___init();
4813 /* ./native_interface//frontier.nit:545 */
4814 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4815 if (UNTAG_Bool(REGB0
)) {
4817 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4818 if (UNTAG_Bool(REGB1
)) {
4819 REGB1
= TAG_Bool(false);
4822 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4826 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4827 if (UNTAG_Bool(REGB0
)) {
4828 /* ./native_interface//frontier.nit:546 */
4829 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4831 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4832 if (!once_value_26
) {
4833 fra
.me
.REG
[9] = BOX_NativeString("");
4835 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
4836 once_value_26
= fra
.me
.REG
[9];
4837 register_static_object(&once_value_26
);
4838 } else fra
.me
.REG
[9] = once_value_26
;
4839 fra
.me
.REG
[9] = fra
.me
.REG
[9];
4840 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4841 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4842 if (UNTAG_Bool(REGB0
)) {
4843 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 546);
4845 fra
.me
.REG
[9] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4847 if (!once_value_27
) {
4848 fra
.me
.REG
[9] = BOX_NativeString(" result___nitni;\n");
4849 REGB0
= TAG_Int(17);
4850 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB0
);
4851 once_value_27
= fra
.me
.REG
[9];
4852 register_static_object(&once_value_27
);
4853 } else fra
.me
.REG
[9] = once_value_27
;
4854 fra
.me
.REG
[9] = fra
.me
.REG
[9];
4855 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[9]);
4856 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4857 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4858 /* ./native_interface//frontier.nit:547 */
4859 fra
.me
.REG
[7] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4860 if (!once_value_28
) {
4861 fra
.me
.REG
[8] = BOX_NativeString("val_t result___nit;\n");
4862 REGB0
= TAG_Int(20);
4863 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4864 once_value_28
= fra
.me
.REG
[8];
4865 register_static_object(&once_value_28
);
4866 } else fra
.me
.REG
[8] = once_value_28
;
4867 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4868 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4869 /* ./native_interface//frontier.nit:548 */
4870 if (!once_value_29
) {
4871 fra
.me
.REG
[8] = BOX_NativeString("result___nit = ");
4872 REGB0
= TAG_Int(15);
4873 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
4874 once_value_29
= fra
.me
.REG
[8];
4875 register_static_object(&once_value_29
);
4876 } else fra
.me
.REG
[8] = once_value_29
;
4877 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4878 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4880 /* ./native_interface//frontier.nit:552 */
4881 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4882 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4883 if (UNTAG_Bool(REGB0
)) {
4884 /* ./native_interface//frontier.nit:553 */
4886 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4887 if (!once_value_30
) {
4888 fra
.me
.REG
[7] = BOX_NativeString("NEW_");
4890 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4891 once_value_30
= fra
.me
.REG
[7];
4892 register_static_object(&once_value_30
);
4893 } else fra
.me
.REG
[7] = once_value_30
;
4894 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4896 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4897 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4898 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4899 if (!once_value_31
) {
4900 fra
.me
.REG
[7] = BOX_NativeString("_");
4902 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4903 once_value_31
= fra
.me
.REG
[7];
4904 register_static_object(&once_value_31
);
4905 } else fra
.me
.REG
[7] = once_value_31
;
4906 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4908 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4909 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4910 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4911 fra
.me
.REG
[7] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4913 if (!once_value_32
) {
4914 fra
.me
.REG
[7] = BOX_NativeString("");
4916 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4917 once_value_32
= fra
.me
.REG
[7];
4918 register_static_object(&once_value_32
);
4919 } else fra
.me
.REG
[7] = once_value_32
;
4920 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4922 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4923 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4925 /* ./native_interface//frontier.nit:555 */
4927 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4928 if (!once_value_33
) {
4929 fra
.me
.REG
[7] = BOX_NativeString("");
4931 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
4932 once_value_33
= fra
.me
.REG
[7];
4933 register_static_object(&once_value_33
);
4934 } else fra
.me
.REG
[7] = once_value_33
;
4935 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
4937 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4938 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4939 fra
.me
.REG
[0] = CALL_compiling___compiling_base___MMGlobalProperty___meth_call(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4940 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4941 if (!once_value_34
) {
4942 fra
.me
.REG
[0] = BOX_NativeString("( recv___nit )");
4943 REGB0
= TAG_Int(14);
4944 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4945 once_value_34
= fra
.me
.REG
[0];
4946 register_static_object(&once_value_34
);
4947 } else fra
.me
.REG
[0] = once_value_34
;
4948 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4950 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4951 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4953 /* ./native_interface//frontier.nit:558 */
4955 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4956 if (!once_value_35
) {
4957 fra
.me
.REG
[0] = BOX_NativeString("( ");
4959 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4960 once_value_35
= fra
.me
.REG
[0];
4961 register_static_object(&once_value_35
);
4962 } else fra
.me
.REG
[0] = once_value_35
;
4963 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4965 if (!once_value_36
) {
4966 fra
.me
.REG
[0] = BOX_NativeString(", ");
4968 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4969 once_value_36
= fra
.me
.REG
[0];
4970 register_static_object(&once_value_36
);
4971 } else fra
.me
.REG
[0] = once_value_36
;
4972 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4973 fra
.me
.REG
[0] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4975 if (!once_value_37
) {
4976 fra
.me
.REG
[0] = BOX_NativeString(" );\n");
4978 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4979 once_value_37
= fra
.me
.REG
[0];
4980 register_static_object(&once_value_37
);
4981 } else fra
.me
.REG
[0] = once_value_37
;
4982 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4983 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
4984 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4985 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
4986 /* ./native_interface//frontier.nit:560 */
4987 fra
.me
.REG
[8] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4988 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4989 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[2]);
4990 /* ./native_interface//frontier.nit:563 */
4991 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4992 if (UNTAG_Bool(REGB0
)) {
4994 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4995 if (UNTAG_Bool(REGB1
)) {
4996 REGB1
= TAG_Bool(false);
4999 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
5003 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5004 if (UNTAG_Bool(REGB0
)) {
5005 /* ./native_interface//frontier.nit:564 */
5006 if (!once_value_38
) {
5007 fra
.me
.REG
[2] = BOX_NativeString("result___nitni");
5008 REGB0
= TAG_Int(14);
5009 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
5010 once_value_38
= fra
.me
.REG
[2];
5011 register_static_object(&once_value_38
);
5012 } else fra
.me
.REG
[2] = once_value_38
;
5013 fra
.me
.REG
[2] = fra
.me
.REG
[2];
5014 /* ./native_interface//frontier.nit:565 */
5015 if (!once_value_39
) {
5016 fra
.me
.REG
[8] = BOX_NativeString("result___nit");
5017 REGB0
= TAG_Int(12);
5018 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
5019 once_value_39
= fra
.me
.REG
[8];
5020 register_static_object(&once_value_39
);
5021 } else fra
.me
.REG
[8] = once_value_39
;
5022 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5023 /* ./native_interface//frontier.nit:567 */
5024 fra
.me
.REG
[0] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5026 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5027 if (!once_value_40
) {
5028 fra
.me
.REG
[7] = BOX_NativeString("");
5030 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
5031 once_value_40
= fra
.me
.REG
[7];
5032 register_static_object(&once_value_40
);
5033 } else fra
.me
.REG
[7] = once_value_40
;
5034 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5035 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
5036 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5037 if (UNTAG_Bool(REGB0
)) {
5038 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 567);
5040 fra
.me
.REG
[8] = CALL_native_interface___ni_metamodel___MMType___assign_to_friendly(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2], fra
.me
.REG
[8]);
5041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
5042 if (!once_value_41
) {
5043 fra
.me
.REG
[8] = BOX_NativeString(";\n");
5045 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
5046 once_value_41
= fra
.me
.REG
[8];
5047 register_static_object(&once_value_41
);
5048 } else fra
.me
.REG
[8] = once_value_41
;
5049 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5050 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
5051 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5052 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5053 /* ./native_interface//frontier.nit:568 */
5054 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5056 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5057 if (!once_value_42
) {
5058 fra
.me
.REG
[8] = BOX_NativeString("return ");
5060 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
5061 once_value_42
= fra
.me
.REG
[8];
5062 register_static_object(&once_value_42
);
5063 } else fra
.me
.REG
[8] = once_value_42
;
5064 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5065 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[8]);
5066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
5067 if (!once_value_43
) {
5068 fra
.me
.REG
[2] = BOX_NativeString(";\n");
5070 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
5071 once_value_43
= fra
.me
.REG
[2];
5072 register_static_object(&once_value_43
);
5073 } else fra
.me
.REG
[2] = once_value_43
;
5074 fra
.me
.REG
[2] = fra
.me
.REG
[2];
5075 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
5076 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5077 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
5079 /* ./native_interface//frontier.nit:571 */
5080 fra
.me
.REG
[1] = CALL_native_interface___frontier___FrontierVisitor___body(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5081 fra
.me
.REG
[4] = CALL_native_interface___ni_tools___FunctionCompiler___to_writer(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5082 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
5083 stack_frame_head
= fra
.me
.prev
;
5086 val_t
native_interface___frontier___MMExplicitImport___hash(val_t p0
){
5087 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5091 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5092 fra
.me
.file
= LOCATE_native_interface___frontier
;
5094 fra
.me
.meth
= LOCATE_native_interface___frontier___MMExplicitImport___hash
;
5095 fra
.me
.has_broke
= 0;
5096 fra
.me
.REG_size
= 2;
5097 fra
.me
.REG
[0] = NIT_NULL
;
5098 fra
.me
.REG
[1] = NIT_NULL
;
5100 /* ./native_interface//frontier.nit:576 */
5101 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5102 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5103 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5104 REGB0
= CALL_standard___hash___Object___hash(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5105 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5106 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5107 REGB1
= CALL_standard___hash___Object___hash(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5108 /* ./../lib/standard//kernel.nit:235 */
5109 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5110 /* ./native_interface//frontier.nit:576 */
5113 stack_frame_head
= fra
.me
.prev
;
5116 val_t
native_interface___frontier___MMExplicitImport_____eqeq(val_t p0
, val_t p1
){
5117 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5121 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5122 fra
.me
.file
= LOCATE_native_interface___frontier
;
5124 fra
.me
.meth
= LOCATE_native_interface___frontier___MMExplicitImport_____eqeq
;
5125 fra
.me
.has_broke
= 0;
5126 fra
.me
.REG_size
= 4;
5127 fra
.me
.REG
[0] = NIT_NULL
;
5128 fra
.me
.REG
[1] = NIT_NULL
;
5129 fra
.me
.REG
[2] = NIT_NULL
;
5130 fra
.me
.REG
[3] = NIT_NULL
;
5133 /* ./native_interface//frontier.nit:580 */
5134 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_metamodel___abstractmetamodel___MMExplicitImport
, ID_metamodel___abstractmetamodel___MMExplicitImport
)) /*cast MMExplicitImport*/;
5135 if (UNTAG_Bool(REGB0
)) {
5136 /* ./native_interface//frontier.nit:581 */
5137 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5138 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5139 if (UNTAG_Bool(REGB0
)) {
5140 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 581);
5142 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMExplicitImport___method(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5143 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
5144 if (UNTAG_Bool(REGB0
)) {
5146 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5150 /* ./native_interface//frontier.nit:580 */
5151 REGB1
= TAG_Bool(false);
5154 if (UNTAG_Bool(REGB0
)) {
5155 /* ./native_interface//frontier.nit:581 */
5156 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5157 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5158 if (UNTAG_Bool(REGB0
)) {
5159 nit_abort("Reciever is null", NULL
, LOCATE_native_interface___frontier
, 581);
5161 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMExplicitImport___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5162 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
5163 if (UNTAG_Bool(REGB0
)) {
5165 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5169 /* ./native_interface//frontier.nit:580 */
5170 REGB1
= TAG_Bool(false);
5175 stack_frame_head
= fra
.me
.prev
;