clang  6.0.0svn
Public Member Functions | List of all members
clang::MultiplexConsumer Class Reference

#include "clang/Frontend/MultiplexConsumer.h"

Inheritance diagram for clang::MultiplexConsumer:
Inheritance graph
[legend]
Collaboration diagram for clang::MultiplexConsumer:
Collaboration graph
[legend]

Public Member Functions

 MultiplexConsumer (std::vector< std::unique_ptr< ASTConsumer >> C)
 
 ~MultiplexConsumer () override
 
void Initialize (ASTContext &Context) override
 Initialize - This is called to initialize the consumer, providing the ASTContext. More...
 
void HandleCXXStaticMemberVarInstantiation (VarDecl *VD) override
 HandleCXXStaticMemberVarInstantiation - Tell the consumer that this. More...
 
bool HandleTopLevelDecl (DeclGroupRef D) override
 HandleTopLevelDecl - Handle the specified top-level declaration. More...
 
void HandleInlineFunctionDefinition (FunctionDecl *D) override
 This callback is invoked each time an inline (method or friend) function definition in a class is completed. More...
 
void HandleInterestingDecl (DeclGroupRef D) override
 HandleInterestingDecl - Handle the specified interesting declaration. More...
 
void HandleTranslationUnit (ASTContext &Ctx) override
 HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed. More...
 
void HandleTagDeclDefinition (TagDecl *D) override
 HandleTagDeclDefinition - This callback is invoked each time a TagDecl (e.g. More...
 
void HandleTagDeclRequiredDefinition (const TagDecl *D) override
 This callback is invoked the first time each TagDecl is required to be complete. More...
 
void HandleCXXImplicitFunctionInstantiation (FunctionDecl *D) override
 Invoked when a function is implicitly instantiated. More...
 
void HandleTopLevelDeclInObjCContainer (DeclGroupRef D) override
 Handle the specified top-level declaration that occurred inside and ObjC container. More...
 
void HandleImplicitImportDecl (ImportDecl *D) override
 Handle an ImportDecl that was implicitly created due to an inclusion directive. More...
 
void CompleteTentativeDefinition (VarDecl *D) override
 CompleteTentativeDefinition - Callback invoked at the end of a translation unit to notify the consumer that the given tentative definition should be completed. More...
 
void AssignInheritanceModel (CXXRecordDecl *RD) override
 Callback invoked when an MSInheritanceAttr has been attached to a CXXRecordDecl. More...
 
void HandleVTable (CXXRecordDecl *RD) override
 Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required. More...
 
ASTMutationListenerGetASTMutationListener () override
 If the consumer is interested in entities getting modified after their initial creation, it should return a pointer to an ASTMutationListener here. More...
 
ASTDeserializationListenerGetASTDeserializationListener () override
 If the consumer is interested in entities being deserialized from AST files, it should return a pointer to a ASTDeserializationListener here. More...
 
void PrintStats () override
 PrintStats - If desired, print any statistics. More...
 
bool shouldSkipFunctionBody (Decl *D) override
 This callback is called for each function if the Parser was initialized with SkipFunctionBodies set to true. More...
 
void InitializeSema (Sema &S) override
 Initialize the semantic consumer with the Sema instance being used to perform semantic analysis on the abstract syntax tree. More...
 
void ForgetSema () override
 Inform the semantic consumer that Sema is no longer available. More...
 
- Public Member Functions inherited from clang::SemaConsumer
 SemaConsumer ()
 
- Public Member Functions inherited from clang::ASTConsumer
 ASTConsumer ()
 
virtual ~ASTConsumer ()
 

Additional Inherited Members

- Static Public Member Functions inherited from clang::SemaConsumer
static bool classof (const ASTConsumer *Consumer)
 

Detailed Description

Definition at line 29 of file MultiplexConsumer.h.

Constructor & Destructor Documentation

◆ MultiplexConsumer()

MultiplexConsumer::MultiplexConsumer ( std::vector< std::unique_ptr< ASTConsumer >>  C)

Definition at line 256 of file MultiplexConsumer.cpp.

◆ ~MultiplexConsumer()

MultiplexConsumer::~MultiplexConsumer ( )
override

Definition at line 280 of file MultiplexConsumer.cpp.

Member Function Documentation

◆ AssignInheritanceModel()

void MultiplexConsumer::AssignInheritanceModel ( CXXRecordDecl RD)
overridevirtual

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

Reimplemented from clang::ASTConsumer.

Definition at line 344 of file MultiplexConsumer.cpp.

◆ CompleteTentativeDefinition()

void MultiplexConsumer::CompleteTentativeDefinition ( VarDecl D)
overridevirtual

CompleteTentativeDefinition - Callback invoked at the end of a translation unit to notify the consumer that the given tentative definition should be completed.

The variable declaration itself will be a tentative definition. If it had an incomplete array type, its type will have already been changed to an array of size 1. However, the declaration remains a tentative definition and has not been modified by the introduction of an implicit zero initializer.

Reimplemented from clang::ASTConsumer.

Definition at line 339 of file MultiplexConsumer.cpp.

◆ ForgetSema()

void MultiplexConsumer::ForgetSema ( )
overridevirtual

Inform the semantic consumer that Sema is no longer available.

Reimplemented from clang::SemaConsumer.

Definition at line 380 of file MultiplexConsumer.cpp.

◆ GetASTDeserializationListener()

ASTDeserializationListener * MultiplexConsumer::GetASTDeserializationListener ( )
overridevirtual

If the consumer is interested in entities being deserialized from AST files, it should return a pointer to a ASTDeserializationListener here.

Reimplemented from clang::ASTConsumer.

Definition at line 358 of file MultiplexConsumer.cpp.

◆ GetASTMutationListener()

ASTMutationListener * MultiplexConsumer::GetASTMutationListener ( )
overridevirtual

If the consumer is interested in entities getting modified after their initial creation, it should return a pointer to an ASTMutationListener here.

Reimplemented from clang::ASTConsumer.

Definition at line 354 of file MultiplexConsumer.cpp.

◆ HandleCXXImplicitFunctionInstantiation()

void MultiplexConsumer::HandleCXXImplicitFunctionInstantiation ( FunctionDecl D)
overridevirtual

Invoked when a function is implicitly instantiated.

Note that at this point point it does not have a body, its body is instantiated at the end of the translation unit and passed to HandleTopLevelDecl.

Reimplemented from clang::ASTConsumer.

Definition at line 324 of file MultiplexConsumer.cpp.

◆ HandleCXXStaticMemberVarInstantiation()

void MultiplexConsumer::HandleCXXStaticMemberVarInstantiation ( VarDecl D)
overridevirtual

HandleCXXStaticMemberVarInstantiation - Tell the consumer that this.

Reimplemented from clang::ASTConsumer.

Definition at line 299 of file MultiplexConsumer.cpp.

◆ HandleImplicitImportDecl()

void MultiplexConsumer::HandleImplicitImportDecl ( ImportDecl D)
overridevirtual

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

The default implementation passes it to HandleTopLevelDecl.

Reimplemented from clang::ASTConsumer.

Definition at line 334 of file MultiplexConsumer.cpp.

◆ HandleInlineFunctionDefinition()

void MultiplexConsumer::HandleInlineFunctionDefinition ( FunctionDecl D)
overridevirtual

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

Reimplemented from clang::ASTConsumer.

Definition at line 294 of file MultiplexConsumer.cpp.

◆ HandleInterestingDecl()

void MultiplexConsumer::HandleInterestingDecl ( DeclGroupRef  D)
overridevirtual

HandleInterestingDecl - Handle the specified interesting declaration.

This is called by the AST reader when deserializing things that might interest the consumer. The default implementation forwards to HandleTopLevelDecl.

Reimplemented from clang::ASTConsumer.

Definition at line 304 of file MultiplexConsumer.cpp.

◆ HandleTagDeclDefinition()

void MultiplexConsumer::HandleTagDeclDefinition ( TagDecl D)
overridevirtual

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

struct, union, enum, class) is completed. This allows the client to hack on the type, which can occur at any point in the file (because these can be defined in declspecs).

Reimplemented from clang::ASTConsumer.

Definition at line 314 of file MultiplexConsumer.cpp.

◆ HandleTagDeclRequiredDefinition()

void MultiplexConsumer::HandleTagDeclRequiredDefinition ( const TagDecl D)
overridevirtual

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

Reimplemented from clang::ASTConsumer.

Definition at line 319 of file MultiplexConsumer.cpp.

◆ HandleTopLevelDecl()

bool MultiplexConsumer::HandleTopLevelDecl ( DeclGroupRef  D)
overridevirtual

HandleTopLevelDecl - Handle the specified top-level declaration.

This is called by the parser to process every top-level Decl*.

Returns
true to continue parsing, or false to abort parsing.

Reimplemented from clang::ASTConsumer.

Definition at line 287 of file MultiplexConsumer.cpp.

◆ HandleTopLevelDeclInObjCContainer()

void MultiplexConsumer::HandleTopLevelDeclInObjCContainer ( DeclGroupRef  D)
overridevirtual

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

The default implementation ignored them.

Reimplemented from clang::ASTConsumer.

Definition at line 329 of file MultiplexConsumer.cpp.

◆ HandleTranslationUnit()

void MultiplexConsumer::HandleTranslationUnit ( ASTContext Ctx)
overridevirtual

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

Reimplemented from clang::ASTConsumer.

Definition at line 309 of file MultiplexConsumer.cpp.

◆ HandleVTable()

void MultiplexConsumer::HandleVTable ( CXXRecordDecl RD)
overridevirtual

Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required.

Parameters
RDThe class whose vtable was used.

Reimplemented from clang::ASTConsumer.

Definition at line 349 of file MultiplexConsumer.cpp.

◆ Initialize()

void MultiplexConsumer::Initialize ( ASTContext Context)
overridevirtual

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

Reimplemented from clang::ASTConsumer.

Definition at line 282 of file MultiplexConsumer.cpp.

◆ InitializeSema()

void MultiplexConsumer::InitializeSema ( Sema S)
overridevirtual

Initialize the semantic consumer with the Sema instance being used to perform semantic analysis on the abstract syntax tree.

Reimplemented from clang::SemaConsumer.

Definition at line 374 of file MultiplexConsumer.cpp.

◆ PrintStats()

void MultiplexConsumer::PrintStats ( )
overridevirtual

PrintStats - If desired, print any statistics.

Reimplemented from clang::ASTConsumer.

Definition at line 362 of file MultiplexConsumer.cpp.

◆ shouldSkipFunctionBody()

bool MultiplexConsumer::shouldSkipFunctionBody ( Decl D)
overridevirtual

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

Returns
true if the function's body should be skipped. The function body may be parsed anyway if it is needed (for instance, if it contains the code completion point or is constexpr).

Reimplemented from clang::ASTConsumer.

Definition at line 367 of file MultiplexConsumer.cpp.


The documentation for this class was generated from the following files: