diff options
Diffstat (limited to 'src/buildtool/build_engine')
4 files changed, 24 insertions, 16 deletions
diff --git a/src/buildtool/build_engine/base_maps/expression_map.hpp b/src/buildtool/build_engine/base_maps/expression_map.hpp index ceb2cf2f..3acec531 100644 --- a/src/buildtool/build_engine/base_maps/expression_map.hpp +++ b/src/buildtool/build_engine/base_maps/expression_map.hpp @@ -33,10 +33,13 @@ namespace BuildMaps::Base { using ExpressionFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>; -constexpr auto CreateExpressionFileMap = - CreateJsonFileMap<&RepositoryConfig::ExpressionRoot, - &RepositoryConfig::ExpressionFileName, - /*kMandatory=*/true>; +[[nodiscard]] static inline auto CreateExpressionFileMap( + gsl::not_null<const RepositoryConfig*> const& repo_config, + std::size_t jobs) -> JsonFileMap { + return CreateJsonFileMap<&RepositoryConfig::ExpressionRoot, + &RepositoryConfig::ExpressionFileName, + /*kMandatory=*/true>(repo_config, jobs); +} using ExpressionFunctionMap = AsyncMapConsumer<EntityName, ExpressionFunctionPtr>; diff --git a/src/buildtool/build_engine/base_maps/rule_map.hpp b/src/buildtool/build_engine/base_maps/rule_map.hpp index 867f4c38..d911317c 100644 --- a/src/buildtool/build_engine/base_maps/rule_map.hpp +++ b/src/buildtool/build_engine/base_maps/rule_map.hpp @@ -33,10 +33,13 @@ namespace BuildMaps::Base { using RuleFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>; -constexpr auto CreateRuleFileMap = - CreateJsonFileMap<&RepositoryConfig::RuleRoot, - &RepositoryConfig::RuleFileName, - /*kMandatory=*/true>; +[[nodiscard]] static inline auto CreateRuleFileMap( + gsl::not_null<const RepositoryConfig*> const& repo_config, + std::size_t jobs) -> JsonFileMap { + return CreateJsonFileMap<&RepositoryConfig::RuleRoot, + &RepositoryConfig::RuleFileName, + /*kMandatory=*/true>(repo_config, jobs); +} using UserRuleMap = AsyncMapConsumer<EntityName, UserRulePtr>; diff --git a/src/buildtool/build_engine/base_maps/targets_file_map.hpp b/src/buildtool/build_engine/base_maps/targets_file_map.hpp index f14ea7f1..8ff5d76c 100644 --- a/src/buildtool/build_engine/base_maps/targets_file_map.hpp +++ b/src/buildtool/build_engine/base_maps/targets_file_map.hpp @@ -27,11 +27,13 @@ namespace BuildMaps::Base { using TargetsFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>; -constexpr auto CreateTargetsFileMap = - CreateJsonFileMap<&RepositoryConfig::TargetRoot, - &RepositoryConfig::TargetFileName, - /*kMandatory=*/true>; - +[[nodiscard]] static inline auto CreateTargetsFileMap( + gsl::not_null<const RepositoryConfig*> const& repo_config, + std::size_t jobs) -> JsonFileMap { + return CreateJsonFileMap<&RepositoryConfig::TargetRoot, + &RepositoryConfig::TargetFileName, + /*kMandatory=*/true>(repo_config, jobs); +} } // namespace BuildMaps::Base #endif // INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_TARGETS_FILE_MAP_HPP diff --git a/src/buildtool/build_engine/expression/expression.cpp b/src/buildtool/build_engine/expression/expression.cpp index 963f20f9..4dd61a2d 100644 --- a/src/buildtool/build_engine/expression/expression.cpp +++ b/src/buildtool/build_engine/expression/expression.cpp @@ -216,11 +216,11 @@ auto Expression::TypeStringForIndex() const noexcept -> std::string { if (kIndex == data_.index()) { return TypeToString<std::variant_alternative_t<kIndex, var_t>>(); } - constexpr auto size = std::variant_size_v<var_t>; - if constexpr (kIndex < size - 1) { + constexpr auto kSize = std::variant_size_v<var_t>; + if constexpr (kIndex < kSize - 1) { return TypeStringForIndex<kIndex + 1>(); } - return TypeToString<std::variant_alternative_t<size - 1, var_t>>(); + return TypeToString<std::variant_alternative_t<kSize - 1, var_t>>(); } auto Expression::TypeString() const noexcept -> std::string { |