lua_parser/statement/
localdecl.rsuse crate::Expression;
use crate::Span;
use crate::SpannedString;
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub enum Attrib {
Const,
Close,
}
#[derive(Clone, Debug)]
pub struct AttName {
pub name: SpannedString,
pub attrib: Option<Attrib>,
pub span: Span,
}
impl AttName {
pub fn new(name: SpannedString, attrib: Option<Attrib>, span: Span) -> Self {
Self { name, attrib, span }
}
pub fn span(&self) -> Span {
self.span
}
}
#[derive(Clone, Debug)]
pub struct StmtLocalDeclaration {
pub names: Vec<AttName>,
pub values: Option<Vec<Expression>>,
pub span: Span,
}
impl StmtLocalDeclaration {
pub fn new(names: Vec<AttName>, values: Option<Vec<Expression>>, span: Span) -> Self {
Self {
names,
values,
span,
}
}
pub fn span(&self) -> Span {
self.span
}
}