Files
codeql/swift/extractor/TargetTrapDomain.cpp
Paolo Tranquilli c7f13f1036 Swift: collect TRAP files related to an extractor run
In order to do this a mutable `SwiftExtractorState` is introduced.
2023-01-18 10:07:46 +01:00

21 lines
758 B
C++

#include "swift/extractor/TargetTrapDomain.h"
#include <iomanip>
namespace codeql {
std::optional<TrapDomain> createTargetTrapDomain(SwiftExtractorState& state,
const std::filesystem::path& target) {
auto trap = target;
trap += ".trap";
state.traps.push_back(trap.relative_path());
if (auto ret = TargetFile::create(trap, state.configuration.trapDir,
state.configuration.getTempTrapDir())) {
*ret << "/* extractor-args:\n";
for (const auto& opt : state.configuration.frontendOptions) {
*ret << " " << std::quoted(opt) << " \\\n";
}
*ret << "\n*/\n";
return TrapDomain{*std::move(ret)};
}
return std::nullopt;
}
} // namespace codeql