From f0f4c57362538fb3567f8b4d922f084193720318 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Fri, 9 Aug 2024 20:09:12 -0400 Subject: [PATCH] xo-reader: streamline: drop degenerate switch stmts --- src/reader/exprstate.cpp | 60 +++++----------------------------------- 1 file changed, 7 insertions(+), 53 deletions(-) diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index d9ea94b6..6e876bac 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -408,34 +408,9 @@ namespace xo { { /* returning type description to something that wants it */ - switch (this->exs_type_) { - case exprstatetype::expect_toplevel_expression_sequence: - case exprstatetype::defexpr: - case exprstatetype::parenexpr: - /* unreachable - redirects to define_xs */ - assert(false); - return; - - case exprstatetype::expect_rhs_expression: - case exprstatetype::expect_type: - case exprstatetype::expect_symbol: - /* unreachable - * (this exprstate issues pop instruction from exprstate::on_input() - */ - assert(false); - return; - - case exprstatetype::expr_progress: - /* unreachable */ - assert(false); - return; - - case exprstatetype::invalid: - case exprstatetype::n_exprstatetype: - /* unreachable */ - assert(false); - return; - } + /* unreachable - implement in derived class */ + assert(false); + return; } void @@ -718,31 +693,10 @@ namespace xo { exprstatestack * /*p_stack*/, rp * /*p_emit_expr*/) { - switch(this->exs_type_) { - case exprstatetype::expect_toplevel_expression_sequence: - case exprstatetype::defexpr: - case exprstatetype::parenexpr: - /* unreachable - redirects to define_xs etc */ - assert(false); - return; - - case exprstatetype::expect_rhs_expression: - case exprstatetype::expect_type: - case exprstatetype::expect_symbol: - /* unreachable - * (this exprstate issues pop instruction from exprstate::on_input() - */ - assert(false); - return; - case exprstatetype::expr_progress: - assert(false); - return; - case exprstatetype::invalid: - case exprstatetype::n_exprstatetype: - /* unreachable */ - assert(false); - return; - } + /* unreachable - derived class that can receive + * will override this method + */ + assert(false); } void