From cf3448bc8249bbc1ad9516c0621723791439f040 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Fri, 9 Aug 2024 19:56:47 -0400 Subject: [PATCH] xo-reader: + exprseq_xs.on_typedef() + simplie tl exprseq case --- include/xo/reader/exprseq_xs.hpp | 4 ++++ src/reader/exprseq_xs.cpp | 10 ++++++++++ src/reader/exprstate.cpp | 1 - 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/include/xo/reader/exprseq_xs.hpp b/include/xo/reader/exprseq_xs.hpp index 861a6321..6ea8ff21 100644 --- a/include/xo/reader/exprseq_xs.hpp +++ b/include/xo/reader/exprseq_xs.hpp @@ -31,6 +31,10 @@ namespace xo { // ----- victory methods ----- + virtual void on_typedescr(TypeDescr /*td*/, + exprstatestack * /*p_stack*/, + rp * /*p_emit_expr*/) override; + }; } /*namespace scm*/ } /*namespace xo*/ diff --git a/src/reader/exprseq_xs.cpp b/src/reader/exprseq_xs.cpp index a127cdc8..48c69fbd 100644 --- a/src/reader/exprseq_xs.cpp +++ b/src/reader/exprseq_xs.cpp @@ -47,6 +47,16 @@ namespace xo { this->illegal_input_error(c_self_name, tk); } + + void + exprseq_xs::on_typedescr(TypeDescr /*td*/, + exprstatestack * /*p_stack*/, + rp * /*p_emit_expr*/) + { + /* unreachable - typedescr should never get delivered to exprseq */ + assert(false); + return; + } } /*namespace scm*/ } /*namespace xo*/ diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index 3e3ae9ec..7fa30923 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -413,7 +413,6 @@ namespace xo { switch (this->exs_type_) { case exprstatetype::expect_toplevel_expression_sequence: - case exprstatetype::defexpr: case exprstatetype::parenexpr: /* unreachable - redirects to define_xs */