9#ifndef LLVM_CLANG_TOOLING_DEPENDENCYSCANNINGTOOL_H
10#define LLVM_CLANG_TOOLING_DEPENDENCYSCANNINGTOOL_H
17#include "llvm/ADT/DenseSet.h"
27 std::optional<dependencies::P1689ModuleInfo>
Provides;
28 std::vector<dependencies::P1689ModuleInfo>
Requires;
41 llvm::vfs::createPhysicalFileSystem());
65 std::string &MakeformatOutput,
66 std::string &MakeformatOutputPath);
69 std::string MakeformatOutput;
70 std::string MakeformatOutputPath;
73 MakeformatOutputPath);
96 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
98 std::optional<llvm::MemoryBufferRef> TUBuffer = std::nullopt);
108 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
142 StringRef ModuleName,
143 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
152 llvm::vfs::FileSystem &
getWorkerVFS()
const {
return Worker.getVFS(); }
156 std::unique_ptr<dependencies::TextDiagnosticsPrinterWithOutput>
The dependency scanning service contains shared configuration and state that is used by the individua...
An individual dependency scanning worker that is able to run on its own thread.
llvm::function_ref< std::string(const ModuleDeps &, ModuleOutputKind)> LookupModuleOutputCallback
A callback to lookup module outputs for "-fmodule-file=", "-o" etc.
The JSON file list parser is used to communicate input to InstallAPI.
@ Worker
'worker' clause, allowed on 'loop', Combined, and 'routine' directives.