/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/include/clang/Serialization/ASTDeserializationListener.h
Line | Count | Source (jump to first uncovered line) |
1 | | //===- ASTDeserializationListener.h - Decl/Type PCH Read Events -*- C++ -*-===// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | // |
9 | | // This file defines the ASTDeserializationListener class, which is notified |
10 | | // by the ASTReader whenever a type or declaration is deserialized. |
11 | | // |
12 | | //===----------------------------------------------------------------------===// |
13 | | |
14 | | #ifndef LLVM_CLANG_SERIALIZATION_ASTDESERIALIZATIONLISTENER_H |
15 | | #define LLVM_CLANG_SERIALIZATION_ASTDESERIALIZATIONLISTENER_H |
16 | | |
17 | | #include "clang/Basic/IdentifierTable.h" |
18 | | #include "clang/Serialization/ASTBitCodes.h" |
19 | | |
20 | | namespace clang { |
21 | | |
22 | | class Decl; |
23 | | class ASTReader; |
24 | | class QualType; |
25 | | class MacroDefinitionRecord; |
26 | | class MacroInfo; |
27 | | class Module; |
28 | | class SourceLocation; |
29 | | |
30 | | class ASTDeserializationListener { |
31 | | public: |
32 | | virtual ~ASTDeserializationListener(); |
33 | | |
34 | | /// The ASTReader was initialized. |
35 | 0 | virtual void ReaderInitialized(ASTReader *Reader) { } |
36 | | |
37 | | /// An identifier was deserialized from the AST file. |
38 | | virtual void IdentifierRead(serialization::IdentID ID, |
39 | 0 | IdentifierInfo *II) { } |
40 | | /// A macro was read from the AST file. |
41 | 104 | virtual void MacroRead(serialization::MacroID ID, MacroInfo *MI) { } |
42 | | /// A type was deserialized from the AST file. The ID here has the |
43 | | /// qualifier bits already removed, and T is guaranteed to be locally |
44 | | /// unqualified. |
45 | 0 | virtual void TypeRead(serialization::TypeIdx Idx, QualType T) { } |
46 | | /// A decl was deserialized from the AST file. |
47 | 722k | virtual void DeclRead(serialization::DeclID ID, const Decl *D) { } |
48 | | /// A selector was read from the AST file. |
49 | 0 | virtual void SelectorRead(serialization::SelectorID iD, Selector Sel) {} |
50 | | /// A macro definition was read from the AST file. |
51 | | virtual void MacroDefinitionRead(serialization::PreprocessedEntityID, |
52 | 0 | MacroDefinitionRecord *MD) {} |
53 | | /// A module definition was read from the AST file. |
54 | 0 | virtual void ModuleRead(serialization::SubmoduleID ID, Module *Mod) {} |
55 | | /// A module import was read from the AST file. |
56 | | virtual void ModuleImportRead(serialization::SubmoduleID ID, |
57 | 2 | SourceLocation ImportLoc) {} |
58 | | }; |
59 | | } |
60 | | |
61 | | #endif |