use crate::parser::meta::MetadataStatement;
#[derive(Debug, Clone, PartialEq)]
pub struct MetaStmt {
pub tuple_idx: usize,
pub stmt_idx: usize,
pub statement: MetadataStatement,
}
impl MetaStmt {
pub fn new(tuple_idx: usize, stmt_idx: usize, statement: MetadataStatement) -> Self {
Self {
tuple_idx,
stmt_idx,
statement,
}
}
pub fn target(&self) -> Option<&str> {
match &self.statement {
MetadataStatement::Current { .. } => None,
MetadataStatement::Targeted { target, .. } => Some(target),
}
}
pub fn is_current_region(&self) -> bool {
matches!(self.statement, MetadataStatement::Current { .. })
}
}