From faf66673ac60bb0407b3468a0ea64ce78303f1ed Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Wed, 14 Jan 2026 23:50:40 +0100 Subject: [PATCH] refactor: [move-only] Merge core_io module This can be reviewed with the git option --color-moved=dimmed-zebra --- ci/test/03_test_script.sh | 2 +- contrib/devtools/circular-dependencies.py | 7 - src/CMakeLists.txt | 3 +- src/{core_write.cpp => core_io.cpp} | 259 ++++++++++++++++++++- src/core_io.h | 5 +- src/core_read.cpp | 264 ---------------------- 6 files changed, 261 insertions(+), 279 deletions(-) rename src/{core_write.cpp => core_io.cpp} (55%) delete mode 100644 src/core_read.cpp diff --git a/ci/test/03_test_script.sh b/ci/test/03_test_script.sh index 0bb7bcbfa01..050d9e6a599 100755 --- a/ci/test/03_test_script.sh +++ b/ci/test/03_test_script.sh @@ -215,7 +215,7 @@ fi if [[ "${RUN_IWYU}" == true ]]; then # TODO: Consider enforcing IWYU across the entire codebase. - FILES_WITH_ENFORCED_IWYU="/src/((crypto|index|kernel)/.*\\.cpp|node/blockstorage.cpp|node/utxo_snapshot.cpp|core_read.cpp|signet.cpp)" + FILES_WITH_ENFORCED_IWYU="/src/((crypto|index|kernel)/.*\\.cpp|node/blockstorage.cpp|node/utxo_snapshot.cpp|core_io.cpp|signet.cpp)" jq --arg patterns "$FILES_WITH_ENFORCED_IWYU" 'map(select(.file | test($patterns)))' "${BASE_BUILD_DIR}/compile_commands.json" > "${BASE_BUILD_DIR}/compile_commands_iwyu_errors.json" jq --arg patterns "$FILES_WITH_ENFORCED_IWYU" 'map(select(.file | test($patterns) | not))' "${BASE_BUILD_DIR}/compile_commands.json" > "${BASE_BUILD_DIR}/compile_commands_iwyu_warnings.json" diff --git a/contrib/devtools/circular-dependencies.py b/contrib/devtools/circular-dependencies.py index af19b3a05ef..7c058171730 100755 --- a/contrib/devtools/circular-dependencies.py +++ b/contrib/devtools/circular-dependencies.py @@ -6,11 +6,6 @@ import sys import re -MAPPING = { - 'core_read.cpp': 'core_io.cpp', - 'core_write.cpp': 'core_io.cpp', -} - # Directories with header-based modules, where the assumption that .cpp files # define functions and variables declared in corresponding .h files is # incorrect. @@ -19,8 +14,6 @@ HEADER_MODULE_PATHS = [ ] def module_name(path): - if path in MAPPING: - path = MAPPING[path] if any(path.startswith(dirpath) for dirpath in HEADER_MODULE_PATHS): return path if path.endswith(".h"): diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a1e0c5f131a..cf1f26c9f24 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -106,8 +106,7 @@ add_library(bitcoin_common STATIC EXCLUDE_FROM_ALL common/system.cpp common/url.cpp compressor.cpp - core_read.cpp - core_write.cpp + core_io.cpp deploymentinfo.cpp external_signer.cpp init/common.cpp diff --git a/src/core_write.cpp b/src/core_io.cpp similarity index 55% rename from src/core_write.cpp rename to src/core_io.cpp index e4f23458c81..05d7e5279b1 100644 --- a/src/core_write.cpp +++ b/src/core_io.cpp @@ -4,25 +4,282 @@ #include -#include +#include +#include #include #include #include #include +#include // IWYU pragma: keep +#include #include