clang 22.0.0git
clang::ASTDeclWriter Class Reference
Inheritance diagram for clang::ASTDeclWriter:
[legend]

Public Member Functions

 ASTDeclWriter (ASTWriter &Writer, ASTContext &Context, ASTWriter::RecordDataImpl &Record, bool GeneratingReducedBMI)
uint64_t Emit (Decl *D)
void Visit (Decl *D)
void VisitDecl (Decl *D)
void VisitPragmaCommentDecl (PragmaCommentDecl *D)
void VisitPragmaDetectMismatchDecl (PragmaDetectMismatchDecl *D)
void VisitTranslationUnitDecl (TranslationUnitDecl *D)
void VisitNamedDecl (NamedDecl *D)
void VisitLabelDecl (LabelDecl *LD)
void VisitNamespaceDecl (NamespaceDecl *D)
void VisitUsingDirectiveDecl (UsingDirectiveDecl *D)
void VisitNamespaceAliasDecl (NamespaceAliasDecl *D)
void VisitTypeDecl (TypeDecl *D)
void VisitTypedefNameDecl (TypedefNameDecl *D)
void VisitTypedefDecl (TypedefDecl *D)
void VisitTypeAliasDecl (TypeAliasDecl *D)
void VisitUnresolvedUsingTypenameDecl (UnresolvedUsingTypenameDecl *D)
void VisitUnresolvedUsingIfExistsDecl (UnresolvedUsingIfExistsDecl *D)
void VisitTagDecl (TagDecl *D)
void VisitEnumDecl (EnumDecl *D)
void VisitRecordDecl (RecordDecl *D)
void VisitCXXRecordDecl (CXXRecordDecl *D)
void VisitClassTemplateSpecializationDecl (ClassTemplateSpecializationDecl *D)
void VisitClassTemplatePartialSpecializationDecl (ClassTemplatePartialSpecializationDecl *D)
void VisitVarTemplateSpecializationDecl (VarTemplateSpecializationDecl *D)
void VisitVarTemplatePartialSpecializationDecl (VarTemplatePartialSpecializationDecl *D)
void VisitTemplateTypeParmDecl (TemplateTypeParmDecl *D)
void VisitValueDecl (ValueDecl *D)
void VisitEnumConstantDecl (EnumConstantDecl *D)
void VisitUnresolvedUsingValueDecl (UnresolvedUsingValueDecl *D)
void VisitDeclaratorDecl (DeclaratorDecl *D)
void VisitFunctionDecl (FunctionDecl *D)
void VisitCXXDeductionGuideDecl (CXXDeductionGuideDecl *D)
void VisitCXXMethodDecl (CXXMethodDecl *D)
void VisitCXXConstructorDecl (CXXConstructorDecl *D)
void VisitCXXDestructorDecl (CXXDestructorDecl *D)
void VisitCXXConversionDecl (CXXConversionDecl *D)
void VisitFieldDecl (FieldDecl *D)
void VisitMSPropertyDecl (MSPropertyDecl *D)
void VisitMSGuidDecl (MSGuidDecl *D)
void VisitUnnamedGlobalConstantDecl (UnnamedGlobalConstantDecl *D)
void VisitTemplateParamObjectDecl (TemplateParamObjectDecl *D)
void VisitIndirectFieldDecl (IndirectFieldDecl *D)
void VisitVarDecl (VarDecl *D)
void VisitImplicitParamDecl (ImplicitParamDecl *D)
void VisitParmVarDecl (ParmVarDecl *D)
void VisitDecompositionDecl (DecompositionDecl *D)
void VisitBindingDecl (BindingDecl *D)
void VisitNonTypeTemplateParmDecl (NonTypeTemplateParmDecl *D)
void VisitTemplateDecl (TemplateDecl *D)
void VisitConceptDecl (ConceptDecl *D)
void VisitImplicitConceptSpecializationDecl (ImplicitConceptSpecializationDecl *D)
void VisitRequiresExprBodyDecl (RequiresExprBodyDecl *D)
void VisitRedeclarableTemplateDecl (RedeclarableTemplateDecl *D)
void VisitClassTemplateDecl (ClassTemplateDecl *D)
void VisitVarTemplateDecl (VarTemplateDecl *D)
void VisitFunctionTemplateDecl (FunctionTemplateDecl *D)
void VisitTemplateTemplateParmDecl (TemplateTemplateParmDecl *D)
void VisitTypeAliasTemplateDecl (TypeAliasTemplateDecl *D)
void VisitUsingDecl (UsingDecl *D)
void VisitUsingEnumDecl (UsingEnumDecl *D)
void VisitUsingPackDecl (UsingPackDecl *D)
void VisitUsingShadowDecl (UsingShadowDecl *D)
void VisitConstructorUsingShadowDecl (ConstructorUsingShadowDecl *D)
void VisitLinkageSpecDecl (LinkageSpecDecl *D)
void VisitExportDecl (ExportDecl *D)
void VisitFileScopeAsmDecl (FileScopeAsmDecl *D)
void VisitTopLevelStmtDecl (TopLevelStmtDecl *D)
void VisitImportDecl (ImportDecl *D)
void VisitAccessSpecDecl (AccessSpecDecl *D)
void VisitFriendDecl (FriendDecl *D)
void VisitFriendTemplateDecl (FriendTemplateDecl *D)
void VisitStaticAssertDecl (StaticAssertDecl *D)
void VisitBlockDecl (BlockDecl *D)
void VisitOutlinedFunctionDecl (OutlinedFunctionDecl *D)
void VisitCapturedDecl (CapturedDecl *D)
void VisitEmptyDecl (EmptyDecl *D)
void VisitLifetimeExtendedTemporaryDecl (LifetimeExtendedTemporaryDecl *D)
void VisitDeclContext (DeclContext *DC)
 Emit the DeclContext part of a declaration context decl.
template<typename T>
void VisitRedeclarable (Redeclarable< T > *D)
void VisitHLSLBufferDecl (HLSLBufferDecl *D)
void VisitObjCMethodDecl (ObjCMethodDecl *D)
void VisitObjCTypeParamDecl (ObjCTypeParamDecl *D)
void VisitObjCContainerDecl (ObjCContainerDecl *D)
void VisitObjCInterfaceDecl (ObjCInterfaceDecl *D)
void VisitObjCIvarDecl (ObjCIvarDecl *D)
void VisitObjCProtocolDecl (ObjCProtocolDecl *D)
void VisitObjCAtDefsFieldDecl (ObjCAtDefsFieldDecl *D)
void VisitObjCCategoryDecl (ObjCCategoryDecl *D)
void VisitObjCImplDecl (ObjCImplDecl *D)
void VisitObjCCategoryImplDecl (ObjCCategoryImplDecl *D)
void VisitObjCImplementationDecl (ObjCImplementationDecl *D)
void VisitObjCCompatibleAliasDecl (ObjCCompatibleAliasDecl *D)
void VisitObjCPropertyDecl (ObjCPropertyDecl *D)
void VisitObjCPropertyImplDecl (ObjCPropertyImplDecl *D)
void VisitOMPThreadPrivateDecl (OMPThreadPrivateDecl *D)
void VisitOMPAllocateDecl (OMPAllocateDecl *D)
void VisitOMPRequiresDecl (OMPRequiresDecl *D)
void VisitOMPDeclareReductionDecl (OMPDeclareReductionDecl *D)
void VisitOMPDeclareMapperDecl (OMPDeclareMapperDecl *D)
void VisitOMPCapturedExprDecl (OMPCapturedExprDecl *D)
void VisitOpenACCDeclareDecl (OpenACCDeclareDecl *D)
void VisitOpenACCRoutineDecl (OpenACCRoutineDecl *D)
void AddObjCTypeParamList (ObjCTypeParamList *typeParams)
 Add an Objective-C type parameter list to the given record.
void CollectFirstDeclFromEachModule (const Decl *D, bool IncludeLocal, llvm::MapVector< ModuleFile *, const Decl * > &Firsts)
 Collect the first declaration from each module file that provides a declaration of D.
void AddFirstDeclFromEachModule (const Decl *D, bool IncludeLocal)
 Add to the record the first declaration from each module file that provides a declaration of D.
template<typename T>
bool shouldSkipWritingSpecializations (T *Spec)
void AddFirstSpecializationDeclFromEachModule (const Decl *D, llvm::SmallVectorImpl< const Decl * > &SpecsInMap, llvm::SmallVectorImpl< const Decl * > &PartialSpecsInMap)
 Add to the record the first template specialization from each module file that provides a declaration of D.
template<typename EntryType>
RedeclarableTemplateDecl::SpecEntryTraits< EntryType >::DeclType * getSpecializationDecl (EntryType &T)
 Get the specialization decl from an entry in the specialization list.
template<typename T>
decltype(T::PartialSpecializations) & getPartialSpecializations (T *Common)
 Get the list of partial specializations from a template's common ptr.
MutableArrayRef< FunctionTemplateSpecializationInfogetPartialSpecializations (FunctionTemplateDecl::Common *)
template<typename DeclTy>
void AddTemplateSpecializations (DeclTy *D)
void RegisterTemplateSpecialization (const Decl *Template, const Decl *Specialization)
 Ensure that this template specialization is associated with the specified template on reload.
Public Member Functions inherited from clang::declvisitor::Base< std::add_pointer, ASTDeclWriter, void >
void Visit (PTR(Decl) D)
void VisitDecl (PTR(Decl) D)

Detailed Description

Definition at line 48 of file ASTWriterDecl.cpp.

Constructor & Destructor Documentation

◆ ASTDeclWriter()

clang::ASTDeclWriter::ASTDeclWriter ( ASTWriter & Writer,
ASTContext & Context,
ASTWriter::RecordDataImpl & Record,
bool GeneratingReducedBMI )
inline

Definition at line 58 of file ASTWriterDecl.cpp.

Member Function Documentation

◆ AddFirstDeclFromEachModule()

void clang::ASTDeclWriter::AddFirstDeclFromEachModule ( const Decl * D,
bool IncludeLocal )
inline

Add to the record the first declaration from each module file that provides a declaration of D.

The intent is to provide a sufficient set such that reloading this set will load all current redeclarations.

Definition at line 215 of file ASTWriterDecl.cpp.

References CollectFirstDeclFromEachModule().

Referenced by VisitRedeclarable().

◆ AddFirstSpecializationDeclFromEachModule()

void clang::ASTDeclWriter::AddFirstSpecializationDeclFromEachModule ( const Decl * D,
llvm::SmallVectorImpl< const Decl * > & SpecsInMap,
llvm::SmallVectorImpl< const Decl * > & PartialSpecsInMap )
inline

Add to the record the first template specialization from each module file that provides a declaration of D.

We store the DeclId and an ODRHash of the template arguments of D which should provide enough information to load D only if the template instantiator needs it.

Definition at line 269 of file ASTWriterDecl.cpp.

References CollectFirstDeclFromEachModule(), clang::isa(), and shouldSkipWritingSpecializations().

Referenced by AddTemplateSpecializations().

◆ AddObjCTypeParamList()

void clang::ASTDeclWriter::AddObjCTypeParamList ( ObjCTypeParamList * typeParams)
inline

Add an Objective-C type parameter list to the given record.

Definition at line 182 of file ASTWriterDecl.cpp.

References clang::ObjCTypeParamList::getLAngleLoc(), clang::ObjCTypeParamList::getRAngleLoc(), and clang::ObjCTypeParamList::size().

Referenced by VisitObjCCategoryDecl(), and VisitObjCInterfaceDecl().

◆ AddTemplateSpecializations()

template<typename DeclTy>
void clang::ASTDeclWriter::AddTemplateSpecializations ( DeclTy * D)
inline

◆ CollectFirstDeclFromEachModule()

void clang::ASTDeclWriter::CollectFirstDeclFromEachModule ( const Decl * D,
bool IncludeLocal,
llvm::MapVector< ModuleFile *, const Decl * > & Firsts )
inline

Collect the first declaration from each module file that provides a declaration of D.

Definition at line 199 of file ASTWriterDecl.cpp.

References clang::Decl::getMostRecentDecl(), and clang::Decl::getPreviousDecl().

Referenced by AddFirstDeclFromEachModule(), and AddFirstSpecializationDeclFromEachModule().

◆ Emit()

uint64_t clang::ASTDeclWriter::Emit ( Decl * D)
inline

Definition at line 64 of file ASTWriterDecl.cpp.

References clang::Decl::getDeclKindName().

◆ getPartialSpecializations() [1/2]

MutableArrayRef< FunctionTemplateSpecializationInfo > clang::ASTDeclWriter::getPartialSpecializations ( FunctionTemplateDecl::Common * )
inline

Definition at line 303 of file ASTWriterDecl.cpp.

◆ getPartialSpecializations() [2/2]

template<typename T>
decltype(T::PartialSpecializations) & clang::ASTDeclWriter::getPartialSpecializations ( T * Common)
inline

Get the list of partial specializations from a template's common ptr.

Definition at line 299 of file ASTWriterDecl.cpp.

References clang::T.

Referenced by AddTemplateSpecializations().

◆ getSpecializationDecl()

template<typename EntryType>
RedeclarableTemplateDecl::SpecEntryTraits< EntryType >::DeclType * clang::ASTDeclWriter::getSpecializationDecl ( EntryType & T)
inline

Get the specialization decl from an entry in the specialization list.

Definition at line 293 of file ASTWriterDecl.cpp.

References clang::RedeclarableTemplateDecl::SpecEntryTraits< EntryType >::getDecl(), and clang::T.

Referenced by AddTemplateSpecializations().

◆ RegisterTemplateSpecialization()

void clang::ASTDeclWriter::RegisterTemplateSpecialization ( const Decl * Template,
const Decl * Specialization )
inline

Ensure that this template specialization is associated with the specified template on reload.

Definition at line 350 of file ASTWriterDecl.cpp.

References clang::cast(), clang::isa(), clang::Specialization, and clang::Template.

Referenced by VisitClassTemplateSpecializationDecl(), VisitFunctionDecl(), and VisitVarTemplateSpecializationDecl().

◆ shouldSkipWritingSpecializations()

template<typename T>
bool clang::ASTDeclWriter::shouldSkipWritingSpecializations ( T * Spec)
inline

◆ Visit()

◆ VisitAccessSpecDecl()

void ASTDeclWriter::VisitAccessSpecDecl ( AccessSpecDecl * D)

◆ VisitBindingDecl()

void ASTDeclWriter::VisitBindingDecl ( BindingDecl * D)

◆ VisitBlockDecl()

◆ VisitCapturedDecl()

◆ VisitClassTemplateDecl()

◆ VisitClassTemplatePartialSpecializationDecl()

◆ VisitClassTemplateSpecializationDecl()

◆ VisitConceptDecl()

void ASTDeclWriter::VisitConceptDecl ( ConceptDecl * D)

◆ VisitConstructorUsingShadowDecl()

void ASTDeclWriter::VisitConstructorUsingShadowDecl ( ConstructorUsingShadowDecl * D)

◆ VisitCXXConstructorDecl()

◆ VisitCXXConversionDecl()

◆ VisitCXXDeductionGuideDecl()

◆ VisitCXXDestructorDecl()

◆ VisitCXXMethodDecl()

void ASTDeclWriter::VisitCXXMethodDecl ( CXXMethodDecl * D)

Definition at line 1729 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_METHOD, clang::TemplateArgumentList::get(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::FunctionDecl::getDependentSpecializationInfo(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::TemplateArgument::getKind(), clang::Decl::getLexicalDeclContext(), clang::FunctionTemplateSpecializationInfo::getMemberSpecializationInfo(), clang::CXXMethodDecl::getMostRecentDecl(), clang::DeclarationName::getNameKind(), clang::FunctionDecl::getTemplatedKind(), clang::FunctionDecl::getTemplateSpecializationInfo(), clang::Decl::hasAttrs(), clang::DeclarationName::Identifier, clang::Decl::isCanonicalDecl(), clang::FunctionDecl::isExplicitlyDefaulted(), clang::Decl::isInvalidDecl(), clang::Decl::isTopLevelDeclInObjCContainer(), clang::CXXMethodDecl::overridden_methods(), clang::TemplateArgumentList::size(), clang::CXXMethodDecl::size_overridden_methods(), clang::FunctionTemplateSpecializationInfo::TemplateArguments, clang::DependentFunctionTemplateSpecializationInfo::TemplateArgumentsAsWritten, clang::FunctionTemplateSpecializationInfo::TemplateArgumentsAsWritten, clang::FunctionDecl::TK_DependentFunctionTemplateSpecialization, clang::FunctionDecl::TK_DependentNonTemplate, clang::FunctionDecl::TK_FunctionTemplate, clang::FunctionDecl::TK_FunctionTemplateSpecialization, clang::FunctionDecl::TK_MemberSpecialization, clang::FunctionDecl::TK_NonTemplate, clang::TemplateArgument::Type, and VisitFunctionDecl().

Referenced by VisitCXXConstructorDecl(), VisitCXXConversionDecl(), and VisitCXXDestructorDecl().

◆ VisitCXXRecordDecl()

◆ VisitDecl()

◆ VisitDeclaratorDecl()

◆ VisitDeclContext()

void ASTDeclWriter::VisitDeclContext ( DeclContext * DC)

Emit the DeclContext part of a declaration context decl.

Definition at line 2192 of file ASTWriterDecl.cpp.

References clang::cast(), clang::isa(), clang::LookupBlockOffsets::LexicalOffset, and clang::DeclContext::NumDeclContextBits.

Referenced by Visit(), and VisitHLSLBufferDecl().

◆ VisitDecompositionDecl()

void ASTDeclWriter::VisitDecompositionDecl ( DecompositionDecl * D)

◆ VisitEmptyDecl()

void ASTDeclWriter::VisitEmptyDecl ( EmptyDecl * D)

Definition at line 1450 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_EMPTY, and VisitDecl().

◆ VisitEnumConstantDecl()

◆ VisitEnumDecl()

◆ VisitExportDecl()

void ASTDeclWriter::VisitExportDecl ( ExportDecl * D)

◆ VisitFieldDecl()

◆ VisitFileScopeAsmDecl()

◆ VisitFriendDecl()

◆ VisitFriendTemplateDecl()

◆ VisitFunctionDecl()

void ASTDeclWriter::VisitFunctionDecl ( FunctionDecl * D)

Definition at line 785 of file ASTWriterDecl.cpp.

References clang::BitsPacker::addBit(), clang::BitsPacker::addBits(), clang::serialization::DECL_FUNCTION, clang::FunctionDecl::FriendConstraintRefersToEnclosingTemplate(), clang::DependentFunctionTemplateSpecializationInfo::getCandidates(), clang::FunctionTemplateDecl::getCanonicalDecl(), clang::FunctionDecl::getConstexprKind(), clang::NamedDecl::getDeclName(), clang::FunctionDecl::getDefalutedOrDeletedInfo(), clang::FunctionDecl::getDefaultLoc(), clang::FunctionDecl::getDependentSpecializationInfo(), clang::FunctionDecl::getDescribedFunctionTemplate(), clang::Decl::getEndLoc(), clang::Decl::getFriendObjectKind(), clang::Decl::getIdentifierNamespace(), clang::MemberSpecializationInfo::getInstantiatedFrom(), clang::FunctionDecl::getInstantiatedFromDecl(), clang::DeclContext::getLexicalParent(), clang::NamedDecl::getLinkageInternal(), clang::FunctionDecl::getMemberSpecializationInfo(), clang::FunctionTemplateSpecializationInfo::getMemberSpecializationInfo(), clang::FunctionDecl::getODRHash(), clang::FunctionTemplateSpecializationInfo::getPointOfInstantiation(), clang::MemberSpecializationInfo::getPointOfInstantiation(), clang::FunctionDecl::getStorageClass(), clang::FunctionTemplateSpecializationInfo::getTemplate(), clang::FunctionDecl::getTemplatedKind(), clang::FunctionDecl::getTemplateSpecializationInfo(), clang::FunctionTemplateSpecializationInfo::getTemplateSpecializationKind(), clang::MemberSpecializationInfo::getTemplateSpecializationKind(), clang::FunctionDecl::hasImplicitReturnZero(), clang::FunctionDecl::hasInheritedPrototype(), clang::FunctionDecl::hasSkippedBody(), clang::FunctionDecl::hasWrittenPrototype(), clang::Decl::isCanonicalDecl(), clang::FunctionDecl::isDefaulted(), clang::FunctionDecl::isDeletedAsWritten(), clang::FunctionDecl::isDestroyingOperatorDelete(), clang::FunctionDecl::isExplicitlyDefaulted(), clang::FunctionDecl::isIneligibleOrNotSelected(), clang::FunctionDecl::isInlined(), clang::FunctionDecl::isInlineSpecified(), clang::FunctionDecl::isInstantiatedFromMemberTemplate(), clang::FunctionDecl::isLateTemplateParsed(), clang::FunctionDecl::isMultiVersion(), clang::FunctionDecl::isPureVirtual(), clang::FunctionDecl::isTrivial(), clang::FunctionDecl::isTrivialForCall(), clang::FunctionDecl::isTypeAwareOperatorNewOrDelete(), clang::FunctionDecl::isVirtualAsWritten(), clang::DeclContext::NumFunctionDeclBits, clang::FunctionDecl::param_size(), clang::FunctionDecl::parameters(), RegisterTemplateSpecialization(), clang::FunctionTemplateSpecializationInfo::TemplateArguments, clang::DependentFunctionTemplateSpecializationInfo::TemplateArgumentsAsWritten, clang::FunctionTemplateSpecializationInfo::TemplateArgumentsAsWritten, clang::FunctionDecl::TK_DependentFunctionTemplateSpecialization, clang::FunctionDecl::TK_DependentNonTemplate, clang::FunctionDecl::TK_FunctionTemplate, clang::FunctionDecl::TK_FunctionTemplateSpecialization, clang::FunctionDecl::TK_MemberSpecialization, clang::FunctionDecl::TK_NonTemplate, clang::FunctionDecl::usesSEHTry(), VisitDeclaratorDecl(), and VisitRedeclarable().

Referenced by VisitCXXDeductionGuideDecl(), and VisitCXXMethodDecl().

◆ VisitFunctionTemplateDecl()

◆ VisitHLSLBufferDecl()

◆ VisitImplicitConceptSpecializationDecl()

◆ VisitImplicitParamDecl()

void ASTDeclWriter::VisitImplicitParamDecl ( ImplicitParamDecl * D)

◆ VisitImportDecl()

◆ VisitIndirectFieldDecl()

◆ VisitLabelDecl()

void ASTDeclWriter::VisitLabelDecl ( LabelDecl * LD)

◆ VisitLifetimeExtendedTemporaryDecl()

◆ VisitLinkageSpecDecl()

◆ VisitMSGuidDecl()

◆ VisitMSPropertyDecl()

◆ VisitNamedDecl()

◆ VisitNamespaceAliasDecl()

◆ VisitNamespaceDecl()

◆ VisitNonTypeTemplateParmDecl()

◆ VisitObjCAtDefsFieldDecl()

void ASTDeclWriter::VisitObjCAtDefsFieldDecl ( ObjCAtDefsFieldDecl * D)

◆ VisitObjCCategoryDecl()

◆ VisitObjCCategoryImplDecl()

void ASTDeclWriter::VisitObjCCategoryImplDecl ( ObjCCategoryImplDecl * D)

◆ VisitObjCCompatibleAliasDecl()

void ASTDeclWriter::VisitObjCCompatibleAliasDecl ( ObjCCompatibleAliasDecl * D)

◆ VisitObjCContainerDecl()

◆ VisitObjCImplDecl()

void ASTDeclWriter::VisitObjCImplDecl ( ObjCImplDecl * D)

◆ VisitObjCImplementationDecl()

◆ VisitObjCInterfaceDecl()

◆ VisitObjCIvarDecl()

◆ VisitObjCMethodDecl()

◆ VisitObjCPropertyDecl()

◆ VisitObjCPropertyImplDecl()

◆ VisitObjCProtocolDecl()

◆ VisitObjCTypeParamDecl()

void ASTDeclWriter::VisitObjCTypeParamDecl ( ObjCTypeParamDecl * D)

◆ VisitOMPAllocateDecl()

void ASTDeclWriter::VisitOMPAllocateDecl ( OMPAllocateDecl * D)

◆ VisitOMPCapturedExprDecl()

void ASTDeclWriter::VisitOMPCapturedExprDecl ( OMPCapturedExprDecl * D)

◆ VisitOMPDeclareMapperDecl()

◆ VisitOMPDeclareReductionDecl()

◆ VisitOMPRequiresDecl()

void ASTDeclWriter::VisitOMPRequiresDecl ( OMPRequiresDecl * D)

◆ VisitOMPThreadPrivateDecl()

void ASTDeclWriter::VisitOMPThreadPrivateDecl ( OMPThreadPrivateDecl * D)

◆ VisitOpenACCDeclareDecl()

void ASTDeclWriter::VisitOpenACCDeclareDecl ( OpenACCDeclareDecl * D)

◆ VisitOpenACCRoutineDecl()

void ASTDeclWriter::VisitOpenACCRoutineDecl ( OpenACCRoutineDecl * D)

◆ VisitOutlinedFunctionDecl()

◆ VisitParmVarDecl()

◆ VisitPragmaCommentDecl()

◆ VisitPragmaDetectMismatchDecl()

◆ VisitRecordDecl()

void ASTDeclWriter::VisitRecordDecl ( RecordDecl * D)

Definition at line 713 of file ASTWriterDecl.cpp.

References clang::BitsPacker::addBit(), clang::BitsPacker::addBits(), clang::CXXRecordDecl::classofKind(), clang::serialization::DECL_RECORD, clang::RecordDecl::getArgPassingRestrictions(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::Decl::getKind(), clang::Decl::getLexicalDeclContext(), clang::RecordDecl::getMostRecentDecl(), clang::DeclarationName::getNameKind(), clang::RecordDecl::getODRHash(), clang::TagDecl::getTypedefNameForAnonDecl(), clang::Decl::hasAttrs(), clang::RecordDecl::hasFlexibleArrayMember(), clang::RecordDecl::hasNonTrivialToPrimitiveCopyCUnion(), clang::RecordDecl::hasNonTrivialToPrimitiveDefaultInitializeCUnion(), clang::RecordDecl::hasNonTrivialToPrimitiveDestructCUnion(), clang::RecordDecl::hasObjectMember(), clang::RecordDecl::hasUninitializedExplicitInitFields(), clang::RecordDecl::hasVolatileMember(), clang::DeclarationName::Identifier, clang::isa(), clang::RecordDecl::isAnonymousStructOrUnion(), clang::Decl::isImplicit(), clang::Decl::isInvalidDecl(), clang::RecordDecl::isNonTrivialToPrimitiveCopy(), clang::RecordDecl::isNonTrivialToPrimitiveDefaultInitialize(), clang::RecordDecl::isNonTrivialToPrimitiveDestroy(), clang::RecordDecl::isParamDestroyedInCallee(), clang::Decl::isTopLevelDeclInObjCContainer(), clang::serialization::needsAnonymousDeclarationNumber(), clang::DeclContext::NumRecordDeclBits, and VisitTagDecl().

Referenced by VisitCXXRecordDecl().

◆ VisitRedeclarable()

◆ VisitRedeclarableTemplateDecl()

◆ VisitRequiresExprBodyDecl()

void ASTDeclWriter::VisitRequiresExprBodyDecl ( RequiresExprBodyDecl * D)

Definition at line 1887 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_REQUIRES_EXPR_BODY.

◆ VisitStaticAssertDecl()

◆ VisitTagDecl()

◆ VisitTemplateDecl()

◆ VisitTemplateParamObjectDecl()

void ASTDeclWriter::VisitTemplateParamObjectDecl ( TemplateParamObjectDecl * D)

◆ VisitTemplateTemplateParmDecl()

◆ VisitTemplateTypeParmDecl()

◆ VisitTopLevelStmtDecl()

void ASTDeclWriter::VisitTopLevelStmtDecl ( TopLevelStmtDecl * D)

◆ VisitTranslationUnitDecl()

void ASTDeclWriter::VisitTranslationUnitDecl ( TranslationUnitDecl * D)

Definition at line 589 of file ASTWriterDecl.cpp.

◆ VisitTypeAliasDecl()

void ASTDeclWriter::VisitTypeAliasDecl ( TypeAliasDecl * D)

◆ VisitTypeAliasTemplateDecl()

void ASTDeclWriter::VisitTypeAliasTemplateDecl ( TypeAliasTemplateDecl * D)

◆ VisitTypeDecl()

◆ VisitTypedefDecl()

◆ VisitTypedefNameDecl()

◆ VisitUnnamedGlobalConstantDecl()

void ASTDeclWriter::VisitUnnamedGlobalConstantDecl ( UnnamedGlobalConstantDecl * D)

◆ VisitUnresolvedUsingIfExistsDecl()

void ASTDeclWriter::VisitUnresolvedUsingIfExistsDecl ( UnresolvedUsingIfExistsDecl * D)

◆ VisitUnresolvedUsingTypenameDecl()

◆ VisitUnresolvedUsingValueDecl()

◆ VisitUsingDecl()

◆ VisitUsingDirectiveDecl()

◆ VisitUsingEnumDecl()

◆ VisitUsingPackDecl()

◆ VisitUsingShadowDecl()

◆ VisitValueDecl()

◆ VisitVarDecl()

void ASTDeclWriter::VisitVarDecl ( VarDecl * D)

Definition at line 1278 of file ASTWriterDecl.cpp.

References clang::BitsPacker::addBit(), clang::BitsPacker::addBits(), clang::serialization::DECL_VAR, clang::Type::getContainedDeducedType(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::VarDecl::getDescribedVarTemplate(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::VarDecl::getInitStyle(), clang::Decl::getKind(), clang::Decl::getLexicalDeclContext(), clang::NamedDecl::getLinkageInternal(), clang::VarDecl::getMemberSpecializationInfo(), clang::VarDecl::getMostRecentDecl(), clang::DeclarationName::getNameKind(), clang::VarDecl::getStorageClass(), clang::VarDecl::getStorageDuration(), clang::VarDecl::getTSCSpec(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::Decl::hasAttrs(), clang::VarDecl::hasInitWithSideEffects(), clang::DeclarationName::Identifier, clang::Init, clang::isa(), clang::VarDecl::isARCPseudoStrong(), clang::VarDecl::isConstexpr(), clang::VarDecl::isCXXForRangeDecl(), clang::VarDecl::isCXXForRangeImplicitVar(), clang::VarDecl::isEscapingByref(), clang::VarDecl::isExceptionVariable(), clang::VarDecl::isInitCapture(), clang::VarDecl::isInline(), clang::VarDecl::isInlineSpecified(), clang::VarDecl::isNRVOVariable(), clang::VarDecl::isObjCForDecl(), clang::VarDecl::isPreviousDeclInSameBlockScope(), clang::VarDecl::isThisDeclarationADemotedDefinition(), clang::Decl::isTopLevelDeclInObjCContainer(), clang::serialization::needsAnonymousDeclarationNumber(), clang::SD_Static, shouldVarGenerateHereOnly(), clang::VarTemplate, VisitDeclaratorDecl(), and VisitRedeclarable().

Referenced by VisitDecompositionDecl(), VisitImplicitParamDecl(), VisitOMPCapturedExprDecl(), VisitParmVarDecl(), and VisitVarTemplateSpecializationDecl().

◆ VisitVarTemplateDecl()

◆ VisitVarTemplatePartialSpecializationDecl()

◆ VisitVarTemplateSpecializationDecl()


The documentation for this class was generated from the following file: