diff options
author | Raphael Isemann <teemperor@gmail.com> | 2018-04-27 07:05:40 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2018-04-27 07:05:40 +0000 |
commit | 0d24edab022101146f1b40e980ef36dd0a0bcc34 (patch) | |
tree | ac0294b2c8b85cac89b07d49f1cbb1643f2cc941 /clang/lib/Frontend/MultiplexConsumer.cpp | |
parent | ccda3d297023091f6468ad195c68b250c474a45a (diff) | |
download | bcm5719-llvm-0d24edab022101146f1b40e980ef36dd0a0bcc34.tar.gz bcm5719-llvm-0d24edab022101146f1b40e980ef36dd0a0bcc34.zip |
Make MultiplexASTDeserializationListener part of the API [NFC]
Summary:
This patch moves the MultiplexASTDeserializationListener declaration into a public header.
We're currently using this multiplexer in the cling interpreter to attach another
ASTDeserializationListener during the execution (so, after the MultiplexConsumer is already
attached which prevents us from attaching more). So far we're doing this by patching clang
and making this class public, but it makes things easier if we make this instead just public in
upstream.
Reviewers: thakis, v.g.vassilev, rsmith, bruno
Reviewed By: bruno
Subscribers: llvm-commits, cfe-commits, v.g.vassilev
Differential Revision: https://reviews.llvm.org/D37475
llvm-svn: 331021
Diffstat (limited to 'clang/lib/Frontend/MultiplexConsumer.cpp')
-rw-r--r-- | clang/lib/Frontend/MultiplexConsumer.cpp | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/clang/lib/Frontend/MultiplexConsumer.cpp b/clang/lib/Frontend/MultiplexConsumer.cpp index 04a8f6c1cdf..df36c88ec38 100644 --- a/clang/lib/Frontend/MultiplexConsumer.cpp +++ b/clang/lib/Frontend/MultiplexConsumer.cpp @@ -16,35 +16,11 @@ #include "clang/Frontend/MultiplexConsumer.h" #include "clang/AST/ASTMutationListener.h" #include "clang/AST/DeclGroup.h" -#include "clang/Serialization/ASTDeserializationListener.h" using namespace clang; namespace clang { -// This ASTDeserializationListener forwards its notifications to a set of -// child listeners. -class MultiplexASTDeserializationListener - : public ASTDeserializationListener { -public: - // Does NOT take ownership of the elements in L. - MultiplexASTDeserializationListener( - const std::vector<ASTDeserializationListener*>& L); - void ReaderInitialized(ASTReader *Reader) override; - void IdentifierRead(serialization::IdentID ID, - IdentifierInfo *II) override; - void MacroRead(serialization::MacroID ID, MacroInfo *MI) override; - void TypeRead(serialization::TypeIdx Idx, QualType T) override; - void DeclRead(serialization::DeclID ID, const Decl *D) override; - void SelectorRead(serialization::SelectorID iD, Selector Sel) override; - void MacroDefinitionRead(serialization::PreprocessedEntityID, - MacroDefinitionRecord *MD) override; - void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override; - -private: - std::vector<ASTDeserializationListener *> Listeners; -}; - MultiplexASTDeserializationListener::MultiplexASTDeserializationListener( const std::vector<ASTDeserializationListener*>& L) : Listeners(L) { |