Skip to main content

mago_syntax/ast/ast/
block.rs

1use serde::Serialize;
2
3use mago_span::HasSpan;
4use mago_span::Span;
5
6use crate::ast::ast::statement::Statement;
7use crate::ast::sequence::Sequence;
8
9#[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, PartialOrd, Ord)]
10pub struct Block<'arena> {
11    pub left_brace: Span,
12    pub statements: Sequence<'arena, Statement<'arena>>,
13    pub right_brace: Span,
14}
15
16impl HasSpan for Block<'_> {
17    fn span(&self) -> Span {
18        self.left_brace.join(self.right_brace)
19    }
20}