c_src: fix last update, _nitni.h s were referring to _nit.h from Nit src
[nit.git] / c_src / native_interface___ni_metamodel._sep.c
1 /* This C file is generated by NIT to compile module native_interface___ni_metamodel. */
2 #include "native_interface___ni_metamodel._sep.h"
3 val_t native_interface___ni_metamodel___MMType___friendly_extern_name(val_t p0){
4 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
8 static val_t once_value_1; /* Once value */
9 static val_t once_value_2; /* Once value */
10 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11 fra.me.file = LOCATE_native_interface___ni_metamodel;
12 fra.me.line = 26;
13 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMType___friendly_extern_name;
14 fra.me.has_broke = 0;
15 fra.me.REG_size = 4;
16 fra.me.REG[0] = NIT_NULL;
17 fra.me.REG[1] = NIT_NULL;
18 fra.me.REG[2] = NIT_NULL;
19 fra.me.REG[3] = NIT_NULL;
20 fra.me.REG[0] = p0;
21 /* ./native_interface//ni_metamodel.nit:30 */
22 fra.me.REG[1] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
23 fra.me.REG[1] = CALL_primitive_info___MMLocalClass___primitive_info(fra.me.REG[1])(fra.me.REG[1]);
24 /* ./native_interface//ni_metamodel.nit:31 */
25 REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[0])(fra.me.REG[0]);
26 if (UNTAG_Bool(REGB0)) {
27 /* ./native_interface//ni_metamodel.nit:32 */
28 REGB0 = TAG_Int(3);
29 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
30 if (!once_value_1) {
31 fra.me.REG[3] = BOX_NativeString("nullable_");
32 REGB0 = TAG_Int(9);
33 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
34 once_value_1 = fra.me.REG[3];
35 register_static_object(&once_value_1);
36 } else fra.me.REG[3] = once_value_1;
37 fra.me.REG[3] = fra.me.REG[3];
38 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
39 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
40 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[3])(fra.me.REG[3]);
41 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
42 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
43 if (!once_value_2) {
44 fra.me.REG[3] = BOX_NativeString("");
45 REGB0 = TAG_Int(0);
46 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
47 once_value_2 = fra.me.REG[3];
48 register_static_object(&once_value_2);
49 } else fra.me.REG[3] = once_value_2;
50 fra.me.REG[3] = fra.me.REG[3];
51 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
52 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
53 goto label3;
54 } else {
55 /* ./native_interface//ni_metamodel.nit:33 */
56 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
57 if (UNTAG_Bool(REGB0)) {
58 } else {
59 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
60 if (UNTAG_Bool(REGB1)) {
61 REGB1 = TAG_Bool(false);
62 REGB0 = REGB1;
63 } else {
64 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
65 REGB0 = REGB1;
66 }
67 }
68 if (UNTAG_Bool(REGB0)) {
69 /* ./native_interface//ni_metamodel.nit:34 */
70 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
71 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[3])(fra.me.REG[3]);
72 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
73 fra.me.REG[2] = fra.me.REG[3];
74 goto label3;
75 } else {
76 /* ./native_interface//ni_metamodel.nit:35 */
77 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
78 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[3])(fra.me.REG[3]);
79 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[3])(fra.me.REG[3]);
80 if (UNTAG_Bool(REGB0)) {
81 /* ./native_interface//ni_metamodel.nit:36 */
82 fra.me.REG[0] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
83 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
84 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
85 fra.me.REG[2] = fra.me.REG[0];
86 goto label3;
87 } else {
88 /* ./native_interface//ni_metamodel.nit:38 */
89 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
90 if (UNTAG_Bool(REGB0)) {
91 nit_abort("Reciever is null", NULL, LOCATE_native_interface___ni_metamodel, 38);
92 }
93 fra.me.REG[1] = CALL_primitive_info___PrimitiveInfo___cname(fra.me.REG[1])(fra.me.REG[1]);
94 fra.me.REG[2] = fra.me.REG[1];
95 goto label3;
96 }
97 }
98 }
99 label3: while(0);
100 stack_frame_head = fra.me.prev;
101 return fra.me.REG[2];
102 }
103 val_t native_interface___ni_metamodel___MMType___from_native(val_t p0, val_t p1){
104 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
105 val_t REGB0;
106 val_t REGB1;
107 val_t tmp;
108 static val_t once_value_2; /* Once value */
109 static val_t once_value_3; /* Once value */
110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111 fra.me.file = LOCATE_native_interface___ni_metamodel;
112 fra.me.line = 42;
113 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMType___from_native;
114 fra.me.has_broke = 0;
115 fra.me.REG_size = 5;
116 fra.me.REG[0] = NIT_NULL;
117 fra.me.REG[1] = NIT_NULL;
118 fra.me.REG[2] = NIT_NULL;
119 fra.me.REG[3] = NIT_NULL;
120 fra.me.REG[4] = NIT_NULL;
121 fra.me.REG[0] = p0;
122 fra.me.REG[1] = p1;
123 /* ./native_interface//ni_metamodel.nit:45 */
124 fra.me.REG[2] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
125 fra.me.REG[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra.me.REG[2])(fra.me.REG[2]);
126 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
127 if (UNTAG_Bool(REGB0)) {
128 } else {
129 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
130 if (UNTAG_Bool(REGB1)) {
131 REGB1 = TAG_Bool(false);
132 REGB0 = REGB1;
133 } else {
134 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
135 REGB0 = REGB1;
136 }
137 }
138 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
139 if (UNTAG_Bool(REGB0)) {
140 REGB0 = TAG_Bool(true);
141 } else {
142 fra.me.REG[2] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
143 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[2])(fra.me.REG[2]);
144 REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[2])(fra.me.REG[2]);
145 REGB0 = REGB1;
146 }
147 if (UNTAG_Bool(REGB0)) {
148 /* ./native_interface//ni_metamodel.nit:46 */
149 REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[0])(fra.me.REG[0]);
150 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
151 } else {
152 /* ./native_interface//ni_metamodel.nit:45 */
153 REGB1 = TAG_Bool(false);
154 REGB0 = REGB1;
155 }
156 if (UNTAG_Bool(REGB0)) {
157 /* ./native_interface//ni_metamodel.nit:47 */
158 fra.me.REG[2] = CALL_primitive_info___MMType___boxtype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
159 goto label1;
160 } else {
161 /* ./native_interface//ni_metamodel.nit:49 */
162 REGB0 = TAG_Int(3);
163 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
164 if (!once_value_2) {
165 fra.me.REG[4] = BOX_NativeString("");
166 REGB0 = TAG_Int(0);
167 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
168 once_value_2 = fra.me.REG[4];
169 register_static_object(&once_value_2);
170 } else fra.me.REG[4] = once_value_2;
171 fra.me.REG[4] = fra.me.REG[4];
172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
174 if (!once_value_3) {
175 fra.me.REG[1] = BOX_NativeString(".v");
176 REGB0 = TAG_Int(2);
177 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
178 once_value_3 = fra.me.REG[1];
179 register_static_object(&once_value_3);
180 } else fra.me.REG[1] = once_value_3;
181 fra.me.REG[1] = fra.me.REG[1];
182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
183 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
184 /* ./native_interface//ni_metamodel.nit:51 */
185 fra.me.REG[3] = CALL_primitive_info___MMType___boxtype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
186 fra.me.REG[2] = fra.me.REG[3];
187 goto label1;
188 }
189 label1: while(0);
190 stack_frame_head = fra.me.prev;
191 return fra.me.REG[2];
192 }
193 val_t native_interface___ni_metamodel___MMType___assign_to_friendly(val_t p0, val_t p1, val_t p2){
194 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
195 val_t REGB0;
196 val_t REGB1;
197 val_t tmp;
198 static val_t once_value_1; /* Once value */
199 static val_t once_value_2; /* Once value */
200 static val_t once_value_3; /* Once value */
201 static val_t once_value_5; /* Once value */
202 static val_t once_value_6; /* Once value */
203 static val_t once_value_7; /* Once value */
204 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
205 fra.me.file = LOCATE_native_interface___ni_metamodel;
206 fra.me.line = 55;
207 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMType___assign_to_friendly;
208 fra.me.has_broke = 0;
209 fra.me.REG_size = 6;
210 fra.me.REG[0] = NIT_NULL;
211 fra.me.REG[1] = NIT_NULL;
212 fra.me.REG[2] = NIT_NULL;
213 fra.me.REG[3] = NIT_NULL;
214 fra.me.REG[4] = NIT_NULL;
215 fra.me.REG[5] = NIT_NULL;
216 fra.me.REG[0] = p0;
217 fra.me.REG[1] = p1;
218 fra.me.REG[2] = p2;
219 /* ./native_interface//ni_metamodel.nit:59 */
220 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
221 fra.me.REG[3] = CALL_primitive_info___MMLocalClass___primitive_info(fra.me.REG[3])(fra.me.REG[3]);
222 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
223 if (UNTAG_Bool(REGB0)) {
224 } else {
225 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
226 if (UNTAG_Bool(REGB1)) {
227 REGB1 = TAG_Bool(false);
228 REGB0 = REGB1;
229 } else {
230 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
231 REGB0 = REGB1;
232 }
233 }
234 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
235 if (UNTAG_Bool(REGB0)) {
236 REGB0 = TAG_Bool(true);
237 } else {
238 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
239 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[3])(fra.me.REG[3]);
240 REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[3])(fra.me.REG[3]);
241 REGB0 = REGB1;
242 }
243 if (UNTAG_Bool(REGB0)) {
244 /* ./native_interface//ni_metamodel.nit:60 */
245 REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[0])(fra.me.REG[0]);
246 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
247 } else {
248 /* ./native_interface//ni_metamodel.nit:59 */
249 REGB1 = TAG_Bool(false);
250 REGB0 = REGB1;
251 }
252 if (UNTAG_Bool(REGB0)) {
253 /* ./native_interface//ni_metamodel.nit:61 */
254 REGB0 = TAG_Int(5);
255 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
256 if (!once_value_1) {
257 fra.me.REG[4] = BOX_NativeString("");
258 REGB0 = TAG_Int(0);
259 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
260 once_value_1 = fra.me.REG[4];
261 register_static_object(&once_value_1);
262 } else fra.me.REG[4] = once_value_1;
263 fra.me.REG[4] = fra.me.REG[4];
264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
265 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
266 if (!once_value_2) {
267 fra.me.REG[4] = BOX_NativeString(" = ");
268 REGB0 = TAG_Int(3);
269 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
270 once_value_2 = fra.me.REG[4];
271 register_static_object(&once_value_2);
272 } else fra.me.REG[4] = once_value_2;
273 fra.me.REG[4] = fra.me.REG[4];
274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
275 fra.me.REG[4] = CALL_primitive_info___MMType___unboxtype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
277 if (!once_value_3) {
278 fra.me.REG[4] = BOX_NativeString("");
279 REGB0 = TAG_Int(0);
280 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
281 once_value_3 = fra.me.REG[4];
282 register_static_object(&once_value_3);
283 } else fra.me.REG[4] = once_value_3;
284 fra.me.REG[4] = fra.me.REG[4];
285 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
286 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
287 goto label4;
288 } else {
289 /* ./native_interface//ni_metamodel.nit:63 */
290 REGB0 = TAG_Int(5);
291 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
292 if (!once_value_5) {
293 fra.me.REG[5] = BOX_NativeString("");
294 REGB0 = TAG_Int(0);
295 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
296 once_value_5 = fra.me.REG[5];
297 register_static_object(&once_value_5);
298 } else fra.me.REG[5] = once_value_5;
299 fra.me.REG[5] = fra.me.REG[5];
300 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
302 if (!once_value_6) {
303 fra.me.REG[1] = BOX_NativeString(".v = ");
304 REGB0 = TAG_Int(5);
305 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
306 once_value_6 = fra.me.REG[1];
307 register_static_object(&once_value_6);
308 } else fra.me.REG[1] = once_value_6;
309 fra.me.REG[1] = fra.me.REG[1];
310 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
311 fra.me.REG[2] = CALL_primitive_info___MMType___unboxtype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
313 if (!once_value_7) {
314 fra.me.REG[2] = BOX_NativeString("");
315 REGB0 = TAG_Int(0);
316 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
317 once_value_7 = fra.me.REG[2];
318 register_static_object(&once_value_7);
319 } else fra.me.REG[2] = once_value_7;
320 fra.me.REG[2] = fra.me.REG[2];
321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
322 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
323 fra.me.REG[3] = fra.me.REG[4];
324 goto label4;
325 }
326 label4: while(0);
327 stack_frame_head = fra.me.prev;
328 return fra.me.REG[3];
329 }
330 val_t native_interface___ni_metamodel___MMType___assign_from_friendly(val_t p0, val_t p1, val_t p2){
331 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
332 val_t REGB0;
333 val_t REGB1;
334 val_t tmp;
335 static val_t once_value_1; /* Once value */
336 static val_t once_value_2; /* Once value */
337 static val_t once_value_3; /* Once value */
338 static val_t once_value_5; /* Once value */
339 static val_t once_value_6; /* Once value */
340 static val_t once_value_7; /* Once value */
341 static val_t once_value_8; /* Once value */
342 static val_t once_value_9; /* Once value */
343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
344 fra.me.file = LOCATE_native_interface___ni_metamodel;
345 fra.me.line = 67;
346 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMType___assign_from_friendly;
347 fra.me.has_broke = 0;
348 fra.me.REG_size = 5;
349 fra.me.REG[0] = NIT_NULL;
350 fra.me.REG[1] = NIT_NULL;
351 fra.me.REG[2] = NIT_NULL;
352 fra.me.REG[3] = NIT_NULL;
353 fra.me.REG[4] = NIT_NULL;
354 fra.me.REG[0] = p0;
355 fra.me.REG[1] = p1;
356 fra.me.REG[2] = p2;
357 /* ./native_interface//ni_metamodel.nit:71 */
358 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
359 fra.me.REG[3] = CALL_primitive_info___MMLocalClass___primitive_info(fra.me.REG[3])(fra.me.REG[3]);
360 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
361 if (UNTAG_Bool(REGB0)) {
362 } else {
363 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
364 if (UNTAG_Bool(REGB1)) {
365 REGB1 = TAG_Bool(false);
366 REGB0 = REGB1;
367 } else {
368 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
369 REGB0 = REGB1;
370 }
371 }
372 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
373 if (UNTAG_Bool(REGB0)) {
374 REGB0 = TAG_Bool(true);
375 } else {
376 fra.me.REG[3] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
377 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[3])(fra.me.REG[3]);
378 REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra.me.REG[3])(fra.me.REG[3]);
379 REGB0 = REGB1;
380 }
381 if (UNTAG_Bool(REGB0)) {
382 /* ./native_interface//ni_metamodel.nit:72 */
383 REGB0 = CALL_metamodel___static_type___MMType___is_nullable(fra.me.REG[0])(fra.me.REG[0]);
384 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
385 } else {
386 /* ./native_interface//ni_metamodel.nit:71 */
387 REGB1 = TAG_Bool(false);
388 REGB0 = REGB1;
389 }
390 if (UNTAG_Bool(REGB0)) {
391 /* ./native_interface//ni_metamodel.nit:73 */
392 REGB0 = TAG_Int(5);
393 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
394 if (!once_value_1) {
395 fra.me.REG[4] = BOX_NativeString("");
396 REGB0 = TAG_Int(0);
397 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
398 once_value_1 = fra.me.REG[4];
399 register_static_object(&once_value_1);
400 } else fra.me.REG[4] = once_value_1;
401 fra.me.REG[4] = fra.me.REG[4];
402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
404 if (!once_value_2) {
405 fra.me.REG[4] = BOX_NativeString(" = ");
406 REGB0 = TAG_Int(3);
407 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
408 once_value_2 = fra.me.REG[4];
409 register_static_object(&once_value_2);
410 } else fra.me.REG[4] = once_value_2;
411 fra.me.REG[4] = fra.me.REG[4];
412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
413 fra.me.REG[0] = CALL_primitive_info___MMType___boxtype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
415 if (!once_value_3) {
416 fra.me.REG[0] = BOX_NativeString("");
417 REGB0 = TAG_Int(0);
418 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
419 once_value_3 = fra.me.REG[0];
420 register_static_object(&once_value_3);
421 } else fra.me.REG[0] = once_value_3;
422 fra.me.REG[0] = fra.me.REG[0];
423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
424 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
425 goto label4;
426 } else {
427 /* ./native_interface//ni_metamodel.nit:75 */
428 REGB0 = TAG_Int(5);
429 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
430 if (!once_value_5) {
431 fra.me.REG[4] = BOX_NativeString("");
432 REGB0 = TAG_Int(0);
433 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
434 once_value_5 = fra.me.REG[4];
435 register_static_object(&once_value_5);
436 } else fra.me.REG[4] = once_value_5;
437 fra.me.REG[4] = fra.me.REG[4];
438 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
440 if (!once_value_6) {
441 fra.me.REG[1] = BOX_NativeString(" = ");
442 REGB0 = TAG_Int(3);
443 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
444 once_value_6 = fra.me.REG[1];
445 register_static_object(&once_value_6);
446 } else fra.me.REG[1] = once_value_6;
447 fra.me.REG[1] = fra.me.REG[1];
448 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
449 REGB0 = TAG_Int(3);
450 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
451 if (!once_value_7) {
452 fra.me.REG[4] = BOX_NativeString("");
453 REGB0 = TAG_Int(0);
454 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
455 once_value_7 = fra.me.REG[4];
456 register_static_object(&once_value_7);
457 } else fra.me.REG[4] = once_value_7;
458 fra.me.REG[4] = fra.me.REG[4];
459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
460 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
461 if (!once_value_8) {
462 fra.me.REG[2] = BOX_NativeString(".v");
463 REGB0 = TAG_Int(2);
464 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
465 once_value_8 = fra.me.REG[2];
466 register_static_object(&once_value_8);
467 } else fra.me.REG[2] = once_value_8;
468 fra.me.REG[2] = fra.me.REG[2];
469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
470 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
472 if (!once_value_9) {
473 fra.me.REG[1] = BOX_NativeString("");
474 REGB0 = TAG_Int(0);
475 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
476 once_value_9 = fra.me.REG[1];
477 register_static_object(&once_value_9);
478 } else fra.me.REG[1] = once_value_9;
479 fra.me.REG[1] = fra.me.REG[1];
480 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
481 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
482 fra.me.REG[3] = fra.me.REG[0];
483 goto label4;
484 }
485 label4: while(0);
486 stack_frame_head = fra.me.prev;
487 return fra.me.REG[3];
488 }
489 val_t native_interface___ni_metamodel___MMMethod___local_friendly_name_from(val_t p0, val_t p1, val_t p2){
490 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
491 val_t REGB0;
492 val_t tmp;
493 static val_t once_value_1; /* Once value */
494 static val_t once_value_2; /* Once value */
495 static val_t once_value_3; /* Once value */
496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
497 fra.me.file = LOCATE_native_interface___ni_metamodel;
498 fra.me.line = 81;
499 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___local_friendly_name_from;
500 fra.me.has_broke = 0;
501 fra.me.REG_size = 5;
502 fra.me.REG[0] = NIT_NULL;
503 fra.me.REG[1] = NIT_NULL;
504 fra.me.REG[2] = NIT_NULL;
505 fra.me.REG[3] = NIT_NULL;
506 fra.me.REG[4] = NIT_NULL;
507 fra.me.REG[0] = p0;
508 fra.me.REG[1] = p1;
509 fra.me.REG[2] = p2;
510 /* ./native_interface//ni_metamodel.nit:85 */
511 REGB0 = TAG_Int(5);
512 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
513 if (!once_value_1) {
514 fra.me.REG[4] = BOX_NativeString("");
515 REGB0 = TAG_Int(0);
516 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
517 once_value_1 = fra.me.REG[4];
518 register_static_object(&once_value_1);
519 } else fra.me.REG[4] = once_value_1;
520 fra.me.REG[4] = fra.me.REG[4];
521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
522 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
524 if (!once_value_2) {
525 fra.me.REG[1] = BOX_NativeString("_");
526 REGB0 = TAG_Int(1);
527 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
528 once_value_2 = fra.me.REG[1];
529 register_static_object(&once_value_2);
530 } else fra.me.REG[1] = once_value_2;
531 fra.me.REG[1] = fra.me.REG[1];
532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
533 fra.me.REG[2] = CALL_primitive_info___MMMethod___friendly_extern_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
535 if (!once_value_3) {
536 fra.me.REG[2] = BOX_NativeString("");
537 REGB0 = TAG_Int(0);
538 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
539 once_value_3 = fra.me.REG[2];
540 register_static_object(&once_value_3);
541 } else fra.me.REG[2] = once_value_3;
542 fra.me.REG[2] = fra.me.REG[2];
543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
544 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
545 goto label4;
546 label4: while(0);
547 stack_frame_head = fra.me.prev;
548 return fra.me.REG[3];
549 }
550 val_t native_interface___ni_metamodel___MMMethod___friendly_super_cname(val_t p0){
551 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
552 val_t REGB0;
553 val_t tmp;
554 static val_t once_value_1; /* Once value */
555 static val_t once_value_2; /* Once value */
556 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
557 fra.me.file = LOCATE_native_interface___ni_metamodel;
558 fra.me.line = 88;
559 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___friendly_super_cname;
560 fra.me.has_broke = 0;
561 fra.me.REG_size = 3;
562 fra.me.REG[0] = NIT_NULL;
563 fra.me.REG[1] = NIT_NULL;
564 fra.me.REG[2] = NIT_NULL;
565 fra.me.REG[0] = p0;
566 /* ./native_interface//ni_metamodel.nit:90 */
567 REGB0 = TAG_Int(3);
568 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
569 if (!once_value_1) {
570 fra.me.REG[2] = BOX_NativeString("");
571 REGB0 = TAG_Int(0);
572 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
573 once_value_1 = fra.me.REG[2];
574 register_static_object(&once_value_1);
575 } else fra.me.REG[2] = once_value_1;
576 fra.me.REG[2] = fra.me.REG[2];
577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
578 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
579 fra.me.REG[2] = CALL_primitive_info___MMMethod___friendly_extern_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
580 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
581 if (!once_value_2) {
582 fra.me.REG[2] = BOX_NativeString("___super");
583 REGB0 = TAG_Int(8);
584 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
585 once_value_2 = fra.me.REG[2];
586 register_static_object(&once_value_2);
587 } else fra.me.REG[2] = once_value_2;
588 fra.me.REG[2] = fra.me.REG[2];
589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
590 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
591 goto label3;
592 label3: while(0);
593 stack_frame_head = fra.me.prev;
594 return fra.me.REG[1];
595 }
596 val_t native_interface___ni_metamodel___MMMethod___local_friendly_super_name_from(val_t p0, val_t p1){
597 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
598 val_t REGB0;
599 val_t tmp;
600 static val_t once_value_1; /* Once value */
601 static val_t once_value_2; /* Once value */
602 static val_t once_value_3; /* Once value */
603 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
604 fra.me.file = LOCATE_native_interface___ni_metamodel;
605 fra.me.line = 93;
606 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___local_friendly_super_name_from;
607 fra.me.has_broke = 0;
608 fra.me.REG_size = 4;
609 fra.me.REG[0] = NIT_NULL;
610 fra.me.REG[1] = NIT_NULL;
611 fra.me.REG[2] = NIT_NULL;
612 fra.me.REG[3] = NIT_NULL;
613 fra.me.REG[0] = p0;
614 fra.me.REG[1] = p1;
615 /* ./native_interface//ni_metamodel.nit:95 */
616 REGB0 = TAG_Int(5);
617 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
618 if (!once_value_1) {
619 fra.me.REG[3] = BOX_NativeString("");
620 REGB0 = TAG_Int(0);
621 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
622 once_value_1 = fra.me.REG[3];
623 register_static_object(&once_value_1);
624 } else fra.me.REG[3] = once_value_1;
625 fra.me.REG[3] = fra.me.REG[3];
626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
627 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
629 if (!once_value_2) {
630 fra.me.REG[1] = BOX_NativeString("_");
631 REGB0 = TAG_Int(1);
632 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
633 once_value_2 = fra.me.REG[1];
634 register_static_object(&once_value_2);
635 } else fra.me.REG[1] = once_value_2;
636 fra.me.REG[1] = fra.me.REG[1];
637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
638 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMMethod___friendly_super_cname(fra.me.REG[0])(fra.me.REG[0]);
639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
640 if (!once_value_3) {
641 fra.me.REG[0] = BOX_NativeString("");
642 REGB0 = TAG_Int(0);
643 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
644 once_value_3 = fra.me.REG[0];
645 register_static_object(&once_value_3);
646 } else fra.me.REG[0] = once_value_3;
647 fra.me.REG[0] = fra.me.REG[0];
648 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
649 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
650 goto label4;
651 label4: while(0);
652 stack_frame_head = fra.me.prev;
653 return fra.me.REG[2];
654 }
655 val_t native_interface___ni_metamodel___MMMethod___friendly_cparams(val_t p0, val_t p1){
656 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
657 val_t REGB0;
658 val_t REGB1;
659 val_t REGB2;
660 val_t tmp;
661 static val_t once_value_1; /* Once value */
662 static val_t once_value_2; /* Once value */
663 static val_t once_value_3; /* Once value */
664 static val_t once_value_4; /* Once value */
665 static val_t once_value_5; /* Once value */
666 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
667 fra.me.file = LOCATE_native_interface___ni_metamodel;
668 fra.me.line = 98;
669 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___friendly_cparams;
670 fra.me.has_broke = 0;
671 fra.me.REG_size = 6;
672 fra.me.REG[0] = NIT_NULL;
673 fra.me.REG[1] = NIT_NULL;
674 fra.me.REG[2] = NIT_NULL;
675 fra.me.REG[3] = NIT_NULL;
676 fra.me.REG[4] = NIT_NULL;
677 fra.me.REG[5] = NIT_NULL;
678 fra.me.REG[0] = p0;
679 fra.me.REG[1] = p1;
680 /* ./native_interface//ni_metamodel.nit:100 */
681 fra.me.REG[2] = NEW_List_standard___collection___list___List___init();
682 /* ./native_interface//ni_metamodel.nit:102 */
683 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
684 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[3])(fra.me.REG[3]);
685 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
686 if (UNTAG_Bool(REGB0)) {
687 /* ./native_interface//ni_metamodel.nit:103 */
688 REGB0 = TAG_Int(3);
689 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
690 if (!once_value_1) {
691 fra.me.REG[4] = BOX_NativeString("");
692 REGB0 = TAG_Int(0);
693 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
694 once_value_1 = fra.me.REG[4];
695 register_static_object(&once_value_1);
696 } else fra.me.REG[4] = once_value_1;
697 fra.me.REG[4] = fra.me.REG[4];
698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
699 fra.me.REG[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[1])(fra.me.REG[1]);
700 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[1])(fra.me.REG[1]);
701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
702 if (!once_value_2) {
703 fra.me.REG[1] = BOX_NativeString(" recv");
704 REGB0 = TAG_Int(5);
705 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
706 once_value_2 = fra.me.REG[1];
707 register_static_object(&once_value_2);
708 } else fra.me.REG[1] = once_value_2;
709 fra.me.REG[1] = fra.me.REG[1];
710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
711 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
713 }
714 /* ./native_interface//ni_metamodel.nit:106 */
715 fra.me.REG[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
716 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
717 if (UNTAG_Bool(REGB0)) {
718 nit_abort("Reciever is null", NULL, LOCATE_native_interface___ni_metamodel, 106);
719 }
720 fra.me.REG[0] = CALL_metamodel___static_type___MMSignature___params(fra.me.REG[0])(fra.me.REG[0]);
721 /* ./../lib/standard//collection//array.nit:269 */
722 REGB0 = TAG_Int(0);
723 /* ./../lib/standard//collection//array.nit:270 */
724 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
725 if (UNTAG_Bool(REGB1)) {
726 } else {
727 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
728 }
729 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
730 /* ./../lib/standard//collection//array.nit:271 */
731 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[0]);
732 /* ./../lib/standard//collection//array.nit:272 */
733 while(1) {
734 /* ./../lib/standard//collection//array.nit:24 */
735 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
736 if (UNTAG_Bool(REGB1)) {
737 } else {
738 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
739 }
740 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
741 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
742 if (UNTAG_Bool(REGB2)) {
743 } else {
744 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
745 }
746 /* ./../lib/standard//kernel.nit:232 */
747 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
748 /* ./../lib/standard//collection//array.nit:272 */
749 if (UNTAG_Bool(REGB1)) {
750 /* ./../lib/standard//collection//array.nit:273 */
751 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
752 if (UNTAG_Bool(REGB1)) {
753 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
754 }
755 /* ./../lib/standard//collection//array.nit:718 */
756 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
757 /* ./native_interface//ni_metamodel.nit:107 */
758 REGB1 = TAG_Int(5);
759 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
760 if (!once_value_3) {
761 fra.me.REG[5] = BOX_NativeString("");
762 REGB1 = TAG_Int(0);
763 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB1);
764 once_value_3 = fra.me.REG[5];
765 register_static_object(&once_value_3);
766 } else fra.me.REG[5] = once_value_3;
767 fra.me.REG[5] = fra.me.REG[5];
768 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
769 fra.me.REG[5] = CALL_metamodel___static_type___MMParam___mmtype(fra.me.REG[1])(fra.me.REG[1]);
770 fra.me.REG[5] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[5])(fra.me.REG[5]);
771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
772 if (!once_value_4) {
773 fra.me.REG[5] = BOX_NativeString(" ");
774 REGB1 = TAG_Int(1);
775 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB1);
776 once_value_4 = fra.me.REG[5];
777 register_static_object(&once_value_4);
778 } else fra.me.REG[5] = once_value_4;
779 fra.me.REG[5] = fra.me.REG[5];
780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
781 fra.me.REG[1] = CALL_metamodel___static_type___MMParam___name(fra.me.REG[1])(fra.me.REG[1]);
782 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
783 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
784 if (!once_value_5) {
785 fra.me.REG[1] = BOX_NativeString("");
786 REGB1 = TAG_Int(0);
787 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB1);
788 once_value_5 = fra.me.REG[1];
789 register_static_object(&once_value_5);
790 } else fra.me.REG[1] = once_value_5;
791 fra.me.REG[1] = fra.me.REG[1];
792 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
793 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
795 /* ./../lib/standard//collection//array.nit:274 */
796 REGB1 = TAG_Int(1);
797 /* ./../lib/standard//kernel.nit:235 */
798 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
799 /* ./../lib/standard//collection//array.nit:274 */
800 REGB0 = REGB1;
801 } else {
802 /* ./../lib/standard//collection//array.nit:272 */
803 goto label6;
804 }
805 }
806 label6: while(0);
807 /* ./native_interface//ni_metamodel.nit:110 */
808 goto label7;
809 label7: while(0);
810 stack_frame_head = fra.me.prev;
811 return fra.me.REG[2];
812 }
813 val_t native_interface___ni_metamodel___MMMethod___csignature_with_suffix(val_t p0, val_t p1, val_t p2){
814 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
815 val_t REGB0;
816 val_t tmp;
817 static val_t once_value_1; /* Once value */
818 static val_t once_value_2; /* Once value */
819 static val_t once_value_3; /* Once value */
820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
821 fra.me.file = LOCATE_native_interface___ni_metamodel;
822 fra.me.line = 113;
823 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___csignature_with_suffix;
824 fra.me.has_broke = 0;
825 fra.me.REG_size = 5;
826 fra.me.REG[0] = NIT_NULL;
827 fra.me.REG[1] = NIT_NULL;
828 fra.me.REG[2] = NIT_NULL;
829 fra.me.REG[3] = NIT_NULL;
830 fra.me.REG[4] = NIT_NULL;
831 fra.me.REG[0] = p0;
832 fra.me.REG[1] = p1;
833 fra.me.REG[2] = p2;
834 /* ./native_interface//ni_metamodel.nit:115 */
835 REGB0 = TAG_Int(5);
836 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
837 if (!once_value_1) {
838 fra.me.REG[4] = BOX_NativeString("");
839 REGB0 = TAG_Int(0);
840 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
841 once_value_1 = fra.me.REG[4];
842 register_static_object(&once_value_1);
843 } else fra.me.REG[4] = once_value_1;
844 fra.me.REG[4] = fra.me.REG[4];
845 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
846 fra.me.REG[4] = CALL_primitive_info___MMMethod___friendly_extern_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
848 if (!once_value_2) {
849 fra.me.REG[4] = BOX_NativeString("");
850 REGB0 = TAG_Int(0);
851 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
852 once_value_2 = fra.me.REG[4];
853 register_static_object(&once_value_2);
854 } else fra.me.REG[4] = once_value_2;
855 fra.me.REG[4] = fra.me.REG[4];
856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
858 if (!once_value_3) {
859 fra.me.REG[1] = BOX_NativeString("");
860 REGB0 = TAG_Int(0);
861 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
862 once_value_3 = fra.me.REG[1];
863 register_static_object(&once_value_3);
864 } else fra.me.REG[1] = once_value_3;
865 fra.me.REG[1] = fra.me.REG[1];
866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
867 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
868 /* ./native_interface//ni_metamodel.nit:117 */
869 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMMethod___csignature_with_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[2]);
870 goto label4;
871 label4: while(0);
872 stack_frame_head = fra.me.prev;
873 return fra.me.REG[2];
874 }
875 val_t native_interface___ni_metamodel___MMMethod___csignature_with_name(val_t p0, val_t p1, val_t p2){
876 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
877 val_t REGB0;
878 val_t REGB1;
879 val_t tmp;
880 static val_t once_value_1; /* Once value */
881 static val_t once_value_2; /* Once value */
882 static val_t once_value_3; /* Once value */
883 static val_t once_value_4; /* Once value */
884 static val_t once_value_5; /* Once value */
885 static val_t once_value_6; /* Once value */
886 static val_t once_value_7; /* Once value */
887 static val_t once_value_8; /* Once value */
888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
889 fra.me.file = LOCATE_native_interface___ni_metamodel;
890 fra.me.line = 120;
891 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___csignature_with_name;
892 fra.me.has_broke = 0;
893 fra.me.REG_size = 6;
894 fra.me.REG[0] = NIT_NULL;
895 fra.me.REG[1] = NIT_NULL;
896 fra.me.REG[2] = NIT_NULL;
897 fra.me.REG[3] = NIT_NULL;
898 fra.me.REG[4] = NIT_NULL;
899 fra.me.REG[5] = NIT_NULL;
900 fra.me.REG[0] = p0;
901 fra.me.REG[1] = p1;
902 fra.me.REG[2] = p2;
903 /* ./native_interface//ni_metamodel.nit:122 */
904 fra.me.REG[3] = NEW_Buffer_standard___string___Buffer___init();
905 /* ./native_interface//ni_metamodel.nit:125 */
906 fra.me.REG[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
907 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
908 if (UNTAG_Bool(REGB0)) {
909 nit_abort("Reciever is null", NULL, LOCATE_native_interface___ni_metamodel, 125);
910 }
911 fra.me.REG[4] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[4])(fra.me.REG[4]);
912 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
913 if (UNTAG_Bool(REGB0)) {
914 } else {
915 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
916 if (UNTAG_Bool(REGB1)) {
917 REGB1 = TAG_Bool(false);
918 REGB0 = REGB1;
919 } else {
920 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
921 REGB0 = REGB1;
922 }
923 }
924 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
925 if (UNTAG_Bool(REGB0)) {
926 /* ./native_interface//ni_metamodel.nit:126 */
927 REGB0 = TAG_Int(3);
928 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
929 if (!once_value_1) {
930 fra.me.REG[5] = BOX_NativeString("");
931 REGB0 = TAG_Int(0);
932 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
933 once_value_1 = fra.me.REG[5];
934 register_static_object(&once_value_1);
935 } else fra.me.REG[5] = once_value_1;
936 fra.me.REG[5] = fra.me.REG[5];
937 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
938 fra.me.REG[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
939 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
940 if (UNTAG_Bool(REGB0)) {
941 nit_abort("Reciever is null", NULL, LOCATE_native_interface___ni_metamodel, 126);
942 }
943 fra.me.REG[5] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[5])(fra.me.REG[5]);
944 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
945 if (UNTAG_Bool(REGB0)) {
946 nit_abort("Reciever is null", NULL, LOCATE_native_interface___ni_metamodel, 126);
947 }
948 fra.me.REG[5] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[5])(fra.me.REG[5]);
949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
950 if (!once_value_2) {
951 fra.me.REG[5] = BOX_NativeString(" ");
952 REGB0 = TAG_Int(1);
953 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
954 once_value_2 = fra.me.REG[5];
955 register_static_object(&once_value_2);
956 } else fra.me.REG[5] = once_value_2;
957 fra.me.REG[5] = fra.me.REG[5];
958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
959 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
960 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
961 } else {
962 /* ./native_interface//ni_metamodel.nit:127 */
963 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
964 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[4])(fra.me.REG[4]);
965 if (UNTAG_Bool(REGB0)) {
966 /* ./native_interface//ni_metamodel.nit:128 */
967 REGB0 = TAG_Int(3);
968 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
969 if (!once_value_3) {
970 fra.me.REG[5] = BOX_NativeString("");
971 REGB0 = TAG_Int(0);
972 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
973 once_value_3 = fra.me.REG[5];
974 register_static_object(&once_value_3);
975 } else fra.me.REG[5] = once_value_3;
976 fra.me.REG[5] = fra.me.REG[5];
977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
978 fra.me.REG[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra.me.REG[2])(fra.me.REG[2]);
979 fra.me.REG[5] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[5])(fra.me.REG[5]);
980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
981 if (!once_value_4) {
982 fra.me.REG[5] = BOX_NativeString(" ");
983 REGB0 = TAG_Int(1);
984 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB0);
985 once_value_4 = fra.me.REG[5];
986 register_static_object(&once_value_4);
987 } else fra.me.REG[5] = once_value_4;
988 fra.me.REG[5] = fra.me.REG[5];
989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
990 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
991 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
992 } else {
993 /* ./native_interface//ni_metamodel.nit:130 */
994 if (!once_value_5) {
995 fra.me.REG[4] = BOX_NativeString("void ");
996 REGB0 = TAG_Int(5);
997 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
998 once_value_5 = fra.me.REG[4];
999 register_static_object(&once_value_5);
1000 } else fra.me.REG[4] = once_value_5;
1001 fra.me.REG[4] = fra.me.REG[4];
1002 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1003 }
1004 }
1005 /* ./native_interface//ni_metamodel.nit:134 */
1006 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1007 if (UNTAG_Bool(REGB0)) {
1008 } else {
1009 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1010 if (UNTAG_Bool(REGB1)) {
1011 REGB1 = TAG_Bool(false);
1012 REGB0 = REGB1;
1013 } else {
1014 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1015 REGB0 = REGB1;
1016 }
1017 }
1018 if (UNTAG_Bool(REGB0)) {
1019 /* ./native_interface//ni_metamodel.nit:135 */
1020 fra.me.REG[4] = CALL_primitive_info___MMMethod___friendly_extern_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
1021 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1022 } else {
1023 /* ./native_interface//ni_metamodel.nit:137 */
1024 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1025 }
1026 /* ./native_interface//ni_metamodel.nit:141 */
1027 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMMethod___friendly_cparams(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
1028 /* ./native_interface//ni_metamodel.nit:143 */
1029 REGB0 = TAG_Int(3);
1030 fra.me.REG[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1031 if (!once_value_6) {
1032 fra.me.REG[1] = BOX_NativeString("( ");
1033 REGB0 = TAG_Int(2);
1034 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1035 once_value_6 = fra.me.REG[1];
1036 register_static_object(&once_value_6);
1037 } else fra.me.REG[1] = once_value_6;
1038 fra.me.REG[1] = fra.me.REG[1];
1039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1040 if (!once_value_7) {
1041 fra.me.REG[1] = BOX_NativeString(", ");
1042 REGB0 = TAG_Int(2);
1043 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1044 once_value_7 = fra.me.REG[1];
1045 register_static_object(&once_value_7);
1046 } else fra.me.REG[1] = once_value_7;
1047 fra.me.REG[1] = fra.me.REG[1];
1048 fra.me.REG[1] = CALL_standard___string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1050 if (!once_value_8) {
1051 fra.me.REG[1] = BOX_NativeString(" )");
1052 REGB0 = TAG_Int(2);
1053 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1054 once_value_8 = fra.me.REG[1];
1055 register_static_object(&once_value_8);
1056 } else fra.me.REG[1] = once_value_8;
1057 fra.me.REG[1] = fra.me.REG[1];
1058 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1059 fra.me.REG[0] = CALL_standard___string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
1060 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
1061 /* ./native_interface//ni_metamodel.nit:145 */
1062 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
1063 goto label9;
1064 label9: while(0);
1065 stack_frame_head = fra.me.prev;
1066 return fra.me.REG[3];
1067 }
1068 val_t native_interface___ni_metamodel___MMMethod___friendly_csignature(val_t p0, val_t p1){
1069 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1070 val_t tmp;
1071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1072 fra.me.file = LOCATE_native_interface___ni_metamodel;
1073 fra.me.line = 148;
1074 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___friendly_csignature;
1075 fra.me.has_broke = 0;
1076 fra.me.REG_size = 2;
1077 fra.me.REG[0] = NIT_NULL;
1078 fra.me.REG[1] = NIT_NULL;
1079 fra.me.REG[0] = p0;
1080 fra.me.REG[1] = p1;
1081 /* ./native_interface//ni_metamodel.nit:150 */
1082 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMMethod___csignature_with_name(fra.me.REG[0])(fra.me.REG[0], NIT_NULL, fra.me.REG[1]);
1083 goto label1;
1084 label1: while(0);
1085 stack_frame_head = fra.me.prev;
1086 return fra.me.REG[1];
1087 }
1088 val_t native_interface___ni_metamodel___MMMethod___frontier_csignature_from(val_t p0, val_t p1, val_t p2){
1089 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1090 val_t tmp;
1091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1092 fra.me.file = LOCATE_native_interface___ni_metamodel;
1093 fra.me.line = 153;
1094 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___frontier_csignature_from;
1095 fra.me.has_broke = 0;
1096 fra.me.REG_size = 3;
1097 fra.me.REG[0] = NIT_NULL;
1098 fra.me.REG[1] = NIT_NULL;
1099 fra.me.REG[2] = NIT_NULL;
1100 fra.me.REG[0] = p0;
1101 fra.me.REG[1] = p1;
1102 fra.me.REG[2] = p2;
1103 /* ./native_interface//ni_metamodel.nit:155 */
1104 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMMethod___local_friendly_name_from(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
1105 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMMethod___csignature_with_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
1106 goto label1;
1107 label1: while(0);
1108 stack_frame_head = fra.me.prev;
1109 return fra.me.REG[2];
1110 }
1111 val_t native_interface___ni_metamodel___MMMethod___friendly_super_csignature(val_t p0){
1112 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1113 val_t REGB0;
1114 val_t tmp;
1115 static val_t once_value_1; /* Once value */
1116 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1117 fra.me.file = LOCATE_native_interface___ni_metamodel;
1118 fra.me.line = 158;
1119 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___friendly_super_csignature;
1120 fra.me.has_broke = 0;
1121 fra.me.REG_size = 3;
1122 fra.me.REG[0] = NIT_NULL;
1123 fra.me.REG[1] = NIT_NULL;
1124 fra.me.REG[2] = NIT_NULL;
1125 fra.me.REG[0] = p0;
1126 /* ./native_interface//ni_metamodel.nit:160 */
1127 if (!once_value_1) {
1128 fra.me.REG[1] = BOX_NativeString("___super");
1129 REGB0 = TAG_Int(8);
1130 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1131 once_value_1 = fra.me.REG[1];
1132 register_static_object(&once_value_1);
1133 } else fra.me.REG[1] = once_value_1;
1134 fra.me.REG[1] = fra.me.REG[1];
1135 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
1136 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMMethod___csignature_with_suffix(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
1137 goto label2;
1138 label2: while(0);
1139 stack_frame_head = fra.me.prev;
1140 return fra.me.REG[2];
1141 }
1142 val_t native_interface___ni_metamodel___MMMethod___frontier_super_csignature_from(val_t p0, val_t p1){
1143 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1144 val_t tmp;
1145 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1146 fra.me.file = LOCATE_native_interface___ni_metamodel;
1147 fra.me.line = 163;
1148 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___frontier_super_csignature_from;
1149 fra.me.has_broke = 0;
1150 fra.me.REG_size = 3;
1151 fra.me.REG[0] = NIT_NULL;
1152 fra.me.REG[1] = NIT_NULL;
1153 fra.me.REG[2] = NIT_NULL;
1154 fra.me.REG[0] = p0;
1155 fra.me.REG[1] = p1;
1156 /* ./native_interface//ni_metamodel.nit:165 */
1157 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMMethod___local_friendly_super_name_from(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1158 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
1159 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMMethod___csignature_with_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
1160 goto label1;
1161 label1: while(0);
1162 stack_frame_head = fra.me.prev;
1163 return fra.me.REG[2];
1164 }
1165 val_t native_interface___ni_metamodel___MMMethod___impl_csignature(val_t p0){
1166 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1167 val_t REGB0;
1168 val_t tmp;
1169 static val_t once_value_1; /* Once value */
1170 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1171 fra.me.file = LOCATE_native_interface___ni_metamodel;
1172 fra.me.line = 168;
1173 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___impl_csignature;
1174 fra.me.has_broke = 0;
1175 fra.me.REG_size = 3;
1176 fra.me.REG[0] = NIT_NULL;
1177 fra.me.REG[1] = NIT_NULL;
1178 fra.me.REG[2] = NIT_NULL;
1179 fra.me.REG[0] = p0;
1180 /* ./native_interface//ni_metamodel.nit:170 */
1181 if (!once_value_1) {
1182 fra.me.REG[1] = BOX_NativeString("___impl");
1183 REGB0 = TAG_Int(7);
1184 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1185 once_value_1 = fra.me.REG[1];
1186 register_static_object(&once_value_1);
1187 } else fra.me.REG[1] = once_value_1;
1188 fra.me.REG[1] = fra.me.REG[1];
1189 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
1190 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMMethod___csignature_with_suffix(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
1191 goto label2;
1192 label2: while(0);
1193 stack_frame_head = fra.me.prev;
1194 return fra.me.REG[2];
1195 }
1196 val_t native_interface___ni_metamodel___MMMethod___cparams(val_t p0){
1197 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
1198 val_t REGB0;
1199 val_t REGB1;
1200 val_t REGB2;
1201 val_t tmp;
1202 static val_t once_value_1; /* Once value */
1203 static val_t once_value_2; /* Once value */
1204 static val_t once_value_3; /* Once value */
1205 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1206 fra.me.file = LOCATE_native_interface___ni_metamodel;
1207 fra.me.line = 173;
1208 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___cparams;
1209 fra.me.has_broke = 0;
1210 fra.me.REG_size = 6;
1211 fra.me.REG[0] = NIT_NULL;
1212 fra.me.REG[1] = NIT_NULL;
1213 fra.me.REG[2] = NIT_NULL;
1214 fra.me.REG[3] = NIT_NULL;
1215 fra.me.REG[4] = NIT_NULL;
1216 fra.me.REG[5] = NIT_NULL;
1217 fra.me.REG[0] = p0;
1218 /* ./native_interface//ni_metamodel.nit:176 */
1219 fra.me.REG[1] = NEW_List_standard___collection___list___List___init();
1220 /* ./native_interface//ni_metamodel.nit:178 */
1221 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
1222 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[2])(fra.me.REG[2]);
1223 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1224 if (UNTAG_Bool(REGB0)) {
1225 /* ./native_interface//ni_metamodel.nit:179 */
1226 if (!once_value_1) {
1227 fra.me.REG[2] = BOX_NativeString("val_t recv");
1228 REGB0 = TAG_Int(10);
1229 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1230 once_value_1 = fra.me.REG[2];
1231 register_static_object(&once_value_1);
1232 } else fra.me.REG[2] = once_value_1;
1233 fra.me.REG[2] = fra.me.REG[2];
1234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1235 }
1236 /* ./native_interface//ni_metamodel.nit:182 */
1237 fra.me.REG[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
1238 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1239 if (UNTAG_Bool(REGB0)) {
1240 nit_abort("Reciever is null", NULL, LOCATE_native_interface___ni_metamodel, 182);
1241 }
1242 fra.me.REG[0] = CALL_metamodel___static_type___MMSignature___params(fra.me.REG[0])(fra.me.REG[0]);
1243 /* ./../lib/standard//collection//array.nit:269 */
1244 REGB0 = TAG_Int(0);
1245 /* ./../lib/standard//collection//array.nit:270 */
1246 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
1247 if (UNTAG_Bool(REGB1)) {
1248 } else {
1249 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
1250 }
1251 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
1252 /* ./../lib/standard//collection//array.nit:271 */
1253 fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[0]);
1254 /* ./../lib/standard//collection//array.nit:272 */
1255 while(1) {
1256 /* ./../lib/standard//collection//array.nit:24 */
1257 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
1258 if (UNTAG_Bool(REGB1)) {
1259 } else {
1260 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
1261 }
1262 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]);
1263 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1264 if (UNTAG_Bool(REGB2)) {
1265 } else {
1266 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1267 }
1268 /* ./../lib/standard//kernel.nit:232 */
1269 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1270 /* ./../lib/standard//collection//array.nit:272 */
1271 if (UNTAG_Bool(REGB1)) {
1272 /* ./../lib/standard//collection//array.nit:273 */
1273 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1274 if (UNTAG_Bool(REGB1)) {
1275 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
1276 }
1277 /* ./../lib/standard//collection//array.nit:718 */
1278 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
1279 /* ./native_interface//ni_metamodel.nit:183 */
1280 REGB1 = TAG_Int(3);
1281 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
1282 if (!once_value_2) {
1283 fra.me.REG[5] = BOX_NativeString("val_t ");
1284 REGB1 = TAG_Int(6);
1285 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB1);
1286 once_value_2 = fra.me.REG[5];
1287 register_static_object(&once_value_2);
1288 } else fra.me.REG[5] = once_value_2;
1289 fra.me.REG[5] = fra.me.REG[5];
1290 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1291 fra.me.REG[3] = CALL_metamodel___static_type___MMParam___name(fra.me.REG[3])(fra.me.REG[3]);
1292 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
1293 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1294 if (!once_value_3) {
1295 fra.me.REG[3] = BOX_NativeString("");
1296 REGB1 = TAG_Int(0);
1297 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB1);
1298 once_value_3 = fra.me.REG[3];
1299 register_static_object(&once_value_3);
1300 } else fra.me.REG[3] = once_value_3;
1301 fra.me.REG[3] = fra.me.REG[3];
1302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1303 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
1304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
1305 /* ./../lib/standard//collection//array.nit:274 */
1306 REGB1 = TAG_Int(1);
1307 /* ./../lib/standard//kernel.nit:235 */
1308 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1309 /* ./../lib/standard//collection//array.nit:274 */
1310 REGB0 = REGB1;
1311 } else {
1312 /* ./../lib/standard//collection//array.nit:272 */
1313 goto label4;
1314 }
1315 }
1316 label4: while(0);
1317 /* ./native_interface//ni_metamodel.nit:186 */
1318 goto label5;
1319 label5: while(0);
1320 stack_frame_head = fra.me.prev;
1321 return fra.me.REG[1];
1322 }
1323 val_t native_interface___ni_metamodel___MMMethod___out_csignature(val_t p0){
1324 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1325 val_t REGB0;
1326 val_t REGB1;
1327 val_t tmp;
1328 static val_t once_value_1; /* Once value */
1329 static val_t once_value_2; /* Once value */
1330 static val_t once_value_3; /* Once value */
1331 static val_t once_value_4; /* Once value */
1332 static val_t once_value_5; /* Once value */
1333 static val_t once_value_6; /* Once value */
1334 static val_t once_value_7; /* Once value */
1335 static val_t once_value_8; /* Once value */
1336 static val_t once_value_9; /* Once value */
1337 static val_t once_value_10; /* Once value */
1338 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1339 fra.me.file = LOCATE_native_interface___ni_metamodel;
1340 fra.me.line = 189;
1341 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMMethod___out_csignature;
1342 fra.me.has_broke = 0;
1343 fra.me.REG_size = 4;
1344 fra.me.REG[0] = NIT_NULL;
1345 fra.me.REG[1] = NIT_NULL;
1346 fra.me.REG[2] = NIT_NULL;
1347 fra.me.REG[3] = NIT_NULL;
1348 fra.me.REG[0] = p0;
1349 /* ./native_interface//ni_metamodel.nit:191 */
1350 fra.me.REG[1] = NEW_Buffer_standard___string___Buffer___init();
1351 /* ./native_interface//ni_metamodel.nit:194 */
1352 fra.me.REG[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
1353 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1354 if (UNTAG_Bool(REGB0)) {
1355 nit_abort("Reciever is null", NULL, LOCATE_native_interface___ni_metamodel, 194);
1356 }
1357 fra.me.REG[2] = CALL_metamodel___static_type___MMSignature___return_type(fra.me.REG[2])(fra.me.REG[2]);
1358 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1359 if (UNTAG_Bool(REGB0)) {
1360 } else {
1361 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1362 if (UNTAG_Bool(REGB1)) {
1363 REGB1 = TAG_Bool(false);
1364 REGB0 = REGB1;
1365 } else {
1366 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1367 REGB0 = REGB1;
1368 }
1369 }
1370 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1371 if (UNTAG_Bool(REGB0)) {
1372 REGB0 = TAG_Bool(true);
1373 } else {
1374 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
1375 REGB1 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[2])(fra.me.REG[2]);
1376 REGB0 = REGB1;
1377 }
1378 if (UNTAG_Bool(REGB0)) {
1379 /* ./native_interface//ni_metamodel.nit:195 */
1380 if (!once_value_1) {
1381 fra.me.REG[2] = BOX_NativeString("val_t ");
1382 REGB0 = TAG_Int(6);
1383 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1384 once_value_1 = fra.me.REG[2];
1385 register_static_object(&once_value_1);
1386 } else fra.me.REG[2] = once_value_1;
1387 fra.me.REG[2] = fra.me.REG[2];
1388 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1389 } else {
1390 /* ./native_interface//ni_metamodel.nit:197 */
1391 if (!once_value_2) {
1392 fra.me.REG[2] = BOX_NativeString("void ");
1393 REGB0 = TAG_Int(5);
1394 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1395 once_value_2 = fra.me.REG[2];
1396 register_static_object(&once_value_2);
1397 } else fra.me.REG[2] = once_value_2;
1398 fra.me.REG[2] = fra.me.REG[2];
1399 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1400 }
1401 /* ./native_interface//ni_metamodel.nit:201 */
1402 fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
1403 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[2])(fra.me.REG[2]);
1404 if (UNTAG_Bool(REGB0)) {
1405 /* ./native_interface//ni_metamodel.nit:202 */
1406 REGB0 = TAG_Int(5);
1407 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1408 if (!once_value_3) {
1409 fra.me.REG[3] = BOX_NativeString("NEW_");
1410 REGB0 = TAG_Int(4);
1411 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1412 once_value_3 = fra.me.REG[3];
1413 register_static_object(&once_value_3);
1414 } else fra.me.REG[3] = once_value_3;
1415 fra.me.REG[3] = fra.me.REG[3];
1416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1417 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
1418 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
1419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1420 if (!once_value_4) {
1421 fra.me.REG[3] = BOX_NativeString("_");
1422 REGB0 = TAG_Int(1);
1423 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1424 once_value_4 = fra.me.REG[3];
1425 register_static_object(&once_value_4);
1426 } else fra.me.REG[3] = once_value_4;
1427 fra.me.REG[3] = fra.me.REG[3];
1428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1429 fra.me.REG[3] = CALL_compiling___compiling_base___MMLocalProperty___cname(fra.me.REG[0])(fra.me.REG[0]);
1430 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1431 if (!once_value_5) {
1432 fra.me.REG[3] = BOX_NativeString("");
1433 REGB0 = TAG_Int(0);
1434 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1435 once_value_5 = fra.me.REG[3];
1436 register_static_object(&once_value_5);
1437 } else fra.me.REG[3] = once_value_5;
1438 fra.me.REG[3] = fra.me.REG[3];
1439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1440 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1441 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1442 } else {
1443 /* ./native_interface//ni_metamodel.nit:204 */
1444 REGB0 = TAG_Int(3);
1445 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1446 if (!once_value_6) {
1447 fra.me.REG[3] = BOX_NativeString("");
1448 REGB0 = TAG_Int(0);
1449 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1450 once_value_6 = fra.me.REG[3];
1451 register_static_object(&once_value_6);
1452 } else fra.me.REG[3] = once_value_6;
1453 fra.me.REG[3] = fra.me.REG[3];
1454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1455 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
1456 fra.me.REG[3] = CALL_primitive_info___MMMethod___friendly_extern_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1458 if (!once_value_7) {
1459 fra.me.REG[3] = BOX_NativeString("___out");
1460 REGB0 = TAG_Int(6);
1461 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1462 once_value_7 = fra.me.REG[3];
1463 register_static_object(&once_value_7);
1464 } else fra.me.REG[3] = once_value_7;
1465 fra.me.REG[3] = fra.me.REG[3];
1466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1467 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1468 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1469 }
1470 /* ./native_interface//ni_metamodel.nit:208 */
1471 REGB0 = TAG_Int(3);
1472 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1473 if (!once_value_8) {
1474 fra.me.REG[3] = BOX_NativeString("( ");
1475 REGB0 = TAG_Int(2);
1476 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1477 once_value_8 = fra.me.REG[3];
1478 register_static_object(&once_value_8);
1479 } else fra.me.REG[3] = once_value_8;
1480 fra.me.REG[3] = fra.me.REG[3];
1481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1482 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMMethod___cparams(fra.me.REG[0])(fra.me.REG[0]);
1483 if (!once_value_9) {
1484 fra.me.REG[3] = BOX_NativeString(", ");
1485 REGB0 = TAG_Int(2);
1486 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1487 once_value_9 = fra.me.REG[3];
1488 register_static_object(&once_value_9);
1489 } else fra.me.REG[3] = once_value_9;
1490 fra.me.REG[3] = fra.me.REG[3];
1491 fra.me.REG[3] = CALL_standard___string___Collection___join(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
1492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1493 if (!once_value_10) {
1494 fra.me.REG[3] = BOX_NativeString(" )");
1495 REGB0 = TAG_Int(2);
1496 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1497 once_value_10 = fra.me.REG[3];
1498 register_static_object(&once_value_10);
1499 } else fra.me.REG[3] = once_value_10;
1500 fra.me.REG[3] = fra.me.REG[3];
1501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1502 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1503 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1504 /* ./native_interface//ni_metamodel.nit:210 */
1505 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1506 goto label11;
1507 label11: while(0);
1508 stack_frame_head = fra.me.prev;
1509 return fra.me.REG[1];
1510 }
1511 val_t native_interface___ni_metamodel___MMImportedCast___in_name(val_t p0){
1512 struct {struct stack_frame_t me;} fra;
1513 val_t REGB0;
1514 val_t tmp;
1515 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1516 fra.me.file = LOCATE_native_interface___ni_metamodel;
1517 fra.me.line = 216;
1518 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___in_name;
1519 fra.me.has_broke = 0;
1520 fra.me.REG_size = 1;
1521 fra.me.REG[0] = NIT_NULL;
1522 fra.me.REG[0] = p0;
1523 /* ./native_interface//ni_metamodel.nit:216 */
1524 REGB0 = TAG_Bool(ATTR_native_interface___ni_metamodel___MMImportedCast_____atin_name(fra.me.REG[0])!=NIT_NULL);
1525 if (UNTAG_Bool(REGB0)) {
1526 } else {
1527 nit_abort("Uninitialized attribute %s", "@in_name", LOCATE_native_interface___ni_metamodel, 216);
1528 }
1529 fra.me.REG[0] = ATTR_native_interface___ni_metamodel___MMImportedCast_____atin_name(fra.me.REG[0]);
1530 stack_frame_head = fra.me.prev;
1531 return fra.me.REG[0];
1532 }
1533 void native_interface___ni_metamodel___MMImportedCast___in_name__eq(val_t p0, val_t p1){
1534 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1535 val_t tmp;
1536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1537 fra.me.file = LOCATE_native_interface___ni_metamodel;
1538 fra.me.line = 216;
1539 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___in_name__eq;
1540 fra.me.has_broke = 0;
1541 fra.me.REG_size = 2;
1542 fra.me.REG[0] = NIT_NULL;
1543 fra.me.REG[1] = NIT_NULL;
1544 fra.me.REG[0] = p0;
1545 fra.me.REG[1] = p1;
1546 /* ./native_interface//ni_metamodel.nit:216 */
1547 ATTR_native_interface___ni_metamodel___MMImportedCast_____atin_name(fra.me.REG[0]) = fra.me.REG[1];
1548 stack_frame_head = fra.me.prev;
1549 return;
1550 }
1551 val_t native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name(val_t p0){
1552 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1553 val_t REGB0;
1554 val_t tmp;
1555 static val_t once_value_1; /* Once value */
1556 static val_t once_value_2; /* Once value */
1557 static val_t once_value_4; /* Once value */
1558 static val_t once_value_5; /* Once value */
1559 static val_t once_value_6; /* Once value */
1560 static val_t once_value_7; /* Once value */
1561 static val_t once_value_8; /* Once value */
1562 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1563 fra.me.file = LOCATE_native_interface___ni_metamodel;
1564 fra.me.line = 218;
1565 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name;
1566 fra.me.has_broke = 0;
1567 fra.me.REG_size = 4;
1568 fra.me.REG[0] = NIT_NULL;
1569 fra.me.REG[1] = NIT_NULL;
1570 fra.me.REG[2] = NIT_NULL;
1571 fra.me.REG[3] = NIT_NULL;
1572 fra.me.REG[0] = p0;
1573 /* ./native_interface//ni_metamodel.nit:219 */
1574 REGB0 = CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra.me.REG[0])(fra.me.REG[0]);
1575 if (UNTAG_Bool(REGB0)) {
1576 /* ./native_interface//ni_metamodel.nit:220 */
1577 REGB0 = CALL_metamodel___static_type___MMImportedCast___is_not_null_to_nullable(fra.me.REG[0])(fra.me.REG[0]);
1578 if (UNTAG_Bool(REGB0)) {
1579 /* ./native_interface//ni_metamodel.nit:222 */
1580 REGB0 = TAG_Int(3);
1581 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1582 if (!once_value_1) {
1583 fra.me.REG[2] = BOX_NativeString("");
1584 REGB0 = TAG_Int(0);
1585 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1586 once_value_1 = fra.me.REG[2];
1587 register_static_object(&once_value_1);
1588 } else fra.me.REG[2] = once_value_1;
1589 fra.me.REG[2] = fra.me.REG[2];
1590 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1591 fra.me.REG[2] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
1592 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[2])(fra.me.REG[2]);
1593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1594 if (!once_value_2) {
1595 fra.me.REG[2] = BOX_NativeString("_as_nullable");
1596 REGB0 = TAG_Int(12);
1597 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1598 once_value_2 = fra.me.REG[2];
1599 register_static_object(&once_value_2);
1600 } else fra.me.REG[2] = once_value_2;
1601 fra.me.REG[2] = fra.me.REG[2];
1602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1603 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1604 goto label3;
1605 } else {
1606 /* ./native_interface//ni_metamodel.nit:223 */
1607 REGB0 = CALL_metamodel___static_type___MMImportedCast___is_nullable_to_not_null(fra.me.REG[0])(fra.me.REG[0]);
1608 if (UNTAG_Bool(REGB0)) {
1609 /* ./native_interface//ni_metamodel.nit:225 */
1610 REGB0 = TAG_Int(3);
1611 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1612 if (!once_value_4) {
1613 fra.me.REG[3] = BOX_NativeString("");
1614 REGB0 = TAG_Int(0);
1615 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1616 once_value_4 = fra.me.REG[3];
1617 register_static_object(&once_value_4);
1618 } else fra.me.REG[3] = once_value_4;
1619 fra.me.REG[3] = fra.me.REG[3];
1620 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1621 fra.me.REG[3] = CALL_metamodel___static_type___MMImportedCast___to(fra.me.REG[0])(fra.me.REG[0]);
1622 fra.me.REG[3] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[3])(fra.me.REG[3]);
1623 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1624 if (!once_value_5) {
1625 fra.me.REG[3] = BOX_NativeString("_as_not_null");
1626 REGB0 = TAG_Int(12);
1627 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1628 once_value_5 = fra.me.REG[3];
1629 register_static_object(&once_value_5);
1630 } else fra.me.REG[3] = once_value_5;
1631 fra.me.REG[3] = fra.me.REG[3];
1632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1633 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1634 fra.me.REG[1] = fra.me.REG[2];
1635 goto label3;
1636 } else {
1637 /* ./native_interface//ni_metamodel.nit:227 */
1638 nit_abort("Aborted", NULL, LOCATE_native_interface___ni_metamodel, 227);
1639 }
1640 }
1641 } else {
1642 /* ./native_interface//ni_metamodel.nit:231 */
1643 REGB0 = TAG_Int(5);
1644 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1645 if (!once_value_6) {
1646 fra.me.REG[3] = BOX_NativeString("");
1647 REGB0 = TAG_Int(0);
1648 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1649 once_value_6 = fra.me.REG[3];
1650 register_static_object(&once_value_6);
1651 } else fra.me.REG[3] = once_value_6;
1652 fra.me.REG[3] = fra.me.REG[3];
1653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1654 fra.me.REG[3] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
1655 fra.me.REG[3] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[3])(fra.me.REG[3]);
1656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1657 if (!once_value_7) {
1658 fra.me.REG[3] = BOX_NativeString("_as_");
1659 REGB0 = TAG_Int(4);
1660 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1661 once_value_7 = fra.me.REG[3];
1662 register_static_object(&once_value_7);
1663 } else fra.me.REG[3] = once_value_7;
1664 fra.me.REG[3] = fra.me.REG[3];
1665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1666 fra.me.REG[0] = CALL_metamodel___static_type___MMImportedCast___to(fra.me.REG[0])(fra.me.REG[0]);
1667 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[0])(fra.me.REG[0]);
1668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1669 if (!once_value_8) {
1670 fra.me.REG[0] = BOX_NativeString("");
1671 REGB0 = TAG_Int(0);
1672 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1673 once_value_8 = fra.me.REG[0];
1674 register_static_object(&once_value_8);
1675 } else fra.me.REG[0] = once_value_8;
1676 fra.me.REG[0] = fra.me.REG[0];
1677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1678 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1679 fra.me.REG[1] = fra.me.REG[2];
1680 goto label3;
1681 }
1682 label3: while(0);
1683 stack_frame_head = fra.me.prev;
1684 return fra.me.REG[1];
1685 }
1686 val_t native_interface___ni_metamodel___MMImportedCast___as_local_cname(val_t p0, val_t p1){
1687 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1688 val_t REGB0;
1689 val_t tmp;
1690 static val_t once_value_1; /* Once value */
1691 static val_t once_value_2; /* Once value */
1692 static val_t once_value_3; /* Once value */
1693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1694 fra.me.file = LOCATE_native_interface___ni_metamodel;
1695 fra.me.line = 235;
1696 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___as_local_cname;
1697 fra.me.has_broke = 0;
1698 fra.me.REG_size = 4;
1699 fra.me.REG[0] = NIT_NULL;
1700 fra.me.REG[1] = NIT_NULL;
1701 fra.me.REG[2] = NIT_NULL;
1702 fra.me.REG[3] = NIT_NULL;
1703 fra.me.REG[0] = p0;
1704 fra.me.REG[1] = p1;
1705 /* ./native_interface//ni_metamodel.nit:236 */
1706 REGB0 = TAG_Int(5);
1707 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1708 if (!once_value_1) {
1709 fra.me.REG[3] = BOX_NativeString("");
1710 REGB0 = TAG_Int(0);
1711 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1712 once_value_1 = fra.me.REG[3];
1713 register_static_object(&once_value_1);
1714 } else fra.me.REG[3] = once_value_1;
1715 fra.me.REG[3] = fra.me.REG[3];
1716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1717 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1718 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1719 if (!once_value_2) {
1720 fra.me.REG[1] = BOX_NativeString("_");
1721 REGB0 = TAG_Int(1);
1722 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1723 once_value_2 = fra.me.REG[1];
1724 register_static_object(&once_value_2);
1725 } else fra.me.REG[1] = once_value_2;
1726 fra.me.REG[1] = fra.me.REG[1];
1727 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1728 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name(fra.me.REG[0])(fra.me.REG[0]);
1729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1730 if (!once_value_3) {
1731 fra.me.REG[0] = BOX_NativeString("");
1732 REGB0 = TAG_Int(0);
1733 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1734 once_value_3 = fra.me.REG[0];
1735 register_static_object(&once_value_3);
1736 } else fra.me.REG[0] = once_value_3;
1737 fra.me.REG[0] = fra.me.REG[0];
1738 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1739 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1740 goto label4;
1741 label4: while(0);
1742 stack_frame_head = fra.me.prev;
1743 return fra.me.REG[2];
1744 }
1745 val_t native_interface___ni_metamodel___MMImportedCast___as_local_csignature(val_t p0, val_t p1){
1746 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1747 val_t REGB0;
1748 val_t tmp;
1749 static val_t once_value_1; /* Once value */
1750 static val_t once_value_2; /* Once value */
1751 static val_t once_value_3; /* Once value */
1752 static val_t once_value_4; /* Once value */
1753 static val_t once_value_5; /* Once value */
1754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1755 fra.me.file = LOCATE_native_interface___ni_metamodel;
1756 fra.me.line = 239;
1757 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___as_local_csignature;
1758 fra.me.has_broke = 0;
1759 fra.me.REG_size = 4;
1760 fra.me.REG[0] = NIT_NULL;
1761 fra.me.REG[1] = NIT_NULL;
1762 fra.me.REG[2] = NIT_NULL;
1763 fra.me.REG[3] = NIT_NULL;
1764 fra.me.REG[0] = p0;
1765 fra.me.REG[1] = p1;
1766 /* ./native_interface//ni_metamodel.nit:241 */
1767 REGB0 = TAG_Int(9);
1768 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1769 if (!once_value_1) {
1770 fra.me.REG[3] = BOX_NativeString("");
1771 REGB0 = TAG_Int(0);
1772 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1773 once_value_1 = fra.me.REG[3];
1774 register_static_object(&once_value_1);
1775 } else fra.me.REG[3] = once_value_1;
1776 fra.me.REG[3] = fra.me.REG[3];
1777 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1778 fra.me.REG[3] = CALL_metamodel___static_type___MMImportedCast___to(fra.me.REG[0])(fra.me.REG[0]);
1779 fra.me.REG[3] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[3])(fra.me.REG[3]);
1780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1781 if (!once_value_2) {
1782 fra.me.REG[3] = BOX_NativeString(" ");
1783 REGB0 = TAG_Int(1);
1784 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1785 once_value_2 = fra.me.REG[3];
1786 register_static_object(&once_value_2);
1787 } else fra.me.REG[3] = once_value_2;
1788 fra.me.REG[3] = fra.me.REG[3];
1789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1790 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMImportedCast___as_local_cname(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1792 if (!once_value_3) {
1793 fra.me.REG[1] = BOX_NativeString("( ");
1794 REGB0 = TAG_Int(2);
1795 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1796 once_value_3 = fra.me.REG[1];
1797 register_static_object(&once_value_3);
1798 } else fra.me.REG[1] = once_value_3;
1799 fra.me.REG[1] = fra.me.REG[1];
1800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1801 fra.me.REG[1] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
1802 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[1])(fra.me.REG[1]);
1803 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1804 if (!once_value_4) {
1805 fra.me.REG[1] = BOX_NativeString(" ");
1806 REGB0 = TAG_Int(1);
1807 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
1808 once_value_4 = fra.me.REG[1];
1809 register_static_object(&once_value_4);
1810 } else fra.me.REG[1] = once_value_4;
1811 fra.me.REG[1] = fra.me.REG[1];
1812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1813 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra.me.REG[0])(fra.me.REG[0]);
1814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1815 if (!once_value_5) {
1816 fra.me.REG[0] = BOX_NativeString(" )");
1817 REGB0 = TAG_Int(2);
1818 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1819 once_value_5 = fra.me.REG[0];
1820 register_static_object(&once_value_5);
1821 } else fra.me.REG[0] = once_value_5;
1822 fra.me.REG[0] = fra.me.REG[0];
1823 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1824 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1825 goto label6;
1826 label6: while(0);
1827 stack_frame_head = fra.me.prev;
1828 return fra.me.REG[2];
1829 }
1830 val_t native_interface___ni_metamodel___MMImportedCast___as_friendly_csignature(val_t p0){
1831 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1832 val_t REGB0;
1833 val_t tmp;
1834 static val_t once_value_1; /* Once value */
1835 static val_t once_value_2; /* Once value */
1836 static val_t once_value_3; /* Once value */
1837 static val_t once_value_4; /* Once value */
1838 static val_t once_value_5; /* Once value */
1839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1840 fra.me.file = LOCATE_native_interface___ni_metamodel;
1841 fra.me.line = 244;
1842 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___as_friendly_csignature;
1843 fra.me.has_broke = 0;
1844 fra.me.REG_size = 3;
1845 fra.me.REG[0] = NIT_NULL;
1846 fra.me.REG[1] = NIT_NULL;
1847 fra.me.REG[2] = NIT_NULL;
1848 fra.me.REG[0] = p0;
1849 /* ./native_interface//ni_metamodel.nit:246 */
1850 REGB0 = TAG_Int(9);
1851 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1852 if (!once_value_1) {
1853 fra.me.REG[2] = BOX_NativeString("");
1854 REGB0 = TAG_Int(0);
1855 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1856 once_value_1 = fra.me.REG[2];
1857 register_static_object(&once_value_1);
1858 } else fra.me.REG[2] = once_value_1;
1859 fra.me.REG[2] = fra.me.REG[2];
1860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1861 fra.me.REG[2] = CALL_metamodel___static_type___MMImportedCast___to(fra.me.REG[0])(fra.me.REG[0]);
1862 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[2])(fra.me.REG[2]);
1863 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1864 if (!once_value_2) {
1865 fra.me.REG[2] = BOX_NativeString(" ");
1866 REGB0 = TAG_Int(1);
1867 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1868 once_value_2 = fra.me.REG[2];
1869 register_static_object(&once_value_2);
1870 } else fra.me.REG[2] = once_value_2;
1871 fra.me.REG[2] = fra.me.REG[2];
1872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1873 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMImportedCast___as_friendly_extern_name(fra.me.REG[0])(fra.me.REG[0]);
1874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1875 if (!once_value_3) {
1876 fra.me.REG[2] = BOX_NativeString("( ");
1877 REGB0 = TAG_Int(2);
1878 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1879 once_value_3 = fra.me.REG[2];
1880 register_static_object(&once_value_3);
1881 } else fra.me.REG[2] = once_value_3;
1882 fra.me.REG[2] = fra.me.REG[2];
1883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1884 fra.me.REG[2] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
1885 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[2])(fra.me.REG[2]);
1886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1887 if (!once_value_4) {
1888 fra.me.REG[2] = BOX_NativeString(" ");
1889 REGB0 = TAG_Int(1);
1890 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1891 once_value_4 = fra.me.REG[2];
1892 register_static_object(&once_value_4);
1893 } else fra.me.REG[2] = once_value_4;
1894 fra.me.REG[2] = fra.me.REG[2];
1895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1896 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra.me.REG[0])(fra.me.REG[0]);
1897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1898 if (!once_value_5) {
1899 fra.me.REG[0] = BOX_NativeString(" )");
1900 REGB0 = TAG_Int(2);
1901 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
1902 once_value_5 = fra.me.REG[0];
1903 register_static_object(&once_value_5);
1904 } else fra.me.REG[0] = once_value_5;
1905 fra.me.REG[0] = fra.me.REG[0];
1906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1907 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1908 goto label6;
1909 label6: while(0);
1910 stack_frame_head = fra.me.prev;
1911 return fra.me.REG[1];
1912 }
1913 val_t native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name(val_t p0){
1914 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1915 val_t REGB0;
1916 val_t tmp;
1917 static val_t once_value_1; /* Once value */
1918 static val_t once_value_2; /* Once value */
1919 static val_t once_value_4; /* Once value */
1920 static val_t once_value_5; /* Once value */
1921 static val_t once_value_6; /* Once value */
1922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1923 fra.me.file = LOCATE_native_interface___ni_metamodel;
1924 fra.me.line = 249;
1925 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name;
1926 fra.me.has_broke = 0;
1927 fra.me.REG_size = 4;
1928 fra.me.REG[0] = NIT_NULL;
1929 fra.me.REG[1] = NIT_NULL;
1930 fra.me.REG[2] = NIT_NULL;
1931 fra.me.REG[3] = NIT_NULL;
1932 fra.me.REG[0] = p0;
1933 /* ./native_interface//ni_metamodel.nit:250 */
1934 REGB0 = CALL_metamodel___static_type___MMImportedCast___is_about_nullable_only(fra.me.REG[0])(fra.me.REG[0]);
1935 if (UNTAG_Bool(REGB0)) {
1936 /* ./native_interface//ni_metamodel.nit:251 */
1937 REGB0 = CALL_metamodel___static_type___MMImportedCast___is_not_null_to_nullable(fra.me.REG[0])(fra.me.REG[0]);
1938 if (UNTAG_Bool(REGB0)) {
1939 /* ./native_interface//ni_metamodel.nit:252 */
1940 nit_abort("Aborted", NULL, LOCATE_native_interface___ni_metamodel, 252);
1941 } else {
1942 /* ./native_interface//ni_metamodel.nit:253 */
1943 REGB0 = CALL_metamodel___static_type___MMImportedCast___is_nullable_to_not_null(fra.me.REG[0])(fra.me.REG[0]);
1944 if (UNTAG_Bool(REGB0)) {
1945 /* ./native_interface//ni_metamodel.nit:256 */
1946 REGB0 = TAG_Int(3);
1947 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1948 if (!once_value_1) {
1949 fra.me.REG[2] = BOX_NativeString("");
1950 REGB0 = TAG_Int(0);
1951 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1952 once_value_1 = fra.me.REG[2];
1953 register_static_object(&once_value_1);
1954 } else fra.me.REG[2] = once_value_1;
1955 fra.me.REG[2] = fra.me.REG[2];
1956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1957 fra.me.REG[2] = CALL_metamodel___static_type___MMImportedCast___to(fra.me.REG[0])(fra.me.REG[0]);
1958 fra.me.REG[2] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[2])(fra.me.REG[2]);
1959 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1960 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1961 if (!once_value_2) {
1962 fra.me.REG[2] = BOX_NativeString("_is_null");
1963 REGB0 = TAG_Int(8);
1964 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
1965 once_value_2 = fra.me.REG[2];
1966 register_static_object(&once_value_2);
1967 } else fra.me.REG[2] = once_value_2;
1968 fra.me.REG[2] = fra.me.REG[2];
1969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1970 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1971 goto label3;
1972 } else {
1973 /* ./native_interface//ni_metamodel.nit:258 */
1974 nit_abort("Aborted", NULL, LOCATE_native_interface___ni_metamodel, 258);
1975 }
1976 }
1977 } else {
1978 /* ./native_interface//ni_metamodel.nit:262 */
1979 REGB0 = TAG_Int(5);
1980 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
1981 if (!once_value_4) {
1982 fra.me.REG[3] = BOX_NativeString("");
1983 REGB0 = TAG_Int(0);
1984 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1985 once_value_4 = fra.me.REG[3];
1986 register_static_object(&once_value_4);
1987 } else fra.me.REG[3] = once_value_4;
1988 fra.me.REG[3] = fra.me.REG[3];
1989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1990 fra.me.REG[3] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
1991 fra.me.REG[3] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[3])(fra.me.REG[3]);
1992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1993 if (!once_value_5) {
1994 fra.me.REG[3] = BOX_NativeString("_is_a_");
1995 REGB0 = TAG_Int(6);
1996 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
1997 once_value_5 = fra.me.REG[3];
1998 register_static_object(&once_value_5);
1999 } else fra.me.REG[3] = once_value_5;
2000 fra.me.REG[3] = fra.me.REG[3];
2001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2002 fra.me.REG[0] = CALL_metamodel___static_type___MMImportedCast___to(fra.me.REG[0])(fra.me.REG[0]);
2003 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[0])(fra.me.REG[0]);
2004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2005 if (!once_value_6) {
2006 fra.me.REG[0] = BOX_NativeString("");
2007 REGB0 = TAG_Int(0);
2008 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2009 once_value_6 = fra.me.REG[0];
2010 register_static_object(&once_value_6);
2011 } else fra.me.REG[0] = once_value_6;
2012 fra.me.REG[0] = fra.me.REG[0];
2013 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2014 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2015 fra.me.REG[1] = fra.me.REG[2];
2016 goto label3;
2017 }
2018 label3: while(0);
2019 stack_frame_head = fra.me.prev;
2020 return fra.me.REG[1];
2021 }
2022 val_t native_interface___ni_metamodel___MMImportedCast___is_a_local_cname(val_t p0, val_t p1){
2023 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2024 val_t REGB0;
2025 val_t tmp;
2026 static val_t once_value_1; /* Once value */
2027 static val_t once_value_2; /* Once value */
2028 static val_t once_value_3; /* Once value */
2029 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2030 fra.me.file = LOCATE_native_interface___ni_metamodel;
2031 fra.me.line = 266;
2032 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___is_a_local_cname;
2033 fra.me.has_broke = 0;
2034 fra.me.REG_size = 4;
2035 fra.me.REG[0] = NIT_NULL;
2036 fra.me.REG[1] = NIT_NULL;
2037 fra.me.REG[2] = NIT_NULL;
2038 fra.me.REG[3] = NIT_NULL;
2039 fra.me.REG[0] = p0;
2040 fra.me.REG[1] = p1;
2041 /* ./native_interface//ni_metamodel.nit:267 */
2042 REGB0 = TAG_Int(5);
2043 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2044 if (!once_value_1) {
2045 fra.me.REG[3] = BOX_NativeString("");
2046 REGB0 = TAG_Int(0);
2047 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
2048 once_value_1 = fra.me.REG[3];
2049 register_static_object(&once_value_1);
2050 } else fra.me.REG[3] = once_value_1;
2051 fra.me.REG[3] = fra.me.REG[3];
2052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2053 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
2055 if (!once_value_2) {
2056 fra.me.REG[1] = BOX_NativeString("_");
2057 REGB0 = TAG_Int(1);
2058 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2059 once_value_2 = fra.me.REG[1];
2060 register_static_object(&once_value_2);
2061 } else fra.me.REG[1] = once_value_2;
2062 fra.me.REG[1] = fra.me.REG[1];
2063 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
2064 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra.me.REG[0])(fra.me.REG[0]);
2065 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2066 if (!once_value_3) {
2067 fra.me.REG[0] = BOX_NativeString("");
2068 REGB0 = TAG_Int(0);
2069 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2070 once_value_3 = fra.me.REG[0];
2071 register_static_object(&once_value_3);
2072 } else fra.me.REG[0] = once_value_3;
2073 fra.me.REG[0] = fra.me.REG[0];
2074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2075 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2076 goto label4;
2077 label4: while(0);
2078 stack_frame_head = fra.me.prev;
2079 return fra.me.REG[2];
2080 }
2081 val_t native_interface___ni_metamodel___MMImportedCast___is_a_local_csignature(val_t p0, val_t p1){
2082 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2083 val_t REGB0;
2084 val_t tmp;
2085 static val_t once_value_1; /* Once value */
2086 static val_t once_value_2; /* Once value */
2087 static val_t once_value_3; /* Once value */
2088 static val_t once_value_4; /* Once value */
2089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2090 fra.me.file = LOCATE_native_interface___ni_metamodel;
2091 fra.me.line = 270;
2092 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___is_a_local_csignature;
2093 fra.me.has_broke = 0;
2094 fra.me.REG_size = 4;
2095 fra.me.REG[0] = NIT_NULL;
2096 fra.me.REG[1] = NIT_NULL;
2097 fra.me.REG[2] = NIT_NULL;
2098 fra.me.REG[3] = NIT_NULL;
2099 fra.me.REG[0] = p0;
2100 fra.me.REG[1] = p1;
2101 /* ./native_interface//ni_metamodel.nit:274 */
2102 REGB0 = TAG_Int(7);
2103 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2104 if (!once_value_1) {
2105 fra.me.REG[3] = BOX_NativeString("int ");
2106 REGB0 = TAG_Int(4);
2107 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
2108 once_value_1 = fra.me.REG[3];
2109 register_static_object(&once_value_1);
2110 } else fra.me.REG[3] = once_value_1;
2111 fra.me.REG[3] = fra.me.REG[3];
2112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2113 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_local_cname(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
2115 if (!once_value_2) {
2116 fra.me.REG[1] = BOX_NativeString("( ");
2117 REGB0 = TAG_Int(2);
2118 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2119 once_value_2 = fra.me.REG[1];
2120 register_static_object(&once_value_2);
2121 } else fra.me.REG[1] = once_value_2;
2122 fra.me.REG[1] = fra.me.REG[1];
2123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
2124 fra.me.REG[1] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
2125 fra.me.REG[1] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[1])(fra.me.REG[1]);
2126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
2127 if (!once_value_3) {
2128 fra.me.REG[1] = BOX_NativeString(" ");
2129 REGB0 = TAG_Int(1);
2130 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
2131 once_value_3 = fra.me.REG[1];
2132 register_static_object(&once_value_3);
2133 } else fra.me.REG[1] = once_value_3;
2134 fra.me.REG[1] = fra.me.REG[1];
2135 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
2136 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra.me.REG[0])(fra.me.REG[0]);
2137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2138 if (!once_value_4) {
2139 fra.me.REG[0] = BOX_NativeString(" )");
2140 REGB0 = TAG_Int(2);
2141 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2142 once_value_4 = fra.me.REG[0];
2143 register_static_object(&once_value_4);
2144 } else fra.me.REG[0] = once_value_4;
2145 fra.me.REG[0] = fra.me.REG[0];
2146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2147 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2148 goto label5;
2149 label5: while(0);
2150 stack_frame_head = fra.me.prev;
2151 return fra.me.REG[2];
2152 }
2153 val_t native_interface___ni_metamodel___MMImportedCast___is_a_friendly_csignature(val_t p0){
2154 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2155 val_t REGB0;
2156 val_t tmp;
2157 static val_t once_value_1; /* Once value */
2158 static val_t once_value_2; /* Once value */
2159 static val_t once_value_3; /* Once value */
2160 static val_t once_value_4; /* Once value */
2161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2162 fra.me.file = LOCATE_native_interface___ni_metamodel;
2163 fra.me.line = 277;
2164 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_csignature;
2165 fra.me.has_broke = 0;
2166 fra.me.REG_size = 3;
2167 fra.me.REG[0] = NIT_NULL;
2168 fra.me.REG[1] = NIT_NULL;
2169 fra.me.REG[2] = NIT_NULL;
2170 fra.me.REG[0] = p0;
2171 /* ./native_interface//ni_metamodel.nit:279 */
2172 REGB0 = TAG_Int(7);
2173 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
2174 if (!once_value_1) {
2175 fra.me.REG[2] = BOX_NativeString("int ");
2176 REGB0 = TAG_Int(4);
2177 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2178 once_value_1 = fra.me.REG[2];
2179 register_static_object(&once_value_1);
2180 } else fra.me.REG[2] = once_value_1;
2181 fra.me.REG[2] = fra.me.REG[2];
2182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2183 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMImportedCast___is_a_friendly_extern_name(fra.me.REG[0])(fra.me.REG[0]);
2184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2185 if (!once_value_2) {
2186 fra.me.REG[2] = BOX_NativeString("( ");
2187 REGB0 = TAG_Int(2);
2188 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2189 once_value_2 = fra.me.REG[2];
2190 register_static_object(&once_value_2);
2191 } else fra.me.REG[2] = once_value_2;
2192 fra.me.REG[2] = fra.me.REG[2];
2193 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2194 fra.me.REG[2] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
2195 fra.me.REG[2] = CALL_native_interface___ni_metamodel___MMType___friendly_extern_name(fra.me.REG[2])(fra.me.REG[2]);
2196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2197 if (!once_value_3) {
2198 fra.me.REG[2] = BOX_NativeString(" ");
2199 REGB0 = TAG_Int(1);
2200 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
2201 once_value_3 = fra.me.REG[2];
2202 register_static_object(&once_value_3);
2203 } else fra.me.REG[2] = once_value_3;
2204 fra.me.REG[2] = fra.me.REG[2];
2205 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2206 fra.me.REG[0] = CALL_native_interface___ni_metamodel___MMImportedCast___in_name(fra.me.REG[0])(fra.me.REG[0]);
2207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2208 if (!once_value_4) {
2209 fra.me.REG[0] = BOX_NativeString(" )");
2210 REGB0 = TAG_Int(2);
2211 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
2212 once_value_4 = fra.me.REG[0];
2213 register_static_object(&once_value_4);
2214 } else fra.me.REG[0] = once_value_4;
2215 fra.me.REG[0] = fra.me.REG[0];
2216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2217 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2218 goto label5;
2219 label5: while(0);
2220 stack_frame_head = fra.me.prev;
2221 return fra.me.REG[1];
2222 }
2223 val_t native_interface___ni_metamodel___MMImportedCast___hash(val_t p0){
2224 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2225 val_t REGB0;
2226 val_t REGB1;
2227 val_t tmp;
2228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2229 fra.me.file = LOCATE_native_interface___ni_metamodel;
2230 fra.me.line = 282;
2231 fra.me.meth = LOCATE_native_interface___ni_metamodel___MMImportedCast___hash;
2232 fra.me.has_broke = 0;
2233 fra.me.REG_size = 2;
2234 fra.me.REG[0] = NIT_NULL;
2235 fra.me.REG[1] = NIT_NULL;
2236 fra.me.REG[0] = p0;
2237 /* ./native_interface//ni_metamodel.nit:284 */
2238 fra.me.REG[1] = CALL_metamodel___static_type___MMImportedCast___from(fra.me.REG[0])(fra.me.REG[0]);
2239 REGB0 = CALL_standard___hash___Object___hash(fra.me.REG[1])(fra.me.REG[1]);
2240 fra.me.REG[0] = CALL_metamodel___static_type___MMImportedCast___to(fra.me.REG[0])(fra.me.REG[0]);
2241 REGB1 = CALL_standard___hash___Object___hash(fra.me.REG[0])(fra.me.REG[0]);
2242 /* ./../lib/standard//kernel.nit:235 */
2243 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
2244 /* ./native_interface//ni_metamodel.nit:284 */
2245 goto label1;
2246 label1: while(0);
2247 stack_frame_head = fra.me.prev;
2248 return REGB1;
2249 }