clang 8.0.0

Public Member Functions | List of all members
clang::ASTDeclWriter Class Reference
Inheritance diagram for clang::ASTDeclWriter:
[legend]
Collaboration diagram for clang::ASTDeclWriter:
[legend]

## Public Member Functions
| ASTDeclWriter (ASTWriter &Writer, ASTContext &Context, ASTWriter::RecordDataImpl &Record)
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 | 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 | VisitClassScopeFunctionSpecializationDecl (ClassScopeFunctionSpecializationDecl *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 | 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 | 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 | VisitUsingPackDecl (UsingPackDecl *D)
void | VisitUsingShadowDecl (UsingShadowDecl *D)
void | VisitConstructorUsingShadowDecl (ConstructorUsingShadowDecl *D)
void | VisitLinkageSpecDecl (LinkageSpecDecl *D)
void | VisitExportDecl (ExportDecl *D)
void | VisitFileScopeAsmDecl (FileScopeAsmDecl *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 | VisitCapturedDecl (CapturedDecl *D)
void | VisitEmptyDecl (EmptyDecl *D)
void | VisitDeclContext (DeclContext *DC)
| Emit the DeclContext part of a declaration context decl. More...
template<typename T >
void | VisitRedeclarable (Redeclarable< T > *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 | VisitOMPRequiresDecl (OMPRequiresDecl *D)
void | VisitOMPDeclareReductionDecl (OMPDeclareReductionDecl *D)
void | VisitOMPCapturedExprDecl (OMPCapturedExprDecl *D)
void | AddObjCTypeParamList (ObjCTypeParamList *typeParams)
| Add an Objective-C type parameter list to the given record. More...
void | AddFirstDeclFromEachModule (const Decl *D, bool IncludeLocal)
| Add to the record the first declaration from each module file that provides a declaration of D. More...
template<typename EntryType >
RedeclarableTemplateDecl::SpecEntryTraits< EntryType >::DeclType * | getSpecializationDecl (EntryType &T)
| Get the specialization decl from an entry in the specialization list. More...
template<typename T >
decltype(T::PartialSpecializations) & | getPartialSpecializations (T *Common)
| Get the list of partial specializations from a template's common ptr. More...
ArrayRef< Decl > | getPartialSpecializations (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. More...
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 35 of file ASTWriterDecl.cpp.

## Constructor & Destructor Documentation

## ◆ ASTDeclWriter()

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

Definition at line 44 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 171 of file ASTWriterDecl.cpp.

References clang::ASTRecordWriter::AddDeclRef(), clang::Decl::getMostRecentDecl(), clang::ASTReader::getOwningModuleFile(), and clang::Decl::getPreviousDecl().

## ◆ AddObjCTypeParamList()

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

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

Definition at line 153 of file ASTWriterDecl.cpp.

References clang::ASTRecordWriter::AddDeclRef(), clang::ASTRecordWriter::AddSourceLocation(), clang::ASTRecordWriter::push_back(), and clang::ObjCTypeParamList::size().

## ◆ AddTemplateSpecializations()

template<typename DeclTy >

void clang::ASTDeclWriter::AddTemplateSpecializations | ( | DeclTy * | D | ) |
| inline

Definition at line 201 of file ASTWriterDecl.cpp.

References clang::ASTRecordWriter::append(), clang::ASTContext::getExternalSource(), clang::ASTRecordWriter::push_back(), and clang::ASTRecordWriter::size().

## ◆ Emit()

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

Definition at line 49 of file ASTWriterDecl.cpp.

References clang::ASTRecordWriter::Emit(), and clang::Decl::getDeclKindName().

## ◆ getPartialSpecializations() [1/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 193 of file ASTWriterDecl.cpp.

## ◆ getPartialSpecializations() [2/2]

ArrayRef<Decl> clang::ASTDeclWriter::getPartialSpecializations | ( | FunctionTemplateDecl::Common * |  | ) |
| inline

Definition at line 196 of file ASTWriterDecl.cpp.

## ◆ 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 187 of file ASTWriterDecl.cpp.

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

## ◆ 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 241 of file ASTWriterDecl.cpp.

References clang::Decl::getCanonicalDecl(), clang::ASTWriter::getFirstLocalDecl(), clang::Decl::isFromASTFile(), and clang::serialization::UPD_CXX_ADDED_TEMPLATE_SPECIALIZATION.

## ◆ Visit()

void ASTDeclWriter::Visit | ( | Decl * | D | ) |

Definition at line 263 of file ASTWriterDecl.cpp.

References clang::declvisitor::Base< std::add_pointer, ImplClass, RetTy >::Visit().

## ◆ VisitAccessSpecDecl()

void ASTDeclWriter::VisitAccessSpecDecl | ( | AccessSpecDecl * | D | ) |

Definition at line 1370 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_ACCESS_SPEC, and clang::AccessSpecDecl::getColonLoc().

## ◆ VisitBindingDecl()

void ASTDeclWriter::VisitBindingDecl | ( | BindingDecl * | D | ) |

Definition at line 1084 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_BINDING, and clang::BindingDecl::getBinding().

## ◆ VisitBlockDecl()

void ASTDeclWriter::VisitBlockDecl | ( | BlockDecl * | D | ) |

Definition at line 1102 of file ASTWriterDecl.cpp.

References clang::BlockDecl::blockMissingReturnType(), clang::BlockDecl::captures(), clang::BlockDecl::capturesCXXThis(), clang::serialization::DECL_BLOCK, clang::BlockDecl::doesNotEscape(), clang::BlockDecl::getBody(), clang::BlockDecl::getNumCaptures(), clang::BlockDecl::getSignatureAsWritten(), clang::BlockDecl::isConversionFromLambda(), clang::BlockDecl::isVariadic(), P, clang::BlockDecl::param_size(), and clang::BlockDecl::parameters().

## ◆ VisitCapturedDecl()

void ASTDeclWriter::VisitCapturedDecl | ( | CapturedDecl * | D | ) |

Definition at line 1130 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CAPTURED, clang::CapturedDecl::getContextParamPosition(), clang::CapturedDecl::getNumParams(), clang::CapturedDecl::getParam(), and clang::CapturedDecl::isNothrow().

## ◆ VisitClassScopeFunctionSpecializationDecl()

void ASTDeclWriter::VisitClassScopeFunctionSpecializationDecl | ( | ClassScopeFunctionSpecializationDecl * | D | ) |

Definition at line 1552 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CLASS_SCOPE_FUNCTION_SPECIALIZATION, and clang::ClassScopeFunctionSpecializationDecl::getSpecialization().

## ◆ VisitClassTemplateDecl()

void ASTDeclWriter::VisitClassTemplateDecl | ( | ClassTemplateDecl * | D | ) |

Definition at line 1432 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CLASS_TEMPLATE, and clang::Redeclarable< decl_type >::isFirstDecl().

## ◆ VisitClassTemplatePartialSpecializationDecl()

void ASTDeclWriter::VisitClassTemplatePartialSpecializationDecl | ( | ClassTemplatePartialSpecializationDecl * | D | ) |

Definition at line 1476 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION, clang::ClassTemplatePartialSpecializationDecl::getInstantiatedFromMember(), clang::CXXRecordDecl::getPreviousDecl(), clang::ClassTemplatePartialSpecializationDecl::getTemplateArgsAsWritten(), clang::ClassTemplatePartialSpecializationDecl::getTemplateParameters(), and clang::ClassTemplatePartialSpecializationDecl::isMemberSpecialization().

## ◆ VisitClassTemplateSpecializationDecl()

void ASTDeclWriter::VisitClassTemplateSpecializationDecl | ( | ClassTemplateSpecializationDecl * | D | ) |

Definition at line 1440 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CLASS_TEMPLATE_SPECIALIZATION, clang::ClassTemplateDecl::getCanonicalDecl(), clang::ClassTemplateSpecializationDecl::getExternLoc(), clang::ClassTemplateSpecializationDecl::getPointOfInstantiation(), clang::ClassTemplateSpecializationDecl::getSpecializationKind(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplate(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplateOrPartial(), clang::ClassTemplateSpecializationDecl::getTemplateArgs(), clang::ClassTemplateSpecializationDecl::getTemplateInstantiationArgs(), clang::ClassTemplateSpecializationDecl::getTemplateKeywordLoc(), clang::ClassTemplateSpecializationDecl::getTypeAsWritten(), and clang::Decl::isCanonicalDecl().

## ◆ VisitConstructorUsingShadowDecl()

void ASTDeclWriter::VisitConstructorUsingShadowDecl | ( | ConstructorUsingShadowDecl * | D | ) |

Definition at line 1228 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CONSTRUCTOR_USING_SHADOW.

## ◆ VisitCXXConstructorDecl()

void ASTDeclWriter::VisitCXXConstructorDecl | ( | CXXConstructorDecl * | D | ) |

Definition at line 1321 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_CONSTRUCTOR, clang::serialization::DECL_CXX_INHERITED_CONSTRUCTOR, clang::CXXConstructorDecl::getInheritedConstructor(), and clang::CXXConstructorDecl::isInheritingConstructor().

## ◆ VisitCXXConversionDecl()

void ASTDeclWriter::VisitCXXConversionDecl | ( | CXXConversionDecl * | D | ) |

Definition at line 1347 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_CONVERSION.

## ◆ VisitCXXDeductionGuideDecl()

void ASTDeclWriter::VisitCXXDeductionGuideDecl | ( | CXXDeductionGuideDecl * | D | ) |

Definition at line 630 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_DEDUCTION_GUIDE, and clang::CXXDeductionGuideDecl::isCopyDeductionCandidate().

## ◆ VisitCXXDestructorDecl()

void ASTDeclWriter::VisitCXXDestructorDecl | ( | CXXDestructorDecl * | D | ) |

Definition at line 1337 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_DESTRUCTOR, clang::CXXDestructorDecl::getOperatorDelete(), and clang::CXXDestructorDecl::getOperatorDeleteThisArg().

## ◆ VisitCXXMethodDecl()

void ASTDeclWriter::VisitCXXMethodDecl | ( | CXXMethodDecl * | D | ) |

Definition at line 1296 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_CXX_METHOD, clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::Decl::getLexicalDeclContext(), clang::CXXMethodDecl::getMostRecentDecl(), clang::DeclarationName::getNameKind(), clang::Decl::hasAttrs(), clang::FunctionDecl::hasInheritedPrototype(), clang::FunctionDecl::hasWrittenPrototype(), clang::DeclarationName::Identifier, clang::Decl::isCanonicalDecl(), clang::Decl::isInvalidDecl(), clang::Decl::isTopLevelDeclInObjCContainer(), clang::CXXMethodDecl::overridden_methods(), and clang::CXXMethodDecl::size_overridden_methods().

## ◆ VisitCXXRecordDecl()

void ASTDeclWriter::VisitCXXRecordDecl | ( | CXXRecordDecl * | D | ) |

Definition at line 1265 of file ASTWriterDecl.cpp.

References clang::CXXRecordDecl::getDescribedClassTemplate(), clang::CXXRecordDecl::getMemberSpecializationInfo(), clang::TagDecl::isCompleteDefinition(), and clang::TagDecl::isThisDeclarationADefinition().

## ◆ VisitDecl()

void ASTDeclWriter::VisitDecl | ( | Decl * | D | ) |

Definition at line 290 of file ASTWriterDecl.cpp.

References clang::Decl::getAccess(), clang::Decl::getAttrs(), clang::Decl::getDeclContext(), clang::Decl::getLexicalDeclContext(), clang::Decl::getOwningModule(), clang::DeclContext::getParent(), clang::Decl::hasAttrs(), clang::Decl::isImplicit(), clang::Decl::isInvalidDecl(), clang::Decl::isModulePrivate(), clang::Decl::isOutOfLine(), clang::Decl::isReferenced(), clang::Decl::isTopLevelDeclInObjCContainer(), and clang::Decl::isUsed().

## ◆ VisitDeclaratorDecl()

void ASTDeclWriter::VisitDeclaratorDecl | ( | DeclaratorDecl * | D | ) |

Definition at line 515 of file ASTWriterDecl.cpp.

References clang::DeclaratorDecl::getInnerLocStart(), clang::TypeSourceInfo::getType(), and clang::DeclaratorDecl::getTypeSourceInfo().

## ◆ VisitDeclContext()

void ASTDeclWriter::VisitDeclContext | ( | DeclContext * | DC | ) |

Emit the DeclContext part of a declaration context decl.

Definition at line 1657 of file ASTWriterDecl.cpp.

## ◆ VisitDecompositionDecl()

void ASTDeclWriter::VisitDecompositionDecl | ( | DecompositionDecl * | D | ) |

Definition at line 1074 of file ASTWriterDecl.cpp.

References clang::DecompositionDecl::bindings(), and clang::serialization::DECL_DECOMPOSITION.

## ◆ VisitEmptyDecl()

void ASTDeclWriter::VisitEmptyDecl | ( | EmptyDecl * | D | ) |

Definition at line 1097 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_EMPTY.

## ◆ VisitEnumConstantDecl()

void ASTDeclWriter::VisitEnumConstantDecl | ( | EnumConstantDecl * | D | ) |

Definition at line 505 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_ENUM_CONSTANT, clang::EnumConstantDecl::getInitExpr(), and clang::EnumConstantDecl::getInitVal().

## ◆ VisitEnumDecl()

void ASTDeclWriter::VisitEnumDecl | ( | EnumDecl * | D | ) |

Definition at line 425 of file ASTWriterDecl.cpp.

References clang::AS_none, clang::CXXRecordDecl::classofKind(), clang::serialization::DECL_ENUM, clang::Decl::getAccess(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::EnumDecl::getIntegerType(), clang::EnumDecl::getIntegerTypeSourceInfo(), clang::Decl::getKind(), clang::Decl::getLexicalDeclContext(), clang::EnumDecl::getMemberSpecializationInfo(), clang::EnumDecl::getMostRecentDecl(), clang::DeclarationName::getNameKind(), clang::EnumDecl::getNumNegativeBits(), clang::EnumDecl::getNumPositiveBits(), clang::EnumDecl::getODRHash(), clang::EnumDecl::getPromotionType(), clang::TagDecl::getTypedefNameForAnonDecl(), clang::Decl::hasAttrs(), clang::DeclarationName::Identifier, clang::EnumDecl::isFixed(), clang::Decl::isImplicit(), clang::Decl::isInvalidDecl(), clang::Decl::isModulePrivate(), clang::Decl::isReferenced(), clang::EnumDecl::isScoped(), clang::EnumDecl::isScopedUsingClassTag(), clang::Decl::isTopLevelDeclInObjCContainer(), clang::Decl::isUsed(), and clang::serialization::needsAnonymousDeclarationNumber().

## ◆ VisitExportDecl()

void ASTDeclWriter::VisitExportDecl | ( | ExportDecl * | D | ) |

Definition at line 1149 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_EXPORT, and clang::ExportDecl::getRBraceLoc().

## ◆ VisitFieldDecl()

void ASTDeclWriter::VisitFieldDecl | ( | FieldDecl * | D | ) |

Definition at line 867 of file ASTWriterDecl.cpp.

References clang::FieldDecl::getBitWidth(), clang::FieldDecl::getCapturedVLAType(), clang::NamedDecl::getDeclName(), clang::FieldDecl::getInClassInitializer(), and clang::FieldDecl::isMutable().

## ◆ VisitFileScopeAsmDecl()

void ASTDeclWriter::VisitFileScopeAsmDecl | ( | FileScopeAsmDecl * | D | ) |

Definition at line 1090 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_FILE_SCOPE_ASM, clang::FileScopeAsmDecl::getAsmString(), and clang::FileScopeAsmDecl::getRParenLoc().

## ◆ VisitFriendDecl()

void ASTDeclWriter::VisitFriendDecl | ( | FriendDecl * | D | ) |

Definition at line 1376 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_FRIEND, clang::FriendDecl::getFriendDecl(), clang::FriendDecl::getFriendType(), and clang::FriendDecl::getFriendTypeTemplateParameterList().

## ◆ VisitFriendTemplateDecl()

void ASTDeclWriter::VisitFriendTemplateDecl | ( | FriendTemplateDecl * | D | ) |

Definition at line 1395 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_FRIEND_TEMPLATE, clang::FriendTemplateDecl::getFriendDecl(), clang::FriendTemplateDecl::getFriendLoc(), clang::FriendTemplateDecl::getFriendType(), clang::FriendTemplateDecl::getNumTemplateParameters(), and clang::FriendTemplateDecl::getTemplateParameterList().

## ◆ VisitFunctionDecl()

void ASTDeclWriter::VisitFunctionDecl | ( | FunctionDecl * | D | ) |

Definition at line 526 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_FUNCTION, clang::FunctionTemplateDecl::getCanonicalDecl(), clang::NamedDecl::getDeclName(), clang::FunctionDecl::getDependentSpecializationInfo(), clang::FunctionDecl::getDescribedFunctionTemplate(), clang::Decl::getEndLoc(), clang::Decl::getIdentifierNamespace(), clang::MemberSpecializationInfo::getInstantiatedFrom(), clang::DependentFunctionTemplateSpecializationInfo::getLAngleLoc(), clang::NamedDecl::getLinkageInternal(), clang::FunctionDecl::getMemberSpecializationInfo(), clang::DependentFunctionTemplateSpecializationInfo::getNumTemplateArgs(), clang::DependentFunctionTemplateSpecializationInfo::getNumTemplates(), clang::FunctionDecl::getODRHash(), clang::FunctionTemplateSpecializationInfo::getPointOfInstantiation(), clang::MemberSpecializationInfo::getPointOfInstantiation(), clang::DependentFunctionTemplateSpecializationInfo::getRAngleLoc(), clang::FunctionDecl::getStorageClass(), clang::FunctionTemplateSpecializationInfo::getTemplate(), clang::DependentFunctionTemplateSpecializationInfo::getTemplate(), clang::DependentFunctionTemplateSpecializationInfo::getTemplateArg(), 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::isConstexpr(), clang::FunctionDecl::isDefaulted(), clang::FunctionDecl::isExplicitlyDefaulted(), clang::FunctionDecl::isExplicitSpecified(), clang::FunctionDecl::isInlined(), clang::FunctionDecl::isInlineSpecified(), clang::FunctionDecl::isLateTemplateParsed(), clang::FunctionDecl::isMultiVersion(), clang::FunctionDecl::isPure(), clang::FunctionDecl::isTrivial(), clang::FunctionDecl::isTrivialForCall(), clang::FunctionDecl::isVirtualAsWritten(), clang::ASTTemplateArgumentListInfo::LAngleLoc, clang::ASTTemplateArgumentListInfo::NumTemplateArgs, P, clang::FunctionDecl::param_size(), clang::FunctionDecl::parameters(), clang::ASTTemplateArgumentListInfo::RAngleLoc, clang::FunctionTemplateSpecializationInfo::TemplateArguments, clang::FunctionTemplateSpecializationInfo::TemplateArgumentsAsWritten, clang::FunctionDecl::TK_DependentFunctionTemplateSpecialization, clang::FunctionDecl::TK_FunctionTemplate, clang::FunctionDecl::TK_FunctionTemplateSpecialization, clang::FunctionDecl::TK_MemberSpecialization, clang::FunctionDecl::TK_NonTemplate, and clang::FunctionDecl::usesSEHTry().

## ◆ VisitFunctionTemplateDecl()

void ASTDeclWriter::VisitFunctionTemplateDecl | ( | FunctionTemplateDecl * | D | ) |

Definition at line 1560 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_FUNCTION_TEMPLATE, and clang::Redeclarable< decl_type >::isFirstDecl().

## ◆ VisitImplicitParamDecl()

void ASTDeclWriter::VisitImplicitParamDecl | ( | ImplicitParamDecl * | D | ) |

Definition at line 1020 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_IMPLICIT_PARAM.

## ◆ VisitImportDecl()

void ASTDeclWriter::VisitImportDecl | ( | ImportDecl * | D | ) |

Definition at line 1352 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_IMPORT, clang::Decl::getEndLoc(), clang::ImportDecl::getIdentifierLocs(), and clang::ImportDecl::getImportedModule().

## ◆ VisitIndirectFieldDecl()

void ASTDeclWriter::VisitIndirectFieldDecl | ( | IndirectFieldDecl * | D | ) |

Definition at line 910 of file ASTWriterDecl.cpp.

References clang::IndirectFieldDecl::chain(), clang::serialization::DECL_INDIRECTFIELD, clang::IndirectFieldDecl::getChainingSize(), and P.

## ◆ VisitLabelDecl()

void ASTDeclWriter::VisitLabelDecl | ( | LabelDecl * | LD | ) |

Definition at line 1155 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_LABEL, and clang::Decl::getBeginLoc().

## ◆ VisitLinkageSpecDecl()

void ASTDeclWriter::VisitLinkageSpecDecl | ( | LinkageSpecDecl * | D | ) |

Definition at line 1141 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_LINKAGE_SPEC, clang::LinkageSpecDecl::getExternLoc(), clang::LinkageSpecDecl::getLanguage(), and clang::LinkageSpecDecl::getRBraceLoc().

## ◆ VisitMSPropertyDecl()

void ASTDeclWriter::VisitMSPropertyDecl | ( | MSPropertyDecl * | D | ) |

Definition at line 903 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_MS_PROPERTY, clang::MSPropertyDecl::getGetterId(), and clang::MSPropertyDecl::getSetterId().

## ◆ VisitNamedDecl()

void ASTDeclWriter::VisitNamedDecl | ( | NamedDecl * | D | ) |

Definition at line 355 of file ASTWriterDecl.cpp.

References clang::NamedDecl::getDeclName(), and clang::serialization::needsAnonymousDeclarationNumber().

## ◆ VisitNamespaceAliasDecl()

void ASTDeclWriter::VisitNamespaceAliasDecl | ( | NamespaceAliasDecl * | D | ) |

Definition at line 1188 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_NAMESPACE_ALIAS, clang::NamespaceAliasDecl::getNamespace(), clang::NamespaceAliasDecl::getNamespaceLoc(), clang::NamespaceAliasDecl::getQualifierLoc(), and clang::NamespaceAliasDecl::getTargetNameLoc().

## ◆ VisitNamespaceDecl()

void ASTDeclWriter::VisitNamespaceDecl | ( | NamespaceDecl * | D | ) |

Definition at line 1162 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_NAMESPACE, clang::NamespaceDecl::getAnonymousNamespace(), clang::NamespaceDecl::getBeginLoc(), clang::NamedDecl::getMostRecentDecl(), clang::DeclContext::getParent(), clang::DeclContext::getPrimaryContext(), clang::NamespaceDecl::getRBraceLoc(), clang::DeclContext::getRedeclContext(), clang::NamespaceDecl::isAnonymousNamespace(), clang::Decl::isFromASTFile(), clang::NamespaceDecl::isInline(), clang::NamespaceDecl::isOriginalNamespace(), Parent, and clang::serialization::UPD_CXX_ADDED_ANONYMOUS_NAMESPACE.

## ◆ VisitNonTypeTemplateParmDecl()

void ASTDeclWriter::VisitNonTypeTemplateParmDecl | ( | NonTypeTemplateParmDecl * | D | ) |

Definition at line 1582 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK, clang::serialization::DECL_NON_TYPE_TEMPLATE_PARM, clang::NonTypeTemplateParmDecl::defaultArgumentWasInherited(), clang::NonTypeTemplateParmDecl::getDefaultArgument(), clang::TemplateParmPosition::getDepth(), clang::NonTypeTemplateParmDecl::getExpansionType(), clang::NonTypeTemplateParmDecl::getExpansionTypeSourceInfo(), clang::NonTypeTemplateParmDecl::getNumExpansionTypes(), clang::TemplateParmPosition::getPosition(), clang::NonTypeTemplateParmDecl::hasDefaultArgument(), clang::NonTypeTemplateParmDecl::isExpandedParameterPack(), and clang::NonTypeTemplateParmDecl::isParameterPack().

## ◆ VisitObjCAtDefsFieldDecl()

void ASTDeclWriter::VisitObjCAtDefsFieldDecl | ( | ObjCAtDefsFieldDecl * | D | ) |

Definition at line 782 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_AT_DEFS_FIELD.

## ◆ VisitObjCCategoryDecl()

void ASTDeclWriter::VisitObjCCategoryDecl | ( | ObjCCategoryDecl * | D | ) |

Definition at line 787 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_CATEGORY, clang::ObjCCategoryDecl::getCategoryNameLoc(), clang::ObjCCategoryDecl::getClassInterface(), clang::ObjCCategoryDecl::getIvarLBraceLoc(), clang::ObjCCategoryDecl::getIvarRBraceLoc(), clang::ObjCCategoryDecl::protocol_locs(), clang::ObjCCategoryDecl::protocol_size(), and clang::ObjCCategoryDecl::protocols().

## ◆ VisitObjCCategoryImplDecl()

void ASTDeclWriter::VisitObjCCategoryImplDecl | ( | ObjCCategoryImplDecl * | D | ) |

Definition at line 835 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_CATEGORY_IMPL, and clang::ObjCCategoryImplDecl::getCategoryNameLoc().

## ◆ VisitObjCCompatibleAliasDecl()

void ASTDeclWriter::VisitObjCCompatibleAliasDecl | ( | ObjCCompatibleAliasDecl * | D | ) |

Definition at line 802 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_COMPATIBLE_ALIAS, and clang::ObjCCompatibleAliasDecl::getClassInterface().

## ◆ VisitObjCContainerDecl()

void ASTDeclWriter::VisitObjCContainerDecl | ( | ObjCContainerDecl * | D | ) |

Definition at line 694 of file ASTWriterDecl.cpp.

References clang::ObjCContainerDecl::getAtEndRange(), and clang::ObjCContainerDecl::getAtStartLoc().

## ◆ VisitObjCImplDecl()

void ASTDeclWriter::VisitObjCImplDecl | ( | ObjCImplDecl * | D | ) |

Definition at line 829 of file ASTWriterDecl.cpp.

References clang::ObjCImplDecl::getClassInterface().

## ◆ VisitObjCImplementationDecl()

void ASTDeclWriter::VisitObjCImplementationDecl | ( | ObjCImplementationDecl * | D | ) |

Definition at line 841 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_IMPLEMENTATION, clang::ObjCImplementationDecl::getIvarLBraceLoc(), clang::ObjCImplementationDecl::getIvarRBraceLoc(), clang::ObjCImplementationDecl::getSuperClass(), clang::ObjCImplementationDecl::getSuperClassLoc(), clang::ObjCImplementationDecl::hasDestructors(), clang::ObjCImplementationDecl::hasNonZeroConstructors(), clang::ObjCImplementationDecl::init_begin(), and clang::ObjCImplementationDecl::init_end().

## ◆ VisitObjCInterfaceDecl()

void ASTDeclWriter::VisitObjCInterfaceDecl | ( | ObjCInterfaceDecl * | D | ) |

Definition at line 701 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_INTERFACE, clang::ObjCInterfaceDecl::getCategoryListRaw(), clang::ObjCInterfaceDecl::getEndOfDefinitionLoc(), clang::ObjCInterfaceDecl::getSuperClassTInfo(), clang::ObjCInterfaceDecl::getTypeForDecl(), clang::ObjCInterfaceDecl::isThisDeclarationADefinition(), P, clang::ObjCInterfaceDecl::protocol_locs(), and clang::ObjCInterfaceDecl::protocols().

## ◆ VisitObjCIvarDecl()

void ASTDeclWriter::VisitObjCIvarDecl | ( | ObjCIvarDecl * | D | ) |

Definition at line 745 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_IVAR, clang::ObjCIvarDecl::getAccessControl(), clang::FieldDecl::getBitWidth(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::Decl::getLexicalDeclContext(), clang::ObjCIvarDecl::getSynthesize(), clang::Decl::hasAttrs(), clang::Decl::isImplicit(), clang::Decl::isInvalidDecl(), clang::Decl::isModulePrivate(), clang::Decl::isReferenced(), and clang::Decl::isUsed().

## ◆ VisitObjCMethodDecl()

void ASTDeclWriter::VisitObjCMethodDecl | ( | ObjCMethodDecl * | D | ) |

Definition at line 636 of file ASTWriterDecl.cpp.

References clang::ObjCMethodDecl::getBody(), clang::ObjCMethodDecl::getCmdDecl(), clang::ObjCMethodDecl::getSelfDecl(), clang::ObjCMethodDecl::hasRedeclaration(), clang::ObjCMethodDecl::hasSkippedBody(), clang::ObjCMethodDecl::isDefined(), clang::ObjCMethodDecl::isInstanceMethod(), clang::ObjCMethodDecl::isOverriding(), clang::ObjCMethodDecl::isPropertyAccessor(), clang::ObjCMethodDecl::isRedeclaration(), and clang::ObjCMethodDecl::isVariadic().

## ◆ VisitObjCPropertyDecl()

void ASTDeclWriter::VisitObjCPropertyDecl | ( | ObjCPropertyDecl * | D | ) |

Definition at line 808 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_PROPERTY, clang::ObjCPropertyDecl::getAtLoc(), clang::ObjCPropertyDecl::getGetterMethodDecl(), clang::ObjCPropertyDecl::getGetterName(), clang::ObjCPropertyDecl::getGetterNameLoc(), clang::ObjCPropertyDecl::getLParenLoc(), clang::ObjCPropertyDecl::getPropertyAttributes(), clang::ObjCPropertyDecl::getPropertyAttributesAsWritten(), clang::ObjCPropertyDecl::getPropertyImplementation(), clang::ObjCPropertyDecl::getPropertyIvarDecl(), clang::ObjCPropertyDecl::getSetterMethodDecl(), clang::ObjCPropertyDecl::getSetterName(), clang::ObjCPropertyDecl::getSetterNameLoc(), clang::ObjCPropertyDecl::getType(), and clang::ObjCPropertyDecl::getTypeSourceInfo().

## ◆ VisitObjCPropertyImplDecl()

void ASTDeclWriter::VisitObjCPropertyImplDecl | ( | ObjCPropertyImplDecl * | D | ) |

Definition at line 856 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_PROPERTY_IMPL, clang::ObjCPropertyImplDecl::getBeginLoc(), clang::ObjCPropertyImplDecl::getGetterCXXConstructor(), clang::ObjCPropertyImplDecl::getPropertyDecl(), clang::ObjCPropertyImplDecl::getPropertyIvarDecl(), clang::ObjCPropertyImplDecl::getPropertyIvarDeclLoc(), and clang::ObjCPropertyImplDecl::getSetterCXXAssignment().

## ◆ VisitObjCProtocolDecl()

void ASTDeclWriter::VisitObjCProtocolDecl | ( | ObjCProtocolDecl * | D | ) |

Definition at line 766 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_PROTOCOL, clang::ObjCProtocolDecl::isThisDeclarationADefinition(), clang::ObjCProtocolDecl::protocol_locs(), clang::ObjCProtocolDecl::protocol_size(), and clang::ObjCProtocolDecl::protocols().

## ◆ VisitObjCTypeParamDecl()

void ASTDeclWriter::VisitObjCTypeParamDecl | ( | ObjCTypeParamDecl * | D | ) |

Definition at line 684 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OBJC_TYPE_PARAM.

## ◆ VisitOMPCapturedExprDecl()

void ASTDeclWriter::VisitOMPCapturedExprDecl | ( | OMPCapturedExprDecl * | D | ) |

Definition at line 1769 of file ASTWriterDecl.cpp.

References clang::AS_none, clang::serialization::DECL_CONTEXT_LEXICAL, clang::serialization::DECL_CONTEXT_VISIBLE, clang::serialization::DECL_CXX_METHOD, clang::serialization::DECL_ENUM, clang::serialization::DECL_FIELD, clang::serialization::DECL_OBJC_IVAR, clang::serialization::DECL_OMP_CAPTUREDEXPR, clang::serialization::DECL_PARM_VAR, clang::serialization::DECL_RECORD, clang::serialization::DECL_TYPEDEF, clang::serialization::DECL_VAR, clang::serialization::EXPR_CHARACTER_LITERAL, clang::serialization::EXPR_DECL_REF, clang::serialization::EXPR_IMPLICIT_CAST, clang::serialization::EXPR_INTEGER_LITERAL, and clang::DeclarationName::Identifier.

## ◆ VisitOMPDeclareReductionDecl()

void ASTDeclWriter::VisitOMPDeclareReductionDecl | ( | OMPDeclareReductionDecl * | D | ) |

Definition at line 1755 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OMP_DECLARE_REDUCTION, clang::Decl::getBeginLoc(), clang::OMPDeclareReductionDecl::getCombiner(), clang::OMPDeclareReductionDecl::getCombinerIn(), clang::OMPDeclareReductionDecl::getCombinerOut(), clang::OMPDeclareReductionDecl::getInitializer(), clang::OMPDeclareReductionDecl::getInitializerKind(), clang::OMPDeclareReductionDecl::getInitOrig(), clang::OMPDeclareReductionDecl::getInitPriv(), and clang::OMPDeclareReductionDecl::getPrevDeclInScope().

## ◆ VisitOMPRequiresDecl()

void ASTDeclWriter::VisitOMPRequiresDecl | ( | OMPRequiresDecl * | D | ) |

Definition at line 1746 of file ASTWriterDecl.cpp.

References clang::OMPRequiresDecl::clauselist_size(), clang::OMPRequiresDecl::clauselists(), clang::serialization::DECL_OMP_REQUIRES, and clang::OMPClauseWriter::writeClause().

## ◆ VisitOMPThreadPrivateDecl()

void ASTDeclWriter::VisitOMPThreadPrivateDecl | ( | OMPThreadPrivateDecl * | D | ) |

Definition at line 1738 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_OMP_THREADPRIVATE, clang::OMPThreadPrivateDecl::varlist_size(), and clang::OMPThreadPrivateDecl::varlists().

## ◆ VisitParmVarDecl()

void ASTDeclWriter::VisitParmVarDecl | ( | ParmVarDecl * | D | ) |

Definition at line 1025 of file ASTWriterDecl.cpp.

References clang::AS_none, clang::VarDecl::CInit, clang::serialization::DECL_PARM_VAR, clang::Decl::getAccess(), clang::Decl::getDeclContext(), clang::ParmVarDecl::getFunctionScopeDepth(), clang::ParmVarDecl::getFunctionScopeIndex(), clang::VarDecl::getInit(), clang::VarDecl::getInitStyle(), clang::Decl::getLexicalDeclContext(), clang::ParmVarDecl::getObjCDeclQualifier(), clang::Redeclarable< decl_type >::getPreviousDecl(), clang::VarDecl::getStorageClass(), clang::VarDecl::getTSCSpec(), clang::ParmVarDecl::getUninstantiatedDefaultArg(), clang::Decl::hasAttrs(), clang::ParmVarDecl::hasInheritedDefaultArg(), clang::ParmVarDecl::hasUninstantiatedDefaultArg(), clang::VarDecl::isARCPseudoStrong(), clang::VarDecl::isExceptionVariable(), clang::Decl::isImplicit(), clang::Decl::isInvalidDecl(), clang::ParmVarDecl::isKNRPromoted(), clang::Decl::isModulePrivate(), clang::ParmVarDecl::isObjCMethodParameter(), clang::Decl::isReferenced(), clang::VarDecl::isStaticDataMember(), clang::VarDecl::isThisDeclarationADemotedDefinition(), and clang::Decl::isUsed().

## ◆ VisitPragmaCommentDecl()

void ASTDeclWriter::VisitPragmaCommentDecl | ( | PragmaCommentDecl * | D | ) |

Definition at line 329 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_PRAGMA_COMMENT, clang::PragmaCommentDecl::getArg(), clang::Decl::getBeginLoc(), and clang::PragmaCommentDecl::getCommentKind().

## ◆ VisitPragmaDetectMismatchDecl()

void ASTDeclWriter::VisitPragmaDetectMismatchDecl | ( | PragmaDetectMismatchDecl * | D | ) |

Definition at line 339 of file ASTWriterDecl.cpp.

## ◆ VisitRecordDecl()

void ASTDeclWriter::VisitRecordDecl | ( | RecordDecl * | D | ) |

Definition at line 468 of file ASTWriterDecl.cpp.

References clang::AS_none, clang::CXXRecordDecl::classofKind(), clang::serialization::DECL_RECORD, clang::Decl::getAccess(), 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::TagDecl::getTypedefNameForAnonDecl(), clang::Decl::hasAttrs(), clang::RecordDecl::hasFlexibleArrayMember(), clang::RecordDecl::hasObjectMember(), clang::RecordDecl::hasVolatileMember(), clang::DeclarationName::Identifier, clang::RecordDecl::isAnonymousStructOrUnion(), clang::Decl::isImplicit(), clang::Decl::isInvalidDecl(), clang::Decl::isModulePrivate(), clang::RecordDecl::isNonTrivialToPrimitiveCopy(), clang::RecordDecl::isNonTrivialToPrimitiveDefaultInitialize(), clang::RecordDecl::isNonTrivialToPrimitiveDestroy(), clang::RecordDecl::isParamDestroyedInCallee(), clang::Decl::isReferenced(), clang::Decl::isTopLevelDeclInObjCContainer(), clang::Decl::isUsed(), and clang::serialization::needsAnonymousDeclarationNumber().

## ◆ VisitRedeclarable()

template<typename T >

void ASTDeclWriter::VisitRedeclarable | ( | Redeclarable< T > * | D | ) |

Definition at line 1680 of file ASTWriterDecl.cpp.

References clang::ASTRecordWriter::AddDeclRef(), clang::ASTRecordWriter::Emit(), clang::First, clang::Redeclarable< decl_type >::getFirstDecl(), clang::Decl::getMostRecentDecl(), clang::Redeclarable< decl_type >::getPreviousDecl(), clang::Decl::getPreviousDecl(), clang::serialization::isRedeclarableDeclKind(), and clang::serialization::LOCAL_REDECLARATIONS.

## ◆ VisitRedeclarableTemplateDecl()

void ASTDeclWriter::VisitRedeclarableTemplateDecl | ( | RedeclarableTemplateDecl * | D | ) |

Definition at line 1416 of file ASTWriterDecl.cpp.

References clang::Decl::getIdentifierNamespace(), clang::RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate(), clang::Redeclarable< decl_type >::isFirstDecl(), and clang::RedeclarableTemplateDecl::isMemberSpecialization().

## ◆ VisitStaticAssertDecl()

void ASTDeclWriter::VisitStaticAssertDecl | ( | StaticAssertDecl * | D | ) |

Definition at line 1647 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_STATIC_ASSERT, clang::StaticAssertDecl::getAssertExpr(), clang::StaticAssertDecl::getMessage(), clang::StaticAssertDecl::getRParenLoc(), and clang::StaticAssertDecl::isFailed().

## ◆ VisitTagDecl()

void ASTDeclWriter::VisitTagDecl | ( | TagDecl * | D | ) |

Definition at line 401 of file ASTWriterDecl.cpp.

References clang::TagDecl::getBraceRange(), clang::Decl::getIdentifierNamespace(), clang::TagDecl::getTagKind(), clang::TagDecl::getTypedefNameForAnonDecl(), clang::TagDecl::isCompleteDefinition(), clang::TagDecl::isCompleteDefinitionRequired(), clang::TagDecl::isEmbeddedInDeclarator(), and clang::TagDecl::isFreeStanding().

## ◆ VisitTemplateDecl()

void ASTDeclWriter::VisitTemplateDecl | ( | TemplateDecl * | D | ) |

Definition at line 1409 of file ASTWriterDecl.cpp.

References clang::TemplateDecl::getTemplatedDecl(), and clang::TemplateDecl::getTemplateParameters().

## ◆ VisitTemplateTemplateParmDecl()

void ASTDeclWriter::VisitTemplateTemplateParmDecl | ( | TemplateTemplateParmDecl * | D | ) |

Definition at line 1613 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK, clang::serialization::DECL_TEMPLATE_TEMPLATE_PARM, clang::TemplateTemplateParmDecl::defaultArgumentWasInherited(), clang::TemplateTemplateParmDecl::getDefaultArgument(), clang::TemplateParmPosition::getDepth(), clang::TemplateTemplateParmDecl::getExpansionTemplateParameters(), clang::TemplateTemplateParmDecl::getNumExpansionTemplateParameters(), clang::TemplateParmPosition::getPosition(), clang::TemplateTemplateParmDecl::hasDefaultArgument(), clang::TemplateTemplateParmDecl::isExpandedParameterPack(), and clang::TemplateTemplateParmDecl::isParameterPack().

## ◆ VisitTemplateTypeParmDecl()

void ASTDeclWriter::VisitTemplateTypeParmDecl | ( | TemplateTypeParmDecl * | D | ) |

Definition at line 1568 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_TEMPLATE_TYPE_PARM, clang::TemplateTypeParmDecl::defaultArgumentWasInherited(), clang::TemplateTypeParmDecl::getDefaultArgumentInfo(), clang::TemplateTypeParmDecl::hasDefaultArgument(), and clang::TemplateTypeParmDecl::wasDeclaredWithTypename().

## ◆ VisitTranslationUnitDecl()

void ASTDeclWriter::VisitTranslationUnitDecl | ( | TranslationUnitDecl * | D | ) |

Definition at line 351 of file ASTWriterDecl.cpp.

## ◆ VisitTypeAliasDecl()

void ASTDeclWriter::VisitTypeAliasDecl | ( | TypeAliasDecl * | D | ) |

Definition at line 395 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_TYPEALIAS, and clang::TypeAliasDecl::getDescribedAliasTemplate().

## ◆ VisitTypeAliasTemplateDecl()

void ASTDeclWriter::VisitTypeAliasTemplateDecl | ( | TypeAliasTemplateDecl * | D | ) |

Definition at line 1642 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_TYPE_ALIAS_TEMPLATE.

## ◆ VisitTypeDecl()

void ASTDeclWriter::VisitTypeDecl | ( | TypeDecl * | D | ) |

Definition at line 363 of file ASTWriterDecl.cpp.

References clang::TypeDecl::getBeginLoc(), and clang::TypeDecl::getTypeForDecl().

## ◆ VisitTypedefDecl()

void ASTDeclWriter::VisitTypedefDecl | ( | TypedefDecl * | D | ) |

Definition at line 379 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_TYPEDEF, clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::Decl::getLexicalDeclContext(), clang::Redeclarable< decl_type >::getMostRecentDecl(), clang::DeclarationName::getNameKind(), clang::Decl::hasAttrs(), clang::DeclarationName::Identifier, clang::Decl::isImplicit(), clang::Decl::isInvalidDecl(), clang::Decl::isModulePrivate(), clang::Decl::isTopLevelDeclInObjCContainer(), and clang::serialization::needsAnonymousDeclarationNumber().

## ◆ VisitTypedefNameDecl()

void ASTDeclWriter::VisitTypedefNameDecl | ( | TypedefNameDecl * | D | ) |

Definition at line 369 of file ASTWriterDecl.cpp.

References clang::TypedefNameDecl::getAnonDeclWithTypedefName(), clang::TypedefNameDecl::getTypeSourceInfo(), clang::TypedefNameDecl::getUnderlyingType(), and clang::TypedefNameDecl::isModed().

## ◆ VisitUnresolvedUsingTypenameDecl()

void ASTDeclWriter::VisitUnresolvedUsingTypenameDecl | ( | UnresolvedUsingTypenameDecl * | D | ) |

Definition at line 1256 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_UNRESOLVED_USING_TYPENAME, clang::UnresolvedUsingTypenameDecl::getEllipsisLoc(), clang::UnresolvedUsingTypenameDecl::getQualifierLoc(), and clang::UnresolvedUsingTypenameDecl::getTypenameLoc().

## ◆ VisitUnresolvedUsingValueDecl()

void ASTDeclWriter::VisitUnresolvedUsingValueDecl | ( | UnresolvedUsingValueDecl * | D | ) |

Definition at line 1247 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_UNRESOLVED_USING_VALUE, clang::NamedDecl::getDeclName(), clang::UnresolvedUsingValueDecl::getEllipsisLoc(), clang::UnresolvedUsingValueDecl::getQualifierLoc(), and clang::UnresolvedUsingValueDecl::getUsingLoc().

## ◆ VisitUsingDecl()

void ASTDeclWriter::VisitUsingDecl | ( | UsingDecl * | D | ) |

Definition at line 1198 of file ASTWriterDecl.cpp.

References clang::NamedDecl::getDeclName(), clang::UsingDecl::getQualifierLoc(), clang::UsingDecl::getUsingLoc(), and clang::UsingDecl::hasTypename().

## ◆ VisitUsingDirectiveDecl()

void ASTDeclWriter::VisitUsingDirectiveDecl | ( | UsingDirectiveDecl * | D | ) |

Definition at line 1237 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_USING_DIRECTIVE, clang::UsingDirectiveDecl::getCommonAncestor(), clang::UsingDirectiveDecl::getNamespaceKeyLocation(), clang::UsingDirectiveDecl::getNominatedNamespace(), clang::UsingDirectiveDecl::getQualifierLoc(), and clang::UsingDirectiveDecl::getUsingLoc().

## ◆ VisitUsingPackDecl()

void ASTDeclWriter::VisitUsingPackDecl | ( | UsingPackDecl * | D | ) |

Definition at line 1209 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_USING_PACK, clang::UsingPackDecl::expansions(), and clang::UsingPackDecl::getInstantiatedFromUsingDecl().

## ◆ VisitUsingShadowDecl()

void ASTDeclWriter::VisitUsingShadowDecl | ( | UsingShadowDecl * | D | ) |

Definition at line 1218 of file ASTWriterDecl.cpp.

References clang::Decl::getIdentifierNamespace(), and clang::UsingShadowDecl::getTargetDecl().

## ◆ VisitValueDecl()

void ASTDeclWriter::VisitValueDecl | ( | ValueDecl * | D | ) |

Definition at line 500 of file ASTWriterDecl.cpp.

References clang::ValueDecl::getType().

## ◆ VisitVarDecl()

void ASTDeclWriter::VisitVarDecl | ( | VarDecl * | D | ) |

Definition at line 919 of file ASTWriterDecl.cpp.

References clang::AS_none, clang::ASTContext::BlockVarCopyInit::canThrow(), clang::serialization::DECL_VAR, clang::Decl::getAccess(), clang::Type::getAsCXXRecordDecl(), clang::ASTContext::BlockVarCopyInit::getCopyExpr(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::VarDecl::getDescribedVarTemplate(), clang::Redeclarable< decl_type >::getFirstDecl(), clang::VarDecl::getInit(), clang::VarDecl::getInitStyle(), clang::Decl::getKind(), clang::Decl::getLexicalDeclContext(), clang::NamedDecl::getLinkageInternal(), clang::VarDecl::getMemberSpecializationInfo(), clang::Redeclarable< decl_type >::getMostRecentDecl(), clang::DeclarationName::getNameKind(), clang::VarDecl::getStorageClass(), clang::VarDecl::getStorageDuration(), clang::VarDecl::getTSCSpec(), clang::ValueDecl::getType(), clang::GVA_StrongExternal, clang::Decl::hasAttr(), clang::Decl::hasAttrs(), clang::DeclarationName::Identifier, clang::VarDecl::isARCPseudoStrong(), clang::VarDecl::isConstexpr(), clang::VarDecl::isCXXForRangeDecl(), clang::VarDecl::isEscapingByref(), clang::VarDecl::isExceptionVariable(), clang::Decl::isImplicit(), clang::VarDecl::isInitCapture(), clang::VarDecl::isInitICE(), clang::VarDecl::isInitKnownICE(), clang::VarDecl::isInline(), clang::VarDecl::isInlineSpecified(), clang::Decl::isInvalidDecl(), clang::Decl::isModulePrivate(), clang::VarDecl::isNRVOVariable(), clang::VarDecl::isObjCForDecl(), clang::VarDecl::isPreviousDeclInSameBlockScope(), clang::Decl::isReferenced(), clang::VarDecl::isThisDeclarationADemotedDefinition(), clang::Decl::isTopLevelDeclInObjCContainer(), clang::Decl::isUsed(), clang::Module::ModuleInterfaceUnit, clang::serialization::needsAnonymousDeclarationNumber(), and clang::SD_Static.

## ◆ VisitVarTemplateDecl()

void ASTDeclWriter::VisitVarTemplateDecl | ( | VarTemplateDecl * | D | ) |

Definition at line 1492 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_VAR_TEMPLATE, and clang::Redeclarable< decl_type >::isFirstDecl().

## ◆ VisitVarTemplatePartialSpecializationDecl()

void ASTDeclWriter::VisitVarTemplatePartialSpecializationDecl | ( | VarTemplatePartialSpecializationDecl * | D | ) |

Definition at line 1536 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION, clang::VarTemplatePartialSpecializationDecl::getInstantiatedFromMember(), clang::Redeclarable< decl_type >::getPreviousDecl(), clang::VarTemplatePartialSpecializationDecl::getTemplateArgsAsWritten(), clang::VarTemplatePartialSpecializationDecl::getTemplateParameters(), and clang::VarTemplatePartialSpecializationDecl::isMemberSpecialization().

## ◆ VisitVarTemplateSpecializationDecl()

void ASTDeclWriter::VisitVarTemplateSpecializationDecl | ( | VarTemplateSpecializationDecl * | D | ) |

Definition at line 1500 of file ASTWriterDecl.cpp.

References clang::serialization::DECL_VAR_TEMPLATE_SPECIALIZATION, clang::VarTemplateDecl::getCanonicalDecl(), clang::VarTemplateSpecializationDecl::getExternLoc(), clang::VarTemplateSpecializationDecl::getPointOfInstantiation(), clang::VarTemplateSpecializationDecl::getSpecializationKind(), clang::VarTemplateSpecializationDecl::getSpecializedTemplate(), clang::VarTemplateSpecializationDecl::getSpecializedTemplateOrPartial(), clang::VarTemplateSpecializationDecl::getTemplateArgs(), clang::VarTemplateSpecializationDecl::getTemplateInstantiationArgs(), clang::VarTemplateSpecializationDecl::getTemplateKeywordLoc(), clang::VarTemplateSpecializationDecl::getTypeAsWritten(), and clang::Decl::isCanonicalDecl().

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

- lib/Serialization/ASTWriterDecl.cpp