diff --git a/include/xo/expression2/SetupExpression2.hpp b/include/xo/expression2/SetupExpression2.hpp new file mode 100644 index 00000000..819bdff6 --- /dev/null +++ b/include/xo/expression2/SetupExpression2.hpp @@ -0,0 +1,25 @@ +/** @file SetupExpression2.hpp + * + * @author Roland Conybeare, Jan 2026 + **/ + +#pragma once + +#include + +namespace xo { + namespace scm { + class SetupExpression2 { + public: + using ACollector = xo::mm::ACollector; + + public: + /** Register expression2 (facet,impl) combinations with FacetRegistry **/ + static bool register_facets(); + /** Register expression2 (facet,impl) combinations with FacetRegistry **/ + static bool register_types(obj gc); + }; + } +} + +/* end SetupExpression2.hpp */ diff --git a/include/xo/expression2/expression2_register_facets.hpp b/include/xo/expression2/expression2_register_facets.hpp deleted file mode 100644 index 1a559c72..00000000 --- a/include/xo/expression2/expression2_register_facets.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/** @file expression2_register_facets.hpp - * - * @author Roland Conybeare, Jan 2026 - **/ - -#pragma once - -#include - -namespace xo { - namespace scm { - /** Register expression2 (facet,impl) combinations with FacetRegistry **/ - bool expression2_register_facets(); - } -} - -/* end expression2_register_facets.hpp */ diff --git a/include/xo/expression2/expression2_register_types.hpp b/include/xo/expression2/expression2_register_types.hpp index 58105eed..c19c3863 100644 --- a/include/xo/expression2/expression2_register_types.hpp +++ b/include/xo/expression2/expression2_register_types.hpp @@ -9,8 +9,6 @@ namespace xo { namespace scm { - /** Register expression2 (facet,impl) combinations with FacetRegistry **/ - bool expression2_register_types(obj gc); } } diff --git a/src/expression2/CMakeLists.txt b/src/expression2/CMakeLists.txt index 42b491fc..574b9526 100644 --- a/src/expression2/CMakeLists.txt +++ b/src/expression2/CMakeLists.txt @@ -3,8 +3,7 @@ set(SELF_LIB xo_expression2) set(SELF_SRCS init_expression2.cpp - expression2_register_facets.cpp - expression2_register_types.cpp + SetupExpression2.cpp DConstant.cpp DVariable.cpp diff --git a/src/expression2/expression2_register_facets.cpp b/src/expression2/SetupExpression2.cpp similarity index 80% rename from src/expression2/expression2_register_facets.cpp rename to src/expression2/SetupExpression2.cpp index 1e68c771..5e86e795 100644 --- a/src/expression2/expression2_register_facets.cpp +++ b/src/expression2/SetupExpression2.cpp @@ -1,13 +1,9 @@ -/** @file expression2_register_facets.cpp +/** @file SetupExpression2.cpp * * @author Roland Conybeare, Jan 2026 **/ -#include "expression2_register_facets.hpp" - -//#include -//#include -//#include +#include "SetupExpression2.hpp" #include #include @@ -17,8 +13,8 @@ #include #include #include +#include -#include #include #include @@ -36,10 +32,11 @@ namespace xo { using xo::facet::FacetRegistry; using xo::facet::TypeRegistry; using xo::facet::typeseq; + using xo::facet::impl_for; namespace scm { bool - expression2_register_facets() + SetupExpression2::register_facets() { scope log(XO_DEBUG(true)); @@ -126,7 +123,28 @@ namespace xo { return true; } - } /*namespace scm*/ + + bool + SetupExpression2::register_types(obj gc) + { + scope log(XO_DEBUG(true)); + + bool ok = true; + + ok &= gc.install_type(impl_for()); + ok &= gc.install_type(impl_for()); + ok &= gc.install_type(impl_for()); + ok &= gc.install_type(impl_for()); + //ok &= gc.install_type(impl_for()); // when avail + ok &= gc.install_type(impl_for()); + ok &= gc.install_type(impl_for()); + ok &= gc.install_type(impl_for()); + + ok &= gc.install_type(impl_for()); + ok &= gc.install_type(impl_for()); + + return ok; + } } /*namespace scm*/ } /*namespace xo*/ -/* end expression2_register_facets.cpp */ +/* end SetupExpression2.cpp */ diff --git a/src/expression2/expression2_register_types.cpp b/src/expression2/expression2_register_types.cpp deleted file mode 100644 index c62ea264..00000000 --- a/src/expression2/expression2_register_types.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/** @file expression2_register_types.cpp - * - * @author Roland Conybeare, Jan 2026 - **/ - -#include "expression2_register_types.hpp" - -#include "DefineExpr.hpp" -#include "Constant.hpp" -#include "Variable.hpp" -#include "Typename.hpp" -//#include "detail/IGCObject_DDefineExpr.hpp" // when avail -//#include "detail/IGCObject_DApplyExpr.hpp" // when avail -#include "LambdaExpr.hpp" -#include "IfElseExpr.hpp" -#include "SequenceExpr.hpp" -#include "LocalSymtab.hpp" -#include "GlobalSymtab.hpp" -//#include "detail/IGCObject_DLocalSymtab.hpp" // when avail -//#include "detail/IGCObject_DUniqueString.hpp" - -//#include "detail/IPrintable_DUniqueString.hpp" // when avail - -#include - -namespace xo { - using xo::mm::ACollector; - using xo::mm::AGCObject; - using xo::facet::impl_for; - using xo::scope; - - namespace scm { - bool - expression2_register_types(obj gc) - { - scope log(XO_DEBUG(true)); - - bool ok = true; - - ok &= gc.install_type(impl_for()); - ok &= gc.install_type(impl_for()); - ok &= gc.install_type(impl_for()); - ok &= gc.install_type(impl_for()); - //ok &= gc.install_type(impl_for()); // when avail - ok &= gc.install_type(impl_for()); - ok &= gc.install_type(impl_for()); - ok &= gc.install_type(impl_for()); - - ok &= gc.install_type(impl_for()); - ok &= gc.install_type(impl_for()); - - return ok; - } - } -} /*namespace xo*/ - -/* end expression2_register_types.cpp */ diff --git a/src/expression2/init_expression2.cpp b/src/expression2/init_expression2.cpp index 0d107316..a80d6625 100644 --- a/src/expression2/init_expression2.cpp +++ b/src/expression2/init_expression2.cpp @@ -4,23 +4,22 @@ **/ #include "init_expression2.hpp" -#include "expression2_register_facets.hpp" +#include "SetupExpression2.hpp" #include "expression2_register_types.hpp" #include #include namespace xo { - using xo::scm::expression2_register_facets; - using xo::scm::expression2_register_types; + using xo::scm::SetupExpression2; using xo::mm::CollectorTypeRegistry; void InitSubsys::init() { - expression2_register_facets(); + SetupExpression2::register_facets(); - CollectorTypeRegistry::instance().register_types(&expression2_register_types); + CollectorTypeRegistry::instance().register_types(&SetupExpression2::register_types); } InitEvidence