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

Reply via email to