clang 8.0.0

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:
[legend]

## Public Member Functions
virtual | ~ASTMutationListener ()
virtual void | CompletedTagDefinition (const TagDecl *D)
| A new TagDecl definition was completed. More...
virtual void | AddedVisibleDecl (const DeclContext *DC, const Decl *D)
| A new declaration with name has been added to a DeclContext. More...
virtual void | AddedCXXImplicitMember (const CXXRecordDecl *RD, const Decl *D)
| An implicit member was added after the definition was completed. More...
virtual void | AddedCXXTemplateSpecialization (const ClassTemplateDecl *TD, const ClassTemplateSpecializationDecl *D)
| A template specialization (or partial one) was added to the template declaration. More...
virtual void | AddedCXXTemplateSpecialization (const VarTemplateDecl *TD, const VarTemplateSpecializationDecl *D)
| A template specialization (or partial one) was added to the template declaration. More...
virtual void | AddedCXXTemplateSpecialization (const FunctionTemplateDecl *TD, const FunctionDecl *D)
| A template specialization (or partial one) was added to the template declaration. More...
virtual void | ResolvedExceptionSpec (const FunctionDecl *FD)
| A function's exception specification has been evaluated or instantiated. More...
virtual void | DeducedReturnType (const FunctionDecl *FD, QualType ReturnType)
| A function's return type has been deduced. More...
virtual void | ResolvedOperatorDelete (const CXXDestructorDecl *DD, const FunctionDecl *Delete, Expr *ThisArg)
| A virtual destructor's operator delete has been resolved. More...
virtual void | CompletedImplicitDefinition (const FunctionDecl *D)
| An implicit member got a definition. More...
virtual void | InstantiationRequested (const ValueDecl *D)
| The instantiation of a templated function or variable was requested. More...
virtual void | VariableDefinitionInstantiated (const VarDecl *D)
| A templated variable's definition was implicitly instantiated. More...
virtual void | FunctionDefinitionInstantiated (const FunctionDecl *D)
| A function template's definition was instantiated. More...
virtual void | DefaultArgumentInstantiated (const ParmVarDecl *D)
| A default argument was instantiated. More...
virtual void | DefaultMemberInitializerInstantiated (const FieldDecl *D)
| A default member initializer was instantiated. More...
virtual void | AddedObjCCategoryToInterface (const ObjCCategoryDecl *CatD, const ObjCInterfaceDecl *IFD)
| A new objc category class was added for an interface. More...
virtual void | DeclarationMarkedUsed (const Decl *D)
| A declaration is marked used which was not previously marked used. More...
virtual void | DeclarationMarkedOpenMPThreadPrivate (const Decl *D)
| A declaration is marked as OpenMP threadprivate which was not previously marked as threadprivate. More...
virtual void | DeclarationMarkedOpenMPDeclareTarget (const Decl *D, const Attr *Attr)
| A declaration is marked as OpenMP declaretarget which was not previously marked as declaretarget. More...
virtual void | RedefinedHiddenDefinition (const NamedDecl *D, Module *M)
| A definition has been made visible by being redefined locally. More...
virtual void | AddedAttributeToRecord (const Attr *Attr, const RecordDecl *Record)
| An attribute was added to a RecordDecl. More...

## 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 47 of file ASTMutationListener.h.

## Constructor & Destructor Documentation

## ◆ ~ASTMutationListener()

ASTMutationListener::~ASTMutationListener | ( |  | ) |
| virtual default

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

## Member Function Documentation

## ◆ AddedAttributeToRecord()

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

An attribute was added to a RecordDecl.

Parameters

  Attr | The attribute that was added to the Record
  Record | The RecordDecl that got a new attribute

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 143 of file ASTMutationListener.h.

## ◆ AddedCXXImplicitMember()

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

An implicit member was added after the definition was completed.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 58 of file ASTMutationListener.h.

## ◆ AddedCXXTemplateSpecialization() [1/3]

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

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

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 62 of file ASTMutationListener.h.

## ◆ AddedCXXTemplateSpecialization() [2/3]

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

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

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 68 of file ASTMutationListener.h.

## ◆ AddedCXXTemplateSpecialization() [3/3]

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

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

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 73 of file ASTMutationListener.h.

## ◆ AddedObjCCategoryToInterface()

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

A new objc category class was added for an interface.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 109 of file ASTMutationListener.h.

## ◆ AddedVisibleDecl()

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

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

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 55 of file ASTMutationListener.h.

## ◆ CompletedImplicitDefinition()

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

An implicit member got a definition.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 89 of file ASTMutationListener.h.

## ◆ CompletedTagDefinition()

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

A new TagDecl definition was completed.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 52 of file ASTMutationListener.h.

## ◆ DeclarationMarkedOpenMPDeclareTarget()

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

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

Parameters

  D | the declaration marked OpenMP declaretarget.
  Attr | the added attribute.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 128 of file ASTMutationListener.h.

## ◆ DeclarationMarkedOpenMPThreadPrivate()

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

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

Parameters

  D | the declaration marked OpenMP threadprivate.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 121 of file ASTMutationListener.h.

## ◆ DeclarationMarkedUsed()

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

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

Parameters

  D | the declaration marked used

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 115 of file ASTMutationListener.h.

Referenced by clang::Decl::markUsed().

## ◆ 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 9222 of file ASTContext.cpp.

Referenced by ResolvedExceptionSpec().

## ◆ DefaultArgumentInstantiated()

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

A default argument was instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 103 of file ASTMutationListener.h.

## ◆ DefaultMemberInitializerInstantiated()

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

A default member initializer was instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 106 of file ASTMutationListener.h.

## ◆ FunctionDefinitionInstantiated()

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

A function template's definition was instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 100 of file ASTMutationListener.h.

## ◆ InstantiationRequested()

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

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

## ◆ RedefinedHiddenDefinition()

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

A definition has been made visible by being redefined locally.

Parameters

  D | The definition that was previously not visible.
  M | The containing module in which the definition was made visible, if any.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 136 of file ASTMutationListener.h.

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

## ◆ ResolvedExceptionSpec()

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

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

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 78 of file ASTMutationListener.h.

References DeducedReturnType().

## ◆ ResolvedOperatorDelete()

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

A virtual destructor's operator delete has been resolved.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 84 of file ASTMutationListener.h.

## ◆ VariableDefinitionInstantiated()

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

A templated variable's definition was implicitly instantiated.

Reimplemented in clang::MultiplexASTMutationListener.

Definition at line 97 of file ASTMutationListener.h.

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

- include/clang/AST/ASTMutationListener.h
- lib/AST/ASTContext.cpp