Author: Jan Svoboda Date: 2021-08-13T12:48:14+02:00 New Revision: 10c8f78ab831dca8d7166c86a863d9bcfe626060
URL: https://github.com/llvm/llvm-project/commit/10c8f78ab831dca8d7166c86a863d9bcfe626060 DIFF: https://github.com/llvm/llvm-project/commit/10c8f78ab831dca8d7166c86a863d9bcfe626060.diff LOG: [clang][deps] Move `SingleCommandCompilationDatabase` to a header This makes `SingleCommandCompilationDatabase` reusable. Added: Modified: clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h clang/tools/clang-scan-deps/ClangScanDeps.cpp Removed: ################################################################################ diff --git a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h index 5903ad13c1d84..c6f7d239b8eb5 100644 --- a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h +++ b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h @@ -30,6 +30,24 @@ namespace dependencies { class DependencyScanningWorkerFilesystem; +/// Compilation database that holds and reports a single compile command. +class SingleCommandCompilationDatabase : public CompilationDatabase { + CompileCommand Command; + +public: + SingleCommandCompilationDatabase(CompileCommand Cmd) + : Command(std::move(Cmd)) {} + + std::vector<CompileCommand> + getCompileCommands(StringRef FilePath) const override { + return {Command}; + } + + std::vector<CompileCommand> getAllCompileCommands() const override { + return {Command}; + } +}; + class DependencyConsumer { public: virtual ~DependencyConsumer() {} diff --git a/clang/tools/clang-scan-deps/ClangScanDeps.cpp b/clang/tools/clang-scan-deps/ClangScanDeps.cpp index 74784ebd3b9c3..92b9bdd83e396 100644 --- a/clang/tools/clang-scan-deps/ClangScanDeps.cpp +++ b/clang/tools/clang-scan-deps/ClangScanDeps.cpp @@ -201,24 +201,6 @@ llvm::cl::opt<bool> Verbose("v", llvm::cl::Optional, } // end anonymous namespace -class SingleCommandCompilationDatabase : public tooling::CompilationDatabase { -public: - SingleCommandCompilationDatabase(tooling::CompileCommand Cmd) - : Command(std::move(Cmd)) {} - - std::vector<tooling::CompileCommand> - getCompileCommands(StringRef FilePath) const override { - return {Command}; - } - - std::vector<tooling::CompileCommand> getAllCompileCommands() const override { - return {Command}; - } - -private: - tooling::CompileCommand Command; -}; - /// Takes the result of a dependency scan and prints error / dependency files /// based on the result. /// _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits