use std::collections::BTreeMap; use crate::syntax::LitKind; #[derive(Debug, Clone, PartialEq, Eq)] pub struct SimpleValue { kind: Box, } #[derive(Debug, Clone, PartialEq, Eq)] pub enum SValKind { Lit(LitKind), Optional(Option), List(Vec), Record(BTreeMap), Union(String, Option), Text(String), } impl SimpleValue { pub(crate) fn new(kind: SValKind) -> Self { SimpleValue { kind: Box::new(kind), } } pub fn kind(&self) -> &SValKind { self.kind.as_ref() } }