From dfcbf31f65e9ac14a3f29450a695119e54e2ff8b Mon Sep 17 00:00:00 2001 From: Ned Palacios Date: Sat, 26 Dec 2020 18:23:51 +0800 Subject: [PATCH] parser: return node on incomplete module selector (#7574) --- vlib/v/parser/parser.v | 5 +++++ vlib/v/parser/tests/uncomplete_module_call_err.out | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index 269e5610a0..71997f5e0e 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -1153,6 +1153,11 @@ pub fn (mut p Parser) name_expr() ast.Expr { if p.peek_tok.kind == .dot && p.peek_tok2.kind != .eof && p.peek_tok2.lit.len > 0 && p.peek_tok2.lit[0].is_capital() { is_mod_cast = true + } else if p.peek_tok.kind == .dot && + p.peek_tok2.kind != .eof && p.peek_tok2.lit.len == 0 { + // incomplete module selector must be handled by dot_expr instead + node = p.parse_ident(language) + return node } } // prepend the full import diff --git a/vlib/v/parser/tests/uncomplete_module_call_err.out b/vlib/v/parser/tests/uncomplete_module_call_err.out index 630b780efe..e7ce008b5c 100644 --- a/vlib/v/parser/tests/uncomplete_module_call_err.out +++ b/vlib/v/parser/tests/uncomplete_module_call_err.out @@ -1,4 +1,4 @@ -vlib/v/parser/tests/uncomplete_module_call_err.vv:7:1: error: unexpected token `` +vlib/v/parser/tests/uncomplete_module_call_err.vv:7:1: error: unexpected `}`, expecting `name` 5 | fn main() { 6 | os. 7 | }