From fed464278d89359ca1618c62795b4d087873ec5c Mon Sep 17 00:00:00 2001 From: KtorZ Date: Sat, 31 Aug 2024 00:01:46 +0200 Subject: [PATCH] Allow field access on 'else'. --- .../src/parser/chain/field_access.rs | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/crates/aiken-lang/src/parser/chain/field_access.rs b/crates/aiken-lang/src/parser/chain/field_access.rs index 14f84bce..86eab783 100644 --- a/crates/aiken-lang/src/parser/chain/field_access.rs +++ b/crates/aiken-lang/src/parser/chain/field_access.rs @@ -1,16 +1,16 @@ -use chumsky::prelude::*; - use super::Chain; use crate::{ expr::UntypedExpr, parser::{token::Token, ParseError}, }; +use chumsky::prelude::*; pub(crate) fn parser() -> impl Parser { just(Token::Dot) - .ignore_then(select! { - Token::Name { name } => name, - }) + .ignore_then(choice(( + select! { Token::Else => "else".to_string() }, + select! { Token::Name { name } => name, }, + ))) .map_with_span(Chain::FieldAccess) } @@ -28,3 +28,18 @@ pub(crate) fn constructor() -> impl Parser