From fb5a9df48b39ae841b9d1664b0619f6ee324b873 Mon Sep 17 00:00:00 2001 From: Sam Vervaeck Date: Sun, 21 May 2023 17:13:47 +0200 Subject: [PATCH] Fix some parsing issues for MatchExpression --- src/Parser.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Parser.cc b/src/Parser.cc index 958a41338..b0049923c 100644 --- a/src/Parser.cc +++ b/src/Parser.cc @@ -241,10 +241,12 @@ after_constraints: { Tokens.get(); auto T1 = Tokens.peek(); - Expression* Value = nullptr; + Expression* Value; BlockStart* BlockStart; if (llvm::isa(T1)) { + Value = nullptr; BlockStart = static_cast(T1); + Tokens.get(); } else { Value = parseExpression(); BlockStart = expectToken(); @@ -269,7 +271,7 @@ after_constraints: Tokens.get(); return new ConstantExpression(T0); default: - throw UnexpectedTokenDiagnostic(File, T0, std::vector { NodeKind::Identifier, NodeKind::IntegerLiteral, NodeKind::StringLiteral }); + throw UnexpectedTokenDiagnostic(File, T0, { NodeKind::MatchKeyword, NodeKind::Identifier, NodeKind::IdentifierAlt, NodeKind::IntegerLiteral, NodeKind::StringLiteral }); } }