9#ifndef LLVM_CLANG_TOOLING_DEPENDENCYSCANNINGTOOL_H
10#define LLVM_CLANG_TOOLING_DEPENDENCYSCANNINGTOOL_H
18#include "llvm/ADT/DenseSet.h"
28 std::optional<dependencies::P1689ModuleInfo>
Provides;
29 std::vector<dependencies::P1689ModuleInfo>
Requires;
42 llvm::vfs::createPhysicalFileSystem());
50 std::optional<std::string>
65 std::optional<P1689Rule>
67 std::string &MakeformatOutput,
68 std::string &MakeformatOutputPath,
70 std::optional<P1689Rule>
73 std::string MakeformatOutput;
74 std::string MakeformatOutputPath;
77 MakeformatOutputPath, DiagConsumer);
97 std::optional<dependencies::TranslationUnitDeps>
101 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
103 std::optional<llvm::MemoryBufferRef> TUBuffer = std::nullopt);
113 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
146 StringRef ModuleName,
147 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
156 llvm::vfs::FileSystem &
getWorkerVFS()
const {
return Worker.getVFS(); }
174 std::unique_ptr<dependencies::TextDiagnosticsPrinterWithOutput>
Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...
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.