| //===- ASTDeserializationListener.h - Decl/Type PCH Read Events -*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file defines the ASTDeserializationListener class, which is notified |
| // by the ASTReader whenever a type or declaration is deserialized. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLVM_CLANG_SERIALIZATION_ASTDESERIALIZATIONLISTENER_H |
| #define LLVM_CLANG_SERIALIZATION_ASTDESERIALIZATIONLISTENER_H |
| |
| #include "clang/Basic/IdentifierTable.h" |
| #include "clang/Serialization/ASTBitCodes.h" |
| |
| namespace clang { |
| |
| class Decl; |
| class ASTReader; |
| class QualType; |
| class MacroDefinitionRecord; |
| class MacroInfo; |
| class Module; |
| class SourceLocation; |
| |
| class ASTDeserializationListener { |
| public: |
| virtual ~ASTDeserializationListener(); |
| |
| /// The ASTReader was initialized. |
| virtual void ReaderInitialized(ASTReader *Reader) { } |
| |
| /// An identifier was deserialized from the AST file. |
| virtual void IdentifierRead(serialization::IdentID ID, |
| IdentifierInfo *II) { } |
| /// A macro was read from the AST file. |
| virtual void MacroRead(serialization::MacroID ID, MacroInfo *MI) { } |
| /// A type was deserialized from the AST file. The ID here has the |
| /// qualifier bits already removed, and T is guaranteed to be locally |
| /// unqualified. |
| virtual void TypeRead(serialization::TypeIdx Idx, QualType T) { } |
| /// A decl was deserialized from the AST file. |
| virtual void DeclRead(serialization::DeclID ID, const Decl *D) { } |
| /// A selector was read from the AST file. |
| virtual void SelectorRead(serialization::SelectorID iD, Selector Sel) {} |
| /// A macro definition was read from the AST file. |
| virtual void MacroDefinitionRead(serialization::PreprocessedEntityID, |
| MacroDefinitionRecord *MD) {} |
| /// A module definition was read from the AST file. |
| virtual void ModuleRead(serialization::SubmoduleID ID, Module *Mod) {} |
| /// A module import was read from the AST file. |
| virtual void ModuleImportRead(serialization::SubmoduleID ID, |
| SourceLocation ImportLoc) {} |
| }; |
| } |
| |
| #endif |