https://github.com/jansvoboda11 created https://github.com/llvm/llvm-project/pull/197772
This PR pulls the `DependencyConsumer` type out of `DependencyScanningWorker.h` into its own header. Just a cleanup, NFC. >From 85dc63223a741d8a0882f5a9afd0857ef0503983 Mon Sep 17 00:00:00 2001 From: Jan Svoboda <[email protected]> Date: Wed, 13 May 2026 10:00:23 -0700 Subject: [PATCH] [clang][deps] Consolidate types into new `DependencyConsumer.h` --- .../DependencyScanning/DependencyConsumer.h | 47 +++++++++++++++++++ .../DependencyScanningUtils.h | 1 + .../DependencyScanningWorker.h | 27 +---------- .../DependencyScannerImpl.cpp | 1 + .../DependencyScanningWorker.cpp | 1 + .../DependencyScanning/ModuleDepCollector.cpp | 1 + 6 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 clang/include/clang/DependencyScanning/DependencyConsumer.h diff --git a/clang/include/clang/DependencyScanning/DependencyConsumer.h b/clang/include/clang/DependencyScanning/DependencyConsumer.h new file mode 100644 index 0000000000000..85dca17ee2f6f --- /dev/null +++ b/clang/include/clang/DependencyScanning/DependencyConsumer.h @@ -0,0 +1,47 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYCONSUMER_H +#define LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYCONSUMER_H + +#include "clang/Basic/LLVM.h" +#include "clang/DependencyScanning/DependencyGraph.h" + +#include <optional> +#include <string> +#include <vector> + +namespace clang::dependencies { +class DependencyConsumer { +public: + virtual ~DependencyConsumer() {} + + virtual void handleProvidedAndRequiredStdCXXModules( + std::optional<P1689ModuleInfo> Provided, + std::vector<P1689ModuleInfo> Requires) {} + + virtual void handleBuildCommand(Command Cmd) {} + + virtual void + handleDependencyOutputOpts(const DependencyOutputOptions &Opts) = 0; + + virtual void handleFileDependency(StringRef Filename) = 0; + + virtual void handlePrebuiltModuleDependency(PrebuiltModuleDep PMD) = 0; + + virtual void handleModuleDependency(ModuleDeps MD) = 0; + + virtual void handleDirectModuleDependency(ModuleID MD) = 0; + + virtual void handleVisibleModule(std::string ModuleName) = 0; + + virtual void handleContextHash(std::string Hash) = 0; +}; +} // namespace clang::dependencies + +#endif // LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYCONSUMER_H diff --git a/clang/include/clang/DependencyScanning/DependencyScanningUtils.h b/clang/include/clang/DependencyScanning/DependencyScanningUtils.h index b70805d36a02a..33f7216762b03 100644 --- a/clang/include/clang/DependencyScanning/DependencyScanningUtils.h +++ b/clang/include/clang/DependencyScanning/DependencyScanningUtils.h @@ -10,6 +10,7 @@ #define LLVM_CLANG_DEPENDENCYSCANNING_DEPENDENCYSCANNINGUTILS_H #include "clang/DependencyScanning/DependencyActionController.h" +#include "clang/DependencyScanning/DependencyConsumer.h" #include "clang/DependencyScanning/DependencyScannerImpl.h" #include "clang/DependencyScanning/DependencyScanningWorker.h" #include "clang/DependencyScanning/ModuleDepCollector.h" diff --git a/clang/include/clang/DependencyScanning/DependencyScanningWorker.h b/clang/include/clang/DependencyScanning/DependencyScanningWorker.h index b1c65253f3ef0..d11416f532d84 100644 --- a/clang/include/clang/DependencyScanning/DependencyScanningWorker.h +++ b/clang/include/clang/DependencyScanning/DependencyScanningWorker.h @@ -33,34 +33,9 @@ class CompilerInstanceWithContext; namespace dependencies { +class DependencyConsumer; class DependencyScanningWorkerFilesystem; -class DependencyConsumer { -public: - virtual ~DependencyConsumer() {} - - virtual void handleProvidedAndRequiredStdCXXModules( - std::optional<P1689ModuleInfo> Provided, - std::vector<P1689ModuleInfo> Requires) {} - - virtual void handleBuildCommand(Command Cmd) {} - - virtual void - handleDependencyOutputOpts(const DependencyOutputOptions &Opts) = 0; - - virtual void handleFileDependency(StringRef Filename) = 0; - - virtual void handlePrebuiltModuleDependency(PrebuiltModuleDep PMD) = 0; - - virtual void handleModuleDependency(ModuleDeps MD) = 0; - - virtual void handleDirectModuleDependency(ModuleID MD) = 0; - - virtual void handleVisibleModule(std::string ModuleName) = 0; - - virtual void handleContextHash(std::string Hash) = 0; -}; - /// An individual dependency scanning worker that is able to run on its own /// thread. /// diff --git a/clang/lib/DependencyScanning/DependencyScannerImpl.cpp b/clang/lib/DependencyScanning/DependencyScannerImpl.cpp index 1038a1eb56ed1..dff8cd087c4dd 100644 --- a/clang/lib/DependencyScanning/DependencyScannerImpl.cpp +++ b/clang/lib/DependencyScanning/DependencyScannerImpl.cpp @@ -10,6 +10,7 @@ #include "clang/Basic/DiagnosticFrontend.h" #include "clang/Basic/DiagnosticSerialization.h" #include "clang/DependencyScanning/DependencyActionController.h" +#include "clang/DependencyScanning/DependencyConsumer.h" #include "clang/DependencyScanning/DependencyScanningFilesystem.h" #include "clang/DependencyScanning/DependencyScanningService.h" #include "clang/DependencyScanning/DependencyScanningWorker.h" diff --git a/clang/lib/DependencyScanning/DependencyScanningWorker.cpp b/clang/lib/DependencyScanning/DependencyScanningWorker.cpp index f5ec8b34f70d6..d71d0eb57e307 100644 --- a/clang/lib/DependencyScanning/DependencyScanningWorker.cpp +++ b/clang/lib/DependencyScanning/DependencyScanningWorker.cpp @@ -9,6 +9,7 @@ #include "clang/DependencyScanning/DependencyScanningWorker.h" #include "clang/Basic/Diagnostic.h" #include "clang/Basic/DiagnosticFrontend.h" +#include "clang/DependencyScanning/DependencyConsumer.h" #include "clang/DependencyScanning/DependencyScannerImpl.h" #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ADT/IntrusiveRefCntPtr.h" diff --git a/clang/lib/DependencyScanning/ModuleDepCollector.cpp b/clang/lib/DependencyScanning/ModuleDepCollector.cpp index 68a32dcf0deb0..4c37a091996a7 100644 --- a/clang/lib/DependencyScanning/ModuleDepCollector.cpp +++ b/clang/lib/DependencyScanning/ModuleDepCollector.cpp @@ -10,6 +10,7 @@ #include "clang/Basic/MakeSupport.h" #include "clang/DependencyScanning/DependencyActionController.h" +#include "clang/DependencyScanning/DependencyConsumer.h" #include "clang/DependencyScanning/DependencyScanningWorker.h" #include "clang/Frontend/CompilerInstance.h" #include "clang/Lex/Preprocessor.h" _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
