summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/build_engine')
-rw-r--r--src/buildtool/build_engine/base_maps/expression_map.hpp11
-rw-r--r--src/buildtool/build_engine/base_maps/rule_map.hpp11
-rw-r--r--src/buildtool/build_engine/base_maps/targets_file_map.hpp12
-rw-r--r--src/buildtool/build_engine/expression/expression.cpp6
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 {