From 0e4198f23b2b9a52d72f61dd40d019412b809791 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Mon, 20 Jun 2022 13:28:53 +0300 Subject: [PATCH] tools: fix `v vet file.v` for `return if x { y // comment } else { z }` --- .../vvet/tests/accept_multi_expression_with_comments.out | 0 .../vvet/tests/accept_multi_expression_with_comments.vv | 7 +++++++ vlib/v/parser/parser.v | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 cmd/tools/vvet/tests/accept_multi_expression_with_comments.out create mode 100644 cmd/tools/vvet/tests/accept_multi_expression_with_comments.vv diff --git a/cmd/tools/vvet/tests/accept_multi_expression_with_comments.out b/cmd/tools/vvet/tests/accept_multi_expression_with_comments.out new file mode 100644 index 000000000..e69de29bb diff --git a/cmd/tools/vvet/tests/accept_multi_expression_with_comments.vv b/cmd/tools/vvet/tests/accept_multi_expression_with_comments.vv new file mode 100644 index 000000000..4cc7175e9 --- /dev/null +++ b/cmd/tools/vvet/tests/accept_multi_expression_with_comments.vv @@ -0,0 +1,7 @@ +fn abc() int { + return if true { + 0x4000 // 16KB + } else { + 0x1000 // 4KB + } +} diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index 210096d8a..ac07635ea 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -1977,7 +1977,7 @@ fn (mut p Parser) parse_multi_expr(is_top_level bool) ast.Stmt { // TODO remove translated if p.tok.kind in [.assign, .decl_assign] || p.tok.kind.is_assign() { return p.partial_assign_stmt(left, left_comments) - } else if !p.pref.translated && !p.is_translated && !p.pref.is_fmt + } else if !p.pref.translated && !p.is_translated && !p.pref.is_fmt && !p.pref.is_vet && tok.kind !in [.key_if, .key_match, .key_lock, .key_rlock, .key_select] { for node in left { if (is_top_level || p.tok.kind != .rcbr) && node !is ast.CallExpr -- 2.30.2