From 8a8978fb01a401bdf706c71e5f67e55e80dbb148 Mon Sep 17 00:00:00 2001 From: Lukas Neubert Date: Wed, 13 Jan 2021 19:10:17 +0100 Subject: [PATCH] fmt: keep same line comments after arr.sort() in vsh files (#8026) --- doc/docs.md | 2 +- vlib/v/fmt/tests/vscript_keep.vv | 2 ++ vlib/v/gen/fn.v | 3 ++- vlib/v/parser/parser.v | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/docs.md b/doc/docs.md index 5ebe734a8c..ba6c2cfd73 100644 --- a/doc/docs.md +++ b/doc/docs.md @@ -689,7 +689,7 @@ println(a) // [[[0, 0], [0, 2], [0, 0]], [[0, 0], [0, 0], [0, 0]]] Sorting arrays of all kinds is very simple and intuitive. Special variables `a` and `b` are used when providing a custom sorting condition. -```v nofmt +```v mut numbers := [1, 3, 2] numbers.sort() // 1, 2, 3 numbers.sort(a > b) // 3, 2, 1 diff --git a/vlib/v/fmt/tests/vscript_keep.vv b/vlib/v/fmt/tests/vscript_keep.vv index 24cf41dca4..3f4dfe2e47 100644 --- a/vlib/v/fmt/tests/vscript_keep.vv +++ b/vlib/v/fmt/tests/vscript_keep.vv @@ -5,3 +5,5 @@ println(x) // comment after println('b') // comment between println('c') +mut numbers := [1, 3, 2] +numbers.sort() // 1, 2, 3 diff --git a/vlib/v/gen/fn.v b/vlib/v/gen/fn.v index 0ca6ab4968..db42e000aa 100644 --- a/vlib/v/gen/fn.v +++ b/vlib/v/gen/fn.v @@ -656,7 +656,8 @@ fn (mut g Gen) autofree_call_pregen(node ast.CallExpr) { // g.writeln('// autofree_call_pregen()') // Create a temporary var before fn call for each argument in order to free it (only if it's a complex expression, // like `foo(get_string())` or `foo(a + b)` - mut free_tmp_arg_vars := g.is_autofree && !g.is_builtin_mod && node.args.len > 0 && !node.args[0].typ.has_flag(.optional) // TODO copy pasta checker.v + mut free_tmp_arg_vars := g.is_autofree && !g.is_builtin_mod && node.args.len > 0 && + !node.args[0].typ.has_flag(.optional) // TODO copy pasta checker.v if !free_tmp_arg_vars { return } diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index efb38947ce..293cd8ff12 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -1500,6 +1500,7 @@ fn (mut p Parser) dot_expr(left ast.Expr) ast.Expr { // end_pos := p.prev_tok.position() pos := name_pos.extend(end_pos) + comments := p.eat_line_end_comments() mcall_expr := ast.CallExpr{ left: left name: field_name @@ -1514,6 +1515,7 @@ fn (mut p Parser) dot_expr(left ast.Expr) ast.Expr { pos: or_pos } scope: p.scope + comments: comments } if is_filter || field_name == 'sort' { p.close_scope()