update NOTICE and LICENSE
[nit.git] / c_src / inline_methods._sep.c
1 /* This C file is generated by NIT to compile module inline_methods. */
2 #include "inline_methods._sep.h"
3 void inline_methods___InlineMethodVisitor___visit_icode(val_t p0, val_t p1){
4 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_inline_methods;
10 fra.me.line = 27;
11 fra.me.meth = LOCATE_inline_methods___InlineMethodVisitor___visit_icode;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 10;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[1] = NIT_NULL;
16 fra.me.REG[2] = NIT_NULL;
17 fra.me.REG[3] = NIT_NULL;
18 fra.me.REG[4] = NIT_NULL;
19 fra.me.REG[5] = NIT_NULL;
20 fra.me.REG[6] = NIT_NULL;
21 fra.me.REG[7] = NIT_NULL;
22 fra.me.REG[8] = NIT_NULL;
23 fra.me.REG[9] = NIT_NULL;
24 fra.me.REG[0] = p0;
25 fra.me.REG[1] = p1;
26 /* ./analysis//inline_methods.nit:27 */
27 fra.me.REG[2] = fra.me.REG[0];
28 fra.me.REG[3] = fra.me.REG[1];
29 /* ./analysis//inline_methods.nit:29 */
30 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_ICall, ID_ICall)) /*cast ICall*/;
31 if (UNTAG_Bool(REGB0)) {
32 /* ./analysis//inline_methods.nit:30 */
33 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34 if (UNTAG_Bool(REGB0)) {
35 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 30);
36 }
37 fra.me.REG[4] = CALL_icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
38 /* ./analysis//inline_methods.nit:31 */
39 fra.me.REG[4] = CALL_icode_base___MMMethod___iroutine(fra.me.REG[4])(fra.me.REG[4]);
40 /* ./analysis//inline_methods.nit:32 */
41 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
42 if (UNTAG_Bool(REGB0)) {
43 } else {
44 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45 if (UNTAG_Bool(REGB1)) {
46 REGB1 = TAG_Bool(false);
47 REGB0 = REGB1;
48 } else {
49 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
50 REGB0 = REGB1;
51 }
52 }
53 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54 if (UNTAG_Bool(REGB0)) {
55 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
56 if (UNTAG_Bool(REGB0)) {
57 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 32);
58 }
59 REGB0 = CALL_inline_methods___ICall___is_inlinable(fra.me.REG[3])(fra.me.REG[3]);
60 } else {
61 REGB1 = TAG_Bool(false);
62 REGB0 = REGB1;
63 }
64 if (UNTAG_Bool(REGB0)) {
65 /* ./analysis//inline_methods.nit:33 */
66 REGB0 = TAG_Bool(ATTR_inline_methods___InlineMethodVisitor____icb(fra.me.REG[2])!=NIT_NULL);
67 if (UNTAG_Bool(REGB0)) {
68 } else {
69 nit_abort("Uninitialized attribute %s", "_icb", LOCATE_inline_methods, 33);
70 }
71 fra.me.REG[5] = ATTR_inline_methods___InlineMethodVisitor____icb(fra.me.REG[2]);
72 /* ./analysis//inline_methods.nit:34 */
73 fra.me.REG[6] = CALL_icode_builder___ICodeBuilder___iroutine(fra.me.REG[5])(fra.me.REG[5]);
74 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[6],fra.me.REG[4]));
75 if (UNTAG_Bool(REGB0)) {
76 } else {
77 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
78 REGB0 = REGB1;
79 }
80 if (UNTAG_Bool(REGB0)) {
81 /* ./analysis//inline_methods.nit:37 */
82 fra.me.REG[6] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
83 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
84 if (UNTAG_Bool(REGB0)) {
85 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 37);
86 }
87 CALL_list___ListIterator___delete(fra.me.REG[6])(fra.me.REG[6]);
88 /* ./analysis//inline_methods.nit:38 */
89 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
90 if (UNTAG_Bool(REGB0)) {
91 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 38);
92 }
93 fra.me.REG[6] = CALL_icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
94 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
95 if (UNTAG_Bool(REGB0)) {
96 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 38);
97 }
98 fra.me.REG[7] = CALL_icode_base___ICodeN___exprs(fra.me.REG[3])(fra.me.REG[3]);
99 fra.me.REG[7] = NEW_IStaticCall_icode_base___IStaticCall___init(fra.me.REG[6], fra.me.REG[7]);
100 /* ./analysis//inline_methods.nit:39 */
101 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
102 if (UNTAG_Bool(REGB0)) {
103 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 39);
104 }
105 fra.me.REG[6] = CALL_icode_base___ICodeN___closure_defs(fra.me.REG[3])(fra.me.REG[3]);
106 CALL_icode_base___ICodeN___closure_defs__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
107 /* ./analysis//inline_methods.nit:40 */
108 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
109 if (UNTAG_Bool(REGB0)) {
110 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 40);
111 }
112 fra.me.REG[6] = CALL_icode_base___ICode___result(fra.me.REG[3])(fra.me.REG[3]);
113 CALL_icode_base___ICode___result__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
114 /* ./analysis//inline_methods.nit:41 */
115 fra.me.REG[6] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
116 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
117 if (UNTAG_Bool(REGB0)) {
118 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 41);
119 }
120 CALL_list___ListIterator___insert_before(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
121 /* ./analysis//inline_methods.nit:42 */
122 fra.me.REG[7] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
123 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
124 if (UNTAG_Bool(REGB0)) {
125 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 42);
126 }
127 CALL_list___ListIterator___delete(fra.me.REG[7])(fra.me.REG[7]);
128 } else {
129 /* ./analysis//inline_methods.nit:44 */
130 fra.me.REG[7] = NEW_ISeq_icode_base___ISeq___init();
131 /* ./analysis//inline_methods.nit:45 */
132 fra.me.REG[6] = CALL_icode_builder___ICodeBuilder___seq(fra.me.REG[5])(fra.me.REG[5]);
133 /* ./analysis//inline_methods.nit:46 */
134 CALL_icode_builder___ICodeBuilder___seq__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[7]);
135 /* ./analysis//inline_methods.nit:47 */
136 fra.me.REG[8] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
137 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
138 if (UNTAG_Bool(REGB0)) {
139 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 47);
140 }
141 CALL_list___ListIterator___insert_before(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[7]);
142 /* ./analysis//inline_methods.nit:48 */
143 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
144 if (UNTAG_Bool(REGB0)) {
145 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 48);
146 }
147 fra.me.REG[8] = CALL_icode_base___ICodeN___exprs(fra.me.REG[3])(fra.me.REG[3]);
148 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
149 if (UNTAG_Bool(REGB0)) {
150 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 48);
151 }
152 fra.me.REG[9] = CALL_icode_base___ICodeN___closure_defs(fra.me.REG[3])(fra.me.REG[3]);
153 fra.me.REG[9] = CALL_icode_tools___ICodeBuilder___inline_routine(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9]);
154 /* ./analysis//inline_methods.nit:49 */
155 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
156 if (UNTAG_Bool(REGB0)) {
157 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 49);
158 }
159 fra.me.REG[3] = CALL_icode_base___ICode___result(fra.me.REG[3])(fra.me.REG[3]);
160 /* ./analysis//inline_methods.nit:50 */
161 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
162 if (UNTAG_Bool(REGB0)) {
163 } else {
164 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
165 if (UNTAG_Bool(REGB1)) {
166 REGB1 = TAG_Bool(false);
167 REGB0 = REGB1;
168 } else {
169 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
170 REGB0 = REGB1;
171 }
172 }
173 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
174 if (UNTAG_Bool(REGB0)) {
175 /* ./analysis//inline_methods.nit:51 */
176 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
177 if (UNTAG_Bool(REGB0)) {
178 } else {
179 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
180 if (UNTAG_Bool(REGB1)) {
181 REGB1 = TAG_Bool(false);
182 REGB0 = REGB1;
183 } else {
184 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
185 REGB0 = REGB1;
186 }
187 }
188 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
189 if (UNTAG_Bool(REGB0)) {
190 } else {
191 nit_abort("Assert failed", NULL, LOCATE_inline_methods, 51);
192 }
193 /* ./analysis//inline_methods.nit:52 */
194 fra.me.REG[8] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
195 fra.me.REG[9] = NEW_IMove_icode_base___IMove___init(fra.me.REG[3], fra.me.REG[9]);
196 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
197 if (UNTAG_Bool(REGB0)) {
198 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 52);
199 }
200 CALL_list___ListIterator___insert_before(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
201 }
202 /* ./analysis//inline_methods.nit:54 */
203 fra.me.REG[9] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
204 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
205 if (UNTAG_Bool(REGB0)) {
206 nit_abort("Reciever is null", NULL, LOCATE_inline_methods, 54);
207 }
208 CALL_list___ListIterator___delete(fra.me.REG[9])(fra.me.REG[9]);
209 /* ./analysis//inline_methods.nit:55 */
210 CALL_icode_builder___ICodeBuilder___seq__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
211 /* ./analysis//inline_methods.nit:56 */
212 CALL_icode_tools___ICodeVisitor___visit_icode(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[7]);
213 }
214 }
215 }
216 /* ./analysis//inline_methods.nit:60 */
217 CALL_SUPER_inline_methods___InlineMethodVisitor___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
218 stack_frame_head = fra.me.prev;
219 return;
220 }
221 void inline_methods___InlineMethodVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
222 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_InlineMethodVisitor].i;
223 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
224 val_t tmp;
225 if (init_table[itpos0]) return;
226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
227 fra.me.file = LOCATE_inline_methods;
228 fra.me.line = 63;
229 fra.me.meth = LOCATE_inline_methods___InlineMethodVisitor___init;
230 fra.me.has_broke = 0;
231 fra.me.REG_size = 4;
232 fra.me.REG[0] = NIT_NULL;
233 fra.me.REG[1] = NIT_NULL;
234 fra.me.REG[2] = NIT_NULL;
235 fra.me.REG[3] = NIT_NULL;
236 fra.me.REG[0] = p0;
237 fra.me.REG[1] = p1;
238 fra.me.REG[2] = p2;
239 /* ./analysis//inline_methods.nit:63 */
240 fra.me.REG[3] = fra.me.REG[0];
241 CALL_icode_tools___ICodeVisitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
242 /* ./analysis//inline_methods.nit:65 */
243 fra.me.REG[2] = NEW_ICodeBuilder_icode_builder___ICodeBuilder___init(fra.me.REG[1], fra.me.REG[2]);
244 ATTR_inline_methods___InlineMethodVisitor____icb(fra.me.REG[3]) = fra.me.REG[2];
245 stack_frame_head = fra.me.prev;
246 init_table[itpos0] = 1;
247 return;
248 }
249 val_t inline_methods___ICall___is_inlinable(val_t p0){
250 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
251 val_t REGB0;
252 val_t REGB1;
253 val_t REGB2;
254 val_t REGB3;
255 val_t tmp;
256 static val_t once_value_1; /* Once value */
257 static val_t once_value_2; /* Once value */
258 static val_t once_value_3; /* Once value */
259 static val_t once_value_4; /* Once value */
260 static val_t once_value_5; /* Once value */
261 static val_t once_value_6; /* Once value */
262 static val_t once_value_7; /* Once value */
263 static val_t once_value_8; /* Once value */
264 static val_t once_value_9; /* Once value */
265 static val_t once_value_10; /* Once value */
266 static val_t once_value_11; /* Once value */
267 static val_t once_value_12; /* Once value */
268 static val_t once_value_13; /* Once value */
269 static val_t once_value_14; /* Once value */
270 static val_t once_value_15; /* Once value */
271 static val_t once_value_16; /* Once value */
272 static val_t once_value_17; /* Once value */
273 static val_t once_value_18; /* Once value */
274 static val_t once_value_19; /* Once value */
275 static val_t once_value_20; /* Once value */
276 static val_t once_value_21; /* Once value */
277 static val_t once_value_22; /* Once value */
278 static val_t once_value_23; /* Once value */
279 static val_t once_value_24; /* Once value */
280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
281 fra.me.file = LOCATE_inline_methods;
282 fra.me.line = 70;
283 fra.me.meth = LOCATE_inline_methods___ICall___is_inlinable;
284 fra.me.has_broke = 0;
285 fra.me.REG_size = 4;
286 fra.me.REG[0] = NIT_NULL;
287 fra.me.REG[1] = NIT_NULL;
288 fra.me.REG[2] = NIT_NULL;
289 fra.me.REG[3] = NIT_NULL;
290 fra.me.REG[0] = p0;
291 /* ./analysis//inline_methods.nit:72 */
292 fra.me.REG[0] = CALL_icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
293 /* ./analysis//inline_methods.nit:73 */
294 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[0])(fra.me.REG[0]);
295 /* ./analysis//inline_methods.nit:74 */
296 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
297 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[2])(fra.me.REG[2]);
298 /* ./analysis//inline_methods.nit:75 */
299 REGB0 = CALL_abstractmetamodel___MMMethod___is_intern(fra.me.REG[0])(fra.me.REG[0]);
300 if (UNTAG_Bool(REGB0)) {
301 if (!once_value_1) {
302 if (!once_value_2) {
303 fra.me.REG[3] = BOX_NativeString("Object");
304 REGB0 = TAG_Int(6);
305 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
306 once_value_2 = fra.me.REG[3];
307 register_static_object(&once_value_2);
308 } else fra.me.REG[3] = once_value_2;
309 fra.me.REG[3] = fra.me.REG[3];
310 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
311 once_value_1 = fra.me.REG[3];
312 register_static_object(&once_value_1);
313 } else fra.me.REG[3] = once_value_1;
314 fra.me.REG[3] = fra.me.REG[3];
315 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
316 if (UNTAG_Bool(REGB0)) {
317 } else {
318 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
319 REGB0 = REGB1;
320 }
321 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
322 } else {
323 REGB1 = TAG_Bool(false);
324 REGB0 = REGB1;
325 }
326 if (UNTAG_Bool(REGB0)) {
327 REGB0 = TAG_Bool(true);
328 } else {
329 /* ./analysis//inline_methods.nit:76 */
330 if (!once_value_3) {
331 if (!once_value_4) {
332 fra.me.REG[3] = BOX_NativeString("Int");
333 REGB1 = TAG_Int(3);
334 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
335 once_value_4 = fra.me.REG[3];
336 register_static_object(&once_value_4);
337 } else fra.me.REG[3] = once_value_4;
338 fra.me.REG[3] = fra.me.REG[3];
339 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
340 once_value_3 = fra.me.REG[3];
341 register_static_object(&once_value_3);
342 } else fra.me.REG[3] = once_value_3;
343 fra.me.REG[3] = fra.me.REG[3];
344 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
345 if (UNTAG_Bool(REGB1)) {
346 } else {
347 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
348 REGB1 = REGB2;
349 }
350 if (UNTAG_Bool(REGB1)) {
351 if (!once_value_5) {
352 if (!once_value_6) {
353 fra.me.REG[3] = BOX_NativeString("enumerate_to");
354 REGB1 = TAG_Int(12);
355 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
356 once_value_6 = fra.me.REG[3];
357 register_static_object(&once_value_6);
358 } else fra.me.REG[3] = once_value_6;
359 fra.me.REG[3] = fra.me.REG[3];
360 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
361 once_value_5 = fra.me.REG[3];
362 register_static_object(&once_value_5);
363 } else fra.me.REG[3] = once_value_5;
364 fra.me.REG[3] = fra.me.REG[3];
365 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[3]));
366 if (UNTAG_Bool(REGB1)) {
367 } else {
368 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
369 REGB1 = REGB2;
370 }
371 if (UNTAG_Bool(REGB1)) {
372 REGB1 = TAG_Bool(true);
373 } else {
374 if (!once_value_7) {
375 if (!once_value_8) {
376 fra.me.REG[3] = BOX_NativeString("enumerate_before");
377 REGB2 = TAG_Int(16);
378 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB2);
379 once_value_8 = fra.me.REG[3];
380 register_static_object(&once_value_8);
381 } else fra.me.REG[3] = once_value_8;
382 fra.me.REG[3] = fra.me.REG[3];
383 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
384 once_value_7 = fra.me.REG[3];
385 register_static_object(&once_value_7);
386 } else fra.me.REG[3] = once_value_7;
387 fra.me.REG[3] = fra.me.REG[3];
388 REGB2 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[3]));
389 if (UNTAG_Bool(REGB2)) {
390 } else {
391 REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
392 REGB2 = REGB3;
393 }
394 REGB1 = REGB2;
395 }
396 } else {
397 REGB2 = TAG_Bool(false);
398 REGB1 = REGB2;
399 }
400 /* ./analysis//inline_methods.nit:75 */
401 REGB0 = REGB1;
402 }
403 if (UNTAG_Bool(REGB0)) {
404 REGB0 = TAG_Bool(true);
405 } else {
406 /* ./analysis//inline_methods.nit:77 */
407 if (!once_value_9) {
408 if (!once_value_10) {
409 fra.me.REG[3] = BOX_NativeString("Array");
410 REGB1 = TAG_Int(5);
411 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
412 once_value_10 = fra.me.REG[3];
413 register_static_object(&once_value_10);
414 } else fra.me.REG[3] = once_value_10;
415 fra.me.REG[3] = fra.me.REG[3];
416 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
417 once_value_9 = fra.me.REG[3];
418 register_static_object(&once_value_9);
419 } else fra.me.REG[3] = once_value_9;
420 fra.me.REG[3] = fra.me.REG[3];
421 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
422 if (UNTAG_Bool(REGB1)) {
423 } else {
424 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
425 REGB1 = REGB2;
426 }
427 if (UNTAG_Bool(REGB1)) {
428 if (!once_value_11) {
429 if (!once_value_12) {
430 fra.me.REG[3] = BOX_NativeString("length");
431 REGB1 = TAG_Int(6);
432 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
433 once_value_12 = fra.me.REG[3];
434 register_static_object(&once_value_12);
435 } else fra.me.REG[3] = once_value_12;
436 fra.me.REG[3] = fra.me.REG[3];
437 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
438 once_value_11 = fra.me.REG[3];
439 register_static_object(&once_value_11);
440 } else fra.me.REG[3] = once_value_11;
441 fra.me.REG[3] = fra.me.REG[3];
442 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[3]));
443 if (UNTAG_Bool(REGB1)) {
444 } else {
445 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
446 REGB1 = REGB2;
447 }
448 if (UNTAG_Bool(REGB1)) {
449 REGB1 = TAG_Bool(true);
450 } else {
451 if (!once_value_13) {
452 if (!once_value_14) {
453 fra.me.REG[3] = BOX_NativeString("[]");
454 REGB2 = TAG_Int(2);
455 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB2);
456 once_value_14 = fra.me.REG[3];
457 register_static_object(&once_value_14);
458 } else fra.me.REG[3] = once_value_14;
459 fra.me.REG[3] = fra.me.REG[3];
460 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
461 once_value_13 = fra.me.REG[3];
462 register_static_object(&once_value_13);
463 } else fra.me.REG[3] = once_value_13;
464 fra.me.REG[3] = fra.me.REG[3];
465 REGB2 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[3]));
466 if (UNTAG_Bool(REGB2)) {
467 } else {
468 REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
469 REGB2 = REGB3;
470 }
471 REGB1 = REGB2;
472 }
473 if (UNTAG_Bool(REGB1)) {
474 REGB1 = TAG_Bool(true);
475 } else {
476 if (!once_value_15) {
477 if (!once_value_16) {
478 fra.me.REG[3] = BOX_NativeString("iterate");
479 REGB2 = TAG_Int(7);
480 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB2);
481 once_value_16 = fra.me.REG[3];
482 register_static_object(&once_value_16);
483 } else fra.me.REG[3] = once_value_16;
484 fra.me.REG[3] = fra.me.REG[3];
485 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
486 once_value_15 = fra.me.REG[3];
487 register_static_object(&once_value_15);
488 } else fra.me.REG[3] = once_value_15;
489 fra.me.REG[3] = fra.me.REG[3];
490 REGB2 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[3]));
491 if (UNTAG_Bool(REGB2)) {
492 } else {
493 REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
494 REGB2 = REGB3;
495 }
496 REGB1 = REGB2;
497 }
498 } else {
499 REGB2 = TAG_Bool(false);
500 REGB1 = REGB2;
501 }
502 /* ./analysis//inline_methods.nit:75 */
503 REGB0 = REGB1;
504 }
505 if (UNTAG_Bool(REGB0)) {
506 REGB0 = TAG_Bool(true);
507 } else {
508 /* ./analysis//inline_methods.nit:78 */
509 if (!once_value_17) {
510 if (!once_value_18) {
511 fra.me.REG[3] = BOX_NativeString("AbstractArrayRead");
512 REGB1 = TAG_Int(17);
513 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
514 once_value_18 = fra.me.REG[3];
515 register_static_object(&once_value_18);
516 } else fra.me.REG[3] = once_value_18;
517 fra.me.REG[3] = fra.me.REG[3];
518 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
519 once_value_17 = fra.me.REG[3];
520 register_static_object(&once_value_17);
521 } else fra.me.REG[3] = once_value_17;
522 fra.me.REG[3] = fra.me.REG[3];
523 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
524 if (UNTAG_Bool(REGB1)) {
525 } else {
526 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
527 REGB1 = REGB2;
528 }
529 if (UNTAG_Bool(REGB1)) {
530 if (!once_value_19) {
531 if (!once_value_20) {
532 fra.me.REG[3] = BOX_NativeString("length");
533 REGB1 = TAG_Int(6);
534 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
535 once_value_20 = fra.me.REG[3];
536 register_static_object(&once_value_20);
537 } else fra.me.REG[3] = once_value_20;
538 fra.me.REG[3] = fra.me.REG[3];
539 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
540 once_value_19 = fra.me.REG[3];
541 register_static_object(&once_value_19);
542 } else fra.me.REG[3] = once_value_19;
543 fra.me.REG[3] = fra.me.REG[3];
544 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[3]));
545 if (UNTAG_Bool(REGB1)) {
546 } else {
547 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
548 REGB1 = REGB2;
549 }
550 if (UNTAG_Bool(REGB1)) {
551 REGB1 = TAG_Bool(true);
552 } else {
553 if (!once_value_21) {
554 if (!once_value_22) {
555 fra.me.REG[3] = BOX_NativeString("[]");
556 REGB2 = TAG_Int(2);
557 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB2);
558 once_value_22 = fra.me.REG[3];
559 register_static_object(&once_value_22);
560 } else fra.me.REG[3] = once_value_22;
561 fra.me.REG[3] = fra.me.REG[3];
562 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
563 once_value_21 = fra.me.REG[3];
564 register_static_object(&once_value_21);
565 } else fra.me.REG[3] = once_value_21;
566 fra.me.REG[3] = fra.me.REG[3];
567 REGB2 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[3]));
568 if (UNTAG_Bool(REGB2)) {
569 } else {
570 REGB3 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
571 REGB2 = REGB3;
572 }
573 REGB1 = REGB2;
574 }
575 } else {
576 REGB2 = TAG_Bool(false);
577 REGB1 = REGB2;
578 }
579 /* ./analysis//inline_methods.nit:75 */
580 REGB0 = REGB1;
581 }
582 if (UNTAG_Bool(REGB0)) {
583 REGB0 = TAG_Bool(true);
584 } else {
585 /* ./analysis//inline_methods.nit:79 */
586 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
587 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
588 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
589 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
590 if (!once_value_23) {
591 if (!once_value_24) {
592 fra.me.REG[3] = BOX_NativeString("Inline__");
593 REGB1 = TAG_Int(8);
594 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
595 once_value_24 = fra.me.REG[3];
596 register_static_object(&once_value_24);
597 } else fra.me.REG[3] = once_value_24;
598 fra.me.REG[3] = fra.me.REG[3];
599 fra.me.REG[3] = CALL_symbol___String___to_symbol(fra.me.REG[3])(fra.me.REG[3]);
600 once_value_23 = fra.me.REG[3];
601 register_static_object(&once_value_23);
602 } else fra.me.REG[3] = once_value_23;
603 fra.me.REG[3] = fra.me.REG[3];
604 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[3]));
605 if (UNTAG_Bool(REGB1)) {
606 } else {
607 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]);
608 REGB1 = REGB2;
609 }
610 /* ./analysis//inline_methods.nit:75 */
611 REGB0 = REGB1;
612 }
613 goto label25;
614 label25: while(0);
615 stack_frame_head = fra.me.prev;
616 return REGB0;
617 }
618 void inline_methods___IRoutine___inline_methods(val_t p0, val_t p1){
619 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
620 val_t tmp;
621 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
622 fra.me.file = LOCATE_inline_methods;
623 fra.me.line = 84;
624 fra.me.meth = LOCATE_inline_methods___IRoutine___inline_methods;
625 fra.me.has_broke = 0;
626 fra.me.REG_size = 2;
627 fra.me.REG[0] = NIT_NULL;
628 fra.me.REG[1] = NIT_NULL;
629 fra.me.REG[0] = p0;
630 fra.me.REG[1] = p1;
631 /* ./analysis//inline_methods.nit:86 */
632 fra.me.REG[1] = NEW_InlineMethodVisitor_inline_methods___InlineMethodVisitor___init(fra.me.REG[1], fra.me.REG[0]);
633 /* ./analysis//inline_methods.nit:87 */
634 CALL_icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
635 stack_frame_head = fra.me.prev;
636 return;
637 }