kotlin_parser/parse/expression/
array_access.rs

1use 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}