From 864a850825f562c704603f4f7c7bd9cab681549a Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 20 Jan 2026 00:08:51 -0500 Subject: [PATCH] xo-reader2: intern for DDefineExpr lhs symbol --- include/xo/expression2/DDefineExpr.hpp | 22 ++++++++++++++++------ src/expression2/DDefineExpr.cpp | 9 --------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/include/xo/expression2/DDefineExpr.hpp b/include/xo/expression2/DDefineExpr.hpp index 94a37197..618e4161 100644 --- a/include/xo/expression2/DDefineExpr.hpp +++ b/include/xo/expression2/DDefineExpr.hpp @@ -25,6 +25,9 @@ namespace xo { using TypeDescr = xo::reflect::TypeDescr; public: + /** @defgroup scm-defineexpr-constructors **/ + ///@{ + /** create instance: define-expr using memory from @p mm * with lhs name @p lhs_name and rhs expression @p rhs_expr **/ @@ -35,14 +38,20 @@ namespace xo { **/ static DDefineExpr * make_empty(obj mm); + DDefineExpr(DVariable * lhs_var, + obj rhs); + + ///@} + /** @defgroup scm-definexpr-access-methods **/ + ///@{ + DVariable * lhs() const { return lhs_var_; } obj rhs() const noexcept { return rhs_; } - const DUniqueString * name() const noexcept; void assign_lhs_name(const DUniqueString * name); - /** CONCESSION. will use DUniqueString* once we have StringTable **/ - void assign_lhs_name(std::string_view name); + + ///@} /** @defgroup scm-defineexpr-expression-facet **/ ///@{ @@ -55,10 +64,9 @@ namespace xo { ///@} private: - DDefineExpr(DVariable * lhs_var, - obj rhs); + /** @defgrouop scm-defineexpr-instance-vars **/ + ///@{ - private: /** variable being defined by this expression. **/ DVariable * lhs_var_ = nullptr; @@ -68,6 +76,8 @@ namespace xo { obj rhs_; // std::set free_var_set_; + + ///@} }; } /*namespace scm*/ } /*namespace xo*/ diff --git a/src/expression2/DDefineExpr.cpp b/src/expression2/DDefineExpr.cpp index ada633f6..a5609246 100644 --- a/src/expression2/DDefineExpr.cpp +++ b/src/expression2/DDefineExpr.cpp @@ -55,15 +55,6 @@ namespace xo { lhs_var_->assign_name(name); } - void - DDefineExpr::assign_lhs_name(std::string_view name) - { - scope log(XO_DEBUG(true), "bogus impl - will require unique string"); - log && log(xtag("name", name)); - - //lhs_var_->assign_name(name); - } - void DDefineExpr::assign_valuetype(TypeDescr td) noexcept {