Skip to content

Commit 7bfb35d

Browse files
authored
cgen: cleanup in array.v (#19429)
1 parent a685088 commit 7bfb35d

File tree

1 file changed

+13
-25
lines changed

1 file changed

+13
-25
lines changed

vlib/v/gen/c/array.v

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,7 @@ fn (mut g Gen) fixed_array_init(node ast.ArrayInit, array_type Type, var_name st
126126
g.indent++
127127
g.writeln('int it = index;') // FIXME: Remove this line when it is fully forbidden
128128
g.write('*pelem = ')
129-
if node.elem_type.has_flag(.option) {
130-
g.expr_with_opt(node.default_expr, node.default_type, node.elem_type)
131-
} else {
132-
g.expr_with_cast(node.default_expr, node.default_type, node.elem_type)
133-
}
129+
g.expr_with_default(node)
134130
g.writeln(';')
135131
g.indent--
136132
g.writeln('}')
@@ -171,11 +167,7 @@ fn (mut g Gen) fixed_array_init(node ast.ArrayInit, array_type Type, var_name st
171167
} else if node.has_default {
172168
info := array_type.unaliased_sym.info as ast.ArrayFixed
173169
for i in 0 .. info.size {
174-
if info.elem_type.has_flag(.option) {
175-
g.expr_with_opt(node.default_expr, node.default_type, info.elem_type)
176-
} else {
177-
g.expr_with_cast(node.default_expr, node.default_type, info.elem_type)
178-
}
170+
g.expr_with_default(node)
179171
if i != info.size - 1 {
180172
g.write(', ')
181173
}
@@ -244,6 +236,14 @@ fn (mut g Gen) fixed_array_init(node ast.ArrayInit, array_type Type, var_name st
244236
}
245237
}
246238

239+
fn (mut g Gen) expr_with_default(node ast.ArrayInit) {
240+
if node.elem_type.has_flag(.option) {
241+
g.expr_with_opt(node.default_expr, node.default_type, node.elem_type)
242+
} else {
243+
g.expr_with_cast(node.default_expr, node.default_type, node.elem_type)
244+
}
245+
}
246+
247247
fn (mut g Gen) struct_has_array_or_map_field(elem_typ ast.Type) bool {
248248
unaliased_sym := g.table.final_sym(elem_typ)
249249
if unaliased_sym.kind == .struct_ {
@@ -342,11 +342,7 @@ fn (mut g Gen) array_init_with_fields(node ast.ArrayInit, elem_type Type, is_amp
342342
g.indent++
343343
g.writeln('int it = index;') // FIXME: Remove this line when it is fully forbidden
344344
g.write('*pelem = ')
345-
if node.elem_type.has_flag(.option) {
346-
g.expr_with_opt(node.default_expr, node.default_type, node.elem_type)
347-
} else {
348-
g.expr_with_cast(node.default_expr, node.default_type, node.elem_type)
349-
}
345+
g.expr_with_default(node)
350346
g.writeln(';')
351347
g.indent--
352348
g.writeln('}')
@@ -409,11 +405,7 @@ fn (mut g Gen) array_init_with_fields(node ast.ArrayInit, elem_type Type, is_amp
409405
g.writeln('; ${ind}++) {')
410406
g.write('\t${tmp}[${ind}] = ')
411407
if node.has_default {
412-
if node.elem_type.has_flag(.option) {
413-
g.expr_with_opt(node.default_expr, node.default_type, node.elem_type)
414-
} else {
415-
g.expr_with_cast(node.default_expr, node.default_type, node.elem_type)
416-
}
408+
g.expr_with_default(node)
417409
} else {
418410
if node.elem_type.has_flag(.option) {
419411
g.expr_with_opt(ast.None{}, ast.none_type, node.elem_type)
@@ -427,11 +419,7 @@ fn (mut g Gen) array_init_with_fields(node ast.ArrayInit, elem_type Type, is_amp
427419
g.write(' (voidptr)${tmp})')
428420
} else if node.has_default {
429421
g.write('&(${elem_styp}[]){')
430-
if node.elem_type.has_flag(.option) {
431-
g.expr_with_opt(node.default_expr, node.default_type, node.elem_type)
432-
} else {
433-
g.expr_with_cast(node.default_expr, node.default_type, node.elem_type)
434-
}
422+
g.expr_with_default(node)
435423
g.write('})')
436424
} else if node.has_len && node.elem_type.has_flag(.option) {
437425
g.write('&')

0 commit comments

Comments
 (0)