diff --git a/include/xo/expression2/DConstant.hpp b/include/xo/expression2/DConstant.hpp index 0c57f924..2c8b4a96 100644 --- a/include/xo/expression2/DConstant.hpp +++ b/include/xo/expression2/DConstant.hpp @@ -8,8 +8,8 @@ #include "Expression.hpp" #include "TypeRef.hpp" #include "exprtype.hpp" -#include -#include +#include +#include #include namespace xo { diff --git a/include/xo/expression2/DIfElseExpr.hpp b/include/xo/expression2/DIfElseExpr.hpp index 3b7b07e2..0cf71332 100644 --- a/include/xo/expression2/DIfElseExpr.hpp +++ b/include/xo/expression2/DIfElseExpr.hpp @@ -8,7 +8,7 @@ #include "Expression.hpp" #include "TypeRef.hpp" #include "exprtype.hpp" -#include +#include #include //#include #include diff --git a/include/xo/expression2/DUniqueString.hpp b/include/xo/expression2/DUniqueString.hpp index 30655b45..e43624bd 100644 --- a/include/xo/expression2/DUniqueString.hpp +++ b/include/xo/expression2/DUniqueString.hpp @@ -1,5 +1,5 @@ /** @file DUniqueString.hpp -* + * * @author Roland Conybeare, Jan 2026 **/ @@ -69,12 +69,7 @@ namespace xo { /** compare unique strings: return n with {n<0, n=0, n>0} * when @p lhs lexicographically {before, at, after} @p rhs **/ - static int compare(const DUniqueString & lhs, const DUniqueString & rhs) { - if (&lhs == &rhs) - return 0; - - return DString::compare(*(lhs._text()), *(rhs._text())); - } + static int compare(const DUniqueString & lhs, const DUniqueString & rhs); std::size_t hash() const noexcept { return _text()->hash(); } operator std::string_view() const noexcept { return std::string_view(*_text()); } @@ -124,14 +119,6 @@ namespace xo { ///@} friend class StringTable; - - private: -#ifdef NOPE - /** interned string. Note stringtable memory distinct from gc memory, - * so gc will not (and should not) traverse this pointer. - **/ - const DString * text_ = nullptr; -#endif }; /* since unique: just compare addresses */ diff --git a/include/xo/expression2/define/IGCObject_DDefineExpr.hpp b/include/xo/expression2/define/IGCObject_DDefineExpr.hpp index 216dd18b..321ce4e9 100644 --- a/include/xo/expression2/define/IGCObject_DDefineExpr.hpp +++ b/include/xo/expression2/define/IGCObject_DDefineExpr.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DDefineExpr.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DApplyExpr.hpp b/include/xo/expression2/detail/IGCObject_DApplyExpr.hpp index 10b08c10..f0bf15ff 100644 --- a/include/xo/expression2/detail/IGCObject_DApplyExpr.hpp +++ b/include/xo/expression2/detail/IGCObject_DApplyExpr.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DApplyExpr.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DConstant.hpp b/include/xo/expression2/detail/IGCObject_DConstant.hpp index 871f9c91..da593190 100644 --- a/include/xo/expression2/detail/IGCObject_DConstant.hpp +++ b/include/xo/expression2/detail/IGCObject_DConstant.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DConstant.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DIfElseExpr.hpp b/include/xo/expression2/detail/IGCObject_DIfElseExpr.hpp index 6a47d9b8..20cea34f 100644 --- a/include/xo/expression2/detail/IGCObject_DIfElseExpr.hpp +++ b/include/xo/expression2/detail/IGCObject_DIfElseExpr.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DIfElseExpr.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DLambdaExpr.hpp b/include/xo/expression2/detail/IGCObject_DLambdaExpr.hpp index 7d1ba5b0..2f4e72e0 100644 --- a/include/xo/expression2/detail/IGCObject_DLambdaExpr.hpp +++ b/include/xo/expression2/detail/IGCObject_DLambdaExpr.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DLambdaExpr.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DSequenceExpr.hpp b/include/xo/expression2/detail/IGCObject_DSequenceExpr.hpp index 1f6b8deb..51009ecd 100644 --- a/include/xo/expression2/detail/IGCObject_DSequenceExpr.hpp +++ b/include/xo/expression2/detail/IGCObject_DSequenceExpr.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DSequenceExpr.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DUniqueString.hpp b/include/xo/expression2/detail/IGCObject_DUniqueString.hpp index 398e3eed..9968d6da 100644 --- a/include/xo/expression2/detail/IGCObject_DUniqueString.hpp +++ b/include/xo/expression2/detail/IGCObject_DUniqueString.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DUniqueString.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DVarRef.hpp b/include/xo/expression2/detail/IGCObject_DVarRef.hpp index e991ebb8..487e2832 100644 --- a/include/xo/expression2/detail/IGCObject_DVarRef.hpp +++ b/include/xo/expression2/detail/IGCObject_DVarRef.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DVarRef.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/detail/IGCObject_DVariable.hpp b/include/xo/expression2/detail/IGCObject_DVariable.hpp index 242f335f..4728746f 100644 --- a/include/xo/expression2/detail/IGCObject_DVariable.hpp +++ b/include/xo/expression2/detail/IGCObject_DVariable.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DVariable.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/expression2_register_facets.hpp b/include/xo/expression2/expression2_register_facets.hpp index 95feeea5..1a559c72 100644 --- a/include/xo/expression2/expression2_register_facets.hpp +++ b/include/xo/expression2/expression2_register_facets.hpp @@ -5,7 +5,7 @@ #pragma once -#include +#include namespace xo { namespace scm { diff --git a/include/xo/expression2/expression2_register_types.hpp b/include/xo/expression2/expression2_register_types.hpp index 6c7cc959..58105eed 100644 --- a/include/xo/expression2/expression2_register_types.hpp +++ b/include/xo/expression2/expression2_register_types.hpp @@ -5,7 +5,7 @@ #pragma once -#include +#include namespace xo { namespace scm { diff --git a/include/xo/expression2/symtab/IGCObject_DGlobalSymtab.hpp b/include/xo/expression2/symtab/IGCObject_DGlobalSymtab.hpp index 92149015..f136b513 100644 --- a/include/xo/expression2/symtab/IGCObject_DGlobalSymtab.hpp +++ b/include/xo/expression2/symtab/IGCObject_DGlobalSymtab.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DGlobalSymtab.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/include/xo/expression2/symtab/IGCObject_DLocalSymtab.hpp b/include/xo/expression2/symtab/IGCObject_DLocalSymtab.hpp index 94b9e279..cc770261 100644 --- a/include/xo/expression2/symtab/IGCObject_DLocalSymtab.hpp +++ b/include/xo/expression2/symtab/IGCObject_DLocalSymtab.hpp @@ -14,7 +14,7 @@ #pragma once #include "GCObject.hpp" -#include +#include #include #include "DLocalSymtab.hpp" @@ -64,4 +64,4 @@ namespace xo { } /*namespace scm*/ } /*namespace xo*/ -/* end */ \ No newline at end of file +/* end */ diff --git a/src/expression2/DDefineExpr.cpp b/src/expression2/DDefineExpr.cpp index aee6ccf9..aa1ea105 100644 --- a/src/expression2/DDefineExpr.cpp +++ b/src/expression2/DDefineExpr.cpp @@ -5,7 +5,7 @@ #include "DDefineExpr.hpp" #include "Variable.hpp" -#include +#include #include #include #include diff --git a/src/expression2/DGlobalSymtab.cpp b/src/expression2/DGlobalSymtab.cpp index 38809a38..95db6b26 100644 --- a/src/expression2/DGlobalSymtab.cpp +++ b/src/expression2/DGlobalSymtab.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/expression2/DIfElseExpr.cpp b/src/expression2/DIfElseExpr.cpp index 6a0b053c..649a2482 100644 --- a/src/expression2/DIfElseExpr.cpp +++ b/src/expression2/DIfElseExpr.cpp @@ -5,7 +5,7 @@ #include "DIfElseExpr.hpp" #include "detail/IExpression_DIfElseExpr.hpp" -#include +#include #include #include #include diff --git a/src/expression2/DSequenceExpr.cpp b/src/expression2/DSequenceExpr.cpp index 22b097fb..fdc73b8e 100644 --- a/src/expression2/DSequenceExpr.cpp +++ b/src/expression2/DSequenceExpr.cpp @@ -7,7 +7,7 @@ #include "detail/IExpression_DSequenceExpr.hpp" #include #include -#include +#include #include #include #include diff --git a/src/expression2/DUniqueString.cpp b/src/expression2/DUniqueString.cpp index c0fa26db..98a7b33c 100644 --- a/src/expression2/DUniqueString.cpp +++ b/src/expression2/DUniqueString.cpp @@ -4,6 +4,7 @@ **/ #include "DUniqueString.hpp" +#include "DString.hpp" #include #include #include @@ -13,6 +14,15 @@ namespace xo { using xo::facet::typeseq; namespace scm { + int + DUniqueString::compare(const DUniqueString & lhs, const DUniqueString & rhs) + { + if (&lhs == &rhs) + return 0; + + return DString::compare(*(lhs._text()), *(rhs._text())); + } + DString * DUniqueString::_text() const noexcept { diff --git a/src/expression2/DVariable.cpp b/src/expression2/DVariable.cpp index ac051387..8fc201a5 100644 --- a/src/expression2/DVariable.cpp +++ b/src/expression2/DVariable.cpp @@ -5,8 +5,8 @@ #include "DVariable.hpp" #include "exprtype.hpp" -#include #include +#include namespace xo { using xo::mm::ACollector; diff --git a/src/expression2/expression2_register_facets.cpp b/src/expression2/expression2_register_facets.cpp index 82bff638..a9edbc20 100644 --- a/src/expression2/expression2_register_facets.cpp +++ b/src/expression2/expression2_register_facets.cpp @@ -25,7 +25,7 @@ #include #include -#include +#include #include #include #include