14 #ifndef LLVM_CLANG_FRONTEND_MULTIPLEXCONSUMER_H 15 #define LLVM_CLANG_FRONTEND_MULTIPLEXCONSUMER_H 25 class MultiplexASTMutationListener;
33 const std::vector<ASTDeserializationListener *> &L);
45 std::vector<ASTDeserializationListener *> Listeners;
57 void HandleCXXStaticMemberVarInstantiation(
VarDecl *VD)
override;
59 void HandleInlineFunctionDefinition(
FunctionDecl *D)
override;
61 void HandleTranslationUnit(
ASTContext &Ctx)
override;
62 void HandleTagDeclDefinition(
TagDecl *D)
override;
63 void HandleTagDeclRequiredDefinition(
const TagDecl *D)
override;
64 void HandleCXXImplicitFunctionInstantiation(
FunctionDecl *D)
override;
65 void HandleTopLevelDeclInObjCContainer(
DeclGroupRef D)
override;
66 void HandleImplicitImportDecl(
ImportDecl *D)
override;
67 void CompleteTentativeDefinition(
VarDecl *D)
override;
68 void CompleteExternalDeclaration(
VarDecl *D)
override;
73 void PrintStats()
override;
74 bool shouldSkipFunctionBody(
Decl *D)
override;
77 void InitializeSema(
Sema &S)
override;
78 void ForgetSema()
override;
81 std::vector<std::unique_ptr<ASTConsumer>> Consumers;
82 std::unique_ptr<MultiplexASTMutationListener> MutationListener;
83 std::unique_ptr<MultiplexASTDeserializationListener> DeserializationListener;
Represents a function declaration or definition.
Smart pointer class that efficiently represents Objective-C method names.
void SelectorRead(serialization::SelectorID iD, Selector Sel) override
A selector was read from the AST file.
A (possibly-)qualified type.
void TypeRead(serialization::TypeIdx Idx, QualType T) override
A type was deserialized from the AST file.
Decl - This represents one declaration (or definition), e.g.
void DeclRead(serialization::DeclID ID, const Decl *D) override
A decl was deserialized from the AST file.
Represents a variable declaration or definition.
void MacroDefinitionRead(serialization::PreprocessedEntityID, MacroDefinitionRecord *MD) override
A macro definition was read from the AST file.
One of these records is kept for each identifier that is lexed.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Record the location of a macro definition.
uint32_t MacroID
An ID number that refers to a macro in an AST file.
Describes a module or submodule.
An abstract interface that should be implemented by clients that read ASTs and then require further s...
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
void ReaderInitialized(ASTReader *Reader) override
The ASTReader was initialized.
Sema - This implements semantic analysis and AST building for C.
An abstract interface that should be implemented by listeners that want to be notified when an AST en...
void IdentifierRead(serialization::IdentID ID, IdentifierInfo *II) override
An identifier was deserialized from the AST file.
uint32_t SubmoduleID
An ID number that refers to a submodule in a module file.
void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override
A module definition was read from the AST file.
Represents the declaration of a struct/union/class/enum.
uint32_t PreprocessedEntityID
An ID number that refers to an entity in the detailed preprocessing record.
Describes a module import declaration, which makes the contents of the named module visible in the cu...
uint32_t SelectorID
An ID number that refers to an ObjC selector in an AST file.
Dataflow Directional Tag Classes.
Reads an AST files chain containing the contents of a translation unit.
uint32_t DeclID
An ID number that refers to a declaration in an AST file.
Encapsulates the data about a macro definition (e.g.
uint32_t IdentID
An ID number that refers to an identifier in an AST file.
MultiplexASTDeserializationListener(const std::vector< ASTDeserializationListener *> &L)
Represents a C++ struct/union/class.
void MacroRead(serialization::MacroID ID, MacroInfo *MI) override
A macro was read from the AST file.
A type index; the type ID with the qualifier bits removed.