clang 20.0.0git
|
#include "clang/Frontend/MultiplexConsumer.h"
Public Member Functions | |
MultiplexConsumer (std::vector< std::unique_ptr< ASTConsumer > > C) | |
MultiplexConsumer (std::unique_ptr< ASTConsumer > C) | |
~MultiplexConsumer () override | |
void | Initialize (ASTContext &Context) override |
Initialize - This is called to initialize the consumer, providing the ASTContext. | |
void | HandleCXXStaticMemberVarInstantiation (VarDecl *VD) override |
HandleCXXStaticMemberVarInstantiation - Tell the consumer that this. | |
bool | HandleTopLevelDecl (DeclGroupRef D) override |
HandleTopLevelDecl - Handle the specified top-level declaration. | |
void | HandleInlineFunctionDefinition (FunctionDecl *D) override |
This callback is invoked each time an inline (method or friend) function definition in a class is completed. | |
void | HandleInterestingDecl (DeclGroupRef D) override |
HandleInterestingDecl - Handle the specified interesting declaration. | |
void | HandleTranslationUnit (ASTContext &Ctx) override |
HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed. | |
void | HandleTagDeclDefinition (TagDecl *D) override |
HandleTagDeclDefinition - This callback is invoked each time a TagDecl (e.g. | |
void | HandleTagDeclRequiredDefinition (const TagDecl *D) override |
This callback is invoked the first time each TagDecl is required to be complete. | |
void | HandleCXXImplicitFunctionInstantiation (FunctionDecl *D) override |
Invoked when a function is implicitly instantiated. | |
void | HandleTopLevelDeclInObjCContainer (DeclGroupRef D) override |
Handle the specified top-level declaration that occurred inside and ObjC container. | |
void | HandleImplicitImportDecl (ImportDecl *D) override |
Handle an ImportDecl that was implicitly created due to an inclusion directive. | |
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. | |
void | CompleteExternalDeclaration (DeclaratorDecl *D) override |
CompleteExternalDeclaration - Callback invoked at the end of a translation unit to notify the consumer that the given external declaration should be completed. | |
void | AssignInheritanceModel (CXXRecordDecl *RD) override |
Callback invoked when an MSInheritanceAttr has been attached to a CXXRecordDecl. | |
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. | |
ASTMutationListener * | GetASTMutationListener () override |
If the consumer is interested in entities getting modified after their initial creation, it should return a pointer to an ASTMutationListener here. | |
ASTDeserializationListener * | GetASTDeserializationListener () override |
If the consumer is interested in entities being deserialized from AST files, it should return a pointer to a ASTDeserializationListener here. | |
void | PrintStats () override |
PrintStats - If desired, print any statistics. | |
bool | shouldSkipFunctionBody (Decl *D) override |
This callback is called for each function if the Parser was initialized with SkipFunctionBodies set to true . | |
void | InitializeSema (Sema &S) override |
Initialize the semantic consumer with the Sema instance being used to perform semantic analysis on the abstract syntax tree. | |
void | ForgetSema () override |
Inform the semantic consumer that Sema is no longer available. | |
Public Member Functions inherited from clang::SemaConsumer | |
SemaConsumer () | |
virtual void | InitializeSema (Sema &S) |
Initialize the semantic consumer with the Sema instance being used to perform semantic analysis on the abstract syntax tree. | |
virtual void | ForgetSema () |
Inform the semantic consumer that Sema is no longer available. | |
Public Member Functions inherited from clang::ASTConsumer | |
ASTConsumer ()=default | |
virtual | ~ASTConsumer () |
virtual void | Initialize (ASTContext &Context) |
Initialize - This is called to initialize the consumer, providing the ASTContext. | |
virtual bool | HandleTopLevelDecl (DeclGroupRef D) |
HandleTopLevelDecl - Handle the specified top-level declaration. | |
virtual void | HandleInlineFunctionDefinition (FunctionDecl *D) |
This callback is invoked each time an inline (method or friend) function definition in a class is completed. | |
virtual void | HandleInterestingDecl (DeclGroupRef D) |
HandleInterestingDecl - Handle the specified interesting declaration. | |
virtual void | HandleTranslationUnit (ASTContext &Ctx) |
HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed. | |
virtual void | HandleTagDeclDefinition (TagDecl *D) |
HandleTagDeclDefinition - This callback is invoked each time a TagDecl (e.g. | |
virtual void | HandleTagDeclRequiredDefinition (const TagDecl *D) |
This callback is invoked the first time each TagDecl is required to be complete. | |
virtual void | HandleCXXImplicitFunctionInstantiation (FunctionDecl *D) |
Invoked when a function is implicitly instantiated. | |
virtual void | HandleTopLevelDeclInObjCContainer (DeclGroupRef D) |
Handle the specified top-level declaration that occurred inside and ObjC container. | |
virtual void | HandleImplicitImportDecl (ImportDecl *D) |
Handle an ImportDecl that was implicitly created due to an inclusion directive. | |
virtual void | CompleteTentativeDefinition (VarDecl *D) |
CompleteTentativeDefinition - Callback invoked at the end of a translation unit to notify the consumer that the given tentative definition should be completed. | |
virtual void | CompleteExternalDeclaration (DeclaratorDecl *D) |
CompleteExternalDeclaration - Callback invoked at the end of a translation unit to notify the consumer that the given external declaration should be completed. | |
virtual void | AssignInheritanceModel (CXXRecordDecl *RD) |
Callback invoked when an MSInheritanceAttr has been attached to a CXXRecordDecl. | |
virtual void | HandleCXXStaticMemberVarInstantiation (VarDecl *D) |
HandleCXXStaticMemberVarInstantiation - Tell the consumer that this. | |
virtual void | HandleVTable (CXXRecordDecl *RD) |
Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required. | |
virtual ASTMutationListener * | GetASTMutationListener () |
If the consumer is interested in entities getting modified after their initial creation, it should return a pointer to an ASTMutationListener here. | |
virtual ASTDeserializationListener * | GetASTDeserializationListener () |
If the consumer is interested in entities being deserialized from AST files, it should return a pointer to a ASTDeserializationListener here. | |
virtual void | PrintStats () |
PrintStats - If desired, print any statistics. | |
virtual bool | shouldSkipFunctionBody (Decl *D) |
This callback is called for each function if the Parser was initialized with SkipFunctionBodies set to true . | |
Protected Attributes | |
std::vector< std::unique_ptr< ASTConsumer > > | Consumers |
std::unique_ptr< MultiplexASTMutationListener > | MutationListener |
std::unique_ptr< MultiplexASTDeserializationListener > | DeserializationListener |
Additional Inherited Members | |
Static Public Member Functions inherited from clang::SemaConsumer | |
static bool | classof (const ASTConsumer *Consumer) |
Definition at line 52 of file MultiplexConsumer.h.
MultiplexConsumer::MultiplexConsumer | ( | std::vector< std::unique_ptr< ASTConsumer > > | C | ) |
Definition at line 277 of file MultiplexConsumer.cpp.
References Consumers, DeserializationListener, and MutationListener.
MultiplexConsumer::MultiplexConsumer | ( | std::unique_ptr< ASTConsumer > | C | ) |
Definition at line 301 of file MultiplexConsumer.cpp.
References Consumers.
|
override |
Definition at line 308 of file MultiplexConsumer.cpp.
|
overridevirtual |
Callback invoked when an MSInheritanceAttr has been attached to a CXXRecordDecl.
Reimplemented from clang::ASTConsumer.
Definition at line 377 of file MultiplexConsumer.cpp.
References Consumers.
|
overridevirtual |
CompleteExternalDeclaration - Callback invoked at the end of a translation unit to notify the consumer that the given external declaration should be completed.
Reimplemented from clang::ASTConsumer.
Definition at line 372 of file MultiplexConsumer.cpp.
|
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 367 of file MultiplexConsumer.cpp.
|
overridevirtual |
Inform the semantic consumer that Sema is no longer available.
Reimplemented from clang::SemaConsumer.
Definition at line 413 of file MultiplexConsumer.cpp.
References Consumers.
|
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 391 of file MultiplexConsumer.cpp.
References DeserializationListener.
|
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 387 of file MultiplexConsumer.cpp.
References MutationListener.
|
overridevirtual |
Invoked when a function is implicitly instantiated.
Note that at this 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 352 of file MultiplexConsumer.cpp.
|
overridevirtual |
HandleCXXStaticMemberVarInstantiation - Tell the consumer that this.
Reimplemented from clang::ASTConsumer.
Definition at line 327 of file MultiplexConsumer.cpp.
References Consumers.
|
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 362 of file MultiplexConsumer.cpp.
|
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 322 of file MultiplexConsumer.cpp.
|
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 332 of file MultiplexConsumer.cpp.
|
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 342 of file MultiplexConsumer.cpp.
|
overridevirtual |
This callback is invoked the first time each TagDecl is required to be complete.
Reimplemented from clang::ASTConsumer.
Definition at line 347 of file MultiplexConsumer.cpp.
|
overridevirtual |
HandleTopLevelDecl - Handle the specified top-level declaration.
This is called by the parser to process every top-level Decl*.
Reimplemented from clang::ASTConsumer.
Reimplemented in clang::InProcessPrintingASTConsumer.
Definition at line 315 of file MultiplexConsumer.cpp.
Referenced by clang::InProcessPrintingASTConsumer::HandleTopLevelDecl().
|
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 357 of file MultiplexConsumer.cpp.
|
overridevirtual |
HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed.
Reimplemented from clang::ASTConsumer.
Definition at line 337 of file MultiplexConsumer.cpp.
References Consumers.
|
overridevirtual |
Callback involved at the end of a translation unit to notify the consumer that a vtable for the given C++ class is required.
RD | The class whose vtable was used. |
Reimplemented from clang::ASTConsumer.
Definition at line 382 of file MultiplexConsumer.cpp.
References Consumers.
|
overridevirtual |
Initialize - This is called to initialize the consumer, providing the ASTContext.
Reimplemented from clang::ASTConsumer.
Definition at line 310 of file MultiplexConsumer.cpp.
References Consumers.
|
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 407 of file MultiplexConsumer.cpp.
References Consumers.
|
overridevirtual |
PrintStats - If desired, print any statistics.
Reimplemented from clang::ASTConsumer.
Definition at line 395 of file MultiplexConsumer.cpp.
References Consumers.
This callback is called for each function if the Parser was initialized with SkipFunctionBodies
set to true
.
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 400 of file MultiplexConsumer.cpp.
References Consumers, D, and clang::sema::Skip.
|
protected |
Definition at line 85 of file MultiplexConsumer.h.
Referenced by AssignInheritanceModel(), CompleteExternalDeclaration(), CompleteTentativeDefinition(), ForgetSema(), HandleCXXImplicitFunctionInstantiation(), HandleCXXStaticMemberVarInstantiation(), HandleImplicitImportDecl(), HandleInlineFunctionDefinition(), HandleInterestingDecl(), HandleTagDeclDefinition(), HandleTagDeclRequiredDefinition(), HandleTopLevelDecl(), HandleTopLevelDeclInObjCContainer(), HandleTranslationUnit(), HandleVTable(), Initialize(), InitializeSema(), MultiplexConsumer(), PrintStats(), and shouldSkipFunctionBody().
|
protected |
Definition at line 87 of file MultiplexConsumer.h.
Referenced by GetASTDeserializationListener(), and MultiplexConsumer().
|
protected |
Definition at line 86 of file MultiplexConsumer.h.
Referenced by GetASTMutationListener(), and MultiplexConsumer().