clang: include/clang/Frontend/MultiplexConsumer.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_CLANG_FRONTEND_MULTIPLEXCONSUMER_H

15#define LLVM_CLANG_FRONTEND_MULTIPLEXCONSUMER_H

16

20#include

21#include

22

24

25class MultiplexASTMutationListener;

26

27

28

30public:

31

33 const std::vector<ASTDeserializationListener *> &L);

46

47private:

48 std::vector<ASTDeserializationListener *> Listeners;

49};

50

51

53public:

54

58

59

79

80

83

84protected:

85 std::vector<std::unique_ptr> Consumers;

88};

89

90}

91

92#endif

Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...

An abstract interface that should be implemented by listeners that want to be notified when an AST en...

Reads an AST files chain containing the contents of a translation unit.

Represents a C++ struct/union/class.

Decl - This represents one declaration (or definition), e.g.

Represents a ValueDecl that came out of a declarator.

Represents a function declaration or definition.

One of these records is kept for each identifier that is lexed.

Describes a module import declaration, which makes the contents of the named module visible in the cu...

Record the location of a macro definition.

Encapsulates the data about a macro definition (e.g.

Describes a module or submodule.

void IdentifierRead(serialization::IdentifierID ID, IdentifierInfo *II) override

An identifier was deserialized from the AST file.

void MacroDefinitionRead(serialization::PreprocessedEntityID, MacroDefinitionRecord *MD) override

A macro definition was read from the AST file.

void PredefinedDeclBuilt(PredefinedDeclIDs ID, const Decl *D) override

A predefined decl was built during the serialization.

void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override

A module definition was read from the AST file.

void TypeRead(serialization::TypeIdx Idx, QualType T) override

A type was deserialized from the AST file.

void DeclRead(GlobalDeclID ID, const Decl *D) override

A decl was deserialized from the AST file.

void SelectorRead(serialization::SelectorID iD, Selector Sel) override

A selector was read from the AST file.

void MacroRead(serialization::MacroID ID, MacroInfo *MI) override

A macro was read from the AST file.

void ReaderInitialized(ASTReader *Reader) override

The ASTReader was initialized.

void ModuleImportRead(serialization::SubmoduleID ID, SourceLocation ImportLoc) override

A module import was read from the AST file.

void HandleImplicitImportDecl(ImportDecl *D) override

Handle an ImportDecl that was implicitly created due to an inclusion directive.

ASTDeserializationListener * GetASTDeserializationListener() override

If the consumer is interested in entities being deserialized from AST files, it should return a point...

void HandleCXXImplicitFunctionInstantiation(FunctionDecl *D) override

Invoked when a function is implicitly instantiated.

bool HandleTopLevelDecl(DeclGroupRef D) override

HandleTopLevelDecl - Handle the specified top-level declaration.

void HandleTagDeclRequiredDefinition(const TagDecl *D) override

This callback is invoked the first time each TagDecl is required to be complete.

void AssignInheritanceModel(CXXRecordDecl *RD) override

Callback invoked when an MSInheritanceAttr has been attached to a CXXRecordDecl.

void HandleTagDeclDefinition(TagDecl *D) override

HandleTagDeclDefinition - This callback is invoked each time a TagDecl (e.g.

std::unique_ptr< MultiplexASTDeserializationListener > DeserializationListener

std::unique_ptr< MultiplexASTMutationListener > MutationListener

void InitializeSema(Sema &S) override

Initialize the semantic consumer with the Sema instance being used to perform semantic analysis on th...

void HandleTranslationUnit(ASTContext &Ctx) override

HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been par...

void CompleteTentativeDefinition(VarDecl *D) override

CompleteTentativeDefinition - Callback invoked at the end of a translation unit to notify the consume...

void HandleInterestingDecl(DeclGroupRef D) override

HandleInterestingDecl - Handle the specified interesting declaration.

std::vector< std::unique_ptr< ASTConsumer > > Consumers

void HandleCXXStaticMemberVarInstantiation(VarDecl *VD) override

HandleCXXStaticMemberVarInstantiation - Tell the consumer that this.

void CompleteExternalDeclaration(DeclaratorDecl *D) override

CompleteExternalDeclaration - Callback invoked at the end of a translation unit to notify the consume...

void HandleVTable(CXXRecordDecl *RD) override

Callback involved at the end of a translation unit to notify the consumer that a vtable for the given...

bool shouldSkipFunctionBody(Decl *D) override

This callback is called for each function if the Parser was initialized with SkipFunctionBodies set t...

ASTMutationListener * GetASTMutationListener() override

If the consumer is interested in entities getting modified after their initial creation,...

~MultiplexConsumer() override

void PrintStats() override

PrintStats - If desired, print any statistics.

void HandleTopLevelDeclInObjCContainer(DeclGroupRef D) override

Handle the specified top-level declaration that occurred inside and ObjC container.

void ForgetSema() override

Inform the semantic consumer that Sema is no longer available.

void HandleInlineFunctionDefinition(FunctionDecl *D) override

This callback is invoked each time an inline (method or friend) function definition in a class is com...

void Initialize(ASTContext &Context) override

Initialize - This is called to initialize the consumer, providing the ASTContext.

A (possibly-)qualified type.

Smart pointer class that efficiently represents Objective-C method names.

An abstract interface that should be implemented by clients that read ASTs and then require further s...

Sema - This implements semantic analysis and AST building for C.

Encodes a location in the source.

Represents the declaration of a struct/union/class/enum.

Represents a variable declaration or definition.

A type index; the type ID with the qualifier bits removed.

uint32_t SubmoduleID

An ID number that refers to a submodule in a module file.

uint32_t SelectorID

An ID number that refers to an ObjC selector in an AST file.

uint32_t PreprocessedEntityID

An ID number that refers to an entity in the detailed preprocessing record.

uint64_t IdentifierID

An ID number that refers to an identifier in an AST file.

uint32_t MacroID

An ID number that refers to a macro in an AST file.

The JSON file list parser is used to communicate input to InstallAPI.

PredefinedDeclIDs

Predefined declaration IDs.

const FunctionProtoType * T