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

View File

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