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

Inherited from ASTMutationListener:

Methods

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:87

Parameters

ArrayRef<clang::ASTMutationListener*> L

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)

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)

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)

Description

A templated variable's definition was implicitly instantiated.

Declared at: clang/lib/Frontend/MultiplexConsumer.cpp:104

Parameters

const clang::VarDecl* D