Skip to content

Commit 287ba5d

Browse files
committed
extract parse_fn_call_expr
1 parent 98701b2 commit 287ba5d

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/librustc_parse/parser/expr.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -756,22 +756,22 @@ impl<'a> Parser<'a> {
756756
break;
757757
}
758758
match self.token.kind {
759-
// expr(...)
760-
token::OpenDelim(token::Paren) => {
761-
let seq = self.parse_paren_expr_seq().map(|es| {
762-
let nd = self.mk_call(e, es);
763-
let hi = self.prev_span;
764-
self.mk_expr(lo.to(hi), nd, AttrVec::new())
765-
});
766-
e = self.recover_seq_parse_error(token::Paren, lo, seq);
767-
}
759+
token::OpenDelim(token::Paren) => e = Ok(self.parse_fn_call_expr(lo, e)),
768760
token::OpenDelim(token::Bracket) => e = self.parse_index_expr(lo, e)?,
769761
_ => return Ok(e),
770762
}
771763
}
772764
return Ok(e);
773765
}
774766

767+
/// Parse a function call expression, `expr(...)`.
768+
fn parse_fn_call_expr(&mut self, lo: Span, fun: P<Expr>) -> P<Expr> {
769+
let seq = self.parse_paren_expr_seq().map(|args| {
770+
self.mk_expr(lo.to(self.prev_span), self.mk_call(fun, args), AttrVec::new())
771+
});
772+
self.recover_seq_parse_error(token::Paren, lo, seq)
773+
}
774+
775775
/// Parse an indexing expression `expr[...]`.
776776
fn parse_index_expr(&mut self, lo: Span, base: P<Expr>) -> PResult<'a, P<Expr>> {
777777
self.bump(); // `[`

0 commit comments

Comments
 (0)