clang 20.0.0git
Public Member Functions | List of all members
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:
Inheritance graph
[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 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 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 174 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 149 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 160 of file ASTMutationListener.h.

Referenced by clang::ASTContext::setManglingNumber().

◆ 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 110 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 167 of file ASTMutationListener.h.

Referenced by clang::ASTContext::setStaticLocalNumber().

◆ 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 90 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 135 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 129 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 122 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 116 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 11714 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 104 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 107 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 153 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 101 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 95 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 142 of file ASTMutationListener.h.

Referenced by clang::ASTContext::mergeDefinitionIntoModule().

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

◆ 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 98 of file ASTMutationListener.h.


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