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

cgen: fix []u8 string representation (#15432)

This commit is contained in:
Swastik Baranwal 2022-08-16 02:18:38 +05:30 committed by GitHub
parent 3aad5e2a8d
commit 3bc01d696d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 6 additions and 9 deletions

View File

@ -541,10 +541,7 @@ fn (mut g Gen) gen_str_for_array(info ast.Array, styp string, str_fn_name string
field_styp := g.typ(typ)
is_elem_ptr := typ.is_ptr()
sym_has_str_method, str_method_expects_ptr, _ := sym.str_method_info()
mut elem_str_fn_name := g.get_str_fn(typ)
if sym.kind == .u8 {
elem_str_fn_name = elem_str_fn_name + '_escaped'
}
elem_str_fn_name := g.get_str_fn(typ)
g.definitions.writeln('static string ${str_fn_name}($styp a); // auto')
g.auto_str_funcs.writeln('static string ${str_fn_name}($styp a) { return indent_${str_fn_name}(a, 0);}')

View File

@ -19,7 +19,7 @@ fn test_array_to_string_conversion() {
assert e.str() == '[1, 2, 3]'
f := [u8(66), 32, 126, 10, 13, 5, 18, 127, 255]
assert f.str() == '[B, , ~, `\\n`, `\\r`, 0x05, 0x12, 0x7f, 0xff]'
assert f.str() == '[66, 32, 126, 10, 13, 5, 18, 127, 255]'
// https://github.com/vlang/v/issues/8036
g := array_array_array<int>(2, 2)

View File

@ -15,10 +15,10 @@ fn test_fn_with_array_of_aliases_argument() {
s1 := show_array_of_u8(a)
println(s1)
assert s1 == '[0x01, 0x02, 0x03]'
assert s1 == '[1, 2, 3]'
foo := Foo{}
s2 := foo.show_array_of_u8(a)
println(s2)
assert s2 == '[0x01, 0x02, 0x03]'
assert s2 == '[1, 2, 3]'
}

View File

@ -22,5 +22,5 @@ fn hex_to_bytes(s string) ?[]u8 {
fn test_multiple_matchs_in_one_expr() {
ret := hex_to_bytes('FFFF') or { 'error'.bytes() }
println(ret)
assert '$ret' == '[U, U]'
assert '$ret' == '[85, 85]'
}

View File

@ -1,4 +1,4 @@
import compress.zlib as z
z.compress('hello world'.bytes())?
===output===
[x, 0x01, 0x01, `/v`, `/0`, 0xf4, 0xff, h, e, l, l, o, , w, o, r, l, d, 0x1a, `/v`, 0x04, ]]
[120, 1, 1, 11, 0, 244, 255, 104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 26, 11, 4, 93]