From d31290d2c5e236d99afd88c497d0f7f3ed75e9fb Mon Sep 17 00:00:00 2001 From: Maksim Denisov Date: Fri, 15 Nov 2024 10:49:33 +0100 Subject: Return ResultTargetMap from analysis ...instead of filling in a map passed from the outside. --- src/buildtool/main/analyse.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/buildtool/main/analyse.cpp') diff --git a/src/buildtool/main/analyse.cpp b/src/buildtool/main/analyse.cpp index 025fb1a9..dcb2181b 100644 --- a/src/buildtool/main/analyse.cpp +++ b/src/buildtool/main/analyse.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include "fmt/core.h" @@ -121,7 +122,6 @@ namespace Target = BuildMaps::Target; [[nodiscard]] auto AnalyseTarget( gsl::not_null const& context, const Target::ConfiguredTarget& id, - gsl::not_null const& result_map, std::size_t jobs, std::optional const& request_action_input, Logger const* logger, @@ -147,8 +147,9 @@ namespace Target = BuildMaps::Target; auto absent_target_variables_map = Target::CreateAbsentTargetVariablesMap(context, jobs); + BuildMaps::Target::ResultTargetMap result_map{jobs}; auto absent_target_map = Target::CreateAbsentTargetMap( - context, result_map, &absent_target_variables_map, jobs, serve_log); + context, &result_map, &absent_target_variables_map, jobs, serve_log); auto target_map = Target::CreateTargetMap(context, &source_targets, @@ -156,7 +157,7 @@ namespace Target = BuildMaps::Target; &rule_map, &directory_entries, &absent_target_map, - result_map, + &result_map, jobs); Logger::Log( logger, LogLevel::Info, "Requested target is {}", id.ToString()); @@ -240,7 +241,7 @@ namespace Target = BuildMaps::Target; if (request_action_input) { if (request_action_input->starts_with("%")) { auto action_id = request_action_input->substr(1); - auto action = result_map->GetAction(action_id); + auto action = result_map.GetAction(action_id); if (action) { Logger::Log(logger, LogLevel::Info, @@ -278,7 +279,7 @@ namespace Target = BuildMaps::Target; } } else { - auto action = result_map->GetAction(*request_action_input); + auto action = result_map.GetAction(*request_action_input); if (action) { Logger::Log(logger, LogLevel::Info, @@ -309,5 +310,8 @@ namespace Target = BuildMaps::Target; } } } - return AnalysisResult{.id = id, .target = target, .modified = modified}; + return AnalysisResult{.id = id, + .target = target, + .result_map = std::move(result_map), + .modified = modified}; } -- cgit v1.2.3