9#ifndef LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_DEPENDENCYSCANNINGTOOL_H
10#define LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_DEPENDENCYSCANNINGTOOL_H
16#include "llvm/ADT/MapVector.h"
17#include "llvm/ADT/StringSet.h"
18#include "llvm/ADT/StringMap.h"
25namespace dependencies {
78 llvm::vfs::createPhysicalFileSystem());
106 const llvm::StringSet<> &AlreadySeen,
114 const std::vector<std::string> &CommandLine,
115 StringRef CWD,
const llvm::StringSet<> &AlreadySeen,
126 : AlreadySeen(AlreadySeen), LookupModuleOutput(LookupModuleOutput) {}
129 Commands.push_back(std::move(
Cmd));
135 Dependencies.push_back(std::string(
File));
139 PrebuiltModuleDeps.emplace_back(std::move(PMD));
147 ContextHash = std::move(Hash);
152 return LookupModuleOutput(ID, Kind);
159 std::vector<std::string> Dependencies;
160 std::vector<PrebuiltModuleDep> PrebuiltModuleDeps;
161 llvm::MapVector<std::string, ModuleDeps, llvm::StringMap<unsigned>>
163 std::vector<Command> Commands;
164 std::string ContextHash;
165 std::vector<std::string> OutputPaths;
166 const llvm::StringSet<> &AlreadySeen;
DependencyOutputOptions - Options for controlling the compiler dependency file generation.