clang 18.0.0git
|
An object for streaming information to a record. More...
#include "clang/Serialization/ASTRecordWriter.h"
Public Member Functions | |
ASTRecordWriter (ASTWriter &W, ASTWriter::RecordDataImpl &Record) | |
Construct a ASTRecordWriter that uses the default encoding scheme. | |
ASTRecordWriter (ASTRecordWriter &Parent, ASTWriter::RecordDataImpl &Record) | |
Construct a ASTRecordWriter that uses the same encoding scheme as another ASTRecordWriter. | |
ASTRecordWriter (const ASTRecordWriter &)=delete | |
Copying an ASTRecordWriter is almost certainly a bug. | |
ASTRecordWriter & | operator= (const ASTRecordWriter &)=delete |
ASTWriter::RecordDataImpl & | getRecordData () const |
Extract the underlying record storage. | |
uint64_t | Emit (unsigned Code, unsigned Abbrev=0) |
Emit the record to the stream, followed by its substatements, and return its offset. | |
uint64_t | EmitStmt (unsigned Code, unsigned Abbrev=0) |
Emit the record to the stream, preceded by its substatements. | |
void | AddOffset (uint64_t BitOffset) |
Add a bit offset into the record. | |
void | AddStmt (Stmt *S) |
Add the given statement or expression to the queue of statements to emit. | |
void | writeStmtRef (const Stmt *S) |
void | writeBTFTypeTagAttr (const BTFTypeTagAttr *A) |
Write an BTFTypeTagAttr object. | |
void | AddFunctionDefinition (const FunctionDecl *FD) |
Add a definition for the given function to the queue of statements to emit. | |
void | AddSourceLocation (SourceLocation Loc, LocSeq *Seq=nullptr) |
Emit a source location. | |
void | writeSourceLocation (SourceLocation Loc) |
void | AddSourceRange (SourceRange Range, LocSeq *Seq=nullptr) |
Emit a source range. | |
void | writeBool (bool Value) |
void | writeUInt32 (uint32_t Value) |
void | writeUInt64 (uint64_t Value) |
void | AddAPInt (const llvm::APInt &Value) |
Emit an integral value. | |
void | AddAPSInt (const llvm::APSInt &Value) |
Emit a signed integral value. | |
void | AddAPFloat (const llvm::APFloat &Value) |
Emit a floating-point value. | |
void | AddAPValue (const APValue &Value) |
Emit an APvalue. | |
void | AddIdentifierRef (const IdentifierInfo *II) |
Emit a reference to an identifier. | |
void | writeIdentifier (const IdentifierInfo *II) |
void | AddSelectorRef (Selector S) |
Emit a Selector (which is a smart pointer reference). | |
void | writeSelector (Selector sel) |
void | AddCXXTemporary (const CXXTemporary *Temp) |
Emit a CXXTemporary. | |
void | AddCXXBaseSpecifier (const CXXBaseSpecifier &Base) |
Emit a C++ base specifier. | |
void | AddCXXBaseSpecifiers (ArrayRef< CXXBaseSpecifier > Bases) |
Emit a set of C++ base specifiers. | |
void | AddTypeRef (QualType T) |
Emit a reference to a type. | |
void | writeQualType (QualType T) |
void | AddTypeSourceInfo (TypeSourceInfo *TInfo) |
Emits a reference to a declarator info. | |
void | AddTypeLoc (TypeLoc TL, LocSeq *Seq=nullptr) |
Emits source location information for a type. Does not emit the type. | |
void | AddTemplateArgumentLocInfo (TemplateArgument::ArgKind Kind, const TemplateArgumentLocInfo &Arg) |
Emits a template argument location info. | |
void | AddTemplateArgumentLoc (const TemplateArgumentLoc &Arg) |
Emits a template argument location. | |
void | AddASTTemplateArgumentListInfo (const ASTTemplateArgumentListInfo *ASTTemplArgList) |
Emits an AST template argument list info. | |
void | AddConceptReference (const ConceptReference *CR) |
void | AddDeclRef (const Decl *D) |
Emit a reference to a declaration. | |
void | writeDeclRef (const Decl *D) |
void | AddDeclarationName (DeclarationName Name) |
Emit a declaration name. | |
void | AddDeclarationNameLoc (const DeclarationNameLoc &DNLoc, DeclarationName Name) |
void | AddDeclarationNameInfo (const DeclarationNameInfo &NameInfo) |
void | AddQualifierInfo (const QualifierInfo &Info) |
void | AddNestedNameSpecifier (NestedNameSpecifier *NNS) |
Emit a nested name specifier. | |
void | AddNestedNameSpecifierLoc (NestedNameSpecifierLoc NNS) |
Emit a nested name specifier with source-location information. | |
void | AddTemplateName (TemplateName Name) |
Emit a template name. | |
void | AddTemplateArgument (const TemplateArgument &Arg) |
Emit a template argument. | |
void | AddTemplateParameterList (const TemplateParameterList *TemplateParams) |
Emit a template parameter list. | |
void | AddTemplateArgumentList (const TemplateArgumentList *TemplateArgs) |
Emit a template argument list. | |
void | AddUnresolvedSet (const ASTUnresolvedSet &Set) |
Emit a UnresolvedSet structure. | |
void | AddCXXCtorInitializers (ArrayRef< CXXCtorInitializer * > CtorInits) |
Emit a CXXCtorInitializer array. | |
void | AddCXXDefinitionData (const CXXRecordDecl *D) |
void | AddVarDeclInit (const VarDecl *VD) |
Emit information about the initializer of a VarDecl. | |
void | writeOMPTraitInfo (const OMPTraitInfo *TI) |
Write an OMPTraitInfo object. | |
void | writeOMPClause (OMPClause *C) |
void | writeOMPChildren (OMPChildren *Data) |
Writes data related to the OpenMP directives. | |
void | AddString (StringRef Str) |
Emit a string. | |
void | AddPath (StringRef Path) |
Emit a path. | |
void | AddVersionTuple (const VersionTuple &Version) |
Emit a version tuple. | |
void | AddAttr (const Attr *A) |
void | AddAttributes (ArrayRef< const Attr * > Attrs) |
Emit a list of attributes. | |
void | push_back (uint64_t N) |
Minimal vector-like interface. | |
template<typename InputIterator > | |
void | append (InputIterator begin, InputIterator end) |
bool | empty () const |
size_t | size () const |
uint64_t & | operator[] (size_t N) |
![]() | |
ASTRecordWriter & | find (const char *propertyName) |
Implement property-find by ignoring it. | |
ASTRecordWriter & | writeObject () |
void | writeEnum (T value) |
void | writeArray (llvm::ArrayRef< T > array) |
void | writeOptional (std::optional< T > value) |
void | writeAPSInt (const llvm::APSInt &value) |
void | writeAPInt (const llvm::APInt &value) |
void | writeFixedPointSemantics (const llvm::FixedPointSemantics &sema) |
void | writeLValuePathSerializationHelper (APValue::LValuePathSerializationHelper lvaluePath) |
void | writeQualifiers (Qualifiers value) |
void | writeExceptionSpecInfo (const FunctionProtoType::ExceptionSpecInfo &esi) |
void | writeExtParameterInfo (FunctionProtoType::ExtParameterInfo epi) |
void | writeNestedNameSpecifier (NestedNameSpecifier *NNS) |
Additional Inherited Members | |
![]() | |
DataStreamBasicWriter (ASTContext &ctx) | |
An object for streaming information to a record.
Definition at line 27 of file ASTRecordWriter.h.
|
inline |
Construct a ASTRecordWriter that uses the default encoding scheme.
Definition at line 61 of file ASTRecordWriter.h.
|
inline |
Construct a ASTRecordWriter that uses the same encoding scheme as another ASTRecordWriter.
Definition at line 66 of file ASTRecordWriter.h.
|
delete |
Copying an ASTRecordWriter is almost certainly a bug.
void ASTRecordWriter::AddAPFloat | ( | const llvm::APFloat & | Value | ) |
|
inline |
Emit an integral value.
Definition at line 162 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeAPInt().
Referenced by AddAPFloat().
|
inline |
Emit a signed integral value.
Definition at line 167 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeAPSInt().
Referenced by clang::ASTDeclWriter::VisitEnumConstantDecl().
|
inline |
Emit an APvalue.
Definition at line 175 of file ASTRecordWriter.h.
Referenced by AddVarDeclInit(), clang::ASTDeclWriter::VisitLifetimeExtendedTemporaryDecl(), clang::ASTDeclWriter::VisitTemplateParamObjectDecl(), and clang::ASTDeclWriter::VisitUnnamedGlobalConstantDecl().
void ASTRecordWriter::AddASTTemplateArgumentListInfo | ( | const ASTTemplateArgumentListInfo * | ASTTemplArgList | ) |
Emits an AST template argument list info.
Definition at line 5911 of file ASTWriter.cpp.
References AddSourceLocation(), AddTemplateArgumentLoc(), clang::ASTTemplateArgumentListInfo::getTemplateArgs(), clang::ASTTemplateArgumentListInfo::LAngleLoc, clang::ASTTemplateArgumentListInfo::NumTemplateArgs, and clang::ASTTemplateArgumentListInfo::RAngleLoc.
Referenced by AddConceptReference(), clang::ASTDeclWriter::VisitClassScopeFunctionSpecializationDecl(), clang::ASTDeclWriter::VisitClassTemplatePartialSpecializationDecl(), and clang::ASTDeclWriter::VisitVarTemplatePartialSpecializationDecl().
void ASTRecordWriter::AddAttr | ( | const Attr * | A | ) |
Definition at line 4447 of file ASTWriter.cpp.
References clang::AttributeCommonInfo::getAttrName(), clang::Attr::getKind(), clang::AttributeCommonInfo::getParsedKind(), clang::AttributeCommonInfo::getRange(), clang::AttributeCommonInfo::getScopeLoc(), clang::AttributeCommonInfo::getScopeName(), clang::AttributeCommonInfo::getSyntax(), and clang::AttributeCommonInfo::isRegularKeywordAttribute().
Referenced by AddAttributes(), and writeBTFTypeTagAttr().
Emit a list of attributes.
Emit the list of attributes to the specified record.
Definition at line 4471 of file ASTWriter.cpp.
References AddAttr(), and push_back().
Referenced by clang::ASTDeclWriter::VisitDecl().
void ASTRecordWriter::AddConceptReference | ( | const ConceptReference * | CR | ) |
Definition at line 473 of file ASTWriter.cpp.
References AddASTTemplateArgumentListInfo(), AddDeclarationNameInfo(), AddDeclRef(), AddNestedNameSpecifierLoc(), AddSourceLocation(), clang::ConceptReference::getConceptNameInfo(), clang::ConceptReference::getFoundDecl(), clang::ConceptReference::getNamedConcept(), clang::ConceptReference::getNestedNameSpecifierLoc(), clang::ConceptReference::getTemplateArgsAsWritten(), clang::ConceptReference::getTemplateKWLoc(), and push_back().
Referenced by clang::ASTDeclWriter::VisitTemplateTypeParmDecl().
void ASTRecordWriter::AddCXXBaseSpecifier | ( | const CXXBaseSpecifier & | Base | ) |
Emit a C++ base specifier.
Definition at line 5932 of file ASTWriter.cpp.
References AddSourceLocation(), AddSourceRange(), and AddTypeSourceInfo().
Referenced by EmitCXXBaseSpecifiers().
void ASTRecordWriter::AddCXXBaseSpecifiers | ( | ArrayRef< CXXBaseSpecifier > | Bases | ) |
Emit a set of C++ base specifiers.
Definition at line 5956 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXBaseSpecifiers().
Referenced by AddCXXDefinitionData().
void ASTRecordWriter::AddCXXCtorInitializers | ( | ArrayRef< CXXCtorInitializer * > | CtorInits | ) |
Emit a CXXCtorInitializer array.
Definition at line 5996 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXCtorInitializers().
Referenced by AddFunctionDefinition(), and clang::ASTDeclWriter::VisitObjCImplementationDecl().
void ASTRecordWriter::AddCXXDefinitionData | ( | const CXXRecordDecl * | D | ) |
Definition at line 6001 of file ASTWriter.cpp.
References AddCXXBaseSpecifiers(), AddDeclRef(), AddSourceLocation(), AddTypeSourceInfo(), AddUnresolvedSet(), Data, clang::CXXRecordDecl::getDeviceLambdaManglingNumber(), clang::sema::Capture::getEllipsisLoc(), clang::sema::Capture::getLocation(), clang::CXXRecordDecl::getODRHash(), clang::TagDecl::isDependentType(), clang::LCK_ByCopy, clang::LCK_ByRef, clang::LCK_StarThis, clang::LCK_This, and clang::LCK_VLAType.
Referenced by clang::ASTDeclWriter::VisitCXXRecordDecl().
void ASTRecordWriter::AddCXXTemporary | ( | const CXXTemporary * | Temp | ) |
Emit a CXXTemporary.
Definition at line 5582 of file ASTWriter.cpp.
References AddDeclRef(), and clang::CXXTemporary::getDestructor().
|
inline |
Emit a declaration name.
Definition at line 237 of file ASTRecordWriter.h.
Referenced by AddDeclarationNameInfo(), clang::ASTDeclWriter::VisitNamedDecl(), clang::ASTDeclWriter::VisitObjCPropertyDecl(), and clang::ASTDeclWriter::VisitOMPDeclareMapperDecl().
void ASTRecordWriter::AddDeclarationNameInfo | ( | const DeclarationNameInfo & | NameInfo | ) |
Definition at line 5816 of file ASTWriter.cpp.
References AddDeclarationName(), AddDeclarationNameLoc(), AddSourceLocation(), clang::DeclarationNameInfo::getInfo(), clang::DeclarationNameInfo::getLoc(), and clang::DeclarationNameInfo::getName().
Referenced by AddConceptReference().
void ASTRecordWriter::AddDeclarationNameLoc | ( | const DeclarationNameLoc & | DNLoc, |
DeclarationName | Name | ||
) |
Definition at line 5789 of file ASTWriter.cpp.
References AddSourceLocation(), AddSourceRange(), AddTypeSourceInfo(), clang::DeclarationName::CXXConstructorName, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationName::CXXDeductionGuideName, clang::DeclarationName::CXXDestructorName, clang::DeclarationName::CXXLiteralOperatorName, clang::DeclarationName::CXXOperatorName, clang::DeclarationName::CXXUsingDirective, clang::DeclarationNameLoc::getCXXLiteralOperatorNameLoc(), clang::DeclarationNameLoc::getCXXOperatorNameRange(), clang::DeclarationNameLoc::getNamedTypeInfo(), clang::DeclarationName::Identifier, clang::DeclarationName::ObjCMultiArgSelector, clang::DeclarationName::ObjCOneArgSelector, and clang::DeclarationName::ObjCZeroArgSelector.
Referenced by AddDeclarationNameInfo(), clang::ASTDeclWriter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitUnresolvedUsingValueDecl(), and clang::ASTDeclWriter::VisitUsingDecl().
|
inline |
Emit a reference to a declaration.
Definition at line 229 of file ASTRecordWriter.h.
References clang::ASTWriter::AddDeclRef().
Referenced by AddConceptReference(), AddCXXDefinitionData(), AddCXXTemporary(), AddNestedNameSpecifierLoc(), AddTemplateParameterList(), AddUnresolvedSet(), EmitCXXCtorInitializers(), clang::ASTDeclWriter::VisitBlockDecl(), clang::ASTDeclWriter::VisitCapturedDecl(), clang::ASTDeclWriter::VisitClassScopeFunctionSpecializationDecl(), clang::ASTDeclWriter::VisitClassTemplatePartialSpecializationDecl(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclWriter::VisitConstructorUsingShadowDecl(), clang::ASTDeclWriter::VisitCXXConstructorDecl(), clang::ASTDeclWriter::VisitCXXDeductionGuideDecl(), clang::ASTDeclWriter::VisitCXXDestructorDecl(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitCXXRecordDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitDecompositionDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitFriendDecl(), clang::ASTDeclWriter::VisitFriendTemplateDecl(), clang::ASTDeclWriter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitIndirectFieldDecl(), clang::ASTDeclWriter::VisitLifetimeExtendedTemporaryDecl(), clang::ASTDeclWriter::VisitNamespaceAliasDecl(), clang::ASTDeclWriter::VisitNamespaceDecl(), clang::ASTDeclWriter::VisitObjCCategoryDecl(), clang::ASTDeclWriter::VisitObjCCompatibleAliasDecl(), clang::ASTDeclWriter::VisitObjCImplDecl(), clang::ASTDeclWriter::VisitObjCImplementationDecl(), clang::ASTDeclWriter::VisitObjCInterfaceDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCPropertyDecl(), clang::ASTDeclWriter::VisitObjCPropertyImplDecl(), clang::ASTDeclWriter::VisitObjCProtocolDecl(), clang::ASTDeclWriter::VisitOMPDeclareMapperDecl(), clang::ASTDeclWriter::VisitOMPDeclareReductionDecl(), clang::ASTDeclWriter::VisitRedeclarable(), clang::ASTDeclWriter::VisitRedeclarableTemplateDecl(), clang::ASTDeclWriter::VisitTagDecl(), clang::ASTDeclWriter::VisitTemplateDecl(), clang::ASTDeclWriter::VisitTypeAliasDecl(), clang::ASTDeclWriter::VisitTypedefNameDecl(), clang::ASTDeclWriter::VisitUsingDecl(), clang::ASTDeclWriter::VisitUsingDirectiveDecl(), clang::ASTDeclWriter::VisitUsingEnumDecl(), clang::ASTDeclWriter::VisitUsingPackDecl(), clang::ASTDeclWriter::VisitUsingShadowDecl(), clang::ASTDeclWriter::VisitVarDecl(), clang::ASTDeclWriter::VisitVarTemplatePartialSpecializationDecl(), clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl(), and writeDeclRef().
void ASTRecordWriter::AddFunctionDefinition | ( | const FunctionDecl * | FD | ) |
Add a definition for the given function to the queue of statements to emit.
Definition at line 2582 of file ASTWriterDecl.cpp.
References AddCXXCtorInitializers(), AddStmt(), clang::ASTWriter::ClearSwitchCaseIDs(), clang::FunctionDecl::doesThisDeclarationHaveABody(), clang::FunctionDecl::getBody(), clang::ASTWriter::GetDeclRef(), clang::ASTContext::GetGVALinkageForFunction(), clang::ASTContext::getLangOpts(), clang::GVA_AvailableExternally, clang::GVA_Internal, clang::GVA_StrongExternal, clang::Decl::hasAttr(), clang::DeclContext::isDependentContext(), and clang::Module::isInterfaceOrPartition().
Referenced by clang::ASTDeclWriter::Visit().
|
inline |
Emit a reference to an identifier.
Definition at line 178 of file ASTRecordWriter.h.
References clang::ASTWriter::AddIdentifierRef().
Referenced by AddNestedNameSpecifierLoc(), clang::ASTDeclWriter::VisitMSPropertyDecl(), clang::ASTDeclWriter::VisitTagDecl(), and writeIdentifier().
|
inline |
Emit a nested name specifier.
Definition at line 248 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeNestedNameSpecifier().
void ASTRecordWriter::AddNestedNameSpecifierLoc | ( | NestedNameSpecifierLoc | NNS | ) |
Emit a nested name specifier with source-location information.
Definition at line 5830 of file ASTWriter.cpp.
References AddDeclRef(), AddIdentifierRef(), AddSourceLocation(), AddSourceRange(), AddTypeLoc(), AddTypeRef(), clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsNamespace(), clang::NestedNameSpecifier::getAsNamespaceAlias(), clang::NestedNameSpecifier::getAsRecordDecl(), clang::SourceRange::getEnd(), clang::NestedNameSpecifier::getKind(), clang::NestedNameSpecifierLoc::getLocalSourceRange(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::NestedNameSpecifierLoc::getPrefix(), clang::TypeLoc::getType(), clang::NestedNameSpecifierLoc::getTypeLoc(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, and clang::NestedNameSpecifier::TypeSpecWithTemplate.
Referenced by AddConceptReference(), AddQualifierInfo(), AddTemplateArgumentLocInfo(), clang::ASTDeclWriter::VisitNamespaceAliasDecl(), clang::ASTDeclWriter::VisitUnresolvedUsingTypenameDecl(), clang::ASTDeclWriter::VisitUnresolvedUsingValueDecl(), clang::ASTDeclWriter::VisitUsingDecl(), and clang::ASTDeclWriter::VisitUsingDirectiveDecl().
|
inline |
Add a bit offset into the record.
This will be converted into an offset relative to the current record when emitted.
Definition at line 110 of file ASTRecordWriter.h.
Referenced by AddCXXBaseSpecifiers(), AddCXXCtorInitializers(), clang::ASTDeclWriter::VisitDeclContext(), and clang::ASTDeclWriter::VisitRedeclarable().
|
inline |
Emit a path.
Definition at line 296 of file ASTRecordWriter.h.
References clang::ASTWriter::AddPath().
void ASTRecordWriter::AddQualifierInfo | ( | const QualifierInfo & | Info | ) |
Definition at line 5823 of file ASTWriter.cpp.
References AddNestedNameSpecifierLoc(), AddTemplateParameterList(), clang::QualifierInfo::NumTemplParamLists, clang::QualifierInfo::QualifierLoc, and clang::QualifierInfo::TemplParamLists.
Referenced by clang::ASTDeclWriter::VisitDeclaratorDecl(), and clang::ASTDeclWriter::VisitTagDecl().
void ASTRecordWriter::AddSelectorRef | ( | Selector | S | ) |
Emit a Selector (which is a smart pointer reference).
Definition at line 5559 of file ASTWriter.cpp.
Referenced by writeSelector().
|
inline |
Emit a source location.
Definition at line 137 of file ASTRecordWriter.h.
References clang::ASTWriter::AddSourceLocation().
Referenced by AddASTTemplateArgumentListInfo(), AddConceptReference(), AddCXXBaseSpecifier(), AddCXXDefinitionData(), AddDeclarationNameInfo(), AddDeclarationNameLoc(), AddNestedNameSpecifierLoc(), AddTemplateArgumentLocInfo(), clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), AddTemplateParameterList(), EmitCXXCtorInitializers(), clang::ASTDeclWriter::VisitAccessSpecDecl(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclWriter::VisitCXXRecordDecl(), clang::ASTDeclWriter::VisitDeclaratorDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitExportDecl(), clang::ASTDeclWriter::VisitFileScopeAsmDecl(), clang::ASTDeclWriter::VisitFriendDecl(), clang::ASTDeclWriter::VisitFriendTemplateDecl(), clang::ASTDeclWriter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitHLSLBufferDecl(), clang::ASTDeclWriter::VisitImportDecl(), clang::ASTDeclWriter::VisitLabelDecl(), clang::ASTDeclWriter::VisitLinkageSpecDecl(), clang::ASTDeclWriter::VisitNamespaceAliasDecl(), clang::ASTDeclWriter::VisitNamespaceDecl(), clang::ASTDeclWriter::VisitObjCCategoryDecl(), clang::ASTDeclWriter::VisitObjCCategoryImplDecl(), clang::ASTDeclWriter::VisitObjCContainerDecl(), clang::ASTDeclWriter::VisitObjCImplementationDecl(), clang::ASTDeclWriter::VisitObjCInterfaceDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCPropertyDecl(), clang::ASTDeclWriter::VisitObjCPropertyImplDecl(), clang::ASTDeclWriter::VisitObjCProtocolDecl(), clang::ASTDeclWriter::VisitObjCTypeParamDecl(), clang::ASTDeclWriter::VisitOMPDeclareReductionDecl(), clang::ASTDeclWriter::VisitPragmaCommentDecl(), clang::ASTDeclWriter::VisitPragmaDetectMismatchDecl(), clang::ASTDeclWriter::VisitStaticAssertDecl(), clang::ASTDeclWriter::VisitTypeDecl(), clang::ASTDeclWriter::VisitUnresolvedUsingTypenameDecl(), clang::ASTDeclWriter::VisitUnresolvedUsingValueDecl(), clang::ASTDeclWriter::VisitUsingDecl(), clang::ASTDeclWriter::VisitUsingDirectiveDecl(), clang::ASTDeclWriter::VisitUsingEnumDecl(), clang::ASTDeclWriter::VisitVarDecl(), clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl(), and writeSourceLocation().
|
inline |
Emit a source range.
Definition at line 145 of file ASTRecordWriter.h.
References clang::ASTWriter::AddSourceRange().
Referenced by AddCXXBaseSpecifier(), AddDeclarationNameLoc(), AddNestedNameSpecifierLoc(), clang::ASTDeclWriter::VisitObjCContainerDecl(), and clang::ASTDeclWriter::VisitTagDecl().
|
inline |
Add the given statement or expression to the queue of statements to emit.
This routine should be used when emitting types and declarations that have expressions as part of their formulation. Once the type or declaration has been written, Emit() will write the corresponding statements just after the record.
Definition at line 122 of file ASTRecordWriter.h.
Referenced by AddFunctionDefinition(), AddTemplateArgumentLocInfo(), AddTemplateParameterList(), EmitCXXCtorInitializers(), clang::ASTDeclWriter::Visit(), clang::ASTDeclWriter::VisitBindingDecl(), clang::ASTDeclWriter::VisitBlockDecl(), clang::ASTDeclWriter::VisitConceptDecl(), clang::ASTDeclWriter::VisitCXXDestructorDecl(), clang::ASTDeclWriter::VisitDeclaratorDecl(), clang::ASTDeclWriter::VisitEnumConstantDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitFileScopeAsmDecl(), clang::ASTDeclWriter::VisitLifetimeExtendedTemporaryDecl(), clang::ASTDeclWriter::VisitNonTypeTemplateParmDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCPropertyImplDecl(), clang::ASTDeclWriter::VisitOMPDeclareReductionDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitStaticAssertDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTopLevelStmtDecl(), clang::ASTDeclWriter::VisitVarDecl(), writeOMPChildren(), and writeStmtRef().
|
inline |
Emit a string.
Definition at line 291 of file ASTRecordWriter.h.
References clang::ASTWriter::AddString().
Referenced by clang::ASTDeclWriter::VisitPragmaCommentDecl(), and clang::ASTDeclWriter::VisitPragmaDetectMismatchDecl().
|
inline |
Emit a template argument.
Definition at line 261 of file ASTRecordWriter.h.
Referenced by AddTemplateArgumentList(), AddTemplateArgumentLoc(), and clang::ASTDeclWriter::VisitImplicitConceptSpecializationDecl().
void ASTRecordWriter::AddTemplateArgumentList | ( | const TemplateArgumentList * | TemplateArgs | ) |
Emit a template argument list.
Definition at line 5903 of file ASTWriter.cpp.
References AddTemplateArgument(), clang::TemplateArgumentList::get(), and clang::TemplateArgumentList::size().
Referenced by clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclWriter::VisitFunctionDecl(), and clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl().
void ASTRecordWriter::AddTemplateArgumentLoc | ( | const TemplateArgumentLoc & | Arg | ) |
Emits a template argument location.
Definition at line 5614 of file ASTWriter.cpp.
References AddTemplateArgument(), AddTemplateArgumentLocInfo(), clang::TemplateArgument::Expression, clang::TemplateArgumentLoc::getArgument(), clang::TemplateArgument::getAsExpr(), clang::TemplateArgumentLocInfo::getAsExpr(), clang::TemplateArgument::getKind(), and clang::TemplateArgumentLoc::getLocInfo().
Referenced by AddASTTemplateArgumentListInfo(), clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), clang::ASTDeclWriter::VisitFunctionDecl(), and clang::ASTDeclWriter::VisitTemplateTemplateParmDecl().
void ASTRecordWriter::AddTemplateArgumentLocInfo | ( | TemplateArgument::ArgKind | Kind, |
const TemplateArgumentLocInfo & | Arg | ||
) |
Emits a template argument location info.
Definition at line 5586 of file ASTWriter.cpp.
References AddNestedNameSpecifierLoc(), AddSourceLocation(), AddStmt(), AddTypeSourceInfo(), clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgumentLocInfo::getAsExpr(), clang::TemplateArgumentLocInfo::getAsTypeSourceInfo(), clang::TemplateArgumentLocInfo::getTemplateEllipsisLoc(), clang::TemplateArgumentLocInfo::getTemplateNameLoc(), clang::TemplateArgumentLocInfo::getTemplateQualifierLoc(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, clang::TemplateArgument::Pack, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by AddTemplateArgumentLoc().
|
inline |
Emit a template name.
Definition at line 256 of file ASTRecordWriter.h.
void ASTRecordWriter::AddTemplateParameterList | ( | const TemplateParameterList * | TemplateParams | ) |
Emit a template parameter list.
Definition at line 5884 of file ASTWriter.cpp.
References AddDeclRef(), AddSourceLocation(), AddStmt(), clang::TemplateParameterList::getLAngleLoc(), clang::TemplateParameterList::getRAngleLoc(), clang::TemplateParameterList::getRequiresClause(), clang::TemplateParameterList::getTemplateLoc(), P, and clang::TemplateParameterList::size().
Referenced by AddQualifierInfo(), clang::ASTDeclWriter::VisitClassTemplatePartialSpecializationDecl(), clang::ASTDeclWriter::VisitFriendDecl(), clang::ASTDeclWriter::VisitFriendTemplateDecl(), clang::ASTDeclWriter::VisitTemplateDecl(), clang::ASTDeclWriter::VisitTemplateTemplateParmDecl(), and clang::ASTDeclWriter::VisitVarTemplatePartialSpecializationDecl().
Emits source location information for a type. Does not emit the type.
Definition at line 5637 of file ASTWriter.cpp.
References clang::TypeLoc::getNextTypeLoc(), and clang::TypeLoc::isNull().
Referenced by AddNestedNameSpecifierLoc(), AddTypeSourceInfo(), and clang::ASTDeclWriter::Visit().
|
inline |
Emit a reference to a type.
Definition at line 201 of file ASTRecordWriter.h.
References clang::ASTWriter::AddTypeRef().
Referenced by AddNestedNameSpecifierLoc(), AddTypeSourceInfo(), clang::ASTDeclWriter::VisitDeclaratorDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitNonTypeTemplateParmDecl(), clang::ASTDeclWriter::VisitObjCInterfaceDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCPropertyDecl(), clang::ASTDeclWriter::VisitTypeDecl(), clang::ASTDeclWriter::VisitTypedefNameDecl(), clang::ASTDeclWriter::VisitValueDecl(), and writeQualType().
void ASTRecordWriter::AddTypeSourceInfo | ( | TypeSourceInfo * | TInfo | ) |
Emits a reference to a declarator info.
Definition at line 5627 of file ASTWriter.cpp.
References AddTypeLoc(), AddTypeRef(), clang::TypeSourceInfo::getType(), and clang::TypeSourceInfo::getTypeLoc().
Referenced by AddCXXBaseSpecifier(), AddCXXDefinitionData(), AddDeclarationNameLoc(), AddTemplateArgumentLocInfo(), EmitCXXCtorInitializers(), clang::ASTDeclWriter::VisitBlockDecl(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFriendDecl(), clang::ASTDeclWriter::VisitFriendTemplateDecl(), clang::ASTDeclWriter::VisitNonTypeTemplateParmDecl(), clang::ASTDeclWriter::VisitObjCInterfaceDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCPropertyDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypedefNameDecl(), clang::ASTDeclWriter::VisitUsingEnumDecl(), and clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl().
void ASTRecordWriter::AddUnresolvedSet | ( | const ASTUnresolvedSet & | Set | ) |
Emit a UnresolvedSet structure.
Definition at line 5922 of file ASTWriter.cpp.
References AddDeclRef(), clang::ASTUnresolvedSet::begin(), clang::ASTUnresolvedSet::end(), and clang::ASTUnresolvedSet::size().
Referenced by AddCXXDefinitionData().
void ASTRecordWriter::AddVarDeclInit | ( | const VarDecl * | VD | ) |
Emit information about the initializer of a VarDecl.
Definition at line 6073 of file ASTWriter.cpp.
References AddAPValue(), clang::Evaluated, clang::VarDecl::getEvaluatedStmt(), clang::VarDecl::getEvaluatedValue(), clang::VarDecl::getInit(), push_back(), and writeStmtRef().
Referenced by clang::ASTDeclWriter::Visit().
|
inline |
Emit a version tuple.
Definition at line 301 of file ASTRecordWriter.h.
References clang::ASTWriter::AddVersionTuple().
|
inline |
Definition at line 81 of file ASTRecordWriter.h.
Referenced by clang::ASTDeclWriter::VisitMSGuidDecl().
Emit the record to the stream, followed by its substatements, and return its offset.
Definition at line 92 of file ASTRecordWriter.h.
Referenced by EmitCXXBaseSpecifiers(), EmitCXXCtorInitializers(), and clang::ASTDeclWriter::VisitRedeclarable().
Emit the record to the stream, preceded by its substatements.
Definition at line 101 of file ASTRecordWriter.h.
|
inline |
Definition at line 84 of file ASTRecordWriter.h.
|
inline |
Extract the underlying record storage.
Definition at line 75 of file ASTRecordWriter.h.
|
delete |
|
inline |
Definition at line 86 of file ASTRecordWriter.h.
|
inline |
Minimal vector-like interface.
Definition at line 79 of file ASTRecordWriter.h.
Referenced by AddAttributes(), AddConceptReference(), AddVarDeclInit(), EmitCXXBaseSpecifiers(), EmitCXXCtorInitializers(), clang::ASTDeclWriter::Visit(), clang::ASTDeclWriter::VisitBlockDecl(), clang::ASTDeclWriter::VisitCapturedDecl(), clang::ASTDeclWriter::VisitClassScopeFunctionSpecializationDecl(), clang::ASTDeclWriter::VisitClassTemplatePartialSpecializationDecl(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclWriter::VisitConstructorUsingShadowDecl(), clang::ASTDeclWriter::VisitCXXConstructorDecl(), clang::ASTDeclWriter::VisitCXXDeductionGuideDecl(), clang::ASTDeclWriter::VisitCXXMethodDecl(), clang::ASTDeclWriter::VisitCXXRecordDecl(), clang::ASTDeclWriter::VisitDecl(), clang::ASTDeclWriter::VisitDeclaratorDecl(), clang::ASTDeclWriter::VisitDecompositionDecl(), clang::ASTDeclWriter::VisitEnumConstantDecl(), clang::ASTDeclWriter::VisitEnumDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitFriendDecl(), clang::ASTDeclWriter::VisitFriendTemplateDecl(), clang::ASTDeclWriter::VisitFunctionDecl(), clang::ASTDeclWriter::VisitHLSLBufferDecl(), clang::ASTDeclWriter::VisitImplicitConceptSpecializationDecl(), clang::ASTDeclWriter::VisitImportDecl(), clang::ASTDeclWriter::VisitIndirectFieldDecl(), clang::ASTDeclWriter::VisitLifetimeExtendedTemporaryDecl(), clang::ASTDeclWriter::VisitLinkageSpecDecl(), clang::ASTDeclWriter::VisitMSGuidDecl(), clang::ASTDeclWriter::VisitNamedDecl(), clang::ASTDeclWriter::VisitNamespaceDecl(), clang::ASTDeclWriter::VisitNonTypeTemplateParmDecl(), clang::ASTDeclWriter::VisitObjCCategoryDecl(), clang::ASTDeclWriter::VisitObjCImplementationDecl(), clang::ASTDeclWriter::VisitObjCInterfaceDecl(), clang::ASTDeclWriter::VisitObjCIvarDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCPropertyDecl(), clang::ASTDeclWriter::VisitObjCProtocolDecl(), clang::ASTDeclWriter::VisitObjCTypeParamDecl(), clang::ASTDeclWriter::VisitOMPDeclareReductionDecl(), clang::ASTDeclWriter::VisitParmVarDecl(), clang::ASTDeclWriter::VisitPragmaCommentDecl(), clang::ASTDeclWriter::VisitPragmaDetectMismatchDecl(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclWriter::VisitRedeclarable(), clang::ASTDeclWriter::VisitRedeclarableTemplateDecl(), clang::ASTDeclWriter::VisitStaticAssertDecl(), clang::ASTDeclWriter::VisitTagDecl(), clang::ASTDeclWriter::VisitTemplateTemplateParmDecl(), clang::ASTDeclWriter::VisitTemplateTypeParmDecl(), clang::ASTDeclWriter::VisitTypedefNameDecl(), clang::ASTDeclWriter::VisitUsingDecl(), clang::ASTDeclWriter::VisitUsingPackDecl(), clang::ASTDeclWriter::VisitUsingShadowDecl(), clang::ASTDeclWriter::VisitVarDecl(), clang::ASTDeclWriter::VisitVarTemplatePartialSpecializationDecl(), and clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl().
|
inline |
Definition at line 85 of file ASTRecordWriter.h.
Referenced by clang::ASTDeclWriter::VisitRedeclarable().
|
inline |
Definition at line 149 of file ASTRecordWriter.h.
Referenced by writeOMPChildren(), and writeOMPTraitInfo().
|
inline |
Write an BTFTypeTagAttr object.
Definition at line 130 of file ASTRecordWriter.h.
References AddAttr().
|
inline |
Definition at line 232 of file ASTRecordWriter.h.
References AddDeclRef().
|
inline |
Definition at line 181 of file ASTRecordWriter.h.
References AddIdentifierRef().
void ASTRecordWriter::writeOMPChildren | ( | OMPChildren * | Data | ) |
Writes data related to the OpenMP directives.
Definition at line 7276 of file ASTWriter.cpp.
References AddStmt(), Data, writeBool(), writeOMPClause(), and writeUInt32().
Referenced by clang::ASTDeclWriter::VisitOMPAllocateDecl(), clang::ASTDeclWriter::VisitOMPDeclareMapperDecl(), clang::ASTDeclWriter::VisitOMPRequiresDecl(), and clang::ASTDeclWriter::VisitOMPThreadPrivateDecl().
void ASTRecordWriter::writeOMPClause | ( | OMPClause * | C | ) |
Definition at line 6476 of file ASTWriter.cpp.
References clang::C.
Referenced by writeOMPChildren().
void ASTRecordWriter::writeOMPTraitInfo | ( | const OMPTraitInfo * | TI | ) |
Write an OMPTraitInfo object.
Definition at line 7259 of file ASTWriter.cpp.
References clang::Property, clang::OMPTraitInfo::Sets, writeBool(), clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeEnum(), and writeUInt32().
|
inline |
Definition at line 204 of file ASTRecordWriter.h.
References AddTypeRef().
|
inline |
Definition at line 187 of file ASTRecordWriter.h.
References AddSelectorRef().
|
inline |
Definition at line 140 of file ASTRecordWriter.h.
References AddSourceLocation().
|
inline |
Definition at line 125 of file ASTRecordWriter.h.
References AddStmt().
Referenced by AddVarDeclInit().
|
inline |
Definition at line 153 of file ASTRecordWriter.h.
Referenced by writeOMPChildren(), and writeOMPTraitInfo().
|
inline |
Definition at line 157 of file ASTRecordWriter.h.