[PATCH] D123452: [Clang] Override method ModuleImportRead in MultiplexASTDeserializationListener

2022-04-09 Thread Guoxiong Li via Phabricator via cfe-commits
lgxbslgx created this revision.
Herald added a project: All.
lgxbslgx requested review of this revision.
Herald added a project: clang.

Fixes https://github.com/llvm/llvm-project/issues/54521


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D123452

Files:
  clang/include/clang/Frontend/MultiplexConsumer.h
  clang/lib/Frontend/MultiplexConsumer.cpp


Index: clang/lib/Frontend/MultiplexConsumer.cpp
===
--- clang/lib/Frontend/MultiplexConsumer.cpp
+++ clang/lib/Frontend/MultiplexConsumer.cpp
@@ -73,6 +73,12 @@
 Listener->ModuleRead(ID, Mod);
 }
 
+void MultiplexASTDeserializationListener::ModuleImportRead(
+serialization::SubmoduleID ID, SourceLocation ImportLoc) {
+  for (auto &Listener : Listeners)
+Listener->ModuleImportRead(ID, ImportLoc);
+}
+
 // This ASTMutationListener forwards its notifications to a set of
 // child listeners.
 class MultiplexASTMutationListener : public ASTMutationListener {
Index: clang/include/clang/Frontend/MultiplexConsumer.h
===
--- clang/include/clang/Frontend/MultiplexConsumer.h
+++ clang/include/clang/Frontend/MultiplexConsumer.h
@@ -40,6 +40,8 @@
   void MacroDefinitionRead(serialization::PreprocessedEntityID,
MacroDefinitionRecord *MD) override;
   void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override;
+  void ModuleImportRead(serialization::SubmoduleID ID,
+SourceLocation ImportLoc) override;
 
 private:
   std::vector Listeners;


Index: clang/lib/Frontend/MultiplexConsumer.cpp
===
--- clang/lib/Frontend/MultiplexConsumer.cpp
+++ clang/lib/Frontend/MultiplexConsumer.cpp
@@ -73,6 +73,12 @@
 Listener->ModuleRead(ID, Mod);
 }
 
+void MultiplexASTDeserializationListener::ModuleImportRead(
+serialization::SubmoduleID ID, SourceLocation ImportLoc) {
+  for (auto &Listener : Listeners)
+Listener->ModuleImportRead(ID, ImportLoc);
+}
+
 // This ASTMutationListener forwards its notifications to a set of
 // child listeners.
 class MultiplexASTMutationListener : public ASTMutationListener {
Index: clang/include/clang/Frontend/MultiplexConsumer.h
===
--- clang/include/clang/Frontend/MultiplexConsumer.h
+++ clang/include/clang/Frontend/MultiplexConsumer.h
@@ -40,6 +40,8 @@
   void MacroDefinitionRead(serialization::PreprocessedEntityID,
MacroDefinitionRecord *MD) override;
   void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override;
+  void ModuleImportRead(serialization::SubmoduleID ID,
+SourceLocation ImportLoc) override;
 
 private:
   std::vector Listeners;
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D123452: [Clang] Override method ModuleImportRead in MultiplexASTDeserializationListener

2022-04-11 Thread Guoxiong Li via Phabricator via cfe-commits
lgxbslgx added a comment.

@thakis Thanks for the review.

I don't have the commit permission. Please use `Guoxiong Li 
` to commit the change. Thanks for your help.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123452/new/

https://reviews.llvm.org/D123452

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits