cgen: print bool and string correctly in struct
parent
50d5e23694
commit
4aedef367c
|
@ -17,5 +17,8 @@ indent_size = 2
|
|||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.txt]
|
||||
insert_final_newline = false
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
|
|
|
@ -2952,6 +2952,8 @@ fn (g mut Gen) gen_str_for_type(sym table.TypeSymbol, styp string) {
|
|||
g.definitions.write('a.' + field.name)
|
||||
if field.typ == table.string_type {
|
||||
g.definitions.write('.len, a.${field.name}.str')
|
||||
} else if field.typ == table.bool_type {
|
||||
g.definitions.write(' == true ? 4 : 5, a.${field.name} == true ? "true" : "false"')
|
||||
}
|
||||
if i < info.fields.len - 1 {
|
||||
g.definitions.write(', ')
|
||||
|
@ -2963,6 +2965,8 @@ fn (g mut Gen) gen_str_for_type(sym table.TypeSymbol, styp string) {
|
|||
fn type_to_fmt(typ table.Type) string {
|
||||
n := int(typ)
|
||||
if n == table.string_type {
|
||||
return '\'%.*s\''
|
||||
} else if n == table.bool_type {
|
||||
return '%.*s'
|
||||
}
|
||||
return '%d'
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
MyStruct {
|
||||
s: 6
|
||||
s: '6'
|
||||
}
|
Loading…
Reference in New Issue