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
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
11 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___add
;
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
;
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
)) {
25 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_writer
, 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
)) {
35 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
36 if (UNTAG_Bool(REGB1
)) {
37 REGB1
= TAG_Bool(false);
40 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
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]);
48 /* compiling/compiling_writer.nit:32 */
49 ATTR_compiling___compiling_writer___WriterStrings____next(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
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 */
56 stack_frame_head
= fra
.me
.prev
;
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
;
66 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
67 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
69 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___add_all
;
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
;
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
)) {
86 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_writer
, 41);
88 /* compiling/compiling_writer.nit:42 */
89 REGB0
= TAG_Bool(true);
90 /* ../lib/standard/collection/array.nit:269 */
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
)) {
96 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
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 */
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
)) {
107 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
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
)) {
113 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
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);
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);
131 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
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 */
137 /* ../lib/standard/kernel.nit:235 */
138 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
139 /* ../lib/standard/collection/array.nit:274 */
142 /* ../lib/standard/collection/array.nit:272 */
147 /* compiling/compiling_writer.nit:47 */
150 stack_frame_head
= fra
.me
.prev
;
151 return fra
.me
.REG
[0];
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
;
157 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
158 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
160 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___append
;
161 fra
.me
.has_broke
= 0;
163 fra
.me
.nitni_local_ref_head
= NULL
;
164 fra
.me
.REG
[0] = NIT_NULL
;
165 fra
.me
.REG
[1] = NIT_NULL
;
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
)) {
173 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_writer
, 59);
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 */
183 stack_frame_head
= fra
.me
.prev
;
184 return fra
.me
.REG
[0];
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
;
191 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
192 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
194 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___internal_append
;
195 fra
.me
.has_broke
= 0;
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
;
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
)) {
208 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
209 if (UNTAG_Bool(REGB1
)) {
210 REGB1
= TAG_Bool(false);
213 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
217 if (UNTAG_Bool(REGB0
)) {
218 ATTR_compiling___compiling_writer___Writer____first_sub_writer(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
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
)) {
226 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
227 if (UNTAG_Bool(REGB1
)) {
228 REGB1
= TAG_Bool(false);
231 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
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];
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
;
244 val_t
compiling___compiling_writer___Writer___sub(val_t p0
){
245 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
248 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
250 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___sub
;
251 fra
.me
.has_broke
= 0;
253 fra
.me
.nitni_local_ref_head
= NULL
;
254 fra
.me
.REG
[0] = NIT_NULL
;
255 fra
.me
.REG
[1] = NIT_NULL
;
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 */
264 stack_frame_head
= fra
.me
.prev
;
265 return fra
.me
.REG
[1];
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
;
272 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
273 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
275 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___write_to_stream
;
276 fra
.me
.has_broke
= 0;
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
;
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
)) {
289 nit_abort("Uninitialized attribute %s", "_is_writing", LOCATE_compiling___compiling_writer
, 87);
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
)) {
295 nit_abort("Assert failed", NULL
, LOCATE_compiling___compiling_writer
, 87);
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 */
304 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
305 if (UNTAG_Bool(REGB0
)) {
307 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
308 if (UNTAG_Bool(REGB1
)) {
309 REGB1
= TAG_Bool(false);
312 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
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);
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];
328 /* compiling/compiling_writer.nit:90 */
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
;
339 val_t
compiling___compiling_writer___Writer___is_frozen(val_t p0
){
340 struct {struct stack_frame_t me
;} fra
;
343 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
344 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
346 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___is_frozen
;
347 fra
.me
.has_broke
= 0;
349 fra
.me
.nitni_local_ref_head
= NULL
;
350 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
356 nit_abort("Uninitialized attribute %s", "_is_frozen", LOCATE_compiling___compiling_writer
, 97);
358 REGB0
= ATTR_compiling___compiling_writer___Writer____is_frozen(fra
.me
.REG
[0]);
359 stack_frame_head
= fra
.me
.prev
;
362 void compiling___compiling_writer___Writer___freeze(val_t p0
){
363 struct {struct stack_frame_t me
;} fra
;
366 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
367 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
369 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___freeze
;
370 fra
.me
.has_broke
= 0;
372 fra
.me
.nitni_local_ref_head
= NULL
;
373 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
380 /* compiling/compiling_writer.nit:104 */
381 REGB0
= TAG_Bool(true);
382 ATTR_compiling___compiling_writer___Writer____is_frozen(fra
.me
.REG
[0]) = REGB0
;
384 stack_frame_head
= fra
.me
.prev
;
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
;
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
;
395 fra
.me
.meth
= LOCATE_compiling___compiling_writer___Writer___init
;
396 fra
.me
.has_broke
= 0;
398 fra
.me
.nitni_local_ref_head
= NULL
;
399 fra
.me
.REG
[0] = NIT_NULL
;
401 stack_frame_head
= fra
.me
.prev
;
402 init_table
[itpos0
] = 1;
405 void compiling___compiling_writer___WriterNode___internal_write_to_stream(val_t p0
, val_t p1
){
406 struct {struct stack_frame_t me
;} fra
;
408 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
409 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
411 fra
.me
.meth
= LOCATE_compiling___compiling_writer___WriterNode___internal_write_to_stream
;
412 fra
.me
.has_broke
= 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
;
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
;
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
;
428 fra
.me
.meth
= LOCATE_compiling___compiling_writer___WriterNode___init
;
429 fra
.me
.has_broke
= 0;
431 fra
.me
.nitni_local_ref_head
= NULL
;
432 stack_frame_head
= fra
.me
.prev
;
433 init_table
[itpos1
] = 1;
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
;
440 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
441 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
443 fra
.me
.meth
= LOCATE_compiling___compiling_writer___WriterCoreNode___internal_write_to_stream
;
444 fra
.me
.has_broke
= 0;
446 fra
.me
.nitni_local_ref_head
= NULL
;
447 fra
.me
.REG
[0] = NIT_NULL
;
448 fra
.me
.REG
[1] = NIT_NULL
;
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
)) {
455 nit_abort("Uninitialized attribute %s", "_writer", LOCATE_compiling___compiling_writer
, 124);
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
;
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
;
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
;
470 fra
.me
.meth
= LOCATE_compiling___compiling_writer___WriterCoreNode___init
;
471 fra
.me
.has_broke
= 0;
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
;
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;
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
;
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
;
495 fra
.me
.meth
= LOCATE_compiling___compiling_writer___WriterStrings___init
;
496 fra
.me
.has_broke
= 0;
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
;
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;
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
;
518 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
519 fra
.me
.file
= LOCATE_compiling___compiling_writer
;
521 fra
.me
.meth
= LOCATE_compiling___compiling_writer___WriterStrings___internal_write_to_stream
;
522 fra
.me
.has_broke
= 0;
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
;
530 /* compiling/compiling_writer.nit:146 */
532 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
533 if (UNTAG_Bool(REGB0
)) {
535 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
536 if (UNTAG_Bool(REGB1
)) {
537 REGB1
= TAG_Bool(false);
540 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
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
)) {
550 nit_abort("Uninitialized attribute %s", "_string", LOCATE_compiling___compiling_writer
, 147);
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];
558 /* compiling/compiling_writer.nit:146 */
563 stack_frame_head
= fra
.me
.prev
;