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;
48 std::optional<std::string>
63 std::optional<P1689Rule>
65 std::string &MakeformatOutput,
66 std::string &MakeformatOutputPath,
68 std::optional<P1689Rule>
71 std::string MakeformatOutput;
72 std::string MakeformatOutputPath;
75 MakeformatOutputPath, DiagConsumer);
95 std::optional<dependencies::TranslationUnitDeps>
99 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
101 std::optional<llvm::MemoryBufferRef> TUBuffer = std::nullopt);
111 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
144 StringRef ModuleName,
145 const llvm::DenseSet<dependencies::ModuleID> &AlreadySeen,
154 llvm::vfs::FileSystem &
getWorkerVFS()
const {
return Worker.getVFS(); }
172 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.