clang: include/clang/AST/ASTMutationListener.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12#ifndef LLVM_CLANG_AST_ASTMUTATIONLISTENER_H
13#define LLVM_CLANG_AST_ASTMUTATIONLISTENER_H
14
16 class Attr;
17 class ClassTemplateDecl;
18 class ClassTemplateSpecializationDecl;
19 class ConstructorUsingShadowDecl;
20 class CXXDestructorDecl;
21 class CXXRecordDecl;
23 class DeclContext;
24 class Expr;
25 class FieldDecl;
26 class FunctionDecl;
27 class FunctionTemplateDecl;
29 class NamedDecl;
30 class NamespaceDecl;
31 class ObjCCategoryDecl;
32 class ObjCContainerDecl;
33 class ObjCInterfaceDecl;
34 class ObjCPropertyDecl;
35 class ParmVarDecl;
36 class QualType;
37 class RecordDecl;
38 class TagDecl;
39 class TranslationUnitDecl;
40 class ValueDecl;
41 class VarDecl;
42 class VarTemplateDecl;
43 class VarTemplateSpecializationDecl;
44
45
46
47
49public:
51
52
54
55
57
58
60
61
62
65
66
67
68 virtual void
71
72
73
76
77
78
80
81
83
84
87 Expr *ThisArg) {}
88
89
91
92
93
94
96
97
99
100
102
103
105
106
108
109
112
113
114
115
117
118
119
120
121
123
124
125
126
127
128
131
132
133
134
136
137
138
139
140
141
143
144
145
146
147
148
151
152
154
155
156
157
158
159
161
162
163
164
165
166
168
169
170
171
172
173
176
177
178
179};
180
181}
182
183#endif
llvm::MachO::Record Record
An abstract interface that should be implemented by listeners that want to be notified when an AST en...
virtual void DeclarationMarkedOpenMPThreadPrivate(const Decl *D)
A declaration is marked as OpenMP threadprivate which was not previously marked as threadprivate.
virtual void AddedCXXTemplateSpecialization(const VarTemplateDecl *TD, const VarTemplateSpecializationDecl *D)
A template specialization (or partial one) was added to the template declaration.
virtual void EnteringModulePurview()
The parser find the named module declaration.
virtual void DefaultArgumentInstantiated(const ParmVarDecl *D)
A default argument was instantiated.
virtual void AddedStaticLocalNumbers(const Decl *D, unsigned Number)
An static local number was added to a Decl.
virtual void VariableDefinitionInstantiated(const VarDecl *D)
A templated variable's definition was implicitly instantiated.
virtual ~ASTMutationListener()
virtual void ResolvedExceptionSpec(const FunctionDecl *FD)
A function's exception specification has been evaluated or instantiated.
virtual void ResolvedOperatorDelete(const CXXDestructorDecl *DD, const FunctionDecl *Delete, Expr *ThisArg)
A virtual destructor's operator delete has been resolved.
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 RedefinedHiddenDefinition(const NamedDecl *D, Module *M)
A definition has been made visible by being redefined locally.
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 CompletedTagDefinition(const TagDecl *D)
A new TagDecl definition was completed.
virtual void AddedManglingNumber(const Decl *D, unsigned Number)
An mangling number was added to a Decl.
virtual void DeclarationMarkedOpenMPAllocate(const Decl *D, const Attr *A)
A declaration is marked as a variable with OpenMP allocator.
virtual void AddedVisibleDecl(const DeclContext *DC, const Decl *D)
A new declaration with name has been added to a DeclContext.
virtual void DefaultMemberInitializerInstantiated(const FieldDecl *D)
A default member initializer was instantiated.
virtual void AddedCXXImplicitMember(const CXXRecordDecl *RD, const Decl *D)
An implicit member was added after the definition was completed.
virtual void FunctionDefinitionInstantiated(const FunctionDecl *D)
A function template's definition was instantiated.
virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType)
A function's return type has been deduced.
virtual void AddedAttributeToRecord(const Attr *Attr, const RecordDecl *Record)
An attribute was added to a RecordDecl.
virtual void InstantiationRequested(const ValueDecl *D)
The instantiation of a templated function or variable was requested.
virtual void AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD, const FunctionDecl *D)
A template specialization (or partial one) was added to the template declaration.
virtual void AddedCXXTemplateSpecialization(const ClassTemplateDecl *TD, const ClassTemplateSpecializationDecl *D)
A template specialization (or partial one) was added to the template declaration.
virtual void CompletedImplicitDefinition(const FunctionDecl *D)
An implicit member got a definition.
virtual void AddedAnonymousNamespace(const TranslationUnitDecl *TU, NamespaceDecl *AnonNamespace)
An anonymous namespace was added the translation unit decl.
Attr - This represents one attribute.
Represents a C++ destructor within a class.
Represents a C++ struct/union/class.
Declaration of a class template.
Represents a class template specialization, which refers to a class template with a given set of temp...
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
Decl - This represents one declaration (or definition), e.g.
This represents one expression.
Represents a member of a struct/union/class.
Represents a function declaration or definition.
Declaration of a template function.
Describes a module or submodule.
This represents a decl that may have a name.
Represent a C++ namespace.
ObjCCategoryDecl - Represents a category declaration.
Represents an ObjC class declaration.
Represents a parameter to a function.
A (possibly-)qualified type.
Represents a struct/union/class.
Represents the declaration of a struct/union/class/enum.
The top declaration context.
Represent the declaration of a variable (in which case it is an lvalue) a function (in which case it ...
Represents a variable declaration or definition.
Declaration of a variable template.
Represents a variable template specialization, which refers to a variable template with a given set o...
@ Decl
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
The JSON file list parser is used to communicate input to InstallAPI.
@ Delete
'delete' clause, allowed on the 'exit data' construct.
@ Module
Module linkage, which indicates that the entity can be referred to from other translation units withi...