From 7e575e6214799cb7e54f57a755979f0b2db9e0a0 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Sat, 4 Apr 2026 14:38:14 -0400 Subject: [PATCH] refactor: make AGCObject.shallow_copy() non-const prep for moving to ACollector interface --- include/xo/reader2/DGlobalEnv.hpp | 2 +- include/xo/reader2/env/IGCObject_DGlobalEnv.hpp | 4 ++-- include/xo/reader2/parser/IGCObject_DSchematikaParser.hpp | 4 ++-- src/reader2/DGlobalEnv.cpp | 2 +- src/reader2/facet/IGCObject_DGlobalEnv.cpp | 3 +-- src/reader2/facet/IGCObject_DSchematikaParser.cpp | 3 +-- 6 files changed, 8 insertions(+), 10 deletions(-) diff --git a/include/xo/reader2/DGlobalEnv.hpp b/include/xo/reader2/DGlobalEnv.hpp index da7f8536..fa9d52f8 100644 --- a/include/xo/reader2/DGlobalEnv.hpp +++ b/include/xo/reader2/DGlobalEnv.hpp @@ -71,7 +71,7 @@ namespace xo { ///@{ std::size_t shallow_size() const noexcept; - DGlobalEnv * shallow_copy(obj mm) const noexcept; + DGlobalEnv * shallow_copy(obj mm) noexcept; std::size_t forward_children(obj gc) noexcept; ///@} diff --git a/include/xo/reader2/env/IGCObject_DGlobalEnv.hpp b/include/xo/reader2/env/IGCObject_DGlobalEnv.hpp index a2fcb5f6..e4ff328a 100644 --- a/include/xo/reader2/env/IGCObject_DGlobalEnv.hpp +++ b/include/xo/reader2/env/IGCObject_DGlobalEnv.hpp @@ -52,10 +52,10 @@ namespace xo { // const methods /** memory consumption for this instance **/ static size_type shallow_size(const DGlobalEnv & self) noexcept; - /** copy instance using allocator **/ - static Opaque shallow_copy(const DGlobalEnv & self, obj mm) noexcept; // non-const methods + /** copy instance using allocator **/ + static Opaque shallow_copy(DGlobalEnv & self, obj mm) noexcept; /** during GC: forward immdiate children **/ static size_type forward_children(DGlobalEnv & self, obj gc) noexcept; ///@} diff --git a/include/xo/reader2/parser/IGCObject_DSchematikaParser.hpp b/include/xo/reader2/parser/IGCObject_DSchematikaParser.hpp index afe0d6b5..5c8e1975 100644 --- a/include/xo/reader2/parser/IGCObject_DSchematikaParser.hpp +++ b/include/xo/reader2/parser/IGCObject_DSchematikaParser.hpp @@ -52,10 +52,10 @@ namespace xo { // const methods /** memory consumption for this instance **/ static size_type shallow_size(const DSchematikaParser & self) noexcept; - /** copy instance using allocator **/ - static Opaque shallow_copy(const DSchematikaParser & self, obj mm) noexcept; // non-const methods + /** copy instance using allocator **/ + static Opaque shallow_copy(DSchematikaParser & self, obj mm) noexcept; /** during GC: forward immdiate children **/ static size_type forward_children(DSchematikaParser & self, obj gc) noexcept; ///@} diff --git a/src/reader2/DGlobalEnv.cpp b/src/reader2/DGlobalEnv.cpp index 386db966..c404d21a 100644 --- a/src/reader2/DGlobalEnv.cpp +++ b/src/reader2/DGlobalEnv.cpp @@ -114,7 +114,7 @@ namespace xo { } DGlobalEnv * - DGlobalEnv::shallow_copy(obj mm) const noexcept + DGlobalEnv::shallow_copy(obj mm) noexcept { return mm.std_copy_for(this); } diff --git a/src/reader2/facet/IGCObject_DGlobalEnv.cpp b/src/reader2/facet/IGCObject_DGlobalEnv.cpp index 76606d6f..9a3e3e45 100644 --- a/src/reader2/facet/IGCObject_DGlobalEnv.cpp +++ b/src/reader2/facet/IGCObject_DGlobalEnv.cpp @@ -22,11 +22,10 @@ namespace xo { } auto - IGCObject_DGlobalEnv::shallow_copy(const DGlobalEnv & self, obj mm) noexcept -> Opaque + IGCObject_DGlobalEnv::shallow_copy(DGlobalEnv & self, obj mm) noexcept -> Opaque { return self.shallow_copy(mm); } - auto IGCObject_DGlobalEnv::forward_children(DGlobalEnv & self, obj gc) noexcept -> size_type { diff --git a/src/reader2/facet/IGCObject_DSchematikaParser.cpp b/src/reader2/facet/IGCObject_DSchematikaParser.cpp index 0ac80e37..582eb902 100644 --- a/src/reader2/facet/IGCObject_DSchematikaParser.cpp +++ b/src/reader2/facet/IGCObject_DSchematikaParser.cpp @@ -22,11 +22,10 @@ namespace xo { } auto - IGCObject_DSchematikaParser::shallow_copy(const DSchematikaParser & self, obj mm) noexcept -> Opaque + IGCObject_DSchematikaParser::shallow_copy(DSchematikaParser & self, obj mm) noexcept -> Opaque { return self.shallow_copy(mm); } - auto IGCObject_DSchematikaParser::forward_children(DSchematikaParser & self, obj gc) noexcept -> size_type {