]> granicus.if.org Git - clang/commitdiff
[Frontend] Handle ASTConsumer::shouldSkipFunctionBody via the MultiplexConsumer.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 9 Feb 2016 19:07:16 +0000 (19:07 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 9 Feb 2016 19:07:16 +0000 (19:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260252 91177308-0d34-0410-b5e6-96231b3b80d8

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

index f92e9bf6c52f70e6b1b7666700135e0ee8a0b5c4..3e8c52438de9013c7265c0b945f4ba92b25cace9 100644 (file)
@@ -54,6 +54,7 @@ public:
   ASTMutationListener *GetASTMutationListener() override;
   ASTDeserializationListener *GetASTDeserializationListener() override;
   void PrintStats() override;
+  bool shouldSkipFunctionBody(Decl *D) override;
 
   // SemaConsumer
   void InitializeSema(Sema &S) override;
index 15f876b7bdf6b0f4d4c8459674ebf331e2b2805d..12cd86af83cfabd20e9fd093460067c8bc194630 100644 (file)
@@ -360,6 +360,13 @@ void MultiplexConsumer::PrintStats() {
     Consumer->PrintStats();
 }
 
+bool MultiplexConsumer::shouldSkipFunctionBody(Decl *D) {
+  bool Skip = true;
+  for (auto &Consumer : Consumers)
+    Skip = Skip && Consumer->shouldSkipFunctionBody(D);
+  return Skip;
+}
+
 void MultiplexConsumer::InitializeSema(Sema &S) {
   for (auto &Consumer : Consumers)
     if (SemaConsumer *SC = dyn_cast<SemaConsumer>(Consumer.get()))