mago_syntax/ast/ast/
block.rs1use 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}