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