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

StringsBuilder => strings.Builder; strings.repeat()

This commit is contained in:
Alexander Medvednikov
2019-07-03 22:11:27 +02:00
parent e35ff0533b
commit 5d4d3b838b
10 changed files with 61 additions and 30 deletions

View File

@ -4,6 +4,8 @@
module main
import strings
const (
MaxLocalVars = 50
)
@ -809,7 +811,7 @@ fn contains_capital(s string) bool {
// "fn (int, string) int"
fn (f Fn) typ_str() string {
mut sb := new_string_builder(50)
mut sb := strings.new_builder(50)
sb.write('fn (')
for i, arg in f.args {
sb.write(arg.typ)

View File

@ -91,6 +91,7 @@ mut:
show_c_cmd bool // `v -show_c_cmd` prints the C command to build program.v.c
sanitize bool // use Clang's new "-fsanitize" option
is_debug bool // keep compiled C files
no_auto_free bool // `v -nofree` disable automatic `free()` insertion for better performance in some applications (e.g. compilers)
}
@ -290,7 +291,7 @@ void init_consts();')
}
v.log('Done parsing.')
// Write everything
mut d := new_string_builder(10000)// Just to avoid some unnecessary allocations
mut d := strings.new_builder(10000)// Just to avoid some unnecessary allocations
d.writeln(cgen.includes.join_lines())
d.writeln(cgen.typedefs.join_lines())
d.writeln(cgen.types.join_lines())
@ -872,7 +873,6 @@ fn new_v(args[]string) *V {
'utf8.v',
'map.v',
'option.v',
'string_builder.v',
]
// Location of all vlib files
mut lang_dir := ''

View File

@ -839,7 +839,7 @@ fn (p mut Parser) get_type() string {
p.error('unknown type `$typ`')
}
if mul {
typ += repeat_char(`*`, nr_muls)
typ += strings.repeat(`*`, nr_muls)
}
// Register an []array type
if is_arr2 {
@ -3175,7 +3175,7 @@ fn (p &Parser) building_v() bool {
// fmt helpers
fn (scanner mut Scanner) fgen(s string) {
if scanner.fmt_line_empty {
s = repeat_char(`\t`, scanner.fmt_indent) + s
s = strings.repeat(`\t`, scanner.fmt_indent) + s
}
scanner.fmt_out.write(s)
scanner.fmt_line_empty = false
@ -3183,7 +3183,7 @@ fn (scanner mut Scanner) fgen(s string) {
fn (scanner mut Scanner) fgenln(s string) {
if scanner.fmt_line_empty {
s = repeat_char(`\t`, scanner.fmt_indent) + s
s = strings.repeat(`\t`, scanner.fmt_indent) + s
}
scanner.fmt_out.writeln(s)
scanner.fmt_line_empty = true

View File

@ -18,7 +18,7 @@ mut:
started bool
is_fmt bool
// vfmt fields
fmt_out StringBuilder
fmt_out strings.Builder
fmt_indent int
fmt_line_empty bool
}
@ -40,7 +40,7 @@ fn new_scanner(file_path string) *Scanner {
scanner := &Scanner {
file_path: file_path
text: text
fmt_out: new_string_builder(1000)
fmt_out: strings.new_builder(1000)
}
// println('new scanner "$file_path" txt.len=$scanner.text.len')
return scanner