1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
use crate::diag::location::SourceLoc;

use crate::syntax::decl::ConcreteDecl;
use crate::syntax::expr::ConcreteExpr;

pub enum ConcreteStmt {
    CompoundStmt(ConcreteCompoundStmt),
    ExprStmt(ConcreteExpr, SourceLoc),
    DeclStmt(ConcreteDecl, SourceLoc)
}

pub struct ConcreteCompoundStmt {
    pub stmts: Vec<ConcreteStmt>,

    pub left_brace_loc: SourceLoc,
    pub right_brace_loc: SourceLoc
}