Skip to main content

dada_parser/
square_bracket_args.rs

1use dada_ir_ast::ast::{AstGenericTerm, SpanVec, SquareBracketArgs};
2
3use crate::Parser;
4
5#[salsa::tracked]
6impl<'db> crate::prelude::SquareBracketArgs<'db> for SquareBracketArgs<'db> {
7    #[salsa::tracked]
8    fn parse_as_generics(
9        self,
10        db: &'db dyn crate::Db,
11    ) -> SpanVec<'db, dada_ir_ast::ast::AstGenericTerm<'db>> {
12        let deferred = self.deferred(db);
13        let anchor = deferred.span.anchor;
14        Parser::deferred(db, anchor, deferred, |parser| {
15            parser.parse_many_and_report_diagnostics::<AstGenericTerm<'db>>(db)
16        })
17    }
18}