clang 22.0.0git
clang::ASTMutationListener Class Reference

An abstract interface that should be implemented by listeners that want to be notified when an AST entity gets modified after its initial creation. More...

#include "clang/AST/ASTMutationListener.h"

Inheritance diagram for clang::ASTMutationListener:
[legend]

Public Member Functions

virtual ~ASTMutationListener ()
virtual void CompletedTagDefinition (const TagDecl *D)
 A new TagDecl definition was completed.
virtual void AddedVisibleDecl (const DeclContext *DC, const Decl *D)
 A new declaration with name has been added to a DeclContext.
virtual void AddedCXXImplicitMember (const CXXRecordDecl *RD, const Decl *D)
 An implicit member was added after the definition was completed.
virtual void AddedCXXTemplateSpecialization (const ClassTemplateDecl *TD, const ClassTemplateSpecializationDecl *D)
 A template specialization (or partial one) was added to the template declaration.
virtual void AddedCXXTemplateSpecialization (const VarTemplateDecl *TD, const VarTemplateSpecializationDecl *D)
 A template specialization (or partial one) was added to the template declaration.
virtual void AddedCXXTemplateSpecialization (const FunctionTemplateDecl *TD, const FunctionDecl *D)
 A template specialization (or partial one) was added to the template declaration.
virtual void ResolvedExceptionSpec (const FunctionDecl *FD)
 A function's exception specification has been evaluated or instantiated.
virtual void DeducedReturnType (const FunctionDecl *FD, QualType ReturnType)
 A function's return type has been deduced.
virtual void ResolvedOperatorDelete (const CXXDestructorDecl *DD, const FunctionDecl *Delete, Expr *ThisArg)
 A virtual destructor's operator delete has been resolved.
virtual void ResolvedOperatorGlobDelete (const CXXDestructorDecl *DD, const FunctionDecl *GlobDelete)
 A virtual destructor's operator global delete has been resolved.
virtual void CompletedImplicitDefinition (const FunctionDecl *D)
 An implicit member got a definition.
virtual void InstantiationRequested (const ValueDecl *D)
 The instantiation of a templated function or variable was requested.
virtual void VariableDefinitionInstantiated (const VarDecl *D)
 A templated variable's definition was implicitly instantiated.
virtual void FunctionDefinitionInstantiated (const FunctionDecl *D)
 A function template's definition was instantiated.
virtual void DefaultArgumentInstantiated (const ParmVarDecl *D)
 A default argument was instantiated.
virtual void DefaultMemberInitializerInstantiated (const FieldDecl *D)
 A default member initializer was instantiated.
virtual void AddedObjCCategoryToInterface (const ObjCCategoryDecl *CatD, const ObjCInterfaceDecl *IFD)
 A new objc category class was added for an interface.
virtual void DeclarationMarkedUsed (const Decl *D)
 A declaration is marked used which was not previously marked used.
virtual void DeclarationMarkedOpenMPThreadPrivate (const Decl *D)
 A declaration is marked as OpenMP threadprivate which was not previously marked as threadprivate.
virtual void DeclarationMarkedOpenMPGroupPrivate (const Decl *D)
 A declaration is marked as OpenMP groupprivate which was not previously marked as groupprivate.
virtual void DeclarationMarkedOpenMPDeclareTarget (const Decl *D, const Attr *Attr)
 A declaration is marked as OpenMP declaretarget which was not previously marked as declaretarget.
virtual void DeclarationMarkedOpenMPAllocate (const Decl *D, const Attr *A)
 A declaration is marked as a variable with OpenMP allocator.
virtual void RedefinedHiddenDefinition (const NamedDecl *D, Module *M)
 A definition has been made visible by being redefined locally.
virtual void AddedAttributeToRecord (const Attr *Attr, const RecordDecl *Record)
 An attribute was added to a RecordDecl.
virtual void EnteringModulePurview ()
 The parser find the named module declaration.
virtual void AddedManglingNumber (const Decl *D, unsigned Number)
 An mangling number was added to a Decl.
virtual void AddedStaticLocalNumbers (const Decl *D, unsigned Number)
 An static local number was added to a Decl.
virtual void AddedAnonymousNamespace (const TranslationUnitDecl *TU, NamespaceDecl *AnonNamespace)
 An anonymous namespace was added the translation unit decl.

Detailed 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.

Definition at line 48 of file ASTMutationListener.h.

Constructor & Destructor Documentation

◆ ~ASTMutationListener()

ASTMutationListener::~ASTMutationListener ( )
virtualdefault

Member Function Documentation

◆ AddedAnonymousNamespace()

virtual void clang::ASTMutationListener::AddedAnonymousNamespace ( const TranslationUnitDecl * TU,
NamespaceDecl * AnonNamespace )
inlinevirtual

An anonymous namespace was added the translation unit decl.

Parameters
TUThe translation unit decl that got a new anonymous namespace
AnonNamespaceThe anonymous namespace that was added

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 184 of file ASTMutationListener.h.

◆ AddedAttributeToRecord()

virtual void clang::ASTMutationListener::AddedAttributeToRecord ( const Attr * Attr,
const RecordDecl * Record )
inlinevirtual

An attribute was added to a RecordDecl.

Parameters
AttrThe attribute that was added to the Record
RecordThe RecordDecl that got a new attribute

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 159 of file ASTMutationListener.h.

◆ AddedCXXImplicitMember()

virtual void clang::ASTMutationListener::AddedCXXImplicitMember ( const CXXRecordDecl * RD,
const Decl * D )
inlinevirtual

An implicit member was added after the definition was completed.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 59 of file ASTMutationListener.h.

◆ AddedCXXTemplateSpecialization() [1/3]

virtual void clang::ASTMutationListener::AddedCXXTemplateSpecialization ( const ClassTemplateDecl * TD,
const ClassTemplateSpecializationDecl * D )
inlinevirtual

A template specialization (or partial one) was added to the template declaration.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 63 of file ASTMutationListener.h.

◆ AddedCXXTemplateSpecialization() [2/3]

virtual void clang::ASTMutationListener::AddedCXXTemplateSpecialization ( const FunctionTemplateDecl * TD,
const FunctionDecl * D )
inlinevirtual

A template specialization (or partial one) was added to the template declaration.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 74 of file ASTMutationListener.h.

◆ AddedCXXTemplateSpecialization() [3/3]

virtual void clang::ASTMutationListener::AddedCXXTemplateSpecialization ( const VarTemplateDecl * TD,
const VarTemplateSpecializationDecl * D )
inlinevirtual

A template specialization (or partial one) was added to the template declaration.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 69 of file ASTMutationListener.h.

◆ AddedManglingNumber()

virtual void clang::ASTMutationListener::AddedManglingNumber ( const Decl * D,
unsigned Number )
inlinevirtual

An mangling number was added to a Decl.

Parameters
DThe decl that got a mangling number
NumberThe mangling number that was added to the Decl

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 170 of file ASTMutationListener.h.

◆ AddedObjCCategoryToInterface()

virtual void clang::ASTMutationListener::AddedObjCCategoryToInterface ( const ObjCCategoryDecl * CatD,
const ObjCInterfaceDecl * IFD )
inlinevirtual

A new objc category class was added for an interface.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 114 of file ASTMutationListener.h.

◆ AddedStaticLocalNumbers()

virtual void clang::ASTMutationListener::AddedStaticLocalNumbers ( const Decl * D,
unsigned Number )
inlinevirtual

An static local number was added to a Decl.

Parameters
DThe decl that got a static local number
NumberThe static local number that was added to the Decl

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 177 of file ASTMutationListener.h.

◆ AddedVisibleDecl()

virtual void clang::ASTMutationListener::AddedVisibleDecl ( const DeclContext * DC,
const Decl * D )
inlinevirtual

A new declaration with name has been added to a DeclContext.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 56 of file ASTMutationListener.h.

◆ CompletedImplicitDefinition()

virtual void clang::ASTMutationListener::CompletedImplicitDefinition ( const FunctionDecl * D)
inlinevirtual

An implicit member got a definition.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 94 of file ASTMutationListener.h.

◆ CompletedTagDefinition()

virtual void clang::ASTMutationListener::CompletedTagDefinition ( const TagDecl * D)
inlinevirtual

A new TagDecl definition was completed.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 53 of file ASTMutationListener.h.

◆ DeclarationMarkedOpenMPAllocate()

virtual void clang::ASTMutationListener::DeclarationMarkedOpenMPAllocate ( const Decl * D,
const Attr * A )
inlinevirtual

A declaration is marked as a variable with OpenMP allocator.

Parameters
Dthe declaration marked as a variable with OpenMP allocator.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 145 of file ASTMutationListener.h.

◆ DeclarationMarkedOpenMPDeclareTarget()

virtual void clang::ASTMutationListener::DeclarationMarkedOpenMPDeclareTarget ( const Decl * D,
const Attr * Attr )
inlinevirtual

A declaration is marked as OpenMP declaretarget which was not previously marked as declaretarget.

Parameters
Dthe declaration marked OpenMP declaretarget.
Attrthe added attribute.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 139 of file ASTMutationListener.h.

◆ DeclarationMarkedOpenMPGroupPrivate()

virtual void clang::ASTMutationListener::DeclarationMarkedOpenMPGroupPrivate ( const Decl * D)
inlinevirtual

A declaration is marked as OpenMP groupprivate which was not previously marked as groupprivate.

Parameters
Dthe declaration marked OpenMP groupprivate.

Definition at line 132 of file ASTMutationListener.h.

◆ DeclarationMarkedOpenMPThreadPrivate()

virtual void clang::ASTMutationListener::DeclarationMarkedOpenMPThreadPrivate ( const Decl * D)
inlinevirtual

A declaration is marked as OpenMP threadprivate which was not previously marked as threadprivate.

Parameters
Dthe declaration marked OpenMP threadprivate.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 126 of file ASTMutationListener.h.

◆ DeclarationMarkedUsed()

virtual void clang::ASTMutationListener::DeclarationMarkedUsed ( const Decl * D)
inlinevirtual

A declaration is marked used which was not previously marked used.

Parameters
Dthe declaration marked used

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 120 of file ASTMutationListener.h.

◆ DeducedReturnType()

void ASTMutationListener::DeducedReturnType ( const FunctionDecl * FD,
QualType ReturnType )
virtual

A function's return type has been deduced.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 12337 of file ASTContext.cpp.

◆ DefaultArgumentInstantiated()

virtual void clang::ASTMutationListener::DefaultArgumentInstantiated ( const ParmVarDecl * D)
inlinevirtual

A default argument was instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 108 of file ASTMutationListener.h.

◆ DefaultMemberInitializerInstantiated()

virtual void clang::ASTMutationListener::DefaultMemberInitializerInstantiated ( const FieldDecl * D)
inlinevirtual

A default member initializer was instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 111 of file ASTMutationListener.h.

◆ EnteringModulePurview()

virtual void clang::ASTMutationListener::EnteringModulePurview ( )
inlinevirtual

The parser find the named module declaration.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 163 of file ASTMutationListener.h.

◆ FunctionDefinitionInstantiated()

virtual void clang::ASTMutationListener::FunctionDefinitionInstantiated ( const FunctionDecl * D)
inlinevirtual

A function template's definition was instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 105 of file ASTMutationListener.h.

◆ InstantiationRequested()

virtual void clang::ASTMutationListener::InstantiationRequested ( const ValueDecl * D)
inlinevirtual

The instantiation of a templated function or variable was requested.

In particular, the point of instantiation and template specialization kind of D may have changed.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 99 of file ASTMutationListener.h.

◆ RedefinedHiddenDefinition()

virtual void clang::ASTMutationListener::RedefinedHiddenDefinition ( const NamedDecl * D,
Module * M )
inlinevirtual

A definition has been made visible by being redefined locally.

Parameters
DThe definition that was previously not visible.
MThe containing module in which the definition was made visible, if any.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 152 of file ASTMutationListener.h.

◆ ResolvedExceptionSpec()

virtual void clang::ASTMutationListener::ResolvedExceptionSpec ( const FunctionDecl * FD)
inlinevirtual

A function's exception specification has been evaluated or instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 79 of file ASTMutationListener.h.

◆ ResolvedOperatorDelete()

virtual void clang::ASTMutationListener::ResolvedOperatorDelete ( const CXXDestructorDecl * DD,
const FunctionDecl * Delete,
Expr * ThisArg )
inlinevirtual

A virtual destructor's operator delete has been resolved.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 85 of file ASTMutationListener.h.

References clang::Delete.

◆ ResolvedOperatorGlobDelete()

virtual void clang::ASTMutationListener::ResolvedOperatorGlobDelete ( const CXXDestructorDecl * DD,
const FunctionDecl * GlobDelete )
inlinevirtual

A virtual destructor's operator global delete has been resolved.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 90 of file ASTMutationListener.h.

◆ VariableDefinitionInstantiated()

virtual void clang::ASTMutationListener::VariableDefinitionInstantiated ( const VarDecl * D)
inlinevirtual

A templated variable's definition was implicitly instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 102 of file ASTMutationListener.h.


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