ast: Remove StatementVariant::None

We can do without this.
This commit is contained in:
Peter Ammon
2025-04-27 13:07:51 -07:00
parent ee9cf33689
commit a4ec30f298
2 changed files with 5 additions and 13 deletions

View File

@@ -1785,7 +1785,6 @@ fn embedded_node(&self) -> &dyn NodeMut {
#[derive(Debug)]
pub enum StatementVariant {
None,
NotStatement(Box<NotStatement>),
BlockStatement(Box<BlockStatement>),
BraceStatement(Box<BraceStatement>),
@@ -1796,14 +1795,13 @@ pub enum StatementVariant {
impl Default for StatementVariant {
fn default() -> Self {
StatementVariant::None
StatementVariant::DecoratedStatement(DecoratedStatement::default())
}
}
impl Acceptor for StatementVariant {
fn accept<'a>(&'a self, visitor: &mut dyn NodeVisitor<'a>) {
match self {
StatementVariant::None => panic!("cannot visit null statement"),
StatementVariant::NotStatement(node) => node.accept(visitor),
StatementVariant::BlockStatement(node) => node.accept(visitor),
StatementVariant::BraceStatement(node) => node.accept(visitor),
@@ -1816,7 +1814,6 @@ fn accept<'a>(&'a self, visitor: &mut dyn NodeVisitor<'a>) {
impl AcceptorMut for StatementVariant {
fn accept_mut(&mut self, visitor: &mut dyn NodeVisitorMut) {
match self {
StatementVariant::None => panic!("cannot visit null statement"),
StatementVariant::NotStatement(node) => node.accept_mut(visitor),
StatementVariant::BlockStatement(node) => node.accept_mut(visitor),
StatementVariant::BraceStatement(node) => node.accept_mut(visitor),
@@ -1874,7 +1871,6 @@ pub fn as_decorated_statement(&self) -> Option<&DecoratedStatement> {
fn embedded_node(&self) -> &dyn NodeMut {
match self {
StatementVariant::None => panic!("cannot visit null statement"),
StatementVariant::NotStatement(node) => &**node,
StatementVariant::BlockStatement(node) => &**node,
StatementVariant::BraceStatement(node) => &**node,

View File

@@ -173,9 +173,7 @@ fn eval_statement(
StatementVariant::SwitchStatement(switchstat) => {
self.run_switch_statement(ctx, switchstat)
}
StatementVariant::DecoratedStatement(_)
| StatementVariant::NotStatement(_)
| StatementVariant::None => panic!(),
StatementVariant::DecoratedStatement(_) | StatementVariant::NotStatement(_) => panic!(),
}
}
@@ -571,7 +569,6 @@ fn job_is_simple_block(&self, job: &ast::JobPipeline) -> bool {
// not block statements
false
}
StatementVariant::None => panic!(),
}
}
@@ -692,7 +689,6 @@ fn populate_job_process(
StatementVariant::DecoratedStatement(decorated_statement) => {
self.populate_plain_process(ctx, proc, decorated_statement)
}
StatementVariant::None => panic!(),
}
}
@@ -1614,9 +1610,9 @@ fn run_1_job(
}
// Other types should be impossible due to the
// specific_statement_type_is_redirectable_block check.
StatementVariant::NotStatement(_)
| StatementVariant::DecoratedStatement(_)
| StatementVariant::None => panic!(),
StatementVariant::NotStatement(_) | StatementVariant::DecoratedStatement(_) => {
panic!()
}
};
}