summaryrefslogtreecommitdiff
path: root/src/buildtool/main/analyse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/main/analyse.cpp')
-rw-r--r--src/buildtool/main/analyse.cpp16
1 files changed, 10 insertions, 6 deletions
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 <memory>
#include <thread>
#include <unordered_map>
+#include <utility>
#include <vector>
#include "fmt/core.h"
@@ -121,7 +122,6 @@ namespace Target = BuildMaps::Target;
[[nodiscard]] auto AnalyseTarget(
gsl::not_null<AnalyseContext*> const& context,
const Target::ConfiguredTarget& id,
- gsl::not_null<Target::ResultTargetMap*> const& result_map,
std::size_t jobs,
std::optional<std::string> 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};
}