clang API Documentation
#include <MultiplexConsumer.h>
Public Member Functions | |
MultiplexConsumer (std::vector< std::unique_ptr< ASTConsumer >> C) | |
~MultiplexConsumer () | |
void | Initialize (ASTContext &Context) override |
void | HandleCXXStaticMemberVarInstantiation (VarDecl *VD) override |
HandleCXXStaticMemberVarInstantiation - Tell the consumer that this. | |
bool | HandleTopLevelDecl (DeclGroupRef D) override |
void | HandleInlineMethodDefinition (CXXMethodDecl *D) override |
This callback is invoked each time an inline method definition is completed. | |
void | HandleInterestingDecl (DeclGroupRef D) override |
void | HandleTranslationUnit (ASTContext &Ctx) override |
void | HandleTagDeclDefinition (TagDecl *D) override |
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. 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. | |
void | HandleTopLevelDeclInObjCContainer (DeclGroupRef D) override |
Handle the specified top-level declaration that occurred inside and ObjC container. The default implementation ignored them. | |
void | HandleImplicitImportDecl (ImportDecl *D) override |
Handle an ImportDecl that was implicitly created due to an inclusion directive. The default implementation passes it to HandleTopLevelDecl. | |
void | HandleLinkerOptionPragma (llvm::StringRef Opts) override |
Handle a pragma that appends to Linker Options. Currently this only exists to support Microsoft's #pragma comment(linker, "/foo"). | |
void | HandleDetectMismatch (llvm::StringRef Name, llvm::StringRef Value) override |
Handle a pragma that emits a mismatch identifier and value to the object file for the linker to work with. Currently, this only exists to support Microsoft's #pragma detect_mismatch. | |
void | HandleDependentLibrary (llvm::StringRef Lib) override |
Handle a dependent library created by a pragma in the source. Currently this only exists to support Microsoft's #pragma comment(lib, "/foo"). | |
void | CompleteTentativeDefinition (VarDecl *D) override |
void | HandleVTable (CXXRecordDecl *RD, bool DefinitionRequired) 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. | |
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. |
Definition at line 29 of file MultiplexConsumer.h.
MultiplexConsumer::MultiplexConsumer | ( | std::vector< std::unique_ptr< ASTConsumer >> | C | ) |
Definition at line 192 of file MultiplexConsumer.cpp.
Definition at line 216 of file MultiplexConsumer.cpp.
void MultiplexConsumer::CompleteTentativeDefinition | ( | VarDecl * | D | ) | [override, virtual] |
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 290 of file MultiplexConsumer.cpp.
void MultiplexConsumer::ForgetSema | ( | ) | [override, virtual] |
Inform the semantic consumer that Sema is no longer available.
Reimplemented from clang::SemaConsumer.
Definition at line 320 of file MultiplexConsumer.cpp.
ASTDeserializationListener * MultiplexConsumer::GetASTDeserializationListener | ( | ) | [override, virtual] |
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 305 of file MultiplexConsumer.cpp.
ASTMutationListener * MultiplexConsumer::GetASTMutationListener | ( | ) | [override, virtual] |
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 301 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleCXXImplicitFunctionInstantiation | ( | FunctionDecl * | D | ) | [override, virtual] |
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 260 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleCXXStaticMemberVarInstantiation | ( | VarDecl * | D | ) | [override, virtual] |
HandleCXXStaticMemberVarInstantiation - Tell the consumer that this.
Reimplemented from clang::ASTConsumer.
Definition at line 235 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleDependentLibrary | ( | llvm::StringRef | Lib | ) | [override, virtual] |
Handle a dependent library created by a pragma in the source. Currently this only exists to support Microsoft's #pragma comment(lib, "/foo").
Reimplemented from clang::ASTConsumer.
Definition at line 285 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleDetectMismatch | ( | llvm::StringRef | Name, |
llvm::StringRef | Value | ||
) | [override, virtual] |
Handle a pragma that emits a mismatch identifier and value to the object file for the linker to work with. Currently, this only exists to support Microsoft's #pragma detect_mismatch.
Reimplemented from clang::ASTConsumer.
Definition at line 280 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleImplicitImportDecl | ( | ImportDecl * | D | ) | [override, virtual] |
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 270 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleInlineMethodDefinition | ( | CXXMethodDecl * | D | ) | [override, virtual] |
This callback is invoked each time an inline method definition is completed.
Reimplemented from clang::ASTConsumer.
Definition at line 230 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleInterestingDecl | ( | DeclGroupRef | D | ) | [override, virtual] |
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 240 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleLinkerOptionPragma | ( | llvm::StringRef | Opts | ) | [override, virtual] |
Handle a pragma that appends to Linker Options. Currently this only exists to support Microsoft's #pragma comment(linker, "/foo").
Reimplemented from clang::ASTConsumer.
Definition at line 275 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleTagDeclDefinition | ( | TagDecl * | D | ) | [override, virtual] |
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 250 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleTagDeclRequiredDefinition | ( | const TagDecl * | D | ) | [override, virtual] |
This callback is invoked the first time each TagDecl is required to be complete.
Reimplemented from clang::ASTConsumer.
Definition at line 255 of file MultiplexConsumer.cpp.
bool MultiplexConsumer::HandleTopLevelDecl | ( | DeclGroupRef | D | ) | [override, virtual] |
HandleTopLevelDecl - Handle the specified top-level declaration. This is called by the parser to process every top-level Decl*.
Reimplemented from clang::ASTConsumer.
Definition at line 223 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleTopLevelDeclInObjCContainer | ( | DeclGroupRef | D | ) | [override, virtual] |
Handle the specified top-level declaration that occurred inside and ObjC container. The default implementation ignored them.
Reimplemented from clang::ASTConsumer.
Definition at line 265 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleTranslationUnit | ( | ASTContext & | Ctx | ) | [override, virtual] |
HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been parsed.
Reimplemented from clang::ASTConsumer.
Definition at line 245 of file MultiplexConsumer.cpp.
void MultiplexConsumer::HandleVTable | ( | CXXRecordDecl * | RD, |
bool | DefinitionRequired | ||
) | [override, virtual] |
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. |
DefinitionRequired | Whether a definition of this vtable is required in this translation unit; otherwise, it is only needed if it was actually used. |
Reimplemented from clang::ASTConsumer.
Definition at line 295 of file MultiplexConsumer.cpp.
void MultiplexConsumer::Initialize | ( | ASTContext & | Context | ) | [override, virtual] |
Initialize - This is called to initialize the consumer, providing the ASTContext.
Reimplemented from clang::ASTConsumer.
Definition at line 218 of file MultiplexConsumer.cpp.
void MultiplexConsumer::InitializeSema | ( | Sema & | S | ) | [override, virtual] |
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 314 of file MultiplexConsumer.cpp.
void MultiplexConsumer::PrintStats | ( | ) | [override, virtual] |
PrintStats - If desired, print any statistics.
Reimplemented from clang::ASTConsumer.
Definition at line 309 of file MultiplexConsumer.cpp.