#include "clang/Tooling/DependencyScanning/DependencyScanningTool.h"
#include "clang/Frontend/Utils.h"
#include <optional>
usingnamespaceclang;
usingnamespacetooling;
usingnamespacedependencies;
DependencyScanningTool::DependencyScanningTool(
DependencyScanningService &Service,
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> FS)
: … { … }
namespace {
class MakeDependencyPrinterConsumer : public DependencyConsumer { … };
}
llvm::Expected<std::string> DependencyScanningTool::getDependencyFile(
const std::vector<std::string> &CommandLine, StringRef CWD) { … }
llvm::Expected<P1689Rule> DependencyScanningTool::getP1689ModuleDependencyFile(
const CompileCommand &Command, StringRef CWD, std::string &MakeformatOutput,
std::string &MakeformatOutputPath) { … }
llvm::Expected<TranslationUnitDeps>
DependencyScanningTool::getTranslationUnitDependencies(
const std::vector<std::string> &CommandLine, StringRef CWD,
const llvm::DenseSet<ModuleID> &AlreadySeen,
LookupModuleOutputCallback LookupModuleOutput) { … }
llvm::Expected<ModuleDepsGraph> DependencyScanningTool::getModuleDependencies(
StringRef ModuleName, const std::vector<std::string> &CommandLine,
StringRef CWD, const llvm::DenseSet<ModuleID> &AlreadySeen,
LookupModuleOutputCallback LookupModuleOutput) { … }
TranslationUnitDeps FullDependencyConsumer::takeTranslationUnitDeps() { … }
ModuleDepsGraph FullDependencyConsumer::takeModuleGraphDeps() { … }
CallbackActionController::~CallbackActionController() { … }