9#ifndef LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_DEPENDENCYSCANNER_H
10#define LLVM_CLANG_TOOLING_DEPENDENCYSCANNING_DEPENDENCYSCANNER_H
34 std::optional<StringRef> ModuleName = std::nullopt)
35 : Service(Service), WorkingDirectory(WorkingDirectory),
36 Consumer(Consumer), Controller(Controller), DepFS(
std::move(DepFS)),
37 ModuleName(ModuleName) {}
38 bool runInvocation(std::shared_ptr<CompilerInvocation> Invocation,
40 std::shared_ptr<PCHContainerOperations> PCHContainerOps,
50 std::vector<std::string>
Result;
51 std::swap(
Result, LastCC1Arguments);
58 MDC->applyDiscoveredDependencies(CI);
59 LastCC1Arguments = CI.getCC1CommandLine();
62 DependencyScanningService &Service;
63 StringRef WorkingDirectory;
64 DependencyConsumer &Consumer;
65 DependencyActionController &Controller;
67 std::optional<StringRef> ModuleName;
68 std::optional<CompilerInstance> ScanInstanceStorage;
69 std::shared_ptr<ModuleDepCollector> MDC;
70 std::vector<std::string> LastCC1Arguments;
72 bool DiagConsumerFinished =
false;
Helper class for holding the data necessary to invoke the compiler.
Abstract interface, implemented by clients of the front-end, which formats and prints fully processed...
Options for controlling the compiler diagnostics engine.
The JSON file list parser is used to communicate input to InstallAPI.
@ Result
The result type of a method or function.