class MultiplexASTMutationListener
Declaration
class MultiplexASTMutationListener : public ASTMutationListener { /* full declaration omitted */ };
Description
An abstract interface that should be implemented by listeners that want to be notified when an AST entity gets modified after its initial creation.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:84
Inherits from: ASTMutationListener
Member Variables
- private std::vector<ASTMutationListener*> Listeners
Method Overview
- public void AddedAttributeToRecord(const clang::Attr * Attr, const clang::RecordDecl * Record)
- public void AddedCXXImplicitMember(const clang::CXXRecordDecl * RD, const clang::Decl * D)
- public void AddedCXXTemplateSpecialization(const clang::ClassTemplateDecl * TD, const clang::ClassTemplateSpecializationDecl * D)
- public void AddedCXXTemplateSpecialization(const clang::VarTemplateDecl * TD, const clang::VarTemplateSpecializationDecl * D)
- public void AddedCXXTemplateSpecialization(const clang::FunctionTemplateDecl * TD, const clang::FunctionDecl * D)
- public void AddedObjCCategoryToInterface(const clang::ObjCCategoryDecl * CatD, const clang::ObjCInterfaceDecl * IFD)
- public void AddedVisibleDecl(const clang::DeclContext * DC, const clang::Decl * D)
- public void CompletedImplicitDefinition(const clang::FunctionDecl * D)
- public void CompletedTagDefinition(const clang::TagDecl * D)
- public void DeclarationMarkedOpenMPAllocate(const clang::Decl * D, const clang::Attr * A)
- public void DeclarationMarkedOpenMPDeclareTarget(const clang::Decl * D, const clang::Attr * Attr)
- public void DeclarationMarkedOpenMPThreadPrivate(const clang::Decl * D)
- public void DeclarationMarkedUsed(const clang::Decl * D)
- public void DeducedReturnType(const clang::FunctionDecl * FD, clang::QualType ReturnType)
- public void DefaultArgumentInstantiated(const clang::ParmVarDecl * D)
- public void DefaultMemberInitializerInstantiated(const clang::FieldDecl * D)
- public void FunctionDefinitionInstantiated(const clang::FunctionDecl * D)
- public void InstantiationRequested(const clang::ValueDecl * D)
- public MultiplexASTMutationListener(ArrayRef<clang::ASTMutationListener *> L)
- public void RedefinedHiddenDefinition(const clang::NamedDecl * D, clang::Module * M)
- public void ResolvedExceptionSpec(const clang::FunctionDecl * FD)
- public void ResolvedOperatorDelete(const clang::CXXDestructorDecl * DD, const clang::FunctionDecl * Delete, clang::Expr * ThisArg)
- public void VariableDefinitionInstantiated(const clang::VarDecl * D)
Inherited from ASTMutationListener:
- public AddedAttributeToRecord
- public AddedCXXImplicitMember
- public AddedCXXTemplateSpecialization
- public AddedCXXTemplateSpecialization
- public AddedCXXTemplateSpecialization
- public AddedObjCCategoryToInterface
- public AddedVisibleDecl
- public CompletedImplicitDefinition
- public CompletedTagDefinition
- public DeclarationMarkedOpenMPAllocate
- public DeclarationMarkedOpenMPDeclareTarget
- public DeclarationMarkedOpenMPThreadPrivate
- public DeclarationMarkedUsed
- public DeducedReturnType
- public DefaultArgumentInstantiated
- public DefaultMemberInitializerInstantiated
- public FunctionDefinitionInstantiated
- public InstantiationRequested
- public RedefinedHiddenDefinition
- public ResolvedExceptionSpec
- public ResolvedOperatorDelete
- public VariableDefinitionInstantiated
Methods
¶void AddedAttributeToRecord(
const clang::Attr* Attr,
const clang::RecordDecl* Record)
void AddedAttributeToRecord(
const clang::Attr* Attr,
const clang::RecordDecl* Record)
Description
An attribute was added to a RecordDecl
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:116
Parameters
- const clang::Attr* Attr
- The attribute that was added to the Record
- const clang::RecordDecl* Record
- The RecordDecl that got a new attribute
¶void AddedCXXImplicitMember(
const clang::CXXRecordDecl* RD,
const clang::Decl* D)
void AddedCXXImplicitMember(
const clang::CXXRecordDecl* RD,
const clang::Decl* D)
Description
An implicit member was added after the definition was completed.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:90
Parameters
- const clang::CXXRecordDecl* RD
- const clang::Decl* D
¶void AddedCXXTemplateSpecialization(
const clang::ClassTemplateDecl* TD,
const clang::ClassTemplateSpecializationDecl*
D)
void AddedCXXTemplateSpecialization(
const clang::ClassTemplateDecl* TD,
const clang::ClassTemplateSpecializationDecl*
D)
Description
A template specialization (or partial one) was added to the template declaration.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:91
Parameters
- const clang::ClassTemplateDecl* TD
- const clang::ClassTemplateSpecializationDecl* D
¶void AddedCXXTemplateSpecialization(
const clang::VarTemplateDecl* TD,
const clang::VarTemplateSpecializationDecl* D)
void AddedCXXTemplateSpecialization(
const clang::VarTemplateDecl* TD,
const clang::VarTemplateSpecializationDecl* D)
Description
A template specialization (or partial one) was added to the template declaration.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:93
Parameters
- const clang::VarTemplateDecl* TD
- const clang::VarTemplateSpecializationDecl* D
¶void AddedCXXTemplateSpecialization(
const clang::FunctionTemplateDecl* TD,
const clang::FunctionDecl* D)
void AddedCXXTemplateSpecialization(
const clang::FunctionTemplateDecl* TD,
const clang::FunctionDecl* D)
Description
A template specialization (or partial one) was added to the template declaration.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:95
Parameters
- const clang::FunctionTemplateDecl* TD
- const clang::FunctionDecl* D
¶void AddedObjCCategoryToInterface(
const clang::ObjCCategoryDecl* CatD,
const clang::ObjCInterfaceDecl* IFD)
void AddedObjCCategoryToInterface(
const clang::ObjCCategoryDecl* CatD,
const clang::ObjCInterfaceDecl* IFD)
Description
A new objc category class was added for an interface.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:108
Parameters
- const clang::ObjCCategoryDecl* CatD
- const clang::ObjCInterfaceDecl* IFD
¶void AddedVisibleDecl(
const clang::DeclContext* DC,
const clang::Decl* D)
void AddedVisibleDecl(
const clang::DeclContext* DC,
const clang::Decl* D)
Description
A new declaration with name has been added to a DeclContext.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:89
Parameters
- const clang::DeclContext* DC
- const clang::Decl* D
¶void CompletedImplicitDefinition(
const clang::FunctionDecl* D)
void CompletedImplicitDefinition(
const clang::FunctionDecl* D)
Description
An implicit member got a definition.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:102
Parameters
- const clang::FunctionDecl* D
¶void CompletedTagDefinition(
const clang::TagDecl* D)
void CompletedTagDefinition(
const clang::TagDecl* D)
Description
A new TagDecl definition was completed.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:88
Parameters
- const clang::TagDecl* D
¶void DeclarationMarkedOpenMPAllocate(
const clang::Decl* D,
const clang::Attr* A)
void DeclarationMarkedOpenMPAllocate(
const clang::Decl* D,
const clang::Attr* A)
Description
A declaration is marked as a variable with OpenMP allocator.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:112
Parameters
- const clang::Decl* D
- the declaration marked as a variable with OpenMP allocator.
- const clang::Attr* A
¶void DeclarationMarkedOpenMPDeclareTarget(
const clang::Decl* D,
const clang::Attr* Attr)
void DeclarationMarkedOpenMPDeclareTarget(
const clang::Decl* D,
const clang::Attr* Attr)
Description
A declaration is marked as OpenMP declaretarget which was not previously marked as declaretarget.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:113
Parameters
- const clang::Decl* D
- the declaration marked OpenMP declaretarget.
- const clang::Attr* Attr
- the added attribute.
¶void DeclarationMarkedOpenMPThreadPrivate(
const clang::Decl* D)
void DeclarationMarkedOpenMPThreadPrivate(
const clang::Decl* D)
Description
A declaration is marked as OpenMP threadprivate which was not previously marked as threadprivate.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:111
Parameters
- const clang::Decl* D
- the declaration marked OpenMP threadprivate.
¶void DeclarationMarkedUsed(const clang::Decl* D)
void DeclarationMarkedUsed(const clang::Decl* D)
Description
A declaration is marked used which was not previously marked used.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:110
Parameters
- const clang::Decl* D
- the declaration marked used
¶void DeducedReturnType(
const clang::FunctionDecl* FD,
clang::QualType ReturnType)
void DeducedReturnType(
const clang::FunctionDecl* FD,
clang::QualType ReturnType)
Description
A function's return type has been deduced.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:98
Parameters
- const clang::FunctionDecl* FD
- clang::QualType ReturnType
¶void DefaultArgumentInstantiated(
const clang::ParmVarDecl* D)
void DefaultArgumentInstantiated(
const clang::ParmVarDecl* D)
Description
A default argument was instantiated.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:106
Parameters
- const clang::ParmVarDecl* D
¶void DefaultMemberInitializerInstantiated(
const clang::FieldDecl* D)
void DefaultMemberInitializerInstantiated(
const clang::FieldDecl* D)
Description
A default member initializer was instantiated.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:107
Parameters
- const clang::FieldDecl* D
¶void FunctionDefinitionInstantiated(
const clang::FunctionDecl* D)
void FunctionDefinitionInstantiated(
const clang::FunctionDecl* D)
Description
A function template's definition was instantiated.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:105
Parameters
- const clang::FunctionDecl* D
¶void InstantiationRequested(
const clang::ValueDecl* D)
void InstantiationRequested(
const clang::ValueDecl* D)
Description
The instantiation of a templated function or variable was requested. In particular, the point of instantiation and template specialization kind of \p D may have changed.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:103
Parameters
- const clang::ValueDecl* D
¶MultiplexASTMutationListener(
ArrayRef<clang::ASTMutationListener*> L)
MultiplexASTMutationListener(
ArrayRef<clang::ASTMutationListener*> L)
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:87
Parameters
- ArrayRef<clang::ASTMutationListener*> L
¶void RedefinedHiddenDefinition(
const clang::NamedDecl* D,
clang::Module* M)
void RedefinedHiddenDefinition(
const clang::NamedDecl* D,
clang::Module* M)
Description
A definition has been made visible by being redefined locally.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:115
Parameters
- const clang::NamedDecl* D
- The definition that was previously not visible.
- clang::Module* M
- The containing module in which the definition was made visible, if any.
¶void ResolvedExceptionSpec(
const clang::FunctionDecl* FD)
void ResolvedExceptionSpec(
const clang::FunctionDecl* FD)
Description
A function's exception specification has been evaluated or instantiated.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:97
Parameters
- const clang::FunctionDecl* FD
¶void ResolvedOperatorDelete(
const clang::CXXDestructorDecl* DD,
const clang::FunctionDecl* Delete,
clang::Expr* ThisArg)
void ResolvedOperatorDelete(
const clang::CXXDestructorDecl* DD,
const clang::FunctionDecl* Delete,
clang::Expr* ThisArg)
Description
A virtual destructor's operator delete has been resolved.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:99
Parameters
- const clang::CXXDestructorDecl* DD
- const clang::FunctionDecl* Delete
- clang::Expr* ThisArg
¶void VariableDefinitionInstantiated(
const clang::VarDecl* D)
void VariableDefinitionInstantiated(
const clang::VarDecl* D)
Description
A templated variable's definition was implicitly instantiated.
Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:104
Parameters
- const clang::VarDecl* D