aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST/ASTConsumer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/AST/ASTConsumer.h')
-rw-r--r--include/clang/AST/ASTConsumer.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/clang/AST/ASTConsumer.h b/include/clang/AST/ASTConsumer.h
index 06113954fc..b01f6c6001 100644
--- a/include/clang/AST/ASTConsumer.h
+++ b/include/clang/AST/ASTConsumer.h
@@ -18,9 +18,10 @@ namespace clang {
class ASTContext;
class CXXRecordDecl;
class DeclGroupRef;
- class TagDecl;
class HandleTagDeclDefinition;
+ class PCHDeserializationListener; // layering violation because void* is ugly
class SemaConsumer; // layering violation required for safe SemaConsumer
+ class TagDecl;
class VarDecl;
/// ASTConsumer - This is an abstract interface that should be implemented by
@@ -80,6 +81,12 @@ public:
/// it was actually used.
virtual void HandleVTable(CXXRecordDecl *RD, bool DefinitionRequired) {}
+ /// \brief If the consumer is interested in entities being deserialized from
+ /// PCH, it should return a pointer to a PCHDeserializationListener here.
+ ///
+ /// The return type is void* because PCHDS lives in Frontend.
+ virtual PCHDeserializationListener *GetPCHDeserializationListener() { return 0; }
+
/// PrintStats - If desired, print any statistics.
virtual void PrintStats() {}