2 /* method csv$Text$escape_to_csv for (self: Text, Char, Char, String): String */
3 val
* csv___core__Text___escape_to_csv(val
* self
, uint32_t p0
, uint32_t p1
, val
* p2
) {
4 val
* var
/* : String */;
5 uint32_t var_sep_char
/* var sep_char: Char */;
6 uint32_t var_delim_char
/* var delim_char: Char */;
7 val
* var_eol
/* var eol: String */;
9 long var_add_sp
/* var add_sp: Int */;
10 short int var2
/* : Bool */;
11 short int var4
/* : Bool */;
12 val
* var5
/* : String */;
13 static val
* varoncenew
;
14 static int varoncenew_guard
;
15 val
* var6
/* : Buffer */;
16 val
* var7
/* : Buffer */;
17 long var8
/* : Int */;
18 long var9
/* : Int */;
19 short int var11
/* : Bool */;
22 const char* var_class_name
;
23 long var12
/* : Int */;
24 val
* var13
/* : Buffer */;
25 val
* var_bf
/* var bf: Buffer */;
26 long var_i
/* var i: Int */;
27 long var14
/* : Int */;
28 long var_
/* var : Int */;
29 short int var15
/* : Bool */;
30 short int var17
/* : Bool */;
33 const char* var_class_name20
;
34 short int var21
/* : Bool */;
35 uint32_t var22
/* : Char */;
36 uint32_t var_c
/* var c: Char */;
37 short int var23
/* : Bool */;
38 short int var25
/* : Bool */;
39 long var26
/* : Int */;
40 val
* var27
/* : String */;
45 var1
= csv___core__Text___chars_to_escape_csv(self
, var_sep_char
, var_delim_char
, var_eol
);
49 { /* Inline kernel$Int$== (var_add_sp,0l) on <var_add_sp:Int> */
50 var4
= var_add_sp
== 0l;
58 var5
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:Text>*/
64 if (likely(varoncenew_guard
)) {
67 var7
= NEW_core__Buffer(&type_core__Buffer
);
73 var8
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__byte_length
]))(self
); /* byte_length on <self:Text>*/
76 { /* Inline kernel$Int$+ (var_add_sp,var8) on <var_add_sp:Int> */
77 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
78 /* <var8:Int> isa OTHER */
79 var11
= 1; /* easy <var8:Int> isa OTHER*/
80 if (unlikely(!var11
)) {
81 var_class_name
= type_core__Int
.name
;
82 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
83 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
86 var12
= var_add_sp
+ var8
;
93 var13
= core__flat___Buffer___with_cap(var6
, var9
);
97 ((void(*)(val
* self
, uint32_t p0
))(var_bf
->class->vft
[COLOR_core__abstract_text__Buffer__add
]))(var_bf
, '\"'); /* add on <var_bf:Buffer>*/
101 var14
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
106 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
107 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
108 /* <var_:Int> isa OTHER */
109 var17
= 1; /* easy <var_:Int> isa OTHER*/
110 if (unlikely(!var17
)) {
111 var_class_name20
= type_core__Int
.name
;
112 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
113 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
116 var21
= var_i
< var_
;
127 var22
= ((uint32_t(*)(val
* self
, long p0
))(self
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(self
, var_i
); /* [] on <self:Text>*/
131 { /* Inline kernel$Char$== (var_c,var_delim_char) on <var_c:Char> */
132 var25
= var_c
== var_delim_char
;
140 ((void(*)(val
* self
, uint32_t p0
))(var_bf
->class->vft
[COLOR_core__abstract_text__Buffer__add
]))(var_bf
, var_c
); /* add on <var_bf:Buffer>*/
145 ((void(*)(val
* self
, uint32_t p0
))(var_bf
->class->vft
[COLOR_core__abstract_text__Buffer__add
]))(var_bf
, var_c
); /* add on <var_bf:Buffer>*/
148 var26
= core___core__Int___Discrete__successor(var_i
, 1l);
152 BREAK_label
: (void)0;
154 ((void(*)(val
* self
, uint32_t p0
))(var_bf
->class->vft
[COLOR_core__abstract_text__Buffer__add
]))(var_bf
, '\"'); /* add on <var_bf:Buffer>*/
157 var27
= ((val
*(*)(val
* self
))(var_bf
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_bf
); /* to_s on <var_bf:Buffer>*/
164 /* method csv$Text$chars_to_escape_csv for (self: Text, Char, Char, String): Int */
165 long csv___core__Text___chars_to_escape_csv(val
* self
, uint32_t p0
, uint32_t p1
, val
* p2
) {
166 long var
/* : Int */;
167 uint32_t var_sep_char
/* var sep_char: Char */;
168 uint32_t var_delim_char
/* var delim_char: Char */;
169 val
* var_eol
/* var eol: String */;
170 long var_more_ln
/* var more_ln: Int */;
171 long var1
/* : Int */;
172 long var_ln
/* var ln: Int */;
173 short int var_need_esc
/* var need_esc: Bool */;
174 uint32_t var2
/* : Char */;
175 uint32_t var_fst_eol
/* var fst_eol: Char */;
176 long var_i
/* var i: Int */;
177 short int var3
/* : Bool */;
178 short int var5
/* : Bool */;
181 const char* var_class_name
;
182 short int var6
/* : Bool */;
183 uint32_t var7
/* : Char */;
184 uint32_t var_c
/* var c: Char */;
185 short int var8
/* : Bool */;
186 short int var10
/* : Bool */;
187 long var11
/* : Int */;
188 short int var13
/* : Bool */;
191 const char* var_class_name16
;
192 long var17
/* : Int */;
193 short int var18
/* : Bool */;
194 short int var20
/* : Bool */;
195 long var_j
/* var j: Int */;
196 long var21
/* : Int */;
197 long var_
/* var : Int */;
198 short int var22
/* : Bool */;
199 short int var24
/* : Bool */;
202 const char* var_class_name27
;
203 short int var28
/* : Bool */;
204 long var29
/* : Int */;
205 short int var31
/* : Bool */;
208 const char* var_class_name34
;
209 long var35
/* : Int */;
210 uint32_t var36
/* : Char */;
211 uint32_t var37
/* : Char */;
212 short int var38
/* : Bool */;
213 short int var40
/* : Bool */;
214 short int var41
/* : Bool */;
215 long var42
/* : Int */;
216 short int var44
/* : Bool */;
219 const char* var_class_name47
;
220 long var48
/* : Int */;
221 long var49
/* : Int */;
222 short int var50
/* : Bool */;
223 short int var52
/* : Bool */;
224 long var53
/* : Int */;
225 short int var55
/* : Bool */;
228 const char* var_class_name58
;
229 long var59
/* : Int */;
230 long var61
/* : Int */;
231 long var62
/* : Int */;
232 short int var64
/* : Bool */;
235 const char* var_class_name67
;
236 long var68
/* : Int */;
237 long var_more
/* var more: Int */;
238 long var69
/* : Int */;
239 short int var71
/* : Bool */;
242 const char* var_class_name74
;
243 long var75
/* : Int */;
249 var1
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
254 var2
= core___core__Text___first(var_eol
);
260 { /* Inline kernel$Int$< (var_i,var_ln) on <var_i:Int> */
261 /* Covariant cast for argument 0 (i) <var_ln:Int> isa OTHER */
262 /* <var_ln:Int> isa OTHER */
263 var5
= 1; /* easy <var_ln:Int> isa OTHER*/
264 if (unlikely(!var5
)) {
265 var_class_name
= type_core__Int
.name
;
266 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
267 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
270 var6
= var_i
< var_ln
;
278 var7
= ((uint32_t(*)(val
* self
, long p0
))(self
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(self
, var_i
); /* [] on <self:Text>*/
282 { /* Inline kernel$Char$== (var_c,var_delim_char) on <var_c:Char> */
283 var10
= var_c
== var_delim_char
;
291 { /* Inline kernel$Int$+ (var_more_ln,1l) on <var_more_ln:Int> */
292 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
293 /* <1l:Int> isa OTHER */
294 var13
= 1; /* easy <1l:Int> isa OTHER*/
295 if (unlikely(!var13
)) {
296 var_class_name16
= type_core__Int
.name
;
297 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
298 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
301 var17
= var_more_ln
+ 1l;
311 { /* Inline kernel$Char$== (var_c,var_fst_eol) on <var_c:Char> */
312 var20
= var_c
== var_fst_eol
;
322 var21
= ((long(*)(val
* self
))(var_eol
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_eol
); /* length on <var_eol:String>*/
327 { /* Inline kernel$Int$< (var_j,var_) on <var_j:Int> */
328 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
329 /* <var_:Int> isa OTHER */
330 var24
= 1; /* easy <var_:Int> isa OTHER*/
331 if (unlikely(!var24
)) {
332 var_class_name27
= type_core__Int
.name
;
333 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
334 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
337 var28
= var_j
< var_
;
348 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
349 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
350 /* <1l:Int> isa OTHER */
351 var31
= 1; /* easy <1l:Int> isa OTHER*/
352 if (unlikely(!var31
)) {
353 var_class_name34
= type_core__Int
.name
;
354 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
355 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
366 var36
= ((uint32_t(*)(val
* self
, long p0
))(self
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(self
, var_i
); /* [] on <self:Text>*/
370 var37
= ((uint32_t(*)(val
* self
, long p0
))(var_eol
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(var_eol
, var_j
); /* [] on <var_eol:String>*/
373 { /* Inline kernel$Char$!= (var_c,var37) on <var_c:Char> */
374 var40
= var_c
== var37
;
383 { /* Inline kernel$Int$- (var_i,var_j) on <var_i:Int> */
384 /* Covariant cast for argument 0 (i) <var_j:Int> isa OTHER */
385 /* <var_j:Int> isa OTHER */
386 var44
= 1; /* easy <var_j:Int> isa OTHER*/
387 if (unlikely(!var44
)) {
388 var_class_name47
= type_core__Int
.name
;
389 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47
);
390 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
393 var48
= var_i
- var_j
;
405 var49
= core___core__Int___Discrete__successor(var_j
, 1l);
409 BREAK_label
: (void)0;
413 { /* Inline kernel$Char$== (var_c,var_sep_char) on <var_c:Char> */
414 var52
= var_c
== var_sep_char
;
425 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
426 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
427 /* <1l:Int> isa OTHER */
428 var55
= 1; /* easy <1l:Int> isa OTHER*/
429 if (unlikely(!var55
)) {
430 var_class_name58
= type_core__Int
.name
;
431 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58
);
432 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
446 BREAK_label60
: (void)0;
448 var61
= core__abstract_text___Char___u8char_len(var_delim_char
);
451 { /* Inline kernel$Int$* (var_more_ln,var61) on <var_more_ln:Int> */
452 /* Covariant cast for argument 0 (i) <var61:Int> isa OTHER */
453 /* <var61:Int> isa OTHER */
454 var64
= 1; /* easy <var61:Int> isa OTHER*/
455 if (unlikely(!var64
)) {
456 var_class_name67
= type_core__Int
.name
;
457 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67
);
458 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 732);
461 var68
= var_more_ln
* var61
;
470 { /* Inline kernel$Int$+ (var_more,2l) on <var_more:Int> */
471 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
472 /* <2l:Int> isa OTHER */
473 var71
= 1; /* easy <2l:Int> isa OTHER*/
474 if (unlikely(!var71
)) {
475 var_class_name74
= type_core__Int
.name
;
476 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74
);
477 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
480 var75
= var_more
+ 2l;
494 /* method csv$CsvStream$delimiter for (self: CsvStream): Char */
495 uint32_t csv___csv__CsvStream___delimiter(val
* self
) {
496 uint32_t var
/* : Char */;
497 uint32_t var1
/* : Char */;
498 var1
= self
->attrs
[COLOR_csv__CsvStream___delimiter
].c
; /* _delimiter on <self:CsvStream> */
503 /* method csv$CsvStream$delimiter= for (self: CsvStream, Char) */
504 void csv___csv__CsvStream___delimiter_61d(val
* self
, uint32_t p0
) {
505 self
->attrs
[COLOR_csv__CsvStream___delimiter
].c
= p0
; /* _delimiter on <self:CsvStream> */
508 /* method csv$CsvStream$separator for (self: CsvStream): Char */
509 uint32_t csv___csv__CsvStream___separator(val
* self
) {
510 uint32_t var
/* : Char */;
511 uint32_t var1
/* : Char */;
512 var1
= self
->attrs
[COLOR_csv__CsvStream___separator
].c
; /* _separator on <self:CsvStream> */
517 /* method csv$CsvStream$separator= for (self: CsvStream, Char) */
518 void csv___csv__CsvStream___separator_61d(val
* self
, uint32_t p0
) {
519 self
->attrs
[COLOR_csv__CsvStream___separator
].c
= p0
; /* _separator on <self:CsvStream> */
522 /* method csv$CsvStream$eol for (self: CsvStream): String */
523 val
* csv___csv__CsvStream___eol(val
* self
) {
524 val
* var
/* : String */;
525 val
* var1
/* : String */;
526 var1
= self
->attrs
[COLOR_csv__CsvStream___eol
].val
; /* _eol on <self:CsvStream> */
527 if (unlikely(var1
== NULL
)) {
528 if(catchStack
.cursor
>= 0){
529 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
531 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _eol");
532 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 112);
539 /* method csv$CsvStream$eol= for (self: CsvStream, String) */
540 void csv___csv__CsvStream___eol_61d(val
* self
, val
* p0
) {
541 self
->attrs
[COLOR_csv__CsvStream___eol
].val
= p0
; /* _eol on <self:CsvStream> */
544 /* method csv$CsvDocument$header for (self: CsvDocument): Array[String] */
545 val
* csv___csv__CsvDocument___header(val
* self
) {
546 val
* var
/* : Array[String] */;
547 val
* var1
/* : Array[String] */;
548 var1
= self
->attrs
[COLOR_csv__CsvDocument___header
].val
; /* _header on <self:CsvDocument> */
549 if (unlikely(var1
== NULL
)) {
550 if(catchStack
.cursor
>= 0){
551 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
554 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 121);
561 /* method csv$CsvDocument$header= for (self: CsvDocument, nullable Array[String]) */
562 void csv___csv__CsvDocument___header_61d(val
* self
, val
* p0
) {
563 val
* var
/* : Array[String] */;
564 val
* var1
/* : Array[String] */;
566 var1
= NEW_core__Array(&type_core__Array__core__String
);
568 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array$Array$init on <var1:Array[String]>*/
570 self
->attrs
[COLOR_csv__CsvDocument___header
].val
= var1
; /* _header on <self:CsvDocument> */
575 self
->attrs
[COLOR_csv__CsvDocument___header
].val
= var
; /* _header on <self:CsvDocument> */
578 /* method csv$CsvDocument$records for (self: CsvDocument): Array[Array[String]] */
579 val
* csv___csv__CsvDocument___records(val
* self
) {
580 val
* var
/* : Array[Array[String]] */;
581 val
* var1
/* : Array[Array[String]] */;
582 var1
= self
->attrs
[COLOR_csv__CsvDocument___records
].val
; /* _records on <self:CsvDocument> */
583 if (unlikely(var1
== NULL
)) {
584 if(catchStack
.cursor
>= 0){
585 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _records");
588 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 126);
595 /* method csv$CsvDocument$records= for (self: CsvDocument, nullable Array[Array[String]]) */
596 void csv___csv__CsvDocument___records_61d(val
* self
, val
* p0
) {
597 val
* var
/* : Array[Array[String]] */;
598 val
* var1
/* : Array[Array[String]] */;
600 var1
= NEW_core__Array(&type_core__Array__core__Array__core__String
);
602 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array$Array$init on <var1:Array[Array[String]]>*/
604 self
->attrs
[COLOR_csv__CsvDocument___records
].val
= var1
; /* _records on <self:CsvDocument> */
609 self
->attrs
[COLOR_csv__CsvDocument___records
].val
= var
; /* _records on <self:CsvDocument> */
612 /* method csv$CsvDocument$add_record for (self: CsvDocument, Array[Object]) */
613 void csv___csv__CsvDocument___add_record(val
* self
, val
* p0
) {
614 val
* var_objs
/* var objs: Array[Object] */;
615 val
* var
/* : Array[String] */;
616 long var1
/* : Int */;
617 long var3
/* : Int */;
618 val
* var_ln
/* var ln: Array[String] */;
619 val
* var_
/* var : Array[Object] */;
620 val
* var4
/* : IndexedIterator[nullable Object] */;
621 val
* var_5
/* var : IndexedIterator[Object] */;
622 short int var6
/* : Bool */;
623 val
* var7
/* : nullable Object */;
624 val
* var_i
/* var i: Object */;
625 val
* var8
/* : String */;
626 val
* var9
/* : Array[Array[String]] */;
627 val
* var11
/* : Array[Array[String]] */;
629 var
= NEW_core__Array(&type_core__Array__core__String
);
631 { /* Inline array$AbstractArrayRead$length (var_objs) on <var_objs:Array[Object]> */
632 var3
= var_objs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_objs:Array[Object]> */
638 core___core__Array___with_capacity(var
, var1
); /* Direct call array$Array$with_capacity on <var:Array[String]>*/
643 var4
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
648 var6
= ((short int(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_5
); /* is_ok on <var_5:IndexedIterator[Object]>*/
655 var7
= ((val
*(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_5
); /* item on <var_5:IndexedIterator[Object]>*/
659 var8
= ((val
*(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_i
); /* to_s on <var_i:Object>*/
662 core___core__Array___core__abstract_collection__SimpleCollection__add(var_ln
, var8
); /* Direct call array$Array$add on <var_ln:Array[String]>*/
665 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_5
); /* next on <var_5:IndexedIterator[Object]>*/
668 BREAK_label
: (void)0;
670 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_5
); /* finish on <var_5:IndexedIterator[Object]>*/
673 { /* Inline csv$CsvDocument$records (self) on <self:CsvDocument> */
674 var11
= self
->attrs
[COLOR_csv__CsvDocument___records
].val
; /* _records on <self:CsvDocument> */
675 if (unlikely(var11
== NULL
)) {
676 if(catchStack
.cursor
>= 0){
677 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _records");
680 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 126);
688 core___core__Array___core__abstract_collection__SimpleCollection__add(var9
, var_ln
); /* Direct call array$Array$add on <var9:Array[Array[String]]>*/
692 /* method csv$CsvDocument$write_to for (self: CsvDocument, Writer) */
693 void csv___csv__CsvDocument___core__stream__Writable__write_to(val
* self
, val
* p0
) {
694 val
* var_stream
/* var stream: Writer */;
695 val
* var
/* : CsvWriter */;
696 val
* var_s
/* var s: CsvWriter */;
697 uint32_t var1
/* : Char */;
698 uint32_t var3
/* : Char */;
699 val
* var5
/* : String */;
700 val
* var7
/* : String */;
701 uint32_t var9
/* : Char */;
702 uint32_t var11
/* : Char */;
703 val
* var13
/* : Array[String] */;
704 val
* var15
/* : Array[String] */;
705 short int var16
/* : Bool */;
706 short int var17
/* : Bool */;
707 val
* var18
/* : Array[String] */;
708 val
* var20
/* : Array[String] */;
709 val
* var21
/* : Array[Array[String]] */;
710 val
* var23
/* : Array[Array[String]] */;
712 var
= NEW_csv__CsvWriter(&type_csv__CsvWriter
);
714 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_csv__CsvWriter__ostream_61d
]))(var
, var_stream
); /* ostream= on <var:CsvWriter>*/
717 ((void(*)(val
* self
))(var
->class->vft
[COLOR_core__kernel__Object__init
]))(var
); /* init on <var:CsvWriter>*/
721 { /* Inline csv$CsvStream$separator (self) on <self:CsvDocument> */
722 var3
= self
->attrs
[COLOR_csv__CsvStream___separator
].c
; /* _separator on <self:CsvDocument> */
728 { /* Inline csv$CsvStream$separator= (var_s,var1) on <var_s:CsvWriter> */
729 var_s
->attrs
[COLOR_csv__CsvStream___separator
].c
= var1
; /* _separator on <var_s:CsvWriter> */
734 { /* Inline csv$CsvStream$eol (self) on <self:CsvDocument> */
735 var7
= self
->attrs
[COLOR_csv__CsvStream___eol
].val
; /* _eol on <self:CsvDocument> */
736 if (unlikely(var7
== NULL
)) {
737 if(catchStack
.cursor
>= 0){
738 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
740 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _eol");
741 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 112);
749 { /* Inline csv$CsvStream$eol= (var_s,var5) on <var_s:CsvWriter> */
750 var_s
->attrs
[COLOR_csv__CsvStream___eol
].val
= var5
; /* _eol on <var_s:CsvWriter> */
755 { /* Inline csv$CsvStream$delimiter (self) on <self:CsvDocument> */
756 var11
= self
->attrs
[COLOR_csv__CsvStream___delimiter
].c
; /* _delimiter on <self:CsvDocument> */
762 { /* Inline csv$CsvStream$delimiter= (var_s,var9) on <var_s:CsvWriter> */
763 var_s
->attrs
[COLOR_csv__CsvStream___delimiter
].c
= var9
; /* _delimiter on <var_s:CsvWriter> */
768 { /* Inline csv$CsvDocument$header (self) on <self:CsvDocument> */
769 var15
= self
->attrs
[COLOR_csv__CsvDocument___header
].val
; /* _header on <self:CsvDocument> */
770 if (unlikely(var15
== NULL
)) {
771 if(catchStack
.cursor
>= 0){
772 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
775 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 121);
783 var16
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var13
);
788 { /* Inline csv$CsvDocument$header (self) on <self:CsvDocument> */
789 var20
= self
->attrs
[COLOR_csv__CsvDocument___header
].val
; /* _header on <self:CsvDocument> */
790 if (unlikely(var20
== NULL
)) {
791 if(catchStack
.cursor
>= 0){
792 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
795 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 121);
803 csv___csv__CsvWriter___write_line(var_s
, var18
); /* Direct call csv$CsvWriter$write_line on <var_s:CsvWriter>*/
808 { /* Inline csv$CsvDocument$records (self) on <self:CsvDocument> */
809 var23
= self
->attrs
[COLOR_csv__CsvDocument___records
].val
; /* _records on <self:CsvDocument> */
810 if (unlikely(var23
== NULL
)) {
811 if(catchStack
.cursor
>= 0){
812 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
814 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _records");
815 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 126);
823 csv___csv__CsvWriter___write_lines(var_s
, var21
); /* Direct call csv$CsvWriter$write_lines on <var_s:CsvWriter>*/
827 /* method csv$CsvDocument$init for (self: CsvDocument) */
828 void csv___csv__CsvDocument___core__kernel__Object__init(val
* self
) {
830 ((void(*)(val
* self
))(self
->class->vft
[COLOR_csv___csv__CsvDocument___core__kernel__Object__init
]))(self
); /* init on <self:CsvDocument>*/
834 /* method csv$CsvWriter$ostream for (self: CsvWriter): Writer */
835 val
* csv___csv__CsvWriter___ostream(val
* self
) {
836 val
* var
/* : Writer */;
837 val
* var1
/* : Writer */;
838 var1
= self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
; /* _ostream on <self:CsvWriter> */
839 if (unlikely(var1
== NULL
)) {
840 if(catchStack
.cursor
>= 0){
841 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ostream");
844 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 186);
851 /* method csv$CsvWriter$ostream= for (self: CsvWriter, Writer) */
852 void csv___csv__CsvWriter___ostream_61d(val
* self
, val
* p0
) {
853 self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
= p0
; /* _ostream on <self:CsvWriter> */
856 /* method csv$CsvWriter$write_lines for (self: CsvWriter, Array[Array[Object]]) */
857 void csv___csv__CsvWriter___write_lines(val
* self
, val
* p0
) {
858 val
* var_lines
/* var lines: Array[Array[Object]] */;
859 val
* var_
/* var : Array[Array[Object]] */;
860 val
* var
/* : IndexedIterator[nullable Object] */;
861 val
* var_1
/* var : IndexedIterator[Array[Object]] */;
862 short int var2
/* : Bool */;
863 val
* var3
/* : nullable Object */;
864 val
* var_i
/* var i: Array[Object] */;
868 var
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
873 var2
= ((short int(*)(val
* self
))((((long)var_1
&3)?class_info
[((long)var_1
&3)]:var_1
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_1
); /* is_ok on <var_1:IndexedIterator[Array[Object]]>*/
880 var3
= ((val
*(*)(val
* self
))((((long)var_1
&3)?class_info
[((long)var_1
&3)]:var_1
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_1
); /* item on <var_1:IndexedIterator[Array[Object]]>*/
884 csv___csv__CsvWriter___write_line(self
, var_i
); /* Direct call csv$CsvWriter$write_line on <self:CsvWriter>*/
887 ((void(*)(val
* self
))((((long)var_1
&3)?class_info
[((long)var_1
&3)]:var_1
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_1
); /* next on <var_1:IndexedIterator[Array[Object]]>*/
890 BREAK_label
: (void)0;
892 ((void(*)(val
* self
))((((long)var_1
&3)?class_info
[((long)var_1
&3)]:var_1
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_1
); /* finish on <var_1:IndexedIterator[Array[Object]]>*/
896 /* method csv$CsvWriter$write_line for (self: CsvWriter, Array[Object]) */
897 void csv___csv__CsvWriter___write_line(val
* self
, val
* p0
) {
898 val
* var_line
/* var line: Array[Object] */;
899 val
* var
/* : Writer */;
900 val
* var2
/* : Writer */;
901 val
* var_os
/* var os: Writer */;
902 uint32_t var3
/* : Char */;
903 uint32_t var5
/* : Char */;
904 uint32_t var_esc
/* var esc: Char */;
905 uint32_t var6
/* : Char */;
906 uint32_t var8
/* : Char */;
907 uint32_t var_sep
/* var sep: Char */;
908 val
* var9
/* : String */;
909 val
* var11
/* : String */;
910 val
* var_eol
/* var eol: String */;
911 long var_i
/* var i: Int */;
912 long var12
/* : Int */;
913 long var14
/* : Int */;
914 long var15
/* : Int */;
915 short int var17
/* : Bool */;
918 const char* var_class_name
;
919 long var18
/* : Int */;
920 long var_
/* var : Int */;
921 short int var19
/* : Bool */;
922 short int var21
/* : Bool */;
925 const char* var_class_name24
;
926 short int var25
/* : Bool */;
927 val
* var26
/* : nullable Object */;
928 val
* var27
/* : String */;
929 val
* var28
/* : String */;
930 long var29
/* : Int */;
931 val
* var30
/* : nullable Object */;
932 val
* var31
/* : String */;
933 val
* var32
/* : String */;
936 { /* Inline csv$CsvWriter$ostream (self) on <self:CsvWriter> */
937 var2
= self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
; /* _ostream on <self:CsvWriter> */
938 if (unlikely(var2
== NULL
)) {
939 if(catchStack
.cursor
>= 0){
940 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ostream");
943 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 186);
952 { /* Inline csv$CsvStream$delimiter (self) on <self:CsvWriter> */
953 var5
= self
->attrs
[COLOR_csv__CsvStream___delimiter
].c
; /* _delimiter on <self:CsvWriter> */
960 { /* Inline csv$CsvStream$separator (self) on <self:CsvWriter> */
961 var8
= self
->attrs
[COLOR_csv__CsvStream___separator
].c
; /* _separator on <self:CsvWriter> */
968 { /* Inline csv$CsvStream$eol (self) on <self:CsvWriter> */
969 var11
= self
->attrs
[COLOR_csv__CsvStream___eol
].val
; /* _eol on <self:CsvWriter> */
970 if (unlikely(var11
== NULL
)) {
971 if(catchStack
.cursor
>= 0){
972 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _eol");
975 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 112);
985 { /* Inline array$AbstractArrayRead$length (var_line) on <var_line:Array[Object]> */
986 var14
= var_line
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_line:Array[Object]> */
992 { /* Inline kernel$Int$- (var12,1l) on <var12:Int> */
993 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
994 /* <1l:Int> isa OTHER */
995 var17
= 1; /* easy <1l:Int> isa OTHER*/
996 if (unlikely(!var17
)) {
997 var_class_name
= type_core__Int
.name
;
998 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
999 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1005 RET_LABEL16
:(void)0;
1011 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
1012 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
1013 /* <var_:Int> isa OTHER */
1014 var21
= 1; /* easy <var_:Int> isa OTHER*/
1015 if (unlikely(!var21
)) {
1016 var_class_name24
= type_core__Int
.name
;
1017 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
1018 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
1021 var25
= var_i
< var_
;
1024 RET_LABEL20
:(void)0;
1032 var26
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_line
, var_i
);
1035 var27
= ((val
*(*)(val
* self
))((((long)var26
&3)?class_info
[((long)var26
&3)]:var26
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var26
); /* to_s on <var26:nullable Object(Object)>*/
1038 var28
= csv___core__Text___escape_to_csv(var27
, var_sep
, var_esc
, var_eol
);
1041 core___core__FileWriter___core__stream__Writer__write(var_os
, var28
); /* Direct call file$FileWriter$write on <var_os:Writer>*/
1044 core___core__Writer___write_char(var_os
, var_sep
); /* Direct call stream$Writer$write_char on <var_os:Writer>*/
1047 var29
= core___core__Int___Discrete__successor(var_i
, 1l);
1051 BREAK_label
: (void)0;
1053 var30
= core___core__SequenceRead___last(var_line
);
1056 var31
= ((val
*(*)(val
* self
))((((long)var30
&3)?class_info
[((long)var30
&3)]:var30
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var30
); /* to_s on <var30:nullable Object(Object)>*/
1059 var32
= csv___core__Text___escape_to_csv(var31
, var_sep
, var_esc
, var_eol
);
1062 core___core__FileWriter___core__stream__Writer__write(var_os
, var32
); /* Direct call file$FileWriter$write on <var_os:Writer>*/
1065 core___core__FileWriter___core__stream__Writer__write(var_os
, var_eol
); /* Direct call file$FileWriter$write on <var_os:Writer>*/
1069 /* method csv$CsvWriter$init for (self: CsvWriter) */
1070 void csv___csv__CsvWriter___core__kernel__Object__init(val
* self
) {
1072 ((void(*)(val
* self
))(self
->class->vft
[COLOR_csv___csv__CsvWriter___core__kernel__Object__init
]))(self
); /* init on <self:CsvWriter>*/