kotlin_parser/parse/expression/
array_access.rs1use crate::ast::{BracketExpression, Expression, Statement};
2use chumsky::prelude::*;
3
4use super::expression_parser;
5
6pub fn bracket_expr_parser<'a>(
7 stmt_parser: impl Parser<char, Statement, Error = Simple<char>> + Clone + 'a,
8) -> impl Parser<char, Expression, Error = Simple<char>> + 'a {
9 just('[')
10 .padded()
11 .ignore_then(expression_parser(stmt_parser))
12 .then_ignore(just(']').padded())
13 .map(|expr| {
14 Expression::Bracket(BracketExpression { expr: expr.into() })
15 })
16}