From a4ec30f2982b36c9436e09bcec52ad5f031540c8 Mon Sep 17 00:00:00 2001 From: Peter Ammon Date: Sun, 27 Apr 2025 13:07:51 -0700 Subject: [PATCH] ast: Remove StatementVariant::None We can do without this. --- src/ast.rs | 6 +----- src/parse_execution.rs | 12 ++++-------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/ast.rs b/src/ast.rs index 646fec525..9ab9c3fbf 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -1785,7 +1785,6 @@ fn embedded_node(&self) -> &dyn NodeMut { #[derive(Debug)] pub enum StatementVariant { - None, NotStatement(Box), BlockStatement(Box), BraceStatement(Box), @@ -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, diff --git a/src/parse_execution.rs b/src/parse_execution.rs index 017fc5e20..54583735f 100644 --- a/src/parse_execution.rs +++ b/src/parse_execution.rs @@ -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!() + } }; }