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...
Dependency scanner callbacks that are used during scanning to influence the behaviour of the scan - f...
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.