From d66ed464863ecc9627776eaacfd3fc9d262f5139 Mon Sep 17 00:00:00 2001 From: yuyi Date: Sat, 26 Dec 2020 14:54:13 +0800 Subject: [PATCH] parser: minor cleanup of `stmt()` (#7573) --- vlib/v/parser/parser.v | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v index 3abf7ff472..269e5610a0 100644 --- a/vlib/v/parser/parser.v +++ b/vlib/v/parser/parser.v @@ -679,19 +679,25 @@ pub fn (mut p Parser) stmt(is_top_level bool) ast.Stmt { return p.return_stmt() } .dollar { - if p.peek_tok.kind == .key_if { - return ast.ExprStmt{ - expr: p.if_expr(true) + match p.peek_tok.kind { + .key_if { + return ast.ExprStmt{ + expr: p.if_expr(true) + } } - } else if p.peek_tok.kind == .key_for { - return p.comp_for() - } else if p.peek_tok.kind == .name { - return ast.ExprStmt{ - expr: p.vweb() + .key_for { + return p.comp_for() + } + .name { + return ast.ExprStmt{ + expr: p.vweb() + } + } + else { + p.error_with_pos('unexpected \$', p.tok.position()) + return ast.Stmt{} } } - p.error_with_pos('unexpected \$', p.tok.position()) - return ast.Stmt{} } .key_continue, .key_break { tok := p.tok