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