2 /* method csv#CsvFormat#delimiter for (self: CsvFormat): Char */
3 uint32_t csv___csv__CsvFormat___delimiter(val
* self
) {
4 uint32_t var
/* : Char */;
5 uint32_t var1
/* : Char */;
6 var1
= self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
; /* _delimiter on <self:CsvFormat> */
11 /* method csv#CsvFormat#delimiter= for (self: CsvFormat, Char) */
12 void csv___csv__CsvFormat___delimiter_61d(val
* self
, uint32_t p0
) {
13 self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
= p0
; /* _delimiter on <self:CsvFormat> */
16 /* method csv#CsvFormat#separator for (self: CsvFormat): Char */
17 uint32_t csv___csv__CsvFormat___separator(val
* self
) {
18 uint32_t var
/* : Char */;
19 uint32_t var1
/* : Char */;
20 var1
= self
->attrs
[COLOR_csv__CsvFormat___separator
].c
; /* _separator on <self:CsvFormat> */
25 /* method csv#CsvFormat#separator= for (self: CsvFormat, Char) */
26 void csv___csv__CsvFormat___separator_61d(val
* self
, uint32_t p0
) {
27 self
->attrs
[COLOR_csv__CsvFormat___separator
].c
= p0
; /* _separator on <self:CsvFormat> */
30 /* method csv#CsvFormat#eol for (self: CsvFormat): String */
31 val
* csv___csv__CsvFormat___eol(val
* self
) {
32 val
* var
/* : String */;
33 val
* var1
/* : String */;
34 var1
= self
->attrs
[COLOR_csv__CsvFormat___eol
].val
; /* _eol on <self:CsvFormat> */
35 if (unlikely(var1
== NULL
)) {
36 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _eol");
37 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 28);
44 /* method csv#CsvFormat#eol= for (self: CsvFormat, String) */
45 void csv___csv__CsvFormat___eol_61d(val
* self
, val
* p0
) {
46 self
->attrs
[COLOR_csv__CsvFormat___eol
].val
= p0
; /* _eol on <self:CsvFormat> */
49 /* method csv#CsvFormat#escaping for (self: CsvFormat): String */
50 val
* csv___csv__CsvFormat___escaping(val
* self
) {
51 val
* var
/* : String */;
52 short int var1
/* : Bool */;
53 val
* var2
/* : String */;
54 val
* var3
/* : NativeArray[String] */;
56 uint32_t var4
/* : Char */;
57 uint32_t var6
/* : Char */;
58 val
* var7
/* : String */;
59 uint32_t var8
/* : Char */;
60 uint32_t var10
/* : Char */;
61 val
* var11
/* : String */;
62 val
* var12
/* : String */;
63 var1
= self
->attrs
[COLOR_csv__CsvFormat___escaping
].val
!= NULL
; /* _escaping on <self:CsvFormat> */
65 var2
= self
->attrs
[COLOR_csv__CsvFormat___escaping
].val
; /* _escaping on <self:CsvFormat> */
66 if (unlikely(var2
== NULL
)) {
67 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escaping");
68 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 31);
72 if (unlikely(varonce
==NULL
)) {
73 var3
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
79 { /* Inline csv#CsvFormat#delimiter (self) on <self:CsvFormat> */
80 var6
= self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
; /* _delimiter on <self:CsvFormat> */
85 var7
= core__abstract_text___Char___Object__to_s(var4
);
86 ((struct instance_core__NativeArray
*)var3
)->values
[0]=var7
;
88 { /* Inline csv#CsvFormat#delimiter (self) on <self:CsvFormat> */
89 var10
= self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
; /* _delimiter on <self:CsvFormat> */
94 var11
= core__abstract_text___Char___Object__to_s(var8
);
95 ((struct instance_core__NativeArray
*)var3
)->values
[1]=var11
;
97 var12
= ((val
*(*)(val
* self
))(var3
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var3
); /* native_to_s on <var3:NativeArray[String]>*/
100 self
->attrs
[COLOR_csv__CsvFormat___escaping
].val
= var12
; /* _escaping on <self:CsvFormat> */
107 /* method csv#CsvFormat#escape_cell for (self: CsvFormat, String): Text */
108 val
* csv___csv__CsvFormat___escape_cell(val
* self
, val
* p0
) {
109 val
* var
/* : Text */;
110 val
* var_cell
/* var cell: String */;
111 val
* var1
/* : RopeBuffer */;
112 val
* var_result
/* var result: RopeBuffer */;
113 uint32_t var2
/* : Char */;
114 uint32_t var4
/* : Char */;
115 uint32_t var5
/* : Char */;
116 uint32_t var7
/* : Char */;
117 val
* var8
/* : String */;
118 val
* var9
/* : String */;
119 val
* var10
/* : Pattern */;
120 uint32_t var11
/* : Char */;
121 uint32_t var13
/* : Char */;
123 var1
= NEW_core__RopeBuffer(&type_core__RopeBuffer
);
125 core___core__RopeBuffer___core__kernel__Object__init(var1
); /* Direct call ropes#RopeBuffer#init on <var1:RopeBuffer>*/
129 { /* Inline csv#CsvFormat#delimiter (self) on <self:CsvFormat> */
130 var4
= self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
; /* _delimiter on <self:CsvFormat> */
136 core___core__RopeBuffer___core__abstract_text__Buffer__add(var_result
, var2
); /* Direct call ropes#RopeBuffer#add on <var_result:RopeBuffer>*/
139 { /* Inline csv#CsvFormat#delimiter (self) on <self:CsvFormat> */
140 var7
= self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
; /* _delimiter on <self:CsvFormat> */
146 var8
= csv___csv__CsvFormat___escaping(self
);
149 var10
= (val
*)((long)(var5
)<<2|2);
150 var9
= core__string_search___Text___replace(var_cell
, var10
, var8
);
153 core___core__RopeBuffer___core__abstract_text__Buffer__append(var_result
, var9
); /* Direct call ropes#RopeBuffer#append on <var_result:RopeBuffer>*/
156 { /* Inline csv#CsvFormat#delimiter (self) on <self:CsvFormat> */
157 var13
= self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
; /* _delimiter on <self:CsvFormat> */
163 core___core__RopeBuffer___core__abstract_text__Buffer__add(var_result
, var11
); /* Direct call ropes#RopeBuffer#add on <var_result:RopeBuffer>*/
170 /* method csv#CsvFormat#is_value_clean for (self: CsvFormat, String): Bool */
171 short int csv___csv__CsvFormat___is_value_clean(val
* self
, val
* p0
) {
172 short int var
/* : Bool */;
173 val
* var_value
/* var value: String */;
174 val
* var1
/* : SequenceRead[Char] */;
175 val
* var_
/* var : SequenceRead[Char] */;
176 val
* var2
/* : Iterator[nullable Object] */;
177 val
* var_3
/* var : IndexedIterator[Char] */;
178 short int var4
/* : Bool */;
179 val
* var5
/* : nullable Object */;
180 uint32_t var6
/* : Char */;
181 uint32_t var_c
/* var c: Char */;
182 uint32_t var7
/* : Char */;
183 uint32_t var9
/* : Char */;
184 short int var10
/* : Bool */;
185 short int var12
/* : Bool */;
186 uint32_t var13
/* : Char */;
187 uint32_t var15
/* : Char */;
188 short int var16
/* : Bool */;
189 short int var18
/* : Bool */;
190 val
* var19
/* : String */;
191 val
* var21
/* : String */;
192 val
* var22
/* : SequenceRead[Char] */;
193 val
* var23
/* : nullable Object */;
194 short int var24
/* : Bool */;
197 var1
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_value
); /* chars on <var_value:String>*/
201 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:SequenceRead[Char]>*/
206 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_3
); /* is_ok on <var_3:IndexedIterator[Char]>*/
213 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_3
); /* item on <var_3:IndexedIterator[Char]>*/
215 var6
= (uint32_t)((long)(var5
)>>2);
218 { /* Inline csv#CsvFormat#delimiter (self) on <self:CsvFormat> */
219 var9
= self
->attrs
[COLOR_csv__CsvFormat___delimiter
].c
; /* _delimiter on <self:CsvFormat> */
225 { /* Inline kernel#Char#== (var_c,var7) on <var_c:Char> */
226 var12
= var_c
== var7
;
238 { /* Inline csv#CsvFormat#separator (self) on <self:CsvFormat> */
239 var15
= self
->attrs
[COLOR_csv__CsvFormat___separator
].c
; /* _separator on <self:CsvFormat> */
245 { /* Inline kernel#Char#== (var_c,var13) on <var_c:Char> */
246 var18
= var_c
== var13
;
258 { /* Inline csv#CsvFormat#eol (self) on <self:CsvFormat> */
259 var21
= self
->attrs
[COLOR_csv__CsvFormat___eol
].val
; /* _eol on <self:CsvFormat> */
260 if (unlikely(var21
== NULL
)) {
261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _eol");
262 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 28);
270 var22
= ((val
*(*)(val
* self
))(var19
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var19
); /* chars on <var19:String>*/
273 var23
= (val
*)((long)(var_c
)<<2|2);
274 var24
= ((short int(*)(val
* self
, val
* p0
))((((long)var22
&3)?class_info
[((long)var22
&3)]:var22
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var22
, var23
); /* has on <var22:SequenceRead[Char]>*/
282 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_3
); /* next on <var_3:IndexedIterator[Char]>*/
285 BREAK_label
: (void)0;
287 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_3
); /* finish on <var_3:IndexedIterator[Char]>*/
294 /* method csv#CsvFormat#init for (self: CsvFormat) */
295 void csv___csv__CsvFormat___core__kernel__Object__init(val
* self
) {
297 ((void(*)(val
* self
))(self
->class->vft
[COLOR_csv___csv__CsvFormat___core__kernel__Object__init
]))(self
); /* init on <self:CsvFormat>*/
301 /* method csv#CsvDocument#format for (self: CsvDocument): CsvFormat */
302 val
* csv___csv__CsvDocument___format(val
* self
) {
303 val
* var
/* : CsvFormat */;
304 val
* var1
/* : CsvFormat */;
305 var1
= self
->attrs
[COLOR_csv__CsvDocument___format
].val
; /* _format on <self:CsvDocument> */
306 if (unlikely(var1
== NULL
)) {
307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _format");
308 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 58);
315 /* method csv#CsvDocument#format= for (self: CsvDocument, CsvFormat) */
316 void csv___csv__CsvDocument___format_61d(val
* self
, val
* p0
) {
317 self
->attrs
[COLOR_csv__CsvDocument___format
].val
= p0
; /* _format on <self:CsvDocument> */
320 /* method csv#CsvDocument#header for (self: CsvDocument): Array[String] */
321 val
* csv___csv__CsvDocument___header(val
* self
) {
322 val
* var
/* : Array[String] */;
323 val
* var1
/* : Array[String] */;
324 var1
= self
->attrs
[COLOR_csv__CsvDocument___header
].val
; /* _header on <self:CsvDocument> */
325 if (unlikely(var1
== NULL
)) {
326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
327 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 63);
334 /* method csv#CsvDocument#header= for (self: CsvDocument, Array[String]) */
335 void csv___csv__CsvDocument___header_61d(val
* self
, val
* p0
) {
336 self
->attrs
[COLOR_csv__CsvDocument___header
].val
= p0
; /* _header on <self:CsvDocument> */
339 /* method csv#CsvDocument#records for (self: CsvDocument): Array[Array[String]] */
340 val
* csv___csv__CsvDocument___records(val
* self
) {
341 val
* var
/* : Array[Array[String]] */;
342 val
* var1
/* : Array[Array[String]] */;
343 var1
= self
->attrs
[COLOR_csv__CsvDocument___records
].val
; /* _records on <self:CsvDocument> */
344 if (unlikely(var1
== NULL
)) {
345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _records");
346 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 68);
353 /* method csv#CsvDocument#add_record for (self: CsvDocument, Array[Object]) */
354 void csv___csv__CsvDocument___add_record(val
* self
, val
* p0
) {
355 val
* var_values
/* var values: Array[Object] */;
356 long var
/* : Int */;
357 long var2
/* : Int */;
358 val
* var3
/* : Array[String] */;
359 val
* var5
/* : Array[String] */;
360 long var6
/* : Int */;
361 long var8
/* : Int */;
362 short int var9
/* : Bool */;
363 short int var11
/* : Bool */;
364 val
* var12
/* : Sys */;
365 val
* var14
/* : Sys */;
366 val
* var15
/* : Writer */;
367 val
* var16
/* : NativeArray[String] */;
369 static val
* varonce17
;
370 val
* var18
/* : String */;
371 char* var19
/* : NativeString */;
372 val
* var20
/* : String */;
373 static val
* varonce21
;
374 val
* var22
/* : String */;
375 char* var23
/* : NativeString */;
376 val
* var24
/* : String */;
377 static val
* varonce25
;
378 val
* var26
/* : String */;
379 char* var27
/* : NativeString */;
380 val
* var28
/* : String */;
381 val
* var29
/* : Array[String] */;
382 val
* var31
/* : Array[String] */;
383 long var32
/* : Int */;
384 long var34
/* : Int */;
385 val
* var35
/* : String */;
386 long var36
/* : Int */;
387 long var38
/* : Int */;
388 val
* var39
/* : String */;
389 val
* var40
/* : String */;
390 val
* var41
/* : Array[String] */;
391 val
* var_record
/* var record: Array[String] */;
392 val
* var_
/* var : Array[Object] */;
393 val
* var42
/* : IndexedIterator[nullable Object] */;
394 val
* var_43
/* var : IndexedIterator[Object] */;
395 short int var44
/* : Bool */;
396 val
* var45
/* : nullable Object */;
397 val
* var_value
/* var value: Object */;
398 val
* var46
/* : String */;
399 val
* var47
/* : Array[Array[String]] */;
400 val
* var49
/* : Array[Array[String]] */;
403 { /* Inline array#AbstractArrayRead#length (var_values) on <var_values:Array[Object]> */
404 var2
= var_values
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_values:Array[Object]> */
410 { /* Inline csv#CsvDocument#header (self) on <self:CsvDocument> */
411 var5
= self
->attrs
[COLOR_csv__CsvDocument___header
].val
; /* _header on <self:CsvDocument> */
412 if (unlikely(var5
== NULL
)) {
413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
414 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 63);
422 { /* Inline array#AbstractArrayRead#length (var3) on <var3:Array[String]> */
423 var8
= var3
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var3:Array[String]> */
429 { /* Inline kernel#Int#== (var,var6) on <var:Int> */
436 if (unlikely(!var9
)) {
438 { /* Inline kernel#Object#sys (self) on <self:CsvDocument> */
446 var15
= core__file___Sys___stderr(var12
);
448 if (unlikely(varonce
==NULL
)) {
449 var16
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
450 if (likely(varonce17
!=NULL
)) {
453 var19
= "CSV error: Header declares ";
454 var20
= core__flat___NativeString___to_s_full(var19
, 27l, 27l);
458 ((struct instance_core__NativeArray
*)var16
)->values
[0]=var18
;
459 if (likely(varonce21
!=NULL
)) {
462 var23
= " columns, record contains ";
463 var24
= core__flat___NativeString___to_s_full(var23
, 26l, 26l);
467 ((struct instance_core__NativeArray
*)var16
)->values
[2]=var22
;
468 if (likely(varonce25
!=NULL
)) {
471 var27
= " values.\n";
472 var28
= core__flat___NativeString___to_s_full(var27
, 9l, 9l);
476 ((struct instance_core__NativeArray
*)var16
)->values
[4]=var26
;
482 { /* Inline csv#CsvDocument#header (self) on <self:CsvDocument> */
483 var31
= self
->attrs
[COLOR_csv__CsvDocument___header
].val
; /* _header on <self:CsvDocument> */
484 if (unlikely(var31
== NULL
)) {
485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
486 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 63);
494 { /* Inline array#AbstractArrayRead#length (var29) on <var29:Array[String]> */
495 var34
= var29
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var29:Array[String]> */
500 var35
= core__flat___Int___core__abstract_text__Object__to_s(var32
);
501 ((struct instance_core__NativeArray
*)var16
)->values
[1]=var35
;
503 { /* Inline array#AbstractArrayRead#length (var_values) on <var_values:Array[Object]> */
504 var38
= var_values
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_values:Array[Object]> */
509 var39
= core__flat___Int___core__abstract_text__Object__to_s(var36
);
510 ((struct instance_core__NativeArray
*)var16
)->values
[3]=var39
;
512 var40
= ((val
*(*)(val
* self
))(var16
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var16
); /* native_to_s on <var16:NativeArray[String]>*/
516 core___core__FileWriter___core__stream__Writer__write(var15
, var40
); /* Direct call file#FileWriter#write on <var15:Writer>*/
518 PRINT_ERROR("Runtime error: %s", "Assert failed");
519 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 81);
522 var41
= NEW_core__Array(&type_core__Array__core__String
);
524 core___core__Array___core__kernel__Object__init(var41
); /* Direct call array#Array#init on <var41:Array[String]>*/
529 var42
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
534 var44
= ((short int(*)(val
* self
))((((long)var_43
&3)?class_info
[((long)var_43
&3)]:var_43
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_43
); /* is_ok on <var_43:IndexedIterator[Object]>*/
541 var45
= ((val
*(*)(val
* self
))((((long)var_43
&3)?class_info
[((long)var_43
&3)]:var_43
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_43
); /* item on <var_43:IndexedIterator[Object]>*/
545 var46
= ((val
*(*)(val
* self
))((((long)var_value
&3)?class_info
[((long)var_value
&3)]:var_value
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_value
); /* to_s on <var_value:Object>*/
548 core___core__Array___core__abstract_collection__SimpleCollection__add(var_record
, var46
); /* Direct call array#Array#add on <var_record:Array[String]>*/
551 ((void(*)(val
* self
))((((long)var_43
&3)?class_info
[((long)var_43
&3)]:var_43
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_43
); /* next on <var_43:IndexedIterator[Object]>*/
554 BREAK_label
: (void)0;
556 ((void(*)(val
* self
))((((long)var_43
&3)?class_info
[((long)var_43
&3)]:var_43
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_43
); /* finish on <var_43:IndexedIterator[Object]>*/
559 { /* Inline csv#CsvDocument#records (self) on <self:CsvDocument> */
560 var49
= self
->attrs
[COLOR_csv__CsvDocument___records
].val
; /* _records on <self:CsvDocument> */
561 if (unlikely(var49
== NULL
)) {
562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _records");
563 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 68);
571 core___core__Array___core__abstract_collection__SimpleCollection__add(var47
, var_record
); /* Direct call array#Array#add on <var47:Array[Array[String]]>*/
575 /* method csv#CsvDocument#write_to for (self: CsvDocument, Writer) */
576 void csv___csv__CsvDocument___core__stream__Writable__write_to(val
* self
, val
* p0
) {
577 val
* var_stream
/* var stream: Writer */;
578 val
* var
/* : CsvWriter */;
579 val
* var1
/* : CsvFormat */;
580 val
* var3
/* : CsvFormat */;
581 val
* var_writer
/* var writer: CsvWriter */;
582 val
* var4
/* : Array[String] */;
583 val
* var6
/* : Array[String] */;
584 val
* var7
/* : Array[Array[String]] */;
585 val
* var9
/* : Array[Array[String]] */;
586 val
* var_
/* var : Array[Array[String]] */;
587 val
* var10
/* : IndexedIterator[nullable Object] */;
588 val
* var_11
/* var : IndexedIterator[Array[String]] */;
589 short int var12
/* : Bool */;
590 val
* var13
/* : nullable Object */;
591 val
* var_record
/* var record: Array[String] */;
593 var
= NEW_csv__CsvWriter(&type_csv__CsvWriter
);
595 { /* Inline csv#CsvDocument#format (self) on <self:CsvDocument> */
596 var3
= self
->attrs
[COLOR_csv__CsvDocument___format
].val
; /* _format on <self:CsvDocument> */
597 if (unlikely(var3
== NULL
)) {
598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _format");
599 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 58);
607 csv___csv__CsvWriter___with_format(var
, var_stream
, var1
); /* Direct call csv#CsvWriter#with_format on <var:CsvWriter>*/
611 { /* Inline csv#CsvDocument#header (self) on <self:CsvDocument> */
612 var6
= self
->attrs
[COLOR_csv__CsvDocument___header
].val
; /* _header on <self:CsvDocument> */
613 if (unlikely(var6
== NULL
)) {
614 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
615 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 63);
623 csv___csv__CsvWriter___write_sequence(var_writer
, var4
); /* Direct call csv#CsvWriter#write_sequence on <var_writer:CsvWriter>*/
626 { /* Inline csv#CsvDocument#records (self) on <self:CsvDocument> */
627 var9
= self
->attrs
[COLOR_csv__CsvDocument___records
].val
; /* _records on <self:CsvDocument> */
628 if (unlikely(var9
== NULL
)) {
629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _records");
630 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 68);
639 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
644 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:IndexedIterator[Array[String]]>*/
651 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:IndexedIterator[Array[String]]>*/
655 csv___csv__CsvWriter___write_sequence(var_writer
, var_record
); /* Direct call csv#CsvWriter#write_sequence on <var_writer:CsvWriter>*/
658 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:IndexedIterator[Array[String]]>*/
661 BREAK_label
: (void)0;
663 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:IndexedIterator[Array[String]]>*/
667 /* method csv#CsvWriter#ostream for (self: CsvWriter): Writer */
668 val
* csv___csv__CsvWriter___ostream(val
* self
) {
669 val
* var
/* : Writer */;
670 val
* var1
/* : Writer */;
671 var1
= self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
; /* _ostream on <self:CsvWriter> */
672 if (unlikely(var1
== NULL
)) {
673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ostream");
674 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 152);
681 /* method csv#CsvWriter#ostream= for (self: CsvWriter, Writer) */
682 void csv___csv__CsvWriter___ostream_61d(val
* self
, val
* p0
) {
683 self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
= p0
; /* _ostream on <self:CsvWriter> */
686 /* method csv#CsvWriter#format for (self: CsvWriter): CsvFormat */
687 val
* csv___csv__CsvWriter___format(val
* self
) {
688 val
* var
/* : CsvFormat */;
689 val
* var1
/* : CsvFormat */;
690 var1
= self
->attrs
[COLOR_csv__CsvWriter___format
].val
; /* _format on <self:CsvWriter> */
691 if (unlikely(var1
== NULL
)) {
692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _format");
693 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 155);
700 /* method csv#CsvWriter#format= for (self: CsvWriter, CsvFormat) */
701 void csv___csv__CsvWriter___format_61d(val
* self
, val
* p0
) {
702 self
->attrs
[COLOR_csv__CsvWriter___format
].val
= p0
; /* _format on <self:CsvWriter> */
705 /* method csv#CsvWriter#always_escape for (self: CsvWriter): Bool */
706 short int csv___csv__CsvWriter___always_escape(val
* self
) {
707 short int var
/* : Bool */;
708 short int var1
/* : Bool */;
709 var1
= self
->attrs
[COLOR_csv__CsvWriter___always_escape
].s
; /* _always_escape on <self:CsvWriter> */
714 /* method csv#CsvWriter#with_format for (self: CsvWriter, Writer, CsvFormat) */
715 void csv___csv__CsvWriter___with_format(val
* self
, val
* p0
, val
* p1
) {
716 val
* var_ostream
/* var ostream: Writer */;
717 val
* var_format
/* var format: CsvFormat */;
721 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_csv__CsvWriter__ostream_61d
]))(self
, var_ostream
); /* ostream= on <self:CsvWriter>*/
724 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__kernel__Object__init
]))(self
); /* init on <self:CsvWriter>*/
727 { /* Inline csv#CsvWriter#format= (self,var_format) on <self:CsvWriter> */
728 self
->attrs
[COLOR_csv__CsvWriter___format
].val
= var_format
; /* _format on <self:CsvWriter> */
734 /* method csv#CsvWriter#write_sequence for (self: CsvWriter, SequenceRead[Object]) */
735 void csv___csv__CsvWriter___write_sequence(val
* self
, val
* p0
) {
736 val
* var_row
/* var row: SequenceRead[Object] */;
737 short int var
/* : Bool */;
738 short int var1
/* : Bool */;
739 val
* var2
/* : Iterator[nullable Object] */;
740 val
* var_i
/* var i: IndexedIterator[Object] */;
741 val
* var3
/* : CsvFormat */;
742 val
* var5
/* : CsvFormat */;
743 uint32_t var6
/* : Char */;
744 uint32_t var8
/* : Char */;
745 val
* var9
/* : String */;
746 val
* var_separator
/* var separator: String */;
747 val
* var10
/* : nullable Object */;
748 val
* var11
/* : String */;
749 val
* var_
/* var : IndexedIterator[Object] */;
750 val
* var12
/* : Iterator[nullable Object] */;
751 val
* var_13
/* var : Iterator[Object] */;
752 short int var14
/* : Bool */;
753 val
* var15
/* : nullable Object */;
754 val
* var_cell
/* var cell: Object */;
755 val
* var16
/* : Writer */;
756 val
* var18
/* : Writer */;
757 val
* var19
/* : String */;
758 val
* var20
/* : Writer */;
759 val
* var22
/* : Writer */;
760 val
* var23
/* : CsvFormat */;
761 val
* var25
/* : CsvFormat */;
762 val
* var26
/* : String */;
763 val
* var28
/* : String */;
766 var
= ((short int(*)(val
* self
))((((long)var_row
&3)?class_info
[((long)var_row
&3)]:var_row
->class)->vft
[COLOR_core__abstract_collection__Collection__is_empty
]))(var_row
); /* is_empty on <var_row:SequenceRead[Object]>*/
771 var2
= ((val
*(*)(val
* self
))((((long)var_row
&3)?class_info
[((long)var_row
&3)]:var_row
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_row
); /* iterator on <var_row:SequenceRead[Object]>*/
775 { /* Inline csv#CsvWriter#format (self) on <self:CsvWriter> */
776 var5
= self
->attrs
[COLOR_csv__CsvWriter___format
].val
; /* _format on <self:CsvWriter> */
777 if (unlikely(var5
== NULL
)) {
778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _format");
779 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 155);
787 { /* Inline csv#CsvFormat#separator (var3) on <var3:CsvFormat> */
788 var8
= var3
->attrs
[COLOR_csv__CsvFormat___separator
].c
; /* _separator on <var3:CsvFormat> */
794 var9
= core__abstract_text___Char___Object__to_s(var6
);
796 var_separator
= var9
;
798 var10
= ((val
*(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_i
); /* item on <var_i:IndexedIterator[Object]>*/
801 var11
= ((val
*(*)(val
* self
))((((long)var10
&3)?class_info
[((long)var10
&3)]:var10
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var10
); /* to_s on <var10:nullable Object(Object)>*/
804 csv___csv__CsvWriter___write_cell(self
, var11
); /* Direct call csv#CsvWriter#write_cell on <self:CsvWriter>*/
807 ((void(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_i
); /* next on <var_i:IndexedIterator[Object]>*/
811 var12
= core___core__Iterator___iterator(var_
);
816 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:Iterator[Object]>*/
823 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:Iterator[Object]>*/
827 { /* Inline csv#CsvWriter#ostream (self) on <self:CsvWriter> */
828 var18
= self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
; /* _ostream on <self:CsvWriter> */
829 if (unlikely(var18
== NULL
)) {
830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ostream");
831 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 152);
839 core___core__FileWriter___core__stream__Writer__write(var16
, var_separator
); /* Direct call file#FileWriter#write on <var16:Writer>*/
842 var19
= ((val
*(*)(val
* self
))((((long)var_cell
&3)?class_info
[((long)var_cell
&3)]:var_cell
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_cell
); /* to_s on <var_cell:Object>*/
845 csv___csv__CsvWriter___write_cell(self
, var19
); /* Direct call csv#CsvWriter#write_cell on <self:CsvWriter>*/
848 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:Iterator[Object]>*/
851 BREAK_label
: (void)0;
853 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:Iterator[Object]>*/
858 { /* Inline csv#CsvWriter#ostream (self) on <self:CsvWriter> */
859 var22
= self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
; /* _ostream on <self:CsvWriter> */
860 if (unlikely(var22
== NULL
)) {
861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ostream");
862 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 152);
870 { /* Inline csv#CsvWriter#format (self) on <self:CsvWriter> */
871 var25
= self
->attrs
[COLOR_csv__CsvWriter___format
].val
; /* _format on <self:CsvWriter> */
872 if (unlikely(var25
== NULL
)) {
873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _format");
874 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 155);
882 { /* Inline csv#CsvFormat#eol (var23) on <var23:CsvFormat> */
883 var28
= var23
->attrs
[COLOR_csv__CsvFormat___eol
].val
; /* _eol on <var23:CsvFormat> */
884 if (unlikely(var28
== NULL
)) {
885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _eol");
886 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 28);
894 core___core__FileWriter___core__stream__Writer__write(var20
, var26
); /* Direct call file#FileWriter#write on <var20:Writer>*/
898 /* method csv#CsvWriter#write_cell for (self: CsvWriter, String) */
899 void csv___csv__CsvWriter___write_cell(val
* self
, val
* p0
) {
900 val
* var_cell
/* var cell: String */;
901 short int var
/* : Bool */;
902 short int var1
/* : Bool */;
903 short int var2
/* : Bool */;
904 short int var4
/* : Bool */;
905 short int var5
/* : Bool */;
906 short int var_
/* var : Bool */;
907 val
* var6
/* : CsvFormat */;
908 val
* var8
/* : CsvFormat */;
909 short int var9
/* : Bool */;
910 val
* var10
/* : Writer */;
911 val
* var12
/* : Writer */;
912 val
* var13
/* : Writer */;
913 val
* var15
/* : Writer */;
914 val
* var16
/* : CsvFormat */;
915 val
* var18
/* : CsvFormat */;
916 val
* var19
/* : Text */;
919 var
= ((short int(*)(val
* self
))(var_cell
->class->vft
[COLOR_core__abstract_text__Text__is_empty
]))(var_cell
); /* is_empty on <var_cell:String>*/
926 { /* Inline csv#CsvWriter#always_escape (self) on <self:CsvWriter> */
927 var4
= self
->attrs
[COLOR_csv__CsvWriter___always_escape
].s
; /* _always_escape on <self:CsvWriter> */
936 { /* Inline csv#CsvWriter#format (self) on <self:CsvWriter> */
937 var8
= self
->attrs
[COLOR_csv__CsvWriter___format
].val
; /* _format on <self:CsvWriter> */
938 if (unlikely(var8
== NULL
)) {
939 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _format");
940 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 155);
948 var9
= csv___csv__CsvFormat___is_value_clean(var6
, var_cell
);
956 { /* Inline csv#CsvWriter#ostream (self) on <self:CsvWriter> */
957 var12
= self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
; /* _ostream on <self:CsvWriter> */
958 if (unlikely(var12
== NULL
)) {
959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ostream");
960 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 152);
968 core___core__FileWriter___core__stream__Writer__write(var10
, var_cell
); /* Direct call file#FileWriter#write on <var10:Writer>*/
972 { /* Inline csv#CsvWriter#ostream (self) on <self:CsvWriter> */
973 var15
= self
->attrs
[COLOR_csv__CsvWriter___ostream
].val
; /* _ostream on <self:CsvWriter> */
974 if (unlikely(var15
== NULL
)) {
975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ostream");
976 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 152);
984 { /* Inline csv#CsvWriter#format (self) on <self:CsvWriter> */
985 var18
= self
->attrs
[COLOR_csv__CsvWriter___format
].val
; /* _format on <self:CsvWriter> */
986 if (unlikely(var18
== NULL
)) {
987 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _format");
988 PRINT_ERROR(" (%s:%d)\n", FILE_csv
, 155);
996 var19
= csv___csv__CsvFormat___escape_cell(var16
, var_cell
);
999 core___core__FileWriter___core__stream__Writer__write(var13
, var19
); /* Direct call file#FileWriter#write on <var13:Writer>*/
1004 /* method csv#CsvWriter#init for (self: CsvWriter) */
1005 void csv___csv__CsvWriter___core__kernel__Object__init(val
* self
) {
1007 ((void(*)(val
* self
))(self
->class->vft
[COLOR_csv___csv__CsvWriter___core__kernel__Object__init
]))(self
); /* init on <self:CsvWriter>*/
1011 /* method csv#Sys#rfc4180 for (self: Sys): CsvFormat */
1012 val
* csv___core__Sys___rfc4180(val
* self
) {
1013 val
* var
/* : CsvFormat */;
1014 static val
* varonce
;
1015 static int varonce_guard
;
1016 val
* var1
/* : CsvFormat */;
1017 val
* var2
/* : CsvFormat */;
1018 static val
* varonce3
;
1019 val
* var4
/* : String */;
1020 char* var5
/* : NativeString */;
1021 val
* var6
/* : String */;
1022 if (likely(varonce_guard
)) {
1025 var2
= NEW_csv__CsvFormat(&type_csv__CsvFormat
);
1026 if (likely(varonce3
!=NULL
)) {
1030 var6
= core__flat___NativeString___to_s_full(var5
, 2l, 2l);
1035 ((void(*)(val
* self
, uint32_t p0
))(var2
->class->vft
[COLOR_csv__CsvFormat__delimiter_61d
]))(var2
, '\"'); /* delimiter= on <var2:CsvFormat>*/
1038 ((void(*)(val
* self
, uint32_t p0
))(var2
->class->vft
[COLOR_csv__CsvFormat__separator_61d
]))(var2
, ','); /* separator= on <var2:CsvFormat>*/
1041 ((void(*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_csv__CsvFormat__eol_61d
]))(var2
, var4
); /* eol= on <var2:CsvFormat>*/
1044 ((void(*)(val
* self
))(var2
->class->vft
[COLOR_core__kernel__Object__init
]))(var2
); /* init on <var2:CsvFormat>*/