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: