9#ifndef LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_DEPENDENCYSCANNINGWORKER_H
10#define LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_DEPENDENCYSCANNINGWORKER_H
18#include "llvm/Support/Error.h"
19#include "llvm/Support/FileSystem.h"
20#include "llvm/Support/MemoryBufferRef.h"
26class DependencyOutputOptions;
29namespace dependencies {
31class DependencyScanningWorkerFilesystem;
46 std::optional<P1689ModuleInfo> Provided,
47 std::vector<P1689ModuleInfo> Requires) {}
101 StringRef WorkingDirectory,
const std::vector<std::string> &CommandLine,
104 std::optional<llvm::MemoryBufferRef> TUBuffer = std::nullopt);
112 const std::vector<std::string> &CommandLine,
116 StringRef ModuleName);
124 StringRef WorkingDirectory,
const std::vector<std::string> &CommandLine,
126 std::optional<llvm::MemoryBufferRef> TUBuffer = std::nullopt);
134 const std::vector<std::string> &CommandLine,
137 StringRef ModuleName);
139 llvm::vfs::FileSystem &
getVFS()
const {
return *BaseFS; }
144 std::shared_ptr<PCHContainerOperations> PCHContainerOps;
155 bool scanDependencies(StringRef WorkingDirectory,
156 const std::vector<std::string> &CommandLine,
161 std::optional<StringRef> ModuleName);
enum clang::sema::@1840::IndirectLocalPathEntry::EntryKind Kind
Defines the clang::FileManager interface and associated types.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
DependencyOutputOptions - Options for controlling the compiler dependency file generation.
Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...
The JSON file list parser is used to communicate input to InstallAPI.