use smol_str::SmolStr; use super::expr::{Expr, Spanned}; #[derive(Debug, PartialEq, Clone)] pub enum Stmt { Assignment(SmolStr, Box), /// Property assignment: root variable, field path, value /// e.g. `a.b.c = 5` → PropertyAssignment("a", ["b", "c"], 5) PropertyAssignment(SmolStr, Vec, Box), ExprStmt(Box), If(Box, Vec, Option>), } /// Statement with source location pub type SpannedStmt = Spanned;