1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

cgen: print bool in struct correctly

This commit is contained in:
Daniel Däschle 2020-04-07 12:39:10 +02:00 committed by GitHub
parent 7bd98ecddb
commit 78440be2b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2952,6 +2952,8 @@ fn (g mut Gen) gen_str_for_type(sym table.TypeSymbol, styp string) {
g.definitions.write('a.' + field.name) g.definitions.write('a.' + field.name)
if field.typ == table.string_type { if field.typ == table.string_type {
g.definitions.write('.len, a.${field.name}.str') 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 { if i < info.fields.len - 1 {
g.definitions.write(', ') 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 { fn type_to_fmt(typ table.Type) string {
n := int(typ) n := int(typ)
if n == table.string_type { if n == table.string_type {
return '\'%.*s\''
} else if n == table.bool_type {
return '%.*s' return '%.*s'
} }
return '%d' return '%d'