update NOTICE and LICENSE
[nit.git] / c_src / compiling_writer._sep.c
1 /* This C file is generated by NIT to compile module compiling_writer. */
2 #include "compiling_writer._sep.h"
3 val_t 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_writer;
10 fra.me.line = 23;
11 fra.me.meth = LOCATE_compiling_writer___Writer___add;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 3;
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[0] = p0;
18 fra.me.REG[1] = p1;
19 /* ./compiling//compiling_writer.nit:26 */
20 REGB0 = CALL_compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
21 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22 if (UNTAG_Bool(REGB0)) {
23 } else {
24 nit_abort("Assert failed", NULL, LOCATE_compiling_writer, 26);
25 }
26 /* ./compiling//compiling_writer.nit:27 */
27 fra.me.REG[2] = ATTR_compiling_writer___Writer____last_string(fra.me.REG[0]);
28 /* ./compiling//compiling_writer.nit:28 */
29 fra.me.REG[1] = NEW_WriterStrings_compiling_writer___WriterStrings___init(fra.me.REG[1]);
30 /* ./compiling//compiling_writer.nit:29 */
31 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32 if (UNTAG_Bool(REGB0)) {
33 } else {
34 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35 if (UNTAG_Bool(REGB1)) {
36 REGB1 = TAG_Bool(false);
37 REGB0 = REGB1;
38 } else {
39 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40 REGB0 = REGB1;
41 }
42 }
43 if (UNTAG_Bool(REGB0)) {
44 /* ./compiling//compiling_writer.nit:30 */
45 CALL_compiling_writer___Writer___internal_append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
46 } else {
47 /* ./compiling//compiling_writer.nit:32 */
48 ATTR_compiling_writer___WriterStrings____next(fra.me.REG[2]) = fra.me.REG[1];
49 }
50 /* ./compiling//compiling_writer.nit:34 */
51 ATTR_compiling_writer___Writer____last_string(fra.me.REG[0]) = fra.me.REG[1];
52 /* ./compiling//compiling_writer.nit:35 */
53 goto label1;
54 label1: while(0);
55 stack_frame_head = fra.me.prev;
56 return fra.me.REG[0];
57 }
58 val_t compiling_writer___Writer___add_all(val_t p0, val_t p1, val_t p2){
59 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
60 val_t REGB0;
61 val_t REGB1;
62 val_t REGB2;
63 val_t tmp;
64 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
65 fra.me.file = LOCATE_compiling_writer;
66 fra.me.line = 38;
67 fra.me.meth = LOCATE_compiling_writer___Writer___add_all;
68 fra.me.has_broke = 0;
69 fra.me.REG_size = 5;
70 fra.me.REG[0] = NIT_NULL;
71 fra.me.REG[1] = NIT_NULL;
72 fra.me.REG[2] = NIT_NULL;
73 fra.me.REG[3] = NIT_NULL;
74 fra.me.REG[4] = NIT_NULL;
75 fra.me.REG[0] = p0;
76 fra.me.REG[1] = p1;
77 fra.me.REG[2] = p2;
78 /* ./compiling//compiling_writer.nit:41 */
79 REGB0 = CALL_compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
80 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
81 if (UNTAG_Bool(REGB0)) {
82 } else {
83 nit_abort("Assert failed", NULL, LOCATE_compiling_writer, 41);
84 }
85 /* ./compiling//compiling_writer.nit:42 */
86 REGB0 = TAG_Bool(true);
87 /* ./../lib/standard//collection//array.nit:234 */
88 REGB1 = TAG_Int(0);
89 /* ./../lib/standard//collection//array.nit:235 */
90 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
91 if (UNTAG_Bool(REGB2)) {
92 } else {
93 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
94 }
95 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
96 /* ./../lib/standard//collection//array.nit:236 */
97 fra.me.REG[3] = ATTR_array___Array____items(fra.me.REG[1]);
98 /* ./../lib/standard//collection//array.nit:237 */
99 while(1) {
100 /* ./../lib/standard//collection//array.nit:23 */
101 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
102 if (UNTAG_Bool(REGB2)) {
103 } else {
104 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
105 }
106 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
107 /* ./../lib/standard//kernel.nit:212 */
108 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
109 /* ./../lib/standard//collection//array.nit:237 */
110 if (UNTAG_Bool(REGB2)) {
111 /* ./../lib/standard//collection//array.nit:238 */
112 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
113 if (UNTAG_Bool(REGB2)) {
114 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
115 }
116 /* ./../lib/standard//collection//array.nit:654 */
117 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB1)];
118 /* ./compiling//compiling_writer.nit:44 */
119 if (UNTAG_Bool(REGB0)) {
120 REGB2 = TAG_Bool(false);
121 REGB0 = REGB2;
122 } else {
123 CALL_compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
124 }
125 /* ./compiling//compiling_writer.nit:45 */
126 CALL_compiling_writer___Writer___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
127 /* ./../lib/standard//collection//array.nit:239 */
128 REGB2 = TAG_Int(1);
129 /* ./../lib/standard//kernel.nit:215 */
130 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
131 /* ./../lib/standard//collection//array.nit:239 */
132 REGB1 = REGB2;
133 } else {
134 /* ./../lib/standard//collection//array.nit:237 */
135 goto label1;
136 }
137 }
138 label1: while(0);
139 /* ./compiling//compiling_writer.nit:47 */
140 goto label2;
141 label2: while(0);
142 stack_frame_head = fra.me.prev;
143 return fra.me.REG[0];
144 }
145 val_t compiling_writer___Writer___append(val_t p0, val_t p1){
146 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
147 val_t REGB0;
148 val_t tmp;
149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
150 fra.me.file = LOCATE_compiling_writer;
151 fra.me.line = 56;
152 fra.me.meth = LOCATE_compiling_writer___Writer___append;
153 fra.me.has_broke = 0;
154 fra.me.REG_size = 2;
155 fra.me.REG[0] = NIT_NULL;
156 fra.me.REG[1] = NIT_NULL;
157 fra.me.REG[0] = p0;
158 fra.me.REG[1] = p1;
159 /* ./compiling//compiling_writer.nit:59 */
160 REGB0 = CALL_compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
161 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
162 if (UNTAG_Bool(REGB0)) {
163 } else {
164 nit_abort("Assert failed", NULL, LOCATE_compiling_writer, 59);
165 }
166 /* ./compiling//compiling_writer.nit:60 */
167 fra.me.REG[1] = NEW_WriterCoreNode_compiling_writer___WriterCoreNode___init(fra.me.REG[1]);
168 CALL_compiling_writer___Writer___internal_append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
169 /* ./compiling//compiling_writer.nit:61 */
170 ATTR_compiling_writer___Writer____last_string(fra.me.REG[0]) = NIT_NULL;
171 /* ./compiling//compiling_writer.nit:62 */
172 goto label1;
173 label1: while(0);
174 stack_frame_head = fra.me.prev;
175 return fra.me.REG[0];
176 }
177 void compiling_writer___Writer___internal_append(val_t p0, val_t p1){
178 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
179 val_t REGB0;
180 val_t REGB1;
181 val_t tmp;
182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
183 fra.me.file = LOCATE_compiling_writer;
184 fra.me.line = 65;
185 fra.me.meth = LOCATE_compiling_writer___Writer___internal_append;
186 fra.me.has_broke = 0;
187 fra.me.REG_size = 3;
188 fra.me.REG[0] = NIT_NULL;
189 fra.me.REG[1] = NIT_NULL;
190 fra.me.REG[2] = NIT_NULL;
191 fra.me.REG[0] = p0;
192 fra.me.REG[1] = p1;
193 /* ./compiling//compiling_writer.nit:68 */
194 fra.me.REG[2] = ATTR_compiling_writer___Writer____first_sub_writer(fra.me.REG[0]);
195 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
196 if (UNTAG_Bool(REGB0)) {
197 } else {
198 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
199 if (UNTAG_Bool(REGB1)) {
200 REGB1 = TAG_Bool(false);
201 REGB0 = REGB1;
202 } else {
203 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
204 REGB0 = REGB1;
205 }
206 }
207 if (UNTAG_Bool(REGB0)) {
208 ATTR_compiling_writer___Writer____first_sub_writer(fra.me.REG[0]) = fra.me.REG[1];
209 }
210 /* ./compiling//compiling_writer.nit:69 */
211 fra.me.REG[2] = ATTR_compiling_writer___Writer____last_sub_writer(fra.me.REG[0]);
212 /* ./compiling//compiling_writer.nit:70 */
213 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
214 if (UNTAG_Bool(REGB0)) {
215 } else {
216 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
217 if (UNTAG_Bool(REGB1)) {
218 REGB1 = TAG_Bool(false);
219 REGB0 = REGB1;
220 } else {
221 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
222 REGB0 = REGB1;
223 }
224 }
225 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
226 if (UNTAG_Bool(REGB0)) {
227 ATTR_compiling_writer___WriterNode____next_writer(fra.me.REG[2]) = fra.me.REG[1];
228 }
229 /* ./compiling//compiling_writer.nit:71 */
230 ATTR_compiling_writer___Writer____last_sub_writer(fra.me.REG[0]) = fra.me.REG[1];
231 stack_frame_head = fra.me.prev;
232 return;
233 }
234 val_t compiling_writer___Writer___sub(val_t p0){
235 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
236 val_t tmp;
237 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
238 fra.me.file = LOCATE_compiling_writer;
239 fra.me.line = 74;
240 fra.me.meth = LOCATE_compiling_writer___Writer___sub;
241 fra.me.has_broke = 0;
242 fra.me.REG_size = 2;
243 fra.me.REG[0] = NIT_NULL;
244 fra.me.REG[1] = NIT_NULL;
245 fra.me.REG[0] = p0;
246 /* ./compiling//compiling_writer.nit:77 */
247 fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
248 /* ./compiling//compiling_writer.nit:78 */
249 CALL_compiling_writer___Writer___append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
250 /* ./compiling//compiling_writer.nit:79 */
251 goto label1;
252 label1: while(0);
253 stack_frame_head = fra.me.prev;
254 return fra.me.REG[1];
255 }
256 void compiling_writer___Writer___write_to_stream(val_t p0, val_t p1){
257 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
258 val_t REGB0;
259 val_t REGB1;
260 val_t tmp;
261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
262 fra.me.file = LOCATE_compiling_writer;
263 fra.me.line = 84;
264 fra.me.meth = LOCATE_compiling_writer___Writer___write_to_stream;
265 fra.me.has_broke = 0;
266 fra.me.REG_size = 4;
267 fra.me.REG[0] = NIT_NULL;
268 fra.me.REG[1] = NIT_NULL;
269 fra.me.REG[2] = NIT_NULL;
270 fra.me.REG[3] = NIT_NULL;
271 fra.me.REG[0] = p0;
272 fra.me.REG[1] = p1;
273 /* ./compiling//compiling_writer.nit:87 */
274 REGB0 = TAG_Bool(ATTR_compiling_writer___Writer____is_writing(fra.me.REG[0])!=NIT_NULL);
275 if (UNTAG_Bool(REGB0)) {
276 } else {
277 nit_abort("Uninitialized attribute %s", "_is_writing", LOCATE_compiling_writer, 87);
278 }
279 REGB0 = ATTR_compiling_writer___Writer____is_writing(fra.me.REG[0]);
280 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
281 if (UNTAG_Bool(REGB0)) {
282 } else {
283 nit_abort("Assert failed", NULL, LOCATE_compiling_writer, 87);
284 }
285 /* ./compiling//compiling_writer.nit:88 */
286 REGB0 = TAG_Bool(true);
287 ATTR_compiling_writer___Writer____is_writing(fra.me.REG[0]) = REGB0;
288 /* ./compiling//compiling_writer.nit:89 */
289 fra.me.REG[2] = ATTR_compiling_writer___Writer____first_sub_writer(fra.me.REG[0]);
290 /* ./compiling//compiling_writer.nit:90 */
291 while(1) {
292 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
293 if (UNTAG_Bool(REGB0)) {
294 } else {
295 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
296 if (UNTAG_Bool(REGB1)) {
297 REGB1 = TAG_Bool(false);
298 REGB0 = REGB1;
299 } else {
300 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
301 REGB0 = REGB1;
302 }
303 }
304 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
305 if (UNTAG_Bool(REGB0)) {
306 /* ./compiling//compiling_writer.nit:91 */
307 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
308 if (UNTAG_Bool(REGB0)) {
309 nit_abort("Reciever is null", NULL, LOCATE_compiling_writer, 91);
310 }
311 CALL_compiling_writer___WriterNode___internal_write_to_stream(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
312 /* ./compiling//compiling_writer.nit:92 */
313 fra.me.REG[3] = ATTR_compiling_writer___WriterNode____next_writer(fra.me.REG[2]);
314 fra.me.REG[2] = fra.me.REG[3];
315 } else {
316 /* ./compiling//compiling_writer.nit:90 */
317 goto label1;
318 }
319 }
320 label1: while(0);
321 /* ./compiling//compiling_writer.nit:94 */
322 REGB0 = TAG_Bool(false);
323 ATTR_compiling_writer___Writer____is_writing(fra.me.REG[0]) = REGB0;
324 stack_frame_head = fra.me.prev;
325 return;
326 }
327 val_t compiling_writer___Writer___is_frozen(val_t p0){
328 struct {struct stack_frame_t me;} fra;
329 val_t REGB0;
330 val_t tmp;
331 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
332 fra.me.file = LOCATE_compiling_writer;
333 fra.me.line = 97;
334 fra.me.meth = LOCATE_compiling_writer___Writer___is_frozen;
335 fra.me.has_broke = 0;
336 fra.me.REG_size = 1;
337 fra.me.REG[0] = NIT_NULL;
338 fra.me.REG[0] = p0;
339 /* ./compiling//compiling_writer.nit:97 */
340 REGB0 = TAG_Bool(ATTR_compiling_writer___Writer____is_frozen(fra.me.REG[0])!=NIT_NULL);
341 if (UNTAG_Bool(REGB0)) {
342 } else {
343 nit_abort("Uninitialized attribute %s", "_is_frozen", LOCATE_compiling_writer, 97);
344 }
345 REGB0 = ATTR_compiling_writer___Writer____is_frozen(fra.me.REG[0]);
346 stack_frame_head = fra.me.prev;
347 return REGB0;
348 }
349 void compiling_writer___Writer___freeze(val_t p0){
350 struct {struct stack_frame_t me;} fra;
351 val_t REGB0;
352 val_t tmp;
353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
354 fra.me.file = LOCATE_compiling_writer;
355 fra.me.line = 100;
356 fra.me.meth = LOCATE_compiling_writer___Writer___freeze;
357 fra.me.has_broke = 0;
358 fra.me.REG_size = 1;
359 fra.me.REG[0] = NIT_NULL;
360 fra.me.REG[0] = p0;
361 /* ./compiling//compiling_writer.nit:103 */
362 REGB0 = CALL_compiling_writer___Writer___is_frozen(fra.me.REG[0])(fra.me.REG[0]);
363 if (UNTAG_Bool(REGB0)) {
364 goto label1;
365 }
366 /* ./compiling//compiling_writer.nit:104 */
367 REGB0 = TAG_Bool(true);
368 ATTR_compiling_writer___Writer____is_frozen(fra.me.REG[0]) = REGB0;
369 label1: while(0);
370 stack_frame_head = fra.me.prev;
371 return;
372 }
373 void compiling_writer___Writer___init(val_t p0, int* init_table){
374 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Writer].i;
375 struct {struct stack_frame_t me;} fra;
376 val_t tmp;
377 if (init_table[itpos0]) return;
378 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
379 fra.me.file = LOCATE_compiling_writer;
380 fra.me.line = 107;
381 fra.me.meth = LOCATE_compiling_writer___Writer___init;
382 fra.me.has_broke = 0;
383 fra.me.REG_size = 1;
384 fra.me.REG[0] = NIT_NULL;
385 fra.me.REG[0] = p0;
386 stack_frame_head = fra.me.prev;
387 init_table[itpos0] = 1;
388 return;
389 }
390 void compiling_writer___WriterNode___internal_write_to_stream(val_t p0, val_t p1){
391 struct {struct stack_frame_t me;} fra;
392 val_t tmp;
393 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
394 fra.me.file = LOCATE_compiling_writer;
395 fra.me.line = 115;
396 fra.me.meth = LOCATE_compiling_writer___WriterNode___internal_write_to_stream;
397 fra.me.has_broke = 0;
398 fra.me.REG_size = 0;
399 /* ./compiling//compiling_writer.nit:115 */
400 nit_abort("Deferred method called", NULL, LOCATE_compiling_writer, 115);
401 stack_frame_head = fra.me.prev;
402 return;
403 }
404 void compiling_writer___WriterNode___init(val_t p0, int* init_table){
405 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_WriterNode].i;
406 struct {struct stack_frame_t me;} fra;
407 val_t tmp;
408 if (init_table[itpos1]) return;
409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
410 fra.me.file = LOCATE_compiling_writer;
411 fra.me.line = 0;
412 fra.me.meth = LOCATE_compiling_writer___WriterNode___init;
413 fra.me.has_broke = 0;
414 fra.me.REG_size = 0;
415 stack_frame_head = fra.me.prev;
416 init_table[itpos1] = 1;
417 return;
418 }
419 void compiling_writer___WriterCoreNode___internal_write_to_stream(val_t p0, val_t p1){
420 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
421 val_t REGB0;
422 val_t tmp;
423 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
424 fra.me.file = LOCATE_compiling_writer;
425 fra.me.line = 124;
426 fra.me.meth = LOCATE_compiling_writer___WriterCoreNode___internal_write_to_stream;
427 fra.me.has_broke = 0;
428 fra.me.REG_size = 2;
429 fra.me.REG[0] = NIT_NULL;
430 fra.me.REG[1] = NIT_NULL;
431 fra.me.REG[0] = p0;
432 fra.me.REG[1] = p1;
433 /* ./compiling//compiling_writer.nit:124 */
434 REGB0 = TAG_Bool(ATTR_compiling_writer___WriterCoreNode____writer(fra.me.REG[0])!=NIT_NULL);
435 if (UNTAG_Bool(REGB0)) {
436 } else {
437 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling_writer, 124);
438 }
439 fra.me.REG[0] = ATTR_compiling_writer___WriterCoreNode____writer(fra.me.REG[0]);
440 CALL_compiling_writer___Writer___write_to_stream(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
441 stack_frame_head = fra.me.prev;
442 return;
443 }
444 void compiling_writer___WriterCoreNode___init(val_t p0, val_t p1, int* init_table){
445 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_WriterCoreNode].i;
446 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
447 val_t tmp;
448 if (init_table[itpos2]) return;
449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
450 fra.me.file = LOCATE_compiling_writer;
451 fra.me.line = 126;
452 fra.me.meth = LOCATE_compiling_writer___WriterCoreNode___init;
453 fra.me.has_broke = 0;
454 fra.me.REG_size = 3;
455 fra.me.REG[0] = NIT_NULL;
456 fra.me.REG[1] = NIT_NULL;
457 fra.me.REG[2] = NIT_NULL;
458 fra.me.REG[0] = p0;
459 fra.me.REG[1] = p1;
460 /* ./compiling//compiling_writer.nit:126 */
461 fra.me.REG[2] = fra.me.REG[0];
462 CALL_compiling_writer___WriterNode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
463 ATTR_compiling_writer___WriterCoreNode____writer(fra.me.REG[2]) = fra.me.REG[1];
464 stack_frame_head = fra.me.prev;
465 init_table[itpos2] = 1;
466 return;
467 }
468 void compiling_writer___WriterStrings___init(val_t p0, val_t p1, int* init_table){
469 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_WriterStrings].i;
470 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
471 val_t tmp;
472 if (init_table[itpos3]) return;
473 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
474 fra.me.file = LOCATE_compiling_writer;
475 fra.me.line = 138;
476 fra.me.meth = LOCATE_compiling_writer___WriterStrings___init;
477 fra.me.has_broke = 0;
478 fra.me.REG_size = 3;
479 fra.me.REG[0] = NIT_NULL;
480 fra.me.REG[1] = NIT_NULL;
481 fra.me.REG[2] = NIT_NULL;
482 fra.me.REG[0] = p0;
483 fra.me.REG[1] = p1;
484 /* ./compiling//compiling_writer.nit:138 */
485 fra.me.REG[2] = fra.me.REG[0];
486 CALL_compiling_writer___WriterNode___init(fra.me.REG[0])(fra.me.REG[0], init_table);
487 /* ./compiling//compiling_writer.nit:140 */
488 ATTR_compiling_writer___WriterStrings____string(fra.me.REG[2]) = fra.me.REG[1];
489 stack_frame_head = fra.me.prev;
490 init_table[itpos3] = 1;
491 return;
492 }
493 void compiling_writer___WriterStrings___internal_write_to_stream(val_t p0, val_t p1){
494 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
495 val_t REGB0;
496 val_t REGB1;
497 val_t tmp;
498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
499 fra.me.file = LOCATE_compiling_writer;
500 fra.me.line = 143;
501 fra.me.meth = LOCATE_compiling_writer___WriterStrings___internal_write_to_stream;
502 fra.me.has_broke = 0;
503 fra.me.REG_size = 3;
504 fra.me.REG[0] = NIT_NULL;
505 fra.me.REG[1] = NIT_NULL;
506 fra.me.REG[2] = NIT_NULL;
507 fra.me.REG[0] = p0;
508 fra.me.REG[1] = p1;
509 /* ./compiling//compiling_writer.nit:146 */
510 while(1) {
511 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
512 if (UNTAG_Bool(REGB0)) {
513 } else {
514 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
515 if (UNTAG_Bool(REGB1)) {
516 REGB1 = TAG_Bool(false);
517 REGB0 = REGB1;
518 } else {
519 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
520 REGB0 = REGB1;
521 }
522 }
523 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
524 if (UNTAG_Bool(REGB0)) {
525 /* ./compiling//compiling_writer.nit:147 */
526 REGB0 = TAG_Bool(ATTR_compiling_writer___WriterStrings____string(fra.me.REG[0])!=NIT_NULL);
527 if (UNTAG_Bool(REGB0)) {
528 } else {
529 nit_abort("Uninitialized attribute %s", "_string", LOCATE_compiling_writer, 147);
530 }
531 fra.me.REG[2] = ATTR_compiling_writer___WriterStrings____string(fra.me.REG[0]);
532 CALL_stream___OStream___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
533 /* ./compiling//compiling_writer.nit:148 */
534 fra.me.REG[2] = ATTR_compiling_writer___WriterStrings____next(fra.me.REG[0]);
535 fra.me.REG[0] = fra.me.REG[2];
536 } else {
537 /* ./compiling//compiling_writer.nit:146 */
538 goto label1;
539 }
540 }
541 label1: while(0);
542 stack_frame_head = fra.me.prev;
543 return;
544 }