fmt: cleanup copy pasta for array_init (#7579)
parent
f707e13b3f
commit
693e5137eb
|
@ -1750,36 +1750,8 @@ pub fn (mut f Fmt) chan_init(mut it ast.ChanInit) {
|
||||||
pub fn (mut f Fmt) array_init(it ast.ArrayInit) {
|
pub fn (mut f Fmt) array_init(it ast.ArrayInit) {
|
||||||
if it.exprs.len == 0 && it.typ != 0 && it.typ != table.void_type {
|
if it.exprs.len == 0 && it.typ != 0 && it.typ != table.void_type {
|
||||||
// `x := []string`
|
// `x := []string`
|
||||||
typ_sym := f.table.get_type_symbol(it.typ)
|
|
||||||
if typ_sym.kind == .array && typ_sym.name.starts_with('array_map') {
|
|
||||||
ainfo := typ_sym.info as table.Array
|
|
||||||
map_typ_sym := f.table.get_type_symbol(ainfo.elem_type)
|
|
||||||
minfo := map_typ_sym.info as table.Map
|
|
||||||
mk := f.table.get_type_symbol(minfo.key_type).name
|
|
||||||
mv := f.table.get_type_symbol(minfo.value_type).name
|
|
||||||
for _ in 0 .. ainfo.nr_dims {
|
|
||||||
f.write('[]')
|
|
||||||
}
|
|
||||||
f.write('map[$mk]$mv')
|
|
||||||
f.write('{')
|
|
||||||
if it.has_len {
|
|
||||||
f.write('len: ')
|
|
||||||
f.expr(it.len_expr)
|
|
||||||
}
|
|
||||||
if it.has_cap {
|
|
||||||
f.write('cap: ')
|
|
||||||
f.expr(it.cap_expr)
|
|
||||||
}
|
|
||||||
if it.has_default {
|
|
||||||
f.write('init: ')
|
|
||||||
f.expr(it.default_expr)
|
|
||||||
}
|
|
||||||
f.write('}')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
f.write(f.table.type_to_str_using_aliases(it.typ, f.mod2alias))
|
f.write(f.table.type_to_str_using_aliases(it.typ, f.mod2alias))
|
||||||
f.write('{')
|
f.write('{')
|
||||||
// TODO copypasta
|
|
||||||
if it.has_len {
|
if it.has_len {
|
||||||
f.write('len: ')
|
f.write('len: ')
|
||||||
f.expr(it.len_expr)
|
f.expr(it.len_expr)
|
||||||
|
|
|
@ -15,4 +15,7 @@ fn main() {
|
||||||
*/
|
*/
|
||||||
'eggs',
|
'eggs',
|
||||||
]
|
]
|
||||||
|
_ := []int{len: 10, cap: 10, init: 7}
|
||||||
|
_ := []map[string]string{len: 5, cap: 50, init: 'a'}
|
||||||
|
_ := []map[string][]int{len: 7, cap: 100, init: [1, 2]}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue