class ASTMutationListener

Declaration

class 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/include/clang/AST/ASTMutationListener.h:46

Method Overview

Methods

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

Description

An attribute was added to a RecordDecl

Declared at: clang/include/clang/AST/ASTMutationListener.h:147

Parameters

const clang::Attr* Attr
The attribute that was added to the Record
const clang::RecordDecl* Record
The RecordDecl that got a new attribute

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

Description

An implicit member was added after the definition was completed.

Declared at: clang/include/clang/AST/ASTMutationListener.h:57

Parameters

const clang::CXXRecordDecl* RD
const clang::Decl* D

virtual 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/include/clang/AST/ASTMutationListener.h:61

Parameters

const clang::ClassTemplateDecl* TD
const clang::ClassTemplateSpecializationDecl* D

virtual 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/include/clang/AST/ASTMutationListener.h:67

Parameters

const clang::VarTemplateDecl* TD
const clang::VarTemplateSpecializationDecl* D

virtual 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/include/clang/AST/ASTMutationListener.h:72

Parameters

const clang::FunctionTemplateDecl* TD
const clang::FunctionDecl* D

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

Description

A new objc category class was added for an interface.

Declared at: clang/include/clang/AST/ASTMutationListener.h:108

Parameters

const clang::ObjCCategoryDecl* CatD
const clang::ObjCInterfaceDecl* IFD

virtual 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/include/clang/AST/ASTMutationListener.h:54

Parameters

const clang::DeclContext* DC
const clang::Decl* D

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

Description

An implicit member got a definition.

Declared at: clang/include/clang/AST/ASTMutationListener.h:88

Parameters

const clang::FunctionDecl* D

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

Description

A new TagDecl definition was completed.

Declared at: clang/include/clang/AST/ASTMutationListener.h:51

Parameters

const clang::TagDecl* D

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

Description

A declaration is marked as a variable with OpenMP allocator.

Declared at: clang/include/clang/AST/ASTMutationListener.h:133

Parameters

const clang::Decl* D
the declaration marked as a variable with OpenMP allocator.
const clang::Attr* A

virtual 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/include/clang/AST/ASTMutationListener.h:127

Parameters

const clang::Decl* D
the declaration marked OpenMP declaretarget.
const clang::Attr* Attr
the added attribute.

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

Description

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

Declared at: clang/include/clang/AST/ASTMutationListener.h:120

Parameters

const clang::Decl* D
the declaration marked OpenMP threadprivate.

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

Description

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

Declared at: clang/include/clang/AST/ASTMutationListener.h:114

Parameters

const clang::Decl* D
the declaration marked used

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

Description

A function's return type has been deduced.

Declared at: clang/include/clang/AST/ASTMutationListener.h:80

Parameters

const clang::FunctionDecl* FD
clang::QualType ReturnType

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

Description

A default argument was instantiated.

Declared at: clang/include/clang/AST/ASTMutationListener.h:102

Parameters

const clang::ParmVarDecl* D

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

Description

A default member initializer was instantiated.

Declared at: clang/include/clang/AST/ASTMutationListener.h:105

Parameters

const clang::FieldDecl* D

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

Description

A function template's definition was instantiated.

Declared at: clang/include/clang/AST/ASTMutationListener.h:99

Parameters

const clang::FunctionDecl* D

virtual 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/include/clang/AST/ASTMutationListener.h:93

Parameters

const clang::ValueDecl* D

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

Description

A definition has been made visible by being redefined locally.

Declared at: clang/include/clang/AST/ASTMutationListener.h:140

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.

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

Description

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

Declared at: clang/include/clang/AST/ASTMutationListener.h:77

Parameters

const clang::FunctionDecl* FD

virtual 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/include/clang/AST/ASTMutationListener.h:83

Parameters

const clang::CXXDestructorDecl* DD
const clang::FunctionDecl* Delete
clang::Expr* ThisArg

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

Description

A templated variable's definition was implicitly instantiated.

Declared at: clang/include/clang/AST/ASTMutationListener.h:96

Parameters

const clang::VarDecl* D

virtual ~ASTMutationListener()

Declared at: clang/include/clang/AST/ASTMutationListener.h:48