From 406de22ee5cd74dc6f67743bad4710415bb50c41 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sat, 28 Jan 2023 18:32:58 +0100 Subject: Remove method call syntax kind --- src/syntax/parser.rs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'src/syntax/parser.rs') diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs index 1b5c10a3..602d9f2c 100644 --- a/src/syntax/parser.rs +++ b/src/syntax/parser.rs @@ -374,12 +374,12 @@ fn math_op(kind: SyntaxKind) -> Option<(SyntaxKind, SyntaxKind, ast::Assoc, usiz } fn math_args(p: &mut Parser) { - p.assert(SyntaxKind::Text); - let m = p.marker(); - let mut arg = p.marker(); + p.convert(SyntaxKind::LeftParen); + let mut namable = true; let mut named = None; + let mut arg = p.marker(); while !p.eof() && !p.at(SyntaxKind::Dollar) { if namable @@ -418,11 +418,14 @@ fn math_args(p: &mut Parser) { maybe_wrap_in_math(p, arg, named); } - p.wrap(m, SyntaxKind::Args); - if !p.eat_if(SyntaxKind::Text) { + if p.at(SyntaxKind::Text) && p.current_text() == ")" { + p.convert(SyntaxKind::RightParen); + } else { p.expected("closing paren"); p.balanced = false; } + + p.wrap(m, SyntaxKind::Args); } fn maybe_wrap_in_math(p: &mut Parser, arg: Marker, named: Option) { @@ -512,14 +515,7 @@ fn code_expr_prec(p: &mut Parser, atomic: bool, min_prec: usize) { if p.eat_if(SyntaxKind::Dot) { p.expect(SyntaxKind::Ident); - if p.directly_at(SyntaxKind::LeftParen) - || p.directly_at(SyntaxKind::LeftBracket) - { - args(p); - p.wrap(m, SyntaxKind::MethodCall); - } else { - p.wrap(m, SyntaxKind::FieldAccess) - } + p.wrap(m, SyntaxKind::FieldAccess); continue; } -- cgit v1.2.3