Merge remote branch 'alexis/wip'
[nit.git] / c_src / compiling___compiling_writer._sep.c
1 /* This C file is generated by NIT to compile module compiling___compiling_writer. */
2 #include "compiling___compiling_writer._sep.h"
3 val_t compiling___compiling_writer___Writer___add(val_t p0, val_t p1){
4 struct {struct stack_frame_t me; val_t MORE_REG[2];} 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_compiling___compiling_writer;
10 fra.me.line = 23;
11 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___add;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 3;
14 fra.me.nitni_local_ref_head = NULL;
15 fra.me.REG[0] = NIT_NULL;
16 fra.me.REG[1] = NIT_NULL;
17 fra.me.REG[2] = NIT_NULL;
18 fra.me.REG[0] = p0;
19 fra.me.REG[1] = p1;
20 /* ./compiling//compiling_writer.nit:26 */
21 REGB0 = CALL_compiling___compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
22 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23 if (UNTAG_Bool(REGB0)) {
24 } else {
25 nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_writer, 26);
26 }
27 /* ./compiling//compiling_writer.nit:27 */
28 fra.me.REG[2] = ATTR_compiling___compiling_writer___Writer____last_string(fra.me.REG[0]);
29 /* ./compiling//compiling_writer.nit:28 */
30 fra.me.REG[1] = NEW_WriterStrings_compiling___compiling_writer___WriterStrings___init(fra.me.REG[1]);
31 /* ./compiling//compiling_writer.nit:29 */
32 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33 if (UNTAG_Bool(REGB0)) {
34 } else {
35 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36 if (UNTAG_Bool(REGB1)) {
37 REGB1 = TAG_Bool(false);
38 REGB0 = REGB1;
39 } else {
40 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
41 REGB0 = REGB1;
42 }
43 }
44 if (UNTAG_Bool(REGB0)) {
45 /* ./compiling//compiling_writer.nit:30 */
46 CALL_compiling___compiling_writer___Writer___internal_append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
47 } else {
48 /* ./compiling//compiling_writer.nit:32 */
49 ATTR_compiling___compiling_writer___WriterStrings____next(fra.me.REG[2]) = fra.me.REG[1];
50 }
51 /* ./compiling//compiling_writer.nit:34 */
52 ATTR_compiling___compiling_writer___Writer____last_string(fra.me.REG[0]) = fra.me.REG[1];
53 /* ./compiling//compiling_writer.nit:35 */
54 goto label1;
55 label1: while(0);
56 stack_frame_head = fra.me.prev;
57 return fra.me.REG[0];
58 }
59 val_t compiling___compiling_writer___Writer___add_all(val_t p0, val_t p1, val_t p2){
60 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
61 val_t REGB0;
62 val_t REGB1;
63 val_t REGB2;
64 val_t REGB3;
65 val_t tmp;
66 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
67 fra.me.file = LOCATE_compiling___compiling_writer;
68 fra.me.line = 38;
69 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___add_all;
70 fra.me.has_broke = 0;
71 fra.me.REG_size = 5;
72 fra.me.nitni_local_ref_head = NULL;
73 fra.me.REG[0] = NIT_NULL;
74 fra.me.REG[1] = NIT_NULL;
75 fra.me.REG[2] = NIT_NULL;
76 fra.me.REG[3] = NIT_NULL;
77 fra.me.REG[4] = NIT_NULL;
78 fra.me.REG[0] = p0;
79 fra.me.REG[1] = p1;
80 fra.me.REG[2] = p2;
81 /* ./compiling//compiling_writer.nit:41 */
82 REGB0 = CALL_compiling___compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
83 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
84 if (UNTAG_Bool(REGB0)) {
85 } else {
86 nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_writer, 41);
87 }
88 /* ./compiling//compiling_writer.nit:42 */
89 REGB0 = TAG_Bool(true);
90 /* ./../lib/standard//collection//array.nit:269 */
91 REGB1 = TAG_Int(0);
92 /* ./../lib/standard//collection//array.nit:270 */
93 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
94 if (UNTAG_Bool(REGB2)) {
95 } else {
96 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
97 }
98 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
99 /* ./../lib/standard//collection//array.nit:271 */
100 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
101 /* ./../lib/standard//collection//array.nit:272 */
102 while(1) {
103 /* ./../lib/standard//collection//array.nit:24 */
104 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
105 if (UNTAG_Bool(REGB2)) {
106 } else {
107 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
108 }
109 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
110 REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
111 if (UNTAG_Bool(REGB3)) {
112 } else {
113 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
114 }
115 /* ./../lib/standard//kernel.nit:232 */
116 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
117 /* ./../lib/standard//collection//array.nit:272 */
118 if (UNTAG_Bool(REGB2)) {
119 /* ./../lib/standard//collection//array.nit:273 */
120 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
121 if (UNTAG_Bool(REGB2)) {
122 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
123 }
124 /* ./../lib/standard//collection//array.nit:718 */
125 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB1)];
126 /* ./compiling//compiling_writer.nit:44 */
127 if (UNTAG_Bool(REGB0)) {
128 REGB2 = TAG_Bool(false);
129 REGB0 = REGB2;
130 } else {
131 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
132 }
133 /* ./compiling//compiling_writer.nit:45 */
134 CALL_compiling___compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
135 /* ./../lib/standard//collection//array.nit:274 */
136 REGB2 = TAG_Int(1);
137 /* ./../lib/standard//kernel.nit:235 */
138 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
139 /* ./../lib/standard//collection//array.nit:274 */
140 REGB1 = REGB2;
141 } else {
142 /* ./../lib/standard//collection//array.nit:272 */
143 goto label1;
144 }
145 }
146 label1: while(0);
147 /* ./compiling//compiling_writer.nit:47 */
148 goto label2;
149 label2: while(0);
150 stack_frame_head = fra.me.prev;
151 return fra.me.REG[0];
152 }
153 val_t compiling___compiling_writer___Writer___append(val_t p0, val_t p1){
154 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
155 val_t REGB0;
156 val_t tmp;
157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
158 fra.me.file = LOCATE_compiling___compiling_writer;
159 fra.me.line = 56;
160 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___append;
161 fra.me.has_broke = 0;
162 fra.me.REG_size = 2;
163 fra.me.nitni_local_ref_head = NULL;
164 fra.me.REG[0] = NIT_NULL;
165 fra.me.REG[1] = NIT_NULL;
166 fra.me.REG[0] = p0;
167 fra.me.REG[1] = p1;
168 /* ./compiling//compiling_writer.nit:59 */
169 REGB0 = CALL_compiling___compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
170 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
171 if (UNTAG_Bool(REGB0)) {
172 } else {
173 nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_writer, 59);
174 }
175 /* ./compiling//compiling_writer.nit:60 */
176 fra.me.REG[1] = NEW_WriterCoreNode_compiling___compiling_writer___WriterCoreNode___init(fra.me.REG[1]);
177 CALL_compiling___compiling_writer___Writer___internal_append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
178 /* ./compiling//compiling_writer.nit:61 */
179 ATTR_compiling___compiling_writer___Writer____last_string(fra.me.REG[0]) = NIT_NULL;
180 /* ./compiling//compiling_writer.nit:62 */
181 goto label1;
182 label1: while(0);
183 stack_frame_head = fra.me.prev;
184 return fra.me.REG[0];
185 }
186 void compiling___compiling_writer___Writer___internal_append(val_t p0, val_t p1){
187 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
188 val_t REGB0;
189 val_t REGB1;
190 val_t tmp;
191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
192 fra.me.file = LOCATE_compiling___compiling_writer;
193 fra.me.line = 65;
194 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___internal_append;
195 fra.me.has_broke = 0;
196 fra.me.REG_size = 3;
197 fra.me.nitni_local_ref_head = NULL;
198 fra.me.REG[0] = NIT_NULL;
199 fra.me.REG[1] = NIT_NULL;
200 fra.me.REG[2] = NIT_NULL;
201 fra.me.REG[0] = p0;
202 fra.me.REG[1] = p1;
203 /* ./compiling//compiling_writer.nit:68 */
204 fra.me.REG[2] = ATTR_compiling___compiling_writer___Writer____first_sub_writer(fra.me.REG[0]);
205 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
206 if (UNTAG_Bool(REGB0)) {
207 } else {
208 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
209 if (UNTAG_Bool(REGB1)) {
210 REGB1 = TAG_Bool(false);
211 REGB0 = REGB1;
212 } else {
213 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
214 REGB0 = REGB1;
215 }
216 }
217 if (UNTAG_Bool(REGB0)) {
218 ATTR_compiling___compiling_writer___Writer____first_sub_writer(fra.me.REG[0]) = fra.me.REG[1];
219 }
220 /* ./compiling//compiling_writer.nit:69 */
221 fra.me.REG[2] = ATTR_compiling___compiling_writer___Writer____last_sub_writer(fra.me.REG[0]);
222 /* ./compiling//compiling_writer.nit:70 */
223 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
224 if (UNTAG_Bool(REGB0)) {
225 } else {
226 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
227 if (UNTAG_Bool(REGB1)) {
228 REGB1 = TAG_Bool(false);
229 REGB0 = REGB1;
230 } else {
231 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
232 REGB0 = REGB1;
233 }
234 }
235 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
236 if (UNTAG_Bool(REGB0)) {
237 ATTR_compiling___compiling_writer___WriterNode____next_writer(fra.me.REG[2]) = fra.me.REG[1];
238 }
239 /* ./compiling//compiling_writer.nit:71 */
240 ATTR_compiling___compiling_writer___Writer____last_sub_writer(fra.me.REG[0]) = fra.me.REG[1];
241 stack_frame_head = fra.me.prev;
242 return;
243 }
244 val_t compiling___compiling_writer___Writer___sub(val_t p0){
245 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
246 val_t tmp;
247 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
248 fra.me.file = LOCATE_compiling___compiling_writer;
249 fra.me.line = 74;
250 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___sub;
251 fra.me.has_broke = 0;
252 fra.me.REG_size = 2;
253 fra.me.nitni_local_ref_head = NULL;
254 fra.me.REG[0] = NIT_NULL;
255 fra.me.REG[1] = NIT_NULL;
256 fra.me.REG[0] = p0;
257 /* ./compiling//compiling_writer.nit:77 */
258 fra.me.REG[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
259 /* ./compiling//compiling_writer.nit:78 */
260 CALL_compiling___compiling_writer___Writer___append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
261 /* ./compiling//compiling_writer.nit:79 */
262 goto label1;
263 label1: while(0);
264 stack_frame_head = fra.me.prev;
265 return fra.me.REG[1];
266 }
267 void compiling___compiling_writer___Writer___write_to_stream(val_t p0, val_t p1){
268 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
269 val_t REGB0;
270 val_t REGB1;
271 val_t tmp;
272 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
273 fra.me.file = LOCATE_compiling___compiling_writer;
274 fra.me.line = 84;
275 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___write_to_stream;
276 fra.me.has_broke = 0;
277 fra.me.REG_size = 4;
278 fra.me.nitni_local_ref_head = NULL;
279 fra.me.REG[0] = NIT_NULL;
280 fra.me.REG[1] = NIT_NULL;
281 fra.me.REG[2] = NIT_NULL;
282 fra.me.REG[3] = NIT_NULL;
283 fra.me.REG[0] = p0;
284 fra.me.REG[1] = p1;
285 /* ./compiling//compiling_writer.nit:87 */
286 REGB0 = TAG_Bool(ATTR_compiling___compiling_writer___Writer____is_writing(fra.me.REG[0])!=NIT_NULL);
287 if (UNTAG_Bool(REGB0)) {
288 } else {
289 nit_abort("Uninitialized attribute %s", "_is_writing", LOCATE_compiling___compiling_writer, 87);
290 }
291 REGB0 = ATTR_compiling___compiling_writer___Writer____is_writing(fra.me.REG[0]);
292 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
293 if (UNTAG_Bool(REGB0)) {
294 } else {
295 nit_abort("Assert failed", NULL, LOCATE_compiling___compiling_writer, 87);
296 }
297 /* ./compiling//compiling_writer.nit:88 */
298 REGB0 = TAG_Bool(true);
299 ATTR_compiling___compiling_writer___Writer____is_writing(fra.me.REG[0]) = REGB0;
300 /* ./compiling//compiling_writer.nit:89 */
301 fra.me.REG[2] = ATTR_compiling___compiling_writer___Writer____first_sub_writer(fra.me.REG[0]);
302 /* ./compiling//compiling_writer.nit:90 */
303 while(1) {
304 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
305 if (UNTAG_Bool(REGB0)) {
306 } else {
307 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
308 if (UNTAG_Bool(REGB1)) {
309 REGB1 = TAG_Bool(false);
310 REGB0 = REGB1;
311 } else {
312 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
313 REGB0 = REGB1;
314 }
315 }
316 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
317 if (UNTAG_Bool(REGB0)) {
318 /* ./compiling//compiling_writer.nit:91 */
319 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
320 if (UNTAG_Bool(REGB0)) {
321 nit_abort("Reciever is null", NULL, LOCATE_compiling___compiling_writer, 91);
322 }
323 CALL_compiling___compiling_writer___WriterNode___internal_write_to_stream(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
324 /* ./compiling//compiling_writer.nit:92 */
325 fra.me.REG[3] = ATTR_compiling___compiling_writer___WriterNode____next_writer(fra.me.REG[2]);
326 fra.me.REG[2] = fra.me.REG[3];
327 } else {
328 /* ./compiling//compiling_writer.nit:90 */
329 goto label1;
330 }
331 }
332 label1: while(0);
333 /* ./compiling//compiling_writer.nit:94 */
334 REGB0 = TAG_Bool(false);
335 ATTR_compiling___compiling_writer___Writer____is_writing(fra.me.REG[0]) = REGB0;
336 stack_frame_head = fra.me.prev;
337 return;
338 }
339 val_t compiling___compiling_writer___Writer___is_frozen(val_t p0){
340 struct {struct stack_frame_t me;} fra;
341 val_t REGB0;
342 val_t tmp;
343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
344 fra.me.file = LOCATE_compiling___compiling_writer;
345 fra.me.line = 97;
346 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___is_frozen;
347 fra.me.has_broke = 0;
348 fra.me.REG_size = 1;
349 fra.me.nitni_local_ref_head = NULL;
350 fra.me.REG[0] = NIT_NULL;
351 fra.me.REG[0] = p0;
352 /* ./compiling//compiling_writer.nit:97 */
353 REGB0 = TAG_Bool(ATTR_compiling___compiling_writer___Writer____is_frozen(fra.me.REG[0])!=NIT_NULL);
354 if (UNTAG_Bool(REGB0)) {
355 } else {
356 nit_abort("Uninitialized attribute %s", "_is_frozen", LOCATE_compiling___compiling_writer, 97);
357 }
358 REGB0 = ATTR_compiling___compiling_writer___Writer____is_frozen(fra.me.REG[0]);
359 stack_frame_head = fra.me.prev;
360 return REGB0;
361 }
362 void compiling___compiling_writer___Writer___freeze(val_t p0){
363 struct {struct stack_frame_t me;} fra;
364 val_t REGB0;
365 val_t tmp;
366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
367 fra.me.file = LOCATE_compiling___compiling_writer;
368 fra.me.line = 100;
369 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___freeze;
370 fra.me.has_broke = 0;
371 fra.me.REG_size = 1;
372 fra.me.nitni_local_ref_head = NULL;
373 fra.me.REG[0] = NIT_NULL;
374 fra.me.REG[0] = p0;
375 /* ./compiling//compiling_writer.nit:103 */
376 REGB0 = CALL_compiling___compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
377 if (UNTAG_Bool(REGB0)) {
378 goto label1;
379 }
380 /* ./compiling//compiling_writer.nit:104 */
381 REGB0 = TAG_Bool(true);
382 ATTR_compiling___compiling_writer___Writer____is_frozen(fra.me.REG[0]) = REGB0;
383 label1: while(0);
384 stack_frame_head = fra.me.prev;
385 return;
386 }
387 void compiling___compiling_writer___Writer___init(val_t p0, int* init_table){
388 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_compiling___compiling_writer___Writer].i;
389 struct {struct stack_frame_t me;} fra;
390 val_t tmp;
391 if (init_table[itpos0]) return;
392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
393 fra.me.file = LOCATE_compiling___compiling_writer;
394 fra.me.line = 107;
395 fra.me.meth = LOCATE_compiling___compiling_writer___Writer___init;
396 fra.me.has_broke = 0;
397 fra.me.REG_size = 1;
398 fra.me.nitni_local_ref_head = NULL;
399 fra.me.REG[0] = NIT_NULL;
400 fra.me.REG[0] = p0;
401 stack_frame_head = fra.me.prev;
402 init_table[itpos0] = 1;
403 return;
404 }
405 void compiling___compiling_writer___WriterNode___internal_write_to_stream(val_t p0, val_t p1){
406 struct {struct stack_frame_t me;} fra;
407 val_t tmp;
408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
409 fra.me.file = LOCATE_compiling___compiling_writer;
410 fra.me.line = 115;
411 fra.me.meth = LOCATE_compiling___compiling_writer___WriterNode___internal_write_to_stream;
412 fra.me.has_broke = 0;
413 fra.me.REG_size = 0;
414 fra.me.nitni_local_ref_head = NULL;
415 /* ./compiling//compiling_writer.nit:115 */
416 nit_abort("Deferred method called", NULL, LOCATE_compiling___compiling_writer, 115);
417 stack_frame_head = fra.me.prev;
418 return;
419 }
420 void compiling___compiling_writer___WriterNode___init(val_t p0, int* init_table){
421 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_compiling___compiling_writer___WriterNode].i;
422 struct {struct stack_frame_t me;} fra;
423 val_t tmp;
424 if (init_table[itpos1]) return;
425 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
426 fra.me.file = LOCATE_compiling___compiling_writer;
427 fra.me.line = 0;
428 fra.me.meth = LOCATE_compiling___compiling_writer___WriterNode___init;
429 fra.me.has_broke = 0;
430 fra.me.REG_size = 0;
431 fra.me.nitni_local_ref_head = NULL;
432 stack_frame_head = fra.me.prev;
433 init_table[itpos1] = 1;
434 return;
435 }
436 void compiling___compiling_writer___WriterCoreNode___internal_write_to_stream(val_t p0, val_t p1){
437 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
438 val_t REGB0;
439 val_t tmp;
440 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
441 fra.me.file = LOCATE_compiling___compiling_writer;
442 fra.me.line = 124;
443 fra.me.meth = LOCATE_compiling___compiling_writer___WriterCoreNode___internal_write_to_stream;
444 fra.me.has_broke = 0;
445 fra.me.REG_size = 2;
446 fra.me.nitni_local_ref_head = NULL;
447 fra.me.REG[0] = NIT_NULL;
448 fra.me.REG[1] = NIT_NULL;
449 fra.me.REG[0] = p0;
450 fra.me.REG[1] = p1;
451 /* ./compiling//compiling_writer.nit:124 */
452 REGB0 = TAG_Bool(ATTR_compiling___compiling_writer___WriterCoreNode____writer(fra.me.REG[0])!=NIT_NULL);
453 if (UNTAG_Bool(REGB0)) {
454 } else {
455 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling___compiling_writer, 124);
456 }
457 fra.me.REG[0] = ATTR_compiling___compiling_writer___WriterCoreNode____writer(fra.me.REG[0]);
458 CALL_compiling___compiling_writer___Writer___write_to_stream(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
459 stack_frame_head = fra.me.prev;
460 return;
461 }
462 void compiling___compiling_writer___WriterCoreNode___init(val_t p0, val_t p1, int* init_table){
463 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_compiling___compiling_writer___WriterCoreNode].i;
464 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
465 val_t tmp;
466 if (init_table[itpos2]) return;
467 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
468 fra.me.file = LOCATE_compiling___compiling_writer;
469 fra.me.line = 126;
470 fra.me.meth = LOCATE_compiling___compiling_writer___WriterCoreNode___init;
471 fra.me.has_broke = 0;
472 fra.me.REG_size = 3;
473 fra.me.nitni_local_ref_head = NULL;
474 fra.me.REG[0] = NIT_NULL;
475 fra.me.REG[1] = NIT_NULL;
476 fra.me.REG[2] = NIT_NULL;
477 fra.me.REG[0] = p0;
478 fra.me.REG[1] = p1;
479 /* ./compiling//compiling_writer.nit:126 */
480 fra.me.REG[2] = fra.me.REG[0];
481 CALL_compiling___compiling_writer___WriterNode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
482 ATTR_compiling___compiling_writer___WriterCoreNode____writer(fra.me.REG[2]) = fra.me.REG[1];
483 stack_frame_head = fra.me.prev;
484 init_table[itpos2] = 1;
485 return;
486 }
487 void compiling___compiling_writer___WriterStrings___init(val_t p0, val_t p1, int* init_table){
488 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_compiling___compiling_writer___WriterStrings].i;
489 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
490 val_t tmp;
491 if (init_table[itpos3]) return;
492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
493 fra.me.file = LOCATE_compiling___compiling_writer;
494 fra.me.line = 138;
495 fra.me.meth = LOCATE_compiling___compiling_writer___WriterStrings___init;
496 fra.me.has_broke = 0;
497 fra.me.REG_size = 3;
498 fra.me.nitni_local_ref_head = NULL;
499 fra.me.REG[0] = NIT_NULL;
500 fra.me.REG[1] = NIT_NULL;
501 fra.me.REG[2] = NIT_NULL;
502 fra.me.REG[0] = p0;
503 fra.me.REG[1] = p1;
504 /* ./compiling//compiling_writer.nit:138 */
505 fra.me.REG[2] = fra.me.REG[0];
506 CALL_compiling___compiling_writer___WriterNode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
507 /* ./compiling//compiling_writer.nit:140 */
508 ATTR_compiling___compiling_writer___WriterStrings____string(fra.me.REG[2]) = fra.me.REG[1];
509 stack_frame_head = fra.me.prev;
510 init_table[itpos3] = 1;
511 return;
512 }
513 void compiling___compiling_writer___WriterStrings___internal_write_to_stream(val_t p0, val_t p1){
514 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
515 val_t REGB0;
516 val_t REGB1;
517 val_t tmp;
518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
519 fra.me.file = LOCATE_compiling___compiling_writer;
520 fra.me.line = 143;
521 fra.me.meth = LOCATE_compiling___compiling_writer___WriterStrings___internal_write_to_stream;
522 fra.me.has_broke = 0;
523 fra.me.REG_size = 3;
524 fra.me.nitni_local_ref_head = NULL;
525 fra.me.REG[0] = NIT_NULL;
526 fra.me.REG[1] = NIT_NULL;
527 fra.me.REG[2] = NIT_NULL;
528 fra.me.REG[0] = p0;
529 fra.me.REG[1] = p1;
530 /* ./compiling//compiling_writer.nit:146 */
531 while(1) {
532 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
533 if (UNTAG_Bool(REGB0)) {
534 } else {
535 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
536 if (UNTAG_Bool(REGB1)) {
537 REGB1 = TAG_Bool(false);
538 REGB0 = REGB1;
539 } else {
540 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
541 REGB0 = REGB1;
542 }
543 }
544 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
545 if (UNTAG_Bool(REGB0)) {
546 /* ./compiling//compiling_writer.nit:147 */
547 REGB0 = TAG_Bool(ATTR_compiling___compiling_writer___WriterStrings____string(fra.me.REG[0])!=NIT_NULL);
548 if (UNTAG_Bool(REGB0)) {
549 } else {
550 nit_abort("Uninitialized attribute %s", "_string", LOCATE_compiling___compiling_writer, 147);
551 }
552 fra.me.REG[2] = ATTR_compiling___compiling_writer___WriterStrings____string(fra.me.REG[0]);
553 CALL_standard___stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
554 /* ./compiling//compiling_writer.nit:148 */
555 fra.me.REG[2] = ATTR_compiling___compiling_writer___WriterStrings____next(fra.me.REG[0]);
556 fra.me.REG[0] = fra.me.REG[2];
557 } else {
558 /* ./compiling//compiling_writer.nit:146 */
559 goto label1;
560 }
561 }
562 label1: while(0);
563 stack_frame_head = fra.me.prev;
564 return;
565 }