summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/build_engine/target_map/result_map.hpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/buildtool/build_engine/target_map/result_map.hpp b/src/buildtool/build_engine/target_map/result_map.hpp
index 173f59d9..ca55ee74 100644
--- a/src/buildtool/build_engine/target_map/result_map.hpp
+++ b/src/buildtool/build_engine/target_map/result_map.hpp
@@ -4,6 +4,7 @@
#include <algorithm>
#include <fstream>
#include <mutex>
+#include <optional>
#include <string>
#include <thread>
#include <vector>
@@ -109,6 +110,20 @@ class ResultTargetMap {
});
}
+ [[nodiscard]] auto GetAction(const ActionIdentifier& identifier)
+ -> std::optional<ActionDescription::Ptr> {
+ for (const auto& target : targets_) {
+ for (const auto& el : target) {
+ for (const auto& action : el.second->Actions()) {
+ if (action->Id() == identifier) {
+ return action;
+ }
+ }
+ }
+ }
+ return std::nullopt;
+ }
+
template <bool kIncludeOrigins = false>
[[nodiscard]] auto ToResult() const -> ResultType<kIncludeOrigins> {
ResultType<kIncludeOrigins> result{};