clang: clang::ASTDeclMerger Class Reference (original) (raw)
| Public Member Functions | |
|---|---|
| ASTDeclMerger (ASTReader &Reader) | |
| void | mergeLambda (CXXRecordDecl *D, RedeclarableResult &Redecl, Decl &Context, unsigned Number) |
| Attempt to merge D with a previous declaration of the same lambda, which is found by its index within its context declaration, if it has one. | |
| template<typename T> | |
| void | mergeRedeclarableImpl (Redeclarable< T > *D, T *Existing, GlobalDeclID KeyDeclID) |
| Attempts to merge the given declaration (D) with another declaration of the same entity. | |
| template<typename T> | |
| void | mergeRedeclarable (Redeclarable< T > *D, T *Existing, RedeclarableResult &Redecl) |
| void | mergeTemplatePattern (RedeclarableTemplateDecl *D, RedeclarableTemplateDecl *Existing, bool IsKeyDecl) |
| Merge together the pattern declarations from two template declarations. | |
| void | MergeDefinitionData (CXXRecordDecl *D, struct CXXRecordDecl::DefinitionData &&NewDD) |
| void | MergeDefinitionData (ObjCInterfaceDecl *D, struct ObjCInterfaceDecl::DefinitionData &&NewDD) |
| void | MergeDefinitionData (ObjCProtocolDecl *D, struct ObjCProtocolDecl::DefinitionData &&NewDD) |
Definition at line 103 of file ASTReaderDecl.cpp.
| clang::ASTDeclMerger::ASTDeclMerger ( ASTReader & Reader) | inline |
|---|
◆ MergeDefinitionData() [1/3]
| void ASTDeclMerger::MergeDefinitionData | ( | CXXRecordDecl * | D, |
|---|---|---|---|
| struct CXXRecordDecl::DefinitionData && | NewDD ) |
◆ MergeDefinitionData() [2/3]
| void ASTDeclMerger::MergeDefinitionData | ( | ObjCInterfaceDecl * | D, |
|---|---|---|---|
| struct ObjCInterfaceDecl::DefinitionData && | NewDD ) |
◆ MergeDefinitionData() [3/3]
| void ASTDeclMerger::MergeDefinitionData | ( | ObjCProtocolDecl * | D, |
|---|---|---|---|
| struct ObjCProtocolDecl::DefinitionData && | NewDD ) |
◆ mergeLambda()
Attempt to merge D with a previous declaration of the same lambda, which is found by its index within its context declaration, if it has one.
We can't look up lambdas in their enclosing lexical or semantic context in general, because for lambdas in variables, both of those might be a namespace or the translation unit.
Definition at line 2900 of file ASTReaderDecl.cpp.
References clang::cast(), clang::TagDecl::isFirstDecl(), and mergeRedeclarable().
◆ mergeRedeclarable()
template<typename T>
| void clang::ASTDeclMerger::mergeRedeclarable ( Redeclarable< T > * D, T * Existing, RedeclarableResult & Redecl ) | inline |
|---|
◆ mergeRedeclarableImpl()
◆ mergeTemplatePattern()
The documentation for this class was generated from the following file:
- lib/Serialization/ASTReaderDecl.cpp