update NOTICE and LICENSE
[nit.git] / c_src / inline_get_and_set._sep.c
1 /* This C file is generated by NIT to compile module inline_get_and_set. */
2 #include "inline_get_and_set._sep.h"
3 void inline_get_and_set___Program___dump_inline_get_set(val_t p0, val_t p1){
4 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5 val_t REGB0;
6 val_t tmp;
7 static val_t once_value_1; /* Once value */
8 static val_t once_value_2; /* Once value */
9 static val_t once_value_3; /* Once value */
10 static val_t once_value_4; /* Once value */
11 static val_t once_value_5; /* Once value */
12 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13 fra.me.file = LOCATE_inline_get_and_set;
14 fra.me.line = 28;
15 fra.me.meth = LOCATE_inline_get_and_set___Program___dump_inline_get_set;
16 fra.me.has_broke = 0;
17 fra.me.REG_size = 4;
18 fra.me.REG[0] = NIT_NULL;
19 fra.me.REG[1] = NIT_NULL;
20 fra.me.REG[2] = NIT_NULL;
21 fra.me.REG[3] = NIT_NULL;
22 fra.me.REG[0] = p0;
23 fra.me.REG[1] = p1;
24 /* ./analysis//inline_get_and_set.nit:30 */
25 REGB0 = TAG_Int(5);
26 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
27 if (!once_value_1) {
28 fra.me.REG[3] = BOX_NativeString("");
29 REGB0 = TAG_Int(0);
30 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
31 once_value_1 = fra.me.REG[3];
32 register_static_object(&once_value_1);
33 } else fra.me.REG[3] = once_value_1;
34 fra.me.REG[3] = fra.me.REG[3];
35 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
36 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
37 if (!once_value_2) {
38 fra.me.REG[1] = BOX_NativeString("/");
39 REGB0 = TAG_Int(1);
40 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
41 once_value_2 = fra.me.REG[1];
42 register_static_object(&once_value_2);
43 } else fra.me.REG[1] = once_value_2;
44 fra.me.REG[1] = fra.me.REG[1];
45 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
46 fra.me.REG[1] = CALL_program___Program___main_module(fra.me.REG[0])(fra.me.REG[0]);
47 fra.me.REG[1] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[1])(fra.me.REG[1]);
48 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
49 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
50 if (!once_value_3) {
51 fra.me.REG[1] = BOX_NativeString(".inline_get_set.log");
52 REGB0 = TAG_Int(19);
53 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
54 once_value_3 = fra.me.REG[1];
55 register_static_object(&once_value_3);
56 } else fra.me.REG[1] = once_value_3;
57 fra.me.REG[1] = fra.me.REG[1];
58 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
59 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
60 fra.me.REG[2] = NEW_OFStream_file___OFStream___open(fra.me.REG[2]);
61 /* ./analysis//inline_get_and_set.nit:32 */
62 REGB0 = TAG_Int(3);
63 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
64 if (!once_value_4) {
65 fra.me.REG[3] = BOX_NativeString("Number of getters and setters inlined: ");
66 REGB0 = TAG_Int(39);
67 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
68 once_value_4 = fra.me.REG[3];
69 register_static_object(&once_value_4);
70 } else fra.me.REG[3] = once_value_4;
71 fra.me.REG[3] = fra.me.REG[3];
72 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
73 REGB0 = TAG_Bool(ATTR_inline_get_and_set___Program____number_getter_setter_inlined(fra.me.REG[0])!=NIT_NULL);
74 if (UNTAG_Bool(REGB0)) {
75 } else {
76 nit_abort("Uninitialized attribute %s", "_number_getter_setter_inlined", LOCATE_inline_get_and_set, 32);
77 }
78 REGB0 = ATTR_inline_get_and_set___Program____number_getter_setter_inlined(fra.me.REG[0]);
79 fra.me.REG[0] = CALL_string___Object___to_s(REGB0)(REGB0);
80 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
81 if (!once_value_5) {
82 fra.me.REG[0] = BOX_NativeString("\n");
83 REGB0 = TAG_Int(1);
84 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
85 once_value_5 = fra.me.REG[0];
86 register_static_object(&once_value_5);
87 } else fra.me.REG[0] = once_value_5;
88 fra.me.REG[0] = fra.me.REG[0];
89 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
90 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
91 CALL_stream___OStream___write(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
92 /* ./analysis//inline_get_and_set.nit:34 */
93 CALL_stream___IOS___close(fra.me.REG[2])(fra.me.REG[2]);
94 stack_frame_head = fra.me.prev;
95 return;
96 }
97 void inline_get_and_set___Program___inline_get_set(val_t p0){
98 struct {struct stack_frame_t me;} fra;
99 val_t tmp;
100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
101 fra.me.file = LOCATE_inline_get_and_set;
102 fra.me.line = 37;
103 fra.me.meth = LOCATE_inline_get_and_set___Program___inline_get_set;
104 fra.me.has_broke = 0;
105 fra.me.REG_size = 1;
106 fra.me.REG[0] = NIT_NULL;
107 fra.me.REG[0] = p0;
108 CALL_program___Program___with_each_iroutines(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_inline_get_and_set___Program___inline_get_set_1));
109 stack_frame_head = fra.me.prev;
110 return;
111 }
112 void OC_inline_get_and_set___Program___inline_get_set_1(struct stack_frame_t *closctx, val_t p0, val_t p1){
113 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
114 val_t REGB0;
115 val_t REGB1;
116 val_t tmp;
117 /* ./analysis//inline_get_and_set.nit:38 */
118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
119 fra.me.file = LOCATE_inline_get_and_set;
120 fra.me.line = 38;
121 fra.me.meth = LOCATE_inline_get_and_set___Program___inline_get_set;
122 fra.me.has_broke = 0;
123 fra.me.REG_size = 2;
124 fra.me.REG[0] = NIT_NULL;
125 fra.me.REG[1] = NIT_NULL;
126 fra.me.REG[0] = p0;
127 fra.me.REG[1] = p1;
128 /* ./analysis//inline_get_and_set.nit:39 */
129 fra.me.REG[1] = NEW_InlineGetSetVisitor_inline_get_and_set___InlineGetSetVisitor___init(fra.me.REG[1], fra.me.REG[0]);
130 /* ./analysis//inline_get_and_set.nit:40 */
131 CALL_icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
132 /* ./analysis//inline_get_and_set.nit:42 */
133 REGB0 = ATTR_inline_get_and_set___Program____number_getter_setter_inlined(closctx->REG[0]);
134 REGB1 = CALL_inline_get_and_set___InlineGetSetVisitor___number_inlined(fra.me.REG[1])(fra.me.REG[1]);
135 /* ./../lib/standard//kernel.nit:215 */
136 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
137 /* ./analysis//inline_get_and_set.nit:42 */
138 ATTR_inline_get_and_set___Program____number_getter_setter_inlined(closctx->REG[0]) = REGB1;
139 stack_frame_head = fra.me.prev;
140 return;
141 }
142 val_t inline_get_and_set___InlineGetSetVisitor___number_inlined(val_t p0){
143 struct {struct stack_frame_t me;} fra;
144 val_t REGB0;
145 val_t tmp;
146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
147 fra.me.file = LOCATE_inline_get_and_set;
148 fra.me.line = 50;
149 fra.me.meth = LOCATE_inline_get_and_set___InlineGetSetVisitor___number_inlined;
150 fra.me.has_broke = 0;
151 fra.me.REG_size = 1;
152 fra.me.REG[0] = NIT_NULL;
153 fra.me.REG[0] = p0;
154 /* ./analysis//inline_get_and_set.nit:50 */
155 REGB0 = TAG_Bool(ATTR_inline_get_and_set___InlineGetSetVisitor____number_inlined(fra.me.REG[0])!=NIT_NULL);
156 if (UNTAG_Bool(REGB0)) {
157 } else {
158 nit_abort("Uninitialized attribute %s", "_number_inlined", LOCATE_inline_get_and_set, 50);
159 }
160 REGB0 = ATTR_inline_get_and_set___InlineGetSetVisitor____number_inlined(fra.me.REG[0]);
161 stack_frame_head = fra.me.prev;
162 return REGB0;
163 }
164 void inline_get_and_set___InlineGetSetVisitor___visit_icode(val_t p0, val_t p1){
165 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
166 val_t REGB0;
167 val_t REGB1;
168 val_t tmp;
169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
170 fra.me.file = LOCATE_inline_get_and_set;
171 fra.me.line = 52;
172 fra.me.meth = LOCATE_inline_get_and_set___InlineGetSetVisitor___visit_icode;
173 fra.me.has_broke = 0;
174 fra.me.REG_size = 10;
175 fra.me.REG[0] = NIT_NULL;
176 fra.me.REG[1] = NIT_NULL;
177 fra.me.REG[2] = NIT_NULL;
178 fra.me.REG[3] = NIT_NULL;
179 fra.me.REG[4] = NIT_NULL;
180 fra.me.REG[5] = NIT_NULL;
181 fra.me.REG[6] = NIT_NULL;
182 fra.me.REG[7] = NIT_NULL;
183 fra.me.REG[8] = NIT_NULL;
184 fra.me.REG[9] = NIT_NULL;
185 fra.me.REG[0] = p0;
186 fra.me.REG[1] = p1;
187 /* ./analysis//inline_get_and_set.nit:52 */
188 fra.me.REG[2] = fra.me.REG[0];
189 fra.me.REG[3] = fra.me.REG[1];
190 /* ./analysis//inline_get_and_set.nit:55 */
191 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_ICall, ID_ICall)) /*cast ICall*/;
192 if (UNTAG_Bool(REGB0)) {
193 /* ./analysis//inline_get_and_set.nit:56 */
194 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
195 if (UNTAG_Bool(REGB0)) {
196 nit_abort("Reciever is null", NULL, LOCATE_inline_get_and_set, 56);
197 }
198 fra.me.REG[4] = CALL_icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
199 /* ./analysis//inline_get_and_set.nit:57 */
200 fra.me.REG[5] = CALL_icode_base___MMMethod___iroutine(fra.me.REG[4])(fra.me.REG[4]);
201 /* ./analysis//inline_get_and_set.nit:58 */
202 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
203 if (UNTAG_Bool(REGB0)) {
204 } else {
205 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
206 if (UNTAG_Bool(REGB1)) {
207 REGB1 = TAG_Bool(false);
208 REGB0 = REGB1;
209 } else {
210 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
211 REGB0 = REGB1;
212 }
213 }
214 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
215 if (UNTAG_Bool(REGB0)) {
216 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_MMAttrImplementationMethod, ID_MMAttrImplementationMethod)) /*cast MMAttrImplementationMethod*/;
217 } else {
218 REGB1 = TAG_Bool(false);
219 REGB0 = REGB1;
220 }
221 if (UNTAG_Bool(REGB0)) {
222 /* ./analysis//inline_get_and_set.nit:59 */
223 REGB0 = TAG_Bool(ATTR_inline_get_and_set___InlineGetSetVisitor____icb(fra.me.REG[2])!=NIT_NULL);
224 if (UNTAG_Bool(REGB0)) {
225 } else {
226 nit_abort("Uninitialized attribute %s", "_icb", LOCATE_inline_get_and_set, 59);
227 }
228 fra.me.REG[4] = ATTR_inline_get_and_set___InlineGetSetVisitor____icb(fra.me.REG[2]);
229 /* ./analysis//inline_get_and_set.nit:60 */
230 fra.me.REG[6] = NEW_ISeq_icode_base___ISeq___init();
231 /* ./analysis//inline_get_and_set.nit:61 */
232 fra.me.REG[7] = CALL_icode_builder___ICodeBuilder___seq(fra.me.REG[4])(fra.me.REG[4]);
233 /* ./analysis//inline_get_and_set.nit:62 */
234 CALL_icode_builder___ICodeBuilder___seq__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
235 /* ./analysis//inline_get_and_set.nit:63 */
236 fra.me.REG[8] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
237 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
238 if (UNTAG_Bool(REGB0)) {
239 nit_abort("Reciever is null", NULL, LOCATE_inline_get_and_set, 63);
240 }
241 CALL_list___ListIterator___insert_before(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[6]);
242 /* ./analysis//inline_get_and_set.nit:64 */
243 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
244 if (UNTAG_Bool(REGB0)) {
245 nit_abort("Reciever is null", NULL, LOCATE_inline_get_and_set, 64);
246 }
247 fra.me.REG[8] = CALL_icode_base___ICodeN___exprs(fra.me.REG[3])(fra.me.REG[3]);
248 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
249 if (UNTAG_Bool(REGB0)) {
250 nit_abort("Reciever is null", NULL, LOCATE_inline_get_and_set, 64);
251 }
252 fra.me.REG[9] = CALL_icode_base___ICodeN___closure_defs(fra.me.REG[3])(fra.me.REG[3]);
253 fra.me.REG[9] = CALL_icode_tools___ICodeBuilder___inline_routine(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5], fra.me.REG[8], fra.me.REG[9]);
254 /* ./analysis//inline_get_and_set.nit:65 */
255 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
256 if (UNTAG_Bool(REGB0)) {
257 nit_abort("Reciever is null", NULL, LOCATE_inline_get_and_set, 65);
258 }
259 fra.me.REG[3] = CALL_icode_base___ICode___result(fra.me.REG[3])(fra.me.REG[3]);
260 /* ./analysis//inline_get_and_set.nit:66 */
261 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
262 if (UNTAG_Bool(REGB0)) {
263 } else {
264 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
265 if (UNTAG_Bool(REGB1)) {
266 REGB1 = TAG_Bool(false);
267 REGB0 = REGB1;
268 } else {
269 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
270 REGB0 = REGB1;
271 }
272 }
273 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
274 if (UNTAG_Bool(REGB0)) {
275 /* ./analysis//inline_get_and_set.nit:67 */
276 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
277 if (UNTAG_Bool(REGB0)) {
278 } else {
279 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
280 if (UNTAG_Bool(REGB1)) {
281 REGB1 = TAG_Bool(false);
282 REGB0 = REGB1;
283 } else {
284 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
285 REGB0 = REGB1;
286 }
287 }
288 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
289 if (UNTAG_Bool(REGB0)) {
290 } else {
291 nit_abort("Assert failed", NULL, LOCATE_inline_get_and_set, 67);
292 }
293 /* ./analysis//inline_get_and_set.nit:68 */
294 fra.me.REG[8] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
295 fra.me.REG[9] = NEW_IMove_icode_base___IMove___init(fra.me.REG[3], fra.me.REG[9]);
296 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
297 if (UNTAG_Bool(REGB0)) {
298 nit_abort("Reciever is null", NULL, LOCATE_inline_get_and_set, 68);
299 }
300 CALL_list___ListIterator___insert_before(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
301 }
302 /* ./analysis//inline_get_and_set.nit:70 */
303 fra.me.REG[9] = CALL_icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
304 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
305 if (UNTAG_Bool(REGB0)) {
306 nit_abort("Reciever is null", NULL, LOCATE_inline_get_and_set, 70);
307 }
308 CALL_list___ListIterator___delete(fra.me.REG[9])(fra.me.REG[9]);
309 /* ./analysis//inline_get_and_set.nit:71 */
310 CALL_icode_builder___ICodeBuilder___seq__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[7]);
311 /* ./analysis//inline_get_and_set.nit:72 */
312 REGB0 = ATTR_inline_get_and_set___InlineGetSetVisitor____number_inlined(fra.me.REG[2]);
313 REGB1 = TAG_Int(1);
314 /* ./../lib/standard//kernel.nit:215 */
315 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
316 /* ./analysis//inline_get_and_set.nit:72 */
317 ATTR_inline_get_and_set___InlineGetSetVisitor____number_inlined(fra.me.REG[2]) = REGB1;
318 /* ./analysis//inline_get_and_set.nit:73 */
319 CALL_icode_tools___ICodeVisitor___visit_icode(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
320 }
321 }
322 /* ./analysis//inline_get_and_set.nit:76 */
323 CALL_SUPER_inline_get_and_set___InlineGetSetVisitor___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
324 stack_frame_head = fra.me.prev;
325 return;
326 }
327 void inline_get_and_set___InlineGetSetVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
328 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_InlineGetSetVisitor].i;
329 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
330 val_t tmp;
331 if (init_table[itpos0]) return;
332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
333 fra.me.file = LOCATE_inline_get_and_set;
334 fra.me.line = 79;
335 fra.me.meth = LOCATE_inline_get_and_set___InlineGetSetVisitor___init;
336 fra.me.has_broke = 0;
337 fra.me.REG_size = 4;
338 fra.me.REG[0] = NIT_NULL;
339 fra.me.REG[1] = NIT_NULL;
340 fra.me.REG[2] = NIT_NULL;
341 fra.me.REG[3] = NIT_NULL;
342 fra.me.REG[0] = p0;
343 fra.me.REG[1] = p1;
344 fra.me.REG[2] = p2;
345 /* ./analysis//inline_get_and_set.nit:79 */
346 fra.me.REG[3] = fra.me.REG[0];
347 CALL_icode_tools___ICodeVisitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
348 /* ./analysis//inline_get_and_set.nit:81 */
349 fra.me.REG[2] = NEW_ICodeBuilder_icode_builder___ICodeBuilder___init(fra.me.REG[1], fra.me.REG[2]);
350 ATTR_inline_get_and_set___InlineGetSetVisitor____icb(fra.me.REG[3]) = fra.me.REG[2];
351 stack_frame_head = fra.me.prev;
352 init_table[itpos0] = 1;
353 return;
354 }