class ASTDeclReader
Declaration
class ASTDeclReader : public DeclVisitor { /* full declaration omitted */ };
Description
A simple visitor class that helps create declaration visitors. This class does not preserve constness of Decl pointers (see also ConstDeclVisitor).
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:81
Inherits from: DeclVisitor
Member Variables
- private clang::ASTReader& Reader
- private clang::ASTRecordReader& Record
- private ASTReader::RecordLocation Loc
- private const clang::serialization::DeclID ThisDeclID
- private const clang::SourceLocation ThisDeclLoc
- private clang::serialization::TypeID DeferredTypeID = 0
- private unsigned int AnonymousDeclNumber
- private clang::serialization::GlobalDeclID NamedDeclForTagDecl = 0
- private clang::IdentifierInfo* TypedefNameForLinkage = nullptr
- private bool HasPendingBody = false
- private bool IsDeclMarkedUsed = false
- A flag to carry the information for a decl from the entity is used. We use it to delay the marking of the canonical decl as used until the entire declaration is deserialized and merged.
Method Overview
- public ASTDeclReader(clang::ASTReader & Reader, clang::ASTRecordReader & Record, ASTReader::RecordLocation Loc, clang::serialization::DeclID thisDeclID, clang::SourceLocation ThisDeclLoc)
- public template <typename T>static void AddLazySpecializations(T * D, SmallVectorImpl<serialization::DeclID> & IDs)
- private uint64_t GetCurrentCursorOffset()
- private void MergeDefinitionData(clang::ObjCProtocolDecl * D, struct ObjCProtocolDecl::DefinitionData && NewDD)
- private void MergeDefinitionData(clang::ObjCInterfaceDecl * D, struct ObjCInterfaceDecl::DefinitionData && NewDD)
- private void MergeDefinitionData(clang::CXXRecordDecl * D, struct CXXRecordDecl::DefinitionData && NewDD)
- private void ReadCXXDefinitionData(struct CXXRecordDecl::DefinitionData & Data, const clang::CXXRecordDecl * D)
- private void ReadCXXRecordDefinition(clang::CXXRecordDecl * D, bool Update)
- public void ReadFunctionDefinition(clang::FunctionDecl * FD)
- private uint64_t ReadGlobalOffset()
- private uint64_t ReadLocalOffset()
- private void ReadObjCDefinitionData(struct ObjCInterfaceDecl::DefinitionData & Data)
- private void ReadObjCDefinitionData(struct ObjCProtocolDecl::DefinitionData & Data)
- public clang::ObjCTypeParamList * ReadObjCTypeParamList()
- public void UpdateDecl(clang::Decl * D, SmallVectorImpl<serialization::DeclID> &)
- public void Visit(clang::Decl * D)
- public void VisitAccessSpecDecl(clang::AccessSpecDecl * D)
- public void VisitBindingDecl(clang::BindingDecl * BD)
- public void VisitBlockDecl(clang::BlockDecl * BD)
- public void VisitBuiltinTemplateDecl(clang::BuiltinTemplateDecl * D)
- public void VisitCXXConstructorDecl(clang::CXXConstructorDecl * D)
- public void VisitCXXConversionDecl(clang::CXXConversionDecl * D)
- public void VisitCXXDeductionGuideDecl(clang::CXXDeductionGuideDecl * GD)
- public void VisitCXXDestructorDecl(clang::CXXDestructorDecl * D)
- public void VisitCXXMethodDecl(clang::CXXMethodDecl * D)
- public void VisitCXXRecordDecl(clang::CXXRecordDecl * D)
- public clang::ASTDeclReader::RedeclarableResult VisitCXXRecordDeclImpl(clang::CXXRecordDecl * D)
- public void VisitCapturedDecl(clang::CapturedDecl * CD)
- public void VisitClassScopeFunctionSpecializationDecl(clang::ClassScopeFunctionSpecializationDecl * D)
- public void VisitClassTemplateDecl(clang::ClassTemplateDecl * D)
- public void VisitClassTemplatePartialSpecializationDecl(clang::ClassTemplatePartialSpecializationDecl * D)
- public void VisitClassTemplateSpecializationDecl(clang::ClassTemplateSpecializationDecl * D)
- public clang::ASTDeclReader::RedeclarableResult VisitClassTemplateSpecializationDeclImpl(clang::ClassTemplateSpecializationDecl * D)
- public void VisitConceptDecl(clang::ConceptDecl * D)
- public void VisitConstructorUsingShadowDecl(clang::ConstructorUsingShadowDecl * D)
- public void VisitDecl(clang::Decl * D)
- public std::pair<uint64_t, uint64_t> VisitDeclContext(clang::DeclContext * DC)
- public void VisitDeclaratorDecl(clang::DeclaratorDecl * DD)
- public void VisitDecompositionDecl(clang::DecompositionDecl * DD)
- public void VisitEmptyDecl(clang::EmptyDecl * D)
- public void VisitEnumConstantDecl(clang::EnumConstantDecl * ECD)
- public void VisitEnumDecl(clang::EnumDecl * ED)
- public void VisitExportDecl(clang::ExportDecl * D)
- public void VisitFieldDecl(clang::FieldDecl * FD)
- public void VisitFileScopeAsmDecl(clang::FileScopeAsmDecl * AD)
- public void VisitFriendDecl(clang::FriendDecl * D)
- public void VisitFriendTemplateDecl(clang::FriendTemplateDecl * D)
- public void VisitFunctionDecl(clang::FunctionDecl * FD)
- public void VisitFunctionTemplateDecl(clang::FunctionTemplateDecl * D)
- public void VisitImplicitParamDecl(clang::ImplicitParamDecl * PD)
- public void VisitImportDecl(clang::ImportDecl * D)
- public void VisitIndirectFieldDecl(clang::IndirectFieldDecl * FD)
- public void VisitLabelDecl(clang::LabelDecl * LD)
- public void VisitLifetimeExtendedTemporaryDecl(clang::LifetimeExtendedTemporaryDecl * D)
- public void VisitLinkageSpecDecl(clang::LinkageSpecDecl * D)
- public void VisitMSGuidDecl(clang::MSGuidDecl * D)
- public void VisitMSPropertyDecl(clang::MSPropertyDecl * FD)
- public void VisitNamedDecl(clang::NamedDecl * ND)
- public void VisitNamespaceAliasDecl(clang::NamespaceAliasDecl * D)
- public void VisitNamespaceDecl(clang::NamespaceDecl * D)
- public void VisitNonTypeTemplateParmDecl(clang::NonTypeTemplateParmDecl * D)
- public void VisitOMPAllocateDecl(clang::OMPAllocateDecl * D)
- public void VisitOMPCapturedExprDecl(clang::OMPCapturedExprDecl * D)
- public void VisitOMPDeclareMapperDecl(clang::OMPDeclareMapperDecl * D)
- public void VisitOMPDeclareReductionDecl(clang::OMPDeclareReductionDecl * D)
- public void VisitOMPRequiresDecl(clang::OMPRequiresDecl * D)
- public void VisitOMPThreadPrivateDecl(clang::OMPThreadPrivateDecl * D)
- public void VisitObjCAtDefsFieldDecl(clang::ObjCAtDefsFieldDecl * D)
- public void VisitObjCCategoryDecl(clang::ObjCCategoryDecl * D)
- public void VisitObjCCategoryImplDecl(clang::ObjCCategoryImplDecl * D)
- public void VisitObjCCompatibleAliasDecl(clang::ObjCCompatibleAliasDecl * D)
- public void VisitObjCContainerDecl(clang::ObjCContainerDecl * D)
- public void VisitObjCImplDecl(clang::ObjCImplDecl * D)
- public void VisitObjCImplementationDecl(clang::ObjCImplementationDecl * D)
- public void VisitObjCInterfaceDecl(clang::ObjCInterfaceDecl * D)
- public void VisitObjCIvarDecl(clang::ObjCIvarDecl * D)
- public void VisitObjCMethodDecl(clang::ObjCMethodDecl * D)
- public void VisitObjCPropertyDecl(clang::ObjCPropertyDecl * D)
- public void VisitObjCPropertyImplDecl(clang::ObjCPropertyImplDecl * D)
- public void VisitObjCProtocolDecl(clang::ObjCProtocolDecl * D)
- public void VisitObjCTypeParamDecl(clang::ObjCTypeParamDecl * D)
- public void VisitParmVarDecl(clang::ParmVarDecl * PD)
- public void VisitPragmaCommentDecl(clang::PragmaCommentDecl * D)
- public void VisitPragmaDetectMismatchDecl(clang::PragmaDetectMismatchDecl * D)
- public void VisitRecordDecl(clang::RecordDecl * RD)
- public clang::ASTDeclReader::RedeclarableResult VisitRecordDeclImpl(clang::RecordDecl * RD)
- public template <typename T>clang::ASTDeclReader::RedeclarableResult VisitRedeclarable(Redeclarable<T> * D)
- public clang::ASTDeclReader::RedeclarableResult VisitRedeclarableTemplateDecl(clang::RedeclarableTemplateDecl * D)
- public void VisitRequiresExprBodyDecl(clang::RequiresExprBodyDecl * D)
- public void VisitStaticAssertDecl(clang::StaticAssertDecl * D)
- public clang::ASTDeclReader::RedeclarableResult VisitTagDecl(clang::TagDecl * TD)
- public clang::serialization::DeclID VisitTemplateDecl(clang::TemplateDecl * D)
- public void VisitTemplateParamObjectDecl(clang::TemplateParamObjectDecl * D)
- public void VisitTemplateTemplateParmDecl(clang::TemplateTemplateParmDecl * D)
- public void VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl * D)
- public void VisitTranslationUnitDecl(clang::TranslationUnitDecl * TU)
- public void VisitTypeAliasDecl(clang::TypeAliasDecl * TD)
- public void VisitTypeAliasTemplateDecl(clang::TypeAliasTemplateDecl * D)
- public void VisitTypeDecl(clang::TypeDecl * TD)
- public void VisitTypedefDecl(clang::TypedefDecl * TD)
- public clang::ASTDeclReader::RedeclarableResult VisitTypedefNameDecl(clang::TypedefNameDecl * TD)
- public void VisitUnnamedGlobalConstantDecl(clang::UnnamedGlobalConstantDecl * D)
- public void VisitUnresolvedUsingIfExistsDecl(clang::UnresolvedUsingIfExistsDecl * D)
- public void VisitUnresolvedUsingTypenameDecl(clang::UnresolvedUsingTypenameDecl * D)
- public void VisitUnresolvedUsingValueDecl(clang::UnresolvedUsingValueDecl * D)
- public void VisitUsingDecl(clang::UsingDecl * D)
- public void VisitUsingDirectiveDecl(clang::UsingDirectiveDecl * D)
- public void VisitUsingEnumDecl(clang::UsingEnumDecl * D)
- public void VisitUsingPackDecl(clang::UsingPackDecl * D)
- public void VisitUsingShadowDecl(clang::UsingShadowDecl * D)
- public void VisitValueDecl(clang::ValueDecl * VD)
- public void VisitVarDecl(clang::VarDecl * VD)
- public clang::ASTDeclReader::RedeclarableResult VisitVarDeclImpl(clang::VarDecl * D)
- public void VisitVarTemplateDecl(clang::VarTemplateDecl * D)
- public void VisitVarTemplatePartialSpecializationDecl(clang::VarTemplatePartialSpecializationDecl * D)
- public void VisitVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl * D)
- public clang::ASTDeclReader::RedeclarableResult VisitVarTemplateSpecializationDeclImpl(clang::VarTemplateSpecializationDecl * D)
- public static void attachLatestDecl(clang::Decl * D, clang::Decl * latest)
- public static void attachLatestDeclImpl(...)
- public template <typename DeclT>static void attachLatestDeclImpl(Redeclarable<DeclT> * D, clang::Decl * Latest)
- public static void attachPreviousDecl(clang::ASTReader & Reader, clang::Decl * D, clang::Decl * Previous, clang::Decl * Canon)
- public static void attachPreviousDeclImpl(clang::ASTReader & Reader, ...)
- public template <typename DeclT>static void attachPreviousDeclImpl(clang::ASTReader & Reader, Redeclarable<DeclT> * D, clang::Decl * Previous, clang::Decl * Canon)
- private clang::ASTDeclReader::FindExistingResult findExisting(clang::NamedDecl * D)
- private static clang::NamedDecl * getAnonymousDeclForMerging(clang::ASTReader & Reader, clang::DeclContext * DC, unsigned int Index)
- public static clang::Decl * getMostRecentDecl(clang::Decl * D)
- public template <typename DeclT>static clang::Decl * getMostRecentDeclImpl(Redeclarable<DeclT> * D)
- public static clang::Decl * getMostRecentDeclImpl(...)
- private static clang::DeclContext * getPrimaryContextForMerging(clang::ASTReader & Reader, clang::DeclContext * DC)
- private static clang::DeclContext * getPrimaryDCForAnonymousDecl(clang::DeclContext * LexicalDC)
- public bool hasPendingBody() const
- public template <typename DeclT>static void markIncompleteDeclChainImpl(Redeclarable<DeclT> * D)
- public static void markIncompleteDeclChainImpl(...)
- public static void mergeInheritableAttributes(clang::ASTReader & Reader, clang::Decl * D, clang::Decl * Previous)
- public template <typename T>void mergeMergeable(Mergeable<T> * D)
- public void mergeMergeable(clang::LifetimeExtendedTemporaryDecl * D)
- public template <typename T>void mergeRedeclarable(Redeclarable<T> * D, T * Existing, clang::ASTDeclReader::RedeclarableResult & Redecl, clang::serialization::DeclID TemplatePatternID = 0)
- public template <typename T>void mergeRedeclarable(Redeclarable<T> * D, clang::ASTDeclReader::RedeclarableResult & Redecl, clang::serialization::DeclID TemplatePatternID = 0)
- public void mergeTemplatePattern(clang::RedeclarableTemplateDecl * D, clang::RedeclarableTemplateDecl * Existing, clang::serialization::DeclID DsID, bool IsKeyDecl)
- private clang::Decl * readDecl()
- private template <typename T>T * readDeclAs()
- private serialization::DeclID readDeclID()
- private void readDeclIDList(SmallVectorImpl<clang::serialization::DeclID> & IDs)
- private clang::Module * readModule()
- private clang::SourceLocation readSourceLocation()
- private clang::SourceRange readSourceRange()
- private std::string readString()
- private serialization::SubmoduleID readSubmoduleID()
- private clang::TypeSourceInfo * readTypeSourceInfo()
- private static void setAnonymousDeclForMerging(clang::ASTReader & Reader, clang::DeclContext * DC, unsigned int Index, clang::NamedDecl * D)
- public static void setNextObjCCategory(clang::ObjCCategoryDecl * Cat, clang::ObjCCategoryDecl * Next)
Methods
¶ASTDeclReader(
clang::ASTReader& Reader,
clang::ASTRecordReader& Record,
ASTReader::RecordLocation Loc,
clang::serialization::DeclID thisDeclID,
clang::SourceLocation ThisDeclLoc)
ASTDeclReader(
clang::ASTReader& Reader,
clang::ASTRecordReader& Record,
ASTReader::RecordLocation Loc,
clang::serialization::DeclID thisDeclID,
clang::SourceLocation ThisDeclLoc)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:250
Parameters
- clang::ASTReader& Reader
- clang::ASTRecordReader& Record
- ASTReader::RecordLocation Loc
- clang::serialization::DeclID thisDeclID
- clang::SourceLocation ThisDeclLoc
¶template <typename T>
static void AddLazySpecializations(
T* D,
SmallVectorImpl<serialization::DeclID>& IDs)
template <typename T>
static void AddLazySpecializations(
T* D,
SmallVectorImpl<serialization::DeclID>& IDs)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:257
Templates
- T
Parameters
- T* D
- SmallVectorImpl<serialization::DeclID>& IDs
¶uint64_t GetCurrentCursorOffset()
uint64_t GetCurrentCursorOffset()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:102
¶void MergeDefinitionData(
clang::ObjCProtocolDecl* D,
struct ObjCProtocolDecl::DefinitionData&&
NewDD)
void MergeDefinitionData(
clang::ObjCProtocolDecl* D,
struct ObjCProtocolDecl::DefinitionData&&
NewDD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:169
Parameters
- clang::ObjCProtocolDecl* D
- struct ObjCProtocolDecl::DefinitionData&& NewDD
¶void MergeDefinitionData(
clang::ObjCInterfaceDecl* D,
struct ObjCInterfaceDecl::DefinitionData&&
NewDD)
void MergeDefinitionData(
clang::ObjCInterfaceDecl* D,
struct ObjCInterfaceDecl::DefinitionData&&
NewDD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:166
Parameters
- clang::ObjCInterfaceDecl* D
- struct ObjCInterfaceDecl::DefinitionData&& NewDD
¶void MergeDefinitionData(
clang::CXXRecordDecl* D,
struct CXXRecordDecl::DefinitionData&& NewDD)
void MergeDefinitionData(
clang::CXXRecordDecl* D,
struct CXXRecordDecl::DefinitionData&& NewDD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:163
Parameters
- clang::CXXRecordDecl* D
- struct CXXRecordDecl::DefinitionData&& NewDD
¶void ReadCXXDefinitionData(
struct CXXRecordDecl::DefinitionData& Data,
const clang::CXXRecordDecl* D)
void ReadCXXDefinitionData(
struct CXXRecordDecl::DefinitionData& Data,
const clang::CXXRecordDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:161
Parameters
- struct CXXRecordDecl::DefinitionData& Data
- const clang::CXXRecordDecl* D
¶void ReadCXXRecordDefinition(
clang::CXXRecordDecl* D,
bool Update)
void ReadCXXRecordDefinition(
clang::CXXRecordDecl* D,
bool Update)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:160
Parameters
- clang::CXXRecordDecl* D
- bool Update
¶void ReadFunctionDefinition(
clang::FunctionDecl* FD)
void ReadFunctionDefinition(
clang::FunctionDecl* FD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:308
Parameters
¶uint64_t ReadGlobalOffset()
uint64_t ReadGlobalOffset()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:110
¶uint64_t ReadLocalOffset()
uint64_t ReadLocalOffset()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:104
¶void ReadObjCDefinitionData(
struct ObjCInterfaceDecl::DefinitionData&
Data)
void ReadObjCDefinitionData(
struct ObjCInterfaceDecl::DefinitionData&
Data)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:165
Parameters
- struct ObjCInterfaceDecl::DefinitionData& Data
¶void ReadObjCDefinitionData(
struct ObjCProtocolDecl::DefinitionData& Data)
void ReadObjCDefinitionData(
struct ObjCProtocolDecl::DefinitionData& Data)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:168
Parameters
- struct ObjCProtocolDecl::DefinitionData& Data
¶clang::ObjCTypeParamList* ReadObjCTypeParamList()
clang::ObjCTypeParamList* ReadObjCTypeParamList()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:435
¶void UpdateDecl(
clang::Decl* D,
SmallVectorImpl<serialization::DeclID>&)
void UpdateDecl(
clang::Decl* D,
SmallVectorImpl<serialization::DeclID>&)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:311
Parameters
- clang::Decl* D
- SmallVectorImpl<serialization::DeclID>&
¶void Visit(clang::Decl* D)
void Visit(clang::Decl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:309
Parameters
- clang::Decl* D
¶void VisitAccessSpecDecl(clang::AccessSpecDecl* D)
void VisitAccessSpecDecl(clang::AccessSpecDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:403
Parameters
¶void VisitBindingDecl(clang::BindingDecl* BD)
void VisitBindingDecl(clang::BindingDecl* BD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:382
Parameters
¶void VisitBlockDecl(clang::BlockDecl* BD)
void VisitBlockDecl(clang::BlockDecl* BD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:407
Parameters
- clang::BlockDecl* BD
¶void VisitBuiltinTemplateDecl(
clang::BuiltinTemplateDecl* D)
void VisitBuiltinTemplateDecl(
clang::BuiltinTemplateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:389
Parameters
¶void VisitCXXConstructorDecl(
clang::CXXConstructorDecl* D)
void VisitCXXConstructorDecl(
clang::CXXConstructorDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:368
Parameters
¶void VisitCXXConversionDecl(
clang::CXXConversionDecl* D)
void VisitCXXConversionDecl(
clang::CXXConversionDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:370
Parameters
¶void VisitCXXDeductionGuideDecl(
clang::CXXDeductionGuideDecl* GD)
void VisitCXXDeductionGuideDecl(
clang::CXXDeductionGuideDecl* GD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:366
Parameters
¶void VisitCXXDestructorDecl(
clang::CXXDestructorDecl* D)
void VisitCXXDestructorDecl(
clang::CXXDestructorDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:369
Parameters
¶void VisitCXXMethodDecl(clang::CXXMethodDecl* D)
void VisitCXXMethodDecl(clang::CXXMethodDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:367
Parameters
¶void VisitCXXRecordDecl(clang::CXXRecordDecl* D)
void VisitCXXRecordDecl(clang::CXXRecordDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:338
Parameters
¶clang::ASTDeclReader::RedeclarableResult
VisitCXXRecordDeclImpl(clang::CXXRecordDecl* D)
clang::ASTDeclReader::RedeclarableResult
VisitCXXRecordDeclImpl(clang::CXXRecordDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:337
Parameters
¶void VisitCapturedDecl(clang::CapturedDecl* CD)
void VisitCapturedDecl(clang::CapturedDecl* CD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:408
Parameters
¶void VisitClassScopeFunctionSpecializationDecl(
clang::ClassScopeFunctionSpecializationDecl*
D)
void VisitClassScopeFunctionSpecializationDecl(
clang::ClassScopeFunctionSpecializationDecl*
D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:349
Parameters
¶void VisitClassTemplateDecl(
clang::ClassTemplateDecl* D)
void VisitClassTemplateDecl(
clang::ClassTemplateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:388
Parameters
¶void VisitClassTemplatePartialSpecializationDecl(
clang::ClassTemplatePartialSpecializationDecl*
D)
void VisitClassTemplatePartialSpecializationDecl(
clang::ClassTemplatePartialSpecializationDecl*
D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:347
Parameters
¶void VisitClassTemplateSpecializationDecl(
clang::ClassTemplateSpecializationDecl* D)
void VisitClassTemplateSpecializationDecl(
clang::ClassTemplateSpecializationDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:342
Parameters
¶clang::ASTDeclReader::RedeclarableResult
VisitClassTemplateSpecializationDeclImpl(
clang::ClassTemplateSpecializationDecl* D)
clang::ASTDeclReader::RedeclarableResult
VisitClassTemplateSpecializationDeclImpl(
clang::ClassTemplateSpecializationDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:339
Parameters
¶void VisitConceptDecl(clang::ConceptDecl* D)
void VisitConceptDecl(clang::ConceptDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:385
Parameters
¶void VisitConstructorUsingShadowDecl(
clang::ConstructorUsingShadowDecl* D)
void VisitConstructorUsingShadowDecl(
clang::ConstructorUsingShadowDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:398
Parameters
¶void VisitDecl(clang::Decl* D)
void VisitDecl(clang::Decl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:318
Parameters
- clang::Decl* D
¶std::pair<uint64_t, uint64_t> VisitDeclContext(
clang::DeclContext* DC)
std::pair<uint64_t, uint64_t> VisitDeclContext(
clang::DeclContext* DC)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:412
Parameters
¶void VisitDeclaratorDecl(
clang::DeclaratorDecl* DD)
void VisitDeclaratorDecl(
clang::DeclaratorDecl* DD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:364
Parameters
¶void VisitDecompositionDecl(
clang::DecompositionDecl* DD)
void VisitDecompositionDecl(
clang::DecompositionDecl* DD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:381
Parameters
¶void VisitEmptyDecl(clang::EmptyDecl* D)
void VisitEmptyDecl(clang::EmptyDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:409
Parameters
¶void VisitEnumConstantDecl(
clang::EnumConstantDecl* ECD)
void VisitEnumConstantDecl(
clang::EnumConstantDecl* ECD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:362
Parameters
¶void VisitEnumDecl(clang::EnumDecl* ED)
void VisitEnumDecl(clang::EnumDecl* ED)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:334
Parameters
- clang::EnumDecl* ED
¶void VisitExportDecl(clang::ExportDecl* D)
void VisitExportDecl(clang::ExportDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:400
Parameters
¶void VisitFieldDecl(clang::FieldDecl* FD)
void VisitFieldDecl(clang::FieldDecl* FD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:371
Parameters
- clang::FieldDecl* FD
¶void VisitFileScopeAsmDecl(
clang::FileScopeAsmDecl* AD)
void VisitFileScopeAsmDecl(
clang::FileScopeAsmDecl* AD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:401
Parameters
¶void VisitFriendDecl(clang::FriendDecl* D)
void VisitFriendDecl(clang::FriendDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:404
Parameters
¶void VisitFriendTemplateDecl(
clang::FriendTemplateDecl* D)
void VisitFriendTemplateDecl(
clang::FriendTemplateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:405
Parameters
¶void VisitFunctionDecl(clang::FunctionDecl* FD)
void VisitFunctionDecl(clang::FunctionDecl* FD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:365
Parameters
¶void VisitFunctionTemplateDecl(
clang::FunctionTemplateDecl* D)
void VisitFunctionTemplateDecl(
clang::FunctionTemplateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:391
Parameters
¶void VisitImplicitParamDecl(
clang::ImplicitParamDecl* PD)
void VisitImplicitParamDecl(
clang::ImplicitParamDecl* PD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:379
Parameters
¶void VisitImportDecl(clang::ImportDecl* D)
void VisitImportDecl(clang::ImportDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:402
Parameters
¶void VisitIndirectFieldDecl(
clang::IndirectFieldDecl* FD)
void VisitIndirectFieldDecl(
clang::IndirectFieldDecl* FD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:376
Parameters
¶void VisitLabelDecl(clang::LabelDecl* LD)
void VisitLabelDecl(clang::LabelDecl* LD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:323
Parameters
- clang::LabelDecl* LD
¶void VisitLifetimeExtendedTemporaryDecl(
clang::LifetimeExtendedTemporaryDecl* D)
void VisitLifetimeExtendedTemporaryDecl(
clang::LifetimeExtendedTemporaryDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:410
Parameters
¶void VisitLinkageSpecDecl(
clang::LinkageSpecDecl* D)
void VisitLinkageSpecDecl(
clang::LinkageSpecDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:399
Parameters
¶void VisitMSGuidDecl(clang::MSGuidDecl* D)
void VisitMSGuidDecl(clang::MSGuidDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:373
Parameters
¶void VisitMSPropertyDecl(
clang::MSPropertyDecl* FD)
void VisitMSPropertyDecl(
clang::MSPropertyDecl* FD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:372
Parameters
¶void VisitNamedDecl(clang::NamedDecl* ND)
void VisitNamedDecl(clang::NamedDecl* ND)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:322
Parameters
- clang::NamedDecl* ND
¶void VisitNamespaceAliasDecl(
clang::NamespaceAliasDecl* D)
void VisitNamespaceAliasDecl(
clang::NamespaceAliasDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:326
Parameters
¶void VisitNamespaceDecl(clang::NamespaceDecl* D)
void VisitNamespaceDecl(clang::NamespaceDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:324
Parameters
¶void VisitNonTypeTemplateParmDecl(
clang::NonTypeTemplateParmDecl* D)
void VisitNonTypeTemplateParmDecl(
clang::NonTypeTemplateParmDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:383
Parameters
¶void VisitOMPAllocateDecl(
clang::OMPAllocateDecl* D)
void VisitOMPAllocateDecl(
clang::OMPAllocateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:453
Parameters
¶void VisitOMPCapturedExprDecl(
clang::OMPCapturedExprDecl* D)
void VisitOMPCapturedExprDecl(
clang::OMPCapturedExprDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:457
Parameters
¶void VisitOMPDeclareMapperDecl(
clang::OMPDeclareMapperDecl* D)
void VisitOMPDeclareMapperDecl(
clang::OMPDeclareMapperDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:455
Parameters
¶void VisitOMPDeclareReductionDecl(
clang::OMPDeclareReductionDecl* D)
void VisitOMPDeclareReductionDecl(
clang::OMPDeclareReductionDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:454
Parameters
¶void VisitOMPRequiresDecl(
clang::OMPRequiresDecl* D)
void VisitOMPRequiresDecl(
clang::OMPRequiresDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:456
Parameters
¶void VisitOMPThreadPrivateDecl(
clang::OMPThreadPrivateDecl* D)
void VisitOMPThreadPrivateDecl(
clang::OMPThreadPrivateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:452
Parameters
¶void VisitObjCAtDefsFieldDecl(
clang::ObjCAtDefsFieldDecl* D)
void VisitObjCAtDefsFieldDecl(
clang::ObjCAtDefsFieldDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:444
Parameters
¶void VisitObjCCategoryDecl(
clang::ObjCCategoryDecl* D)
void VisitObjCCategoryDecl(
clang::ObjCCategoryDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:445
Parameters
¶void VisitObjCCategoryImplDecl(
clang::ObjCCategoryImplDecl* D)
void VisitObjCCategoryImplDecl(
clang::ObjCCategoryImplDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:447
Parameters
¶void VisitObjCCompatibleAliasDecl(
clang::ObjCCompatibleAliasDecl* D)
void VisitObjCCompatibleAliasDecl(
clang::ObjCCompatibleAliasDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:449
Parameters
¶void VisitObjCContainerDecl(
clang::ObjCContainerDecl* D)
void VisitObjCContainerDecl(
clang::ObjCContainerDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:440
Parameters
¶void VisitObjCImplDecl(clang::ObjCImplDecl* D)
void VisitObjCImplDecl(clang::ObjCImplDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:446
Parameters
¶void VisitObjCImplementationDecl(
clang::ObjCImplementationDecl* D)
void VisitObjCImplementationDecl(
clang::ObjCImplementationDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:448
Parameters
¶void VisitObjCInterfaceDecl(
clang::ObjCInterfaceDecl* D)
void VisitObjCInterfaceDecl(
clang::ObjCInterfaceDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:441
Parameters
¶void VisitObjCIvarDecl(clang::ObjCIvarDecl* D)
void VisitObjCIvarDecl(clang::ObjCIvarDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:442
Parameters
¶void VisitObjCMethodDecl(clang::ObjCMethodDecl* D)
void VisitObjCMethodDecl(clang::ObjCMethodDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:438
Parameters
¶void VisitObjCPropertyDecl(
clang::ObjCPropertyDecl* D)
void VisitObjCPropertyDecl(
clang::ObjCPropertyDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:450
Parameters
¶void VisitObjCPropertyImplDecl(
clang::ObjCPropertyImplDecl* D)
void VisitObjCPropertyImplDecl(
clang::ObjCPropertyImplDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:451
Parameters
¶void VisitObjCProtocolDecl(
clang::ObjCProtocolDecl* D)
void VisitObjCProtocolDecl(
clang::ObjCProtocolDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:443
Parameters
¶void VisitObjCTypeParamDecl(
clang::ObjCTypeParamDecl* D)
void VisitObjCTypeParamDecl(
clang::ObjCTypeParamDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:439
Parameters
¶void VisitParmVarDecl(clang::ParmVarDecl* PD)
void VisitParmVarDecl(clang::ParmVarDecl* PD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:380
Parameters
¶void VisitPragmaCommentDecl(
clang::PragmaCommentDecl* D)
void VisitPragmaCommentDecl(
clang::PragmaCommentDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:319
Parameters
¶void VisitPragmaDetectMismatchDecl(
clang::PragmaDetectMismatchDecl* D)
void VisitPragmaDetectMismatchDecl(
clang::PragmaDetectMismatchDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:320
Parameters
¶void VisitRecordDecl(clang::RecordDecl* RD)
void VisitRecordDecl(clang::RecordDecl* RD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:336
Parameters
¶clang::ASTDeclReader::RedeclarableResult
VisitRecordDeclImpl(clang::RecordDecl* RD)
clang::ASTDeclReader::RedeclarableResult
VisitRecordDeclImpl(clang::RecordDecl* RD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:335
Parameters
¶template <typename T>
clang::ASTDeclReader::RedeclarableResult
VisitRedeclarable(Redeclarable<T>* D)
template <typename T>
clang::ASTDeclReader::RedeclarableResult
VisitRedeclarable(Redeclarable<T>* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:415
Templates
- T
Parameters
- Redeclarable<T>* D
¶clang::ASTDeclReader::RedeclarableResult
VisitRedeclarableTemplateDecl(
clang::RedeclarableTemplateDecl* D)
clang::ASTDeclReader::RedeclarableResult
VisitRedeclarableTemplateDecl(
clang::RedeclarableTemplateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:387
Parameters
¶void VisitRequiresExprBodyDecl(
clang::RequiresExprBodyDecl* D)
void VisitRequiresExprBodyDecl(
clang::RequiresExprBodyDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:386
Parameters
¶void VisitStaticAssertDecl(
clang::StaticAssertDecl* D)
void VisitStaticAssertDecl(
clang::StaticAssertDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:406
Parameters
¶clang::ASTDeclReader::RedeclarableResult
VisitTagDecl(clang::TagDecl* TD)
clang::ASTDeclReader::RedeclarableResult
VisitTagDecl(clang::TagDecl* TD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:333
Parameters
- clang::TagDecl* TD
¶clang::serialization::DeclID VisitTemplateDecl(
clang::TemplateDecl* D)
clang::serialization::DeclID VisitTemplateDecl(
clang::TemplateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:384
Parameters
¶void VisitTemplateParamObjectDecl(
clang::TemplateParamObjectDecl* D)
void VisitTemplateParamObjectDecl(
clang::TemplateParamObjectDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:375
Parameters
¶void VisitTemplateTemplateParmDecl(
clang::TemplateTemplateParmDecl* D)
void VisitTemplateTemplateParmDecl(
clang::TemplateTemplateParmDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:392
Parameters
¶void VisitTemplateTypeParmDecl(
clang::TemplateTypeParmDecl* D)
void VisitTemplateTypeParmDecl(
clang::TemplateTypeParmDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:360
Parameters
¶void VisitTranslationUnitDecl(
clang::TranslationUnitDecl* TU)
void VisitTranslationUnitDecl(
clang::TranslationUnitDecl* TU)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:321
Parameters
¶void VisitTypeAliasDecl(clang::TypeAliasDecl* TD)
void VisitTypeAliasDecl(clang::TypeAliasDecl* TD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:330
Parameters
¶void VisitTypeAliasTemplateDecl(
clang::TypeAliasTemplateDecl* D)
void VisitTypeAliasTemplateDecl(
clang::TypeAliasTemplateDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:393
Parameters
¶void VisitTypeDecl(clang::TypeDecl* TD)
void VisitTypeDecl(clang::TypeDecl* TD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:327
Parameters
- clang::TypeDecl* TD
¶void VisitTypedefDecl(clang::TypedefDecl* TD)
void VisitTypedefDecl(clang::TypedefDecl* TD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:329
Parameters
¶clang::ASTDeclReader::RedeclarableResult
VisitTypedefNameDecl(clang::TypedefNameDecl* TD)
clang::ASTDeclReader::RedeclarableResult
VisitTypedefNameDecl(clang::TypedefNameDecl* TD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:328
Parameters
¶void VisitUnnamedGlobalConstantDecl(
clang::UnnamedGlobalConstantDecl* D)
void VisitUnnamedGlobalConstantDecl(
clang::UnnamedGlobalConstantDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:374
Parameters
¶void VisitUnresolvedUsingIfExistsDecl(
clang::UnresolvedUsingIfExistsDecl* D)
void VisitUnresolvedUsingIfExistsDecl(
clang::UnresolvedUsingIfExistsDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:332
Parameters
¶void VisitUnresolvedUsingTypenameDecl(
clang::UnresolvedUsingTypenameDecl* D)
void VisitUnresolvedUsingTypenameDecl(
clang::UnresolvedUsingTypenameDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:331
Parameters
¶void VisitUnresolvedUsingValueDecl(
clang::UnresolvedUsingValueDecl* D)
void VisitUnresolvedUsingValueDecl(
clang::UnresolvedUsingValueDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:363
Parameters
¶void VisitUsingDecl(clang::UsingDecl* D)
void VisitUsingDecl(clang::UsingDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:394
Parameters
¶void VisitUsingDirectiveDecl(
clang::UsingDirectiveDecl* D)
void VisitUsingDirectiveDecl(
clang::UsingDirectiveDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:325
Parameters
¶void VisitUsingEnumDecl(clang::UsingEnumDecl* D)
void VisitUsingEnumDecl(clang::UsingEnumDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:395
Parameters
¶void VisitUsingPackDecl(clang::UsingPackDecl* D)
void VisitUsingPackDecl(clang::UsingPackDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:396
Parameters
¶void VisitUsingShadowDecl(
clang::UsingShadowDecl* D)
void VisitUsingShadowDecl(
clang::UsingShadowDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:397
Parameters
¶void VisitValueDecl(clang::ValueDecl* VD)
void VisitValueDecl(clang::ValueDecl* VD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:361
Parameters
- clang::ValueDecl* VD
¶void VisitVarDecl(clang::VarDecl* VD)
void VisitVarDecl(clang::VarDecl* VD)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:378
Parameters
- clang::VarDecl* VD
¶clang::ASTDeclReader::RedeclarableResult
VisitVarDeclImpl(clang::VarDecl* D)
clang::ASTDeclReader::RedeclarableResult
VisitVarDeclImpl(clang::VarDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:377
Parameters
¶void VisitVarTemplateDecl(
clang::VarTemplateDecl* D)
void VisitVarTemplateDecl(
clang::VarTemplateDecl* D)
Description
TODO: Unify with ClassTemplateDecl version? May require unifying ClassTemplateDecl and VarTemplateDecl beyond TemplateDecl...
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:390
Parameters
¶void VisitVarTemplatePartialSpecializationDecl(
clang::VarTemplatePartialSpecializationDecl*
D)
void VisitVarTemplatePartialSpecializationDecl(
clang::VarTemplatePartialSpecializationDecl*
D)
Description
TODO: Unify with ClassTemplatePartialSpecializationDecl version? May require unifying ClassTemplate(Partial)SpecializationDecl and VarTemplate(Partial)SpecializationDecl with a new data structure Template(Partial)SpecializationDecl, and using Template(Partial)SpecializationDecl as input type.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:358
Parameters
¶void VisitVarTemplateSpecializationDecl(
clang::VarTemplateSpecializationDecl* D)
void VisitVarTemplateSpecializationDecl(
clang::VarTemplateSpecializationDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:354
Parameters
¶clang::ASTDeclReader::RedeclarableResult
VisitVarTemplateSpecializationDeclImpl(
clang::VarTemplateSpecializationDecl* D)
clang::ASTDeclReader::RedeclarableResult
VisitVarTemplateSpecializationDeclImpl(
clang::VarTemplateSpecializationDecl* D)
Description
TODO: Unify with ClassTemplateSpecializationDecl version? May require unifying ClassTemplate(Partial)SpecializationDecl and VarTemplate(Partial)SpecializationDecl with a new data structure Template(Partial)SpecializationDecl, and using Template(Partial)SpecializationDecl as input type.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:352
Parameters
¶static void attachLatestDecl(clang::Decl* D,
clang::Decl* latest)
static void attachLatestDecl(clang::Decl* D,
clang::Decl* latest)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:299
Parameters
- clang::Decl* D
- clang::Decl* latest
¶static void attachLatestDeclImpl(...)
static void attachLatestDeclImpl(...)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:298
¶template <typename DeclT>
static void attachLatestDeclImpl(
Redeclarable<DeclT>* D,
clang::Decl* Latest)
template <typename DeclT>
static void attachLatestDeclImpl(
Redeclarable<DeclT>* D,
clang::Decl* Latest)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:297
Templates
- DeclT
Parameters
- Redeclarable<DeclT>* D
- clang::Decl* Latest
¶static void attachPreviousDecl(
clang::ASTReader& Reader,
clang::Decl* D,
clang::Decl* Previous,
clang::Decl* Canon)
static void attachPreviousDecl(
clang::ASTReader& Reader,
clang::Decl* D,
clang::Decl* Previous,
clang::Decl* Canon)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:293
Parameters
- clang::ASTReader& Reader
- clang::Decl* D
- clang::Decl* Previous
- clang::Decl* Canon
¶static void attachPreviousDeclImpl(
clang::ASTReader& Reader,
...)
static void attachPreviousDeclImpl(
clang::ASTReader& Reader,
...)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:292
Parameters
- clang::ASTReader& Reader
¶template <typename DeclT>
static void attachPreviousDeclImpl(
clang::ASTReader& Reader,
Redeclarable<DeclT>* D,
clang::Decl* Previous,
clang::Decl* Canon)
template <typename DeclT>
static void attachPreviousDeclImpl(
clang::ASTReader& Reader,
Redeclarable<DeclT>* D,
clang::Decl* Previous,
clang::Decl* Canon)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:289
Templates
- DeclT
Parameters
- clang::ASTReader& Reader
- Redeclarable<DeclT>* D
- clang::Decl* Previous
- clang::Decl* Canon
¶clang::ASTDeclReader::FindExistingResult
findExisting(clang::NamedDecl* D)
clang::ASTDeclReader::FindExistingResult
findExisting(clang::NamedDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:247
Parameters
¶static clang::NamedDecl*
getAnonymousDeclForMerging(
clang::ASTReader& Reader,
clang::DeclContext* DC,
unsigned int Index)
static clang::NamedDecl*
getAnonymousDeclForMerging(
clang::ASTReader& Reader,
clang::DeclContext* DC,
unsigned int Index)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:174
Parameters
- clang::ASTReader& Reader
- clang::DeclContext* DC
- unsigned int Index
¶static clang::Decl* getMostRecentDecl(
clang::Decl* D)
static clang::Decl* getMostRecentDecl(
clang::Decl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:283
Parameters
- clang::Decl* D
¶template <typename DeclT>
static clang::Decl* getMostRecentDeclImpl(
Redeclarable<DeclT>* D)
template <typename DeclT>
static clang::Decl* getMostRecentDeclImpl(
Redeclarable<DeclT>* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:281
Templates
- DeclT
Parameters
- Redeclarable<DeclT>* D
¶static clang::Decl* getMostRecentDeclImpl(...)
static clang::Decl* getMostRecentDeclImpl(...)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:282
¶static clang::DeclContext*
getPrimaryContextForMerging(
clang::ASTReader& Reader,
clang::DeclContext* DC)
static clang::DeclContext*
getPrimaryContextForMerging(
clang::ASTReader& Reader,
clang::DeclContext* DC)
Description
Find the context in which we should search for previous declarations when looking for declarations to merge.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:245
Parameters
- clang::ASTReader& Reader
- clang::DeclContext* DC
¶static clang::DeclContext*
getPrimaryDCForAnonymousDecl(
clang::DeclContext* LexicalDC)
static clang::DeclContext*
getPrimaryDCForAnonymousDecl(
clang::DeclContext* LexicalDC)
Description
Find the declaration to use to populate the anonymous declaration table for the given lexical DeclContext. We only care about finding local definitions of the context; we'll merge imported ones as we go.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:172
Parameters
- clang::DeclContext* LexicalDC
¶bool hasPendingBody() const
bool hasPendingBody() const
Description
Determine whether this declaration has a pending body.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:306
¶template <typename DeclT>
static void markIncompleteDeclChainImpl(
Redeclarable<DeclT>* D)
template <typename DeclT>
static void markIncompleteDeclChainImpl(
Redeclarable<DeclT>* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:302
Templates
- DeclT
Parameters
- Redeclarable<DeclT>* D
¶static void markIncompleteDeclChainImpl(...)
static void markIncompleteDeclChainImpl(...)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:303
¶static void mergeInheritableAttributes(
clang::ASTReader& Reader,
clang::Decl* D,
clang::Decl* Previous)
static void mergeInheritableAttributes(
clang::ASTReader& Reader,
clang::Decl* D,
clang::Decl* Previous)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:285
Parameters
- clang::ASTReader& Reader
- clang::Decl* D
- clang::Decl* Previous
¶template <typename T>
void mergeMergeable(Mergeable<T>* D)
template <typename T>
void mergeMergeable(Mergeable<T>* D)
Description
Attempts to merge the given declaration (D) with another declaration of the same entity, for the case where the entity is not actually redeclarable. This happens, for instance, when merging the fields of identical class definitions from two different modules.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:427
Templates
- T
Parameters
- Mergeable<T>* D
¶void mergeMergeable(
clang::LifetimeExtendedTemporaryDecl* D)
void mergeMergeable(
clang::LifetimeExtendedTemporaryDecl* D)
Description
Attempts to merge LifetimeExtendedTemporaryDecl with identical class definitions from two different modules.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:429
Parameters
¶template <typename T>
void mergeRedeclarable(
Redeclarable<T>* D,
T* Existing,
clang::ASTDeclReader::RedeclarableResult&
Redecl,
clang::serialization::DeclID
TemplatePatternID = 0)
template <typename T>
void mergeRedeclarable(
Redeclarable<T>* D,
T* Existing,
clang::ASTDeclReader::RedeclarableResult&
Redecl,
clang::serialization::DeclID
TemplatePatternID = 0)
Description
Attempts to merge the given declaration (D) with another declaration of the same entity.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:422
Templates
- T
Parameters
- Redeclarable<T>* D
- T* Existing
- clang::ASTDeclReader::RedeclarableResult& Redecl
- clang::serialization::DeclID TemplatePatternID = 0
¶template <typename T>
void mergeRedeclarable(
Redeclarable<T>* D,
clang::ASTDeclReader::RedeclarableResult&
Redecl,
clang::serialization::DeclID
TemplatePatternID = 0)
template <typename T>
void mergeRedeclarable(
Redeclarable<T>* D,
clang::ASTDeclReader::RedeclarableResult&
Redecl,
clang::serialization::DeclID
TemplatePatternID = 0)
Description
Attempts to merge the given declaration (D) with another declaration of the same entity.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:418
Templates
- T
Parameters
- Redeclarable<T>* D
- clang::ASTDeclReader::RedeclarableResult& Redecl
- clang::serialization::DeclID TemplatePatternID = 0
¶void mergeTemplatePattern(
clang::RedeclarableTemplateDecl* D,
clang::RedeclarableTemplateDecl* Existing,
clang::serialization::DeclID DsID,
bool IsKeyDecl)
void mergeTemplatePattern(
clang::RedeclarableTemplateDecl* D,
clang::RedeclarableTemplateDecl* Existing,
clang::serialization::DeclID DsID,
bool IsKeyDecl)
Description
Merge together the pattern declarations from two template declarations.
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:431
Parameters
- clang::RedeclarableTemplateDecl* D
- clang::RedeclarableTemplateDecl* Existing
- clang::serialization::DeclID DsID
- bool IsKeyDecl
¶clang::Decl* readDecl()
clang::Decl* readDecl()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:140
¶template <typename T>
T* readDeclAs()
template <typename T>
T* readDeclAs()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:145
Templates
- T
¶serialization::DeclID readDeclID()
serialization::DeclID readDeclID()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:127
¶void readDeclIDList(
SmallVectorImpl<clang::serialization::DeclID>&
IDs)
void readDeclIDList(
SmallVectorImpl<clang::serialization::DeclID>&
IDs)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:135
Parameters
- SmallVectorImpl<clang::serialization::DeclID>& IDs
¶clang::Module* readModule()
clang::Module* readModule()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:156
¶clang::SourceLocation readSourceLocation()
clang::SourceLocation readSourceLocation()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:115
¶clang::SourceRange readSourceRange()
clang::SourceRange readSourceRange()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:119
¶std::string readString()
std::string readString()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:131
¶serialization::SubmoduleID readSubmoduleID()
serialization::SubmoduleID readSubmoduleID()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:149
¶clang::TypeSourceInfo* readTypeSourceInfo()
clang::TypeSourceInfo* readTypeSourceInfo()
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:123
¶static void setAnonymousDeclForMerging(
clang::ASTReader& Reader,
clang::DeclContext* DC,
unsigned int Index,
clang::NamedDecl* D)
static void setAnonymousDeclForMerging(
clang::ASTReader& Reader,
clang::DeclContext* DC,
unsigned int Index,
clang::NamedDecl* D)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:177
Parameters
- clang::ASTReader& Reader
- clang::DeclContext* DC
- unsigned int Index
- clang::NamedDecl* D
¶static void setNextObjCCategory(
clang::ObjCCategoryDecl* Cat,
clang::ObjCCategoryDecl* Next)
static void setNextObjCCategory(
clang::ObjCCategoryDecl* Cat,
clang::ObjCCategoryDecl* Next)
Declared at: clang/lib/Serialization/ASTReaderDecl.cpp:313