clang 20.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 | writeTypeCoupledDeclRefInfo (TypeCoupledDeclRefInfo Info) |
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 | writeOpenACCVarList (const OpenACCClauseWithVarList *C) |
void | writeOpenACCIntExprList (ArrayRef< Expr * > Exprs) |
void | writeOpenACCClause (const OpenACCClause *C) |
Writes out a single OpenACC Clause. | |
void | writeOpenACCClauseList (ArrayRef< const OpenACCClause * > Clauses) |
Writes out a list of OpenACC clauses. | |
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) |
Public Member Functions inherited from clang::serialization::DataStreamBasicWriter< ASTRecordWriter > | |
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 | writeFunctionEffect (FunctionEffect E) |
void | writeEffectConditionExpr (EffectConditionExpr CE) |
void | writeNestedNameSpecifier (NestedNameSpecifier *NNS) |
Additional Inherited Members | |
Protected Member Functions inherited from clang::serialization::DataStreamBasicWriter< ASTRecordWriter > | |
DataStreamBasicWriter (ASTContext &ctx) | |
An object for streaming information to a record.
Definition at line 29 of file ASTRecordWriter.h.
|
inline |
Construct a ASTRecordWriter that uses the default encoding scheme.
Definition at line 63 of file ASTRecordWriter.h.
|
inline |
Construct a ASTRecordWriter that uses the same encoding scheme as another ASTRecordWriter.
Definition at line 68 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 169 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeAPInt().
Referenced by AddAPFloat().
|
inline |
Emit a signed integral value.
Definition at line 174 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeAPSInt().
|
inline |
void ASTRecordWriter::AddASTTemplateArgumentListInfo | ( | const ASTTemplateArgumentListInfo * | ASTTemplArgList | ) |
Emits an AST template argument list info.
Definition at line 6473 of file ASTWriter.cpp.
References AddSourceLocation(), AddTemplateArgumentLoc(), clang::ASTTemplateArgumentListInfo::getTemplateArgs(), clang::ASTTemplateArgumentListInfo::LAngleLoc, clang::ASTTemplateArgumentListInfo::NumTemplateArgs, and clang::ASTTemplateArgumentListInfo::RAngleLoc.
Referenced by AddConceptReference().
void ASTRecordWriter::AddAttr | ( | const Attr * | A | ) |
Definition at line 4674 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 4698 of file ASTWriter.cpp.
References AddAttr(), and push_back().
void ASTRecordWriter::AddConceptReference | ( | const ConceptReference * | CR | ) |
Definition at line 510 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().
void ASTRecordWriter::AddCXXBaseSpecifier | ( | const CXXBaseSpecifier & | Base | ) |
Emit a C++ base specifier.
Definition at line 6494 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 6518 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXBaseSpecifiers().
Referenced by AddCXXDefinitionData().
void ASTRecordWriter::AddCXXCtorInitializers | ( | ArrayRef< CXXCtorInitializer * > | CtorInits | ) |
Emit a CXXCtorInitializer array.
Definition at line 6558 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXCtorInitializers().
Referenced by AddFunctionDefinition().
void ASTRecordWriter::AddCXXDefinitionData | ( | const CXXRecordDecl * | D | ) |
Definition at line 6563 of file ASTWriter.cpp.
References clang::BitsPacker::addBit(), clang::BitsPacker::addBits(), AddCXXBaseSpecifiers(), AddDeclRef(), AddSourceLocation(), AddTypeSourceInfo(), AddUnresolvedSet(), D, clang::Data, clang::sema::Capture::getEllipsisLoc(), clang::sema::Capture::getLocation(), clang::Decl::isInNamedModule(), clang::LCK_ByCopy, clang::LCK_ByRef, clang::LCK_StarThis, clang::LCK_This, and clang::LCK_VLAType.
void ASTRecordWriter::AddCXXTemporary | ( | const CXXTemporary * | Temp | ) |
Emit a CXXTemporary.
Definition at line 6096 of file ASTWriter.cpp.
References AddDeclRef(), and clang::CXXTemporary::getDestructor().
|
inline |
Emit a declaration name.
Definition at line 244 of file ASTRecordWriter.h.
Referenced by AddDeclarationNameInfo().
void ASTRecordWriter::AddDeclarationNameInfo | ( | const DeclarationNameInfo & | NameInfo | ) |
Definition at line 6378 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 6351 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().
|
inline |
Emit a reference to a declaration.
Definition at line 236 of file ASTRecordWriter.h.
References clang::ASTWriter::AddDeclRef(), and D.
Referenced by AddConceptReference(), AddCXXDefinitionData(), AddCXXTemporary(), AddNestedNameSpecifierLoc(), AddTemplateParameterList(), AddUnresolvedSet(), EmitCXXCtorInitializers(), clang::ASTDeclWriter::VisitRedeclarable(), 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 2851 of file ASTWriterDecl.cpp.
References AddCXXCtorInitializers(), clang::ASTWriter::AddDeclRef(), AddStmt(), clang::ASTWriter::ClearSwitchCaseIDs(), clang::FunctionDecl::doesThisDeclarationHaveABody(), clang::FunctionDecl::getBody(), 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().
|
inline |
Emit a reference to an identifier.
Definition at line 185 of file ASTRecordWriter.h.
References clang::ASTWriter::AddIdentifierRef().
Referenced by AddNestedNameSpecifierLoc(), writeIdentifier(), and writeOpenACCClause().
|
inline |
Emit a nested name specifier.
Definition at line 255 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 6392 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(), and AddTemplateArgumentLocInfo().
|
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 112 of file ASTRecordWriter.h.
Referenced by AddCXXBaseSpecifiers(), and AddCXXCtorInitializers().
|
inline |
Emit a path.
Definition at line 313 of file ASTRecordWriter.h.
References clang::ASTWriter::AddPath(), and Path.
void ASTRecordWriter::AddQualifierInfo | ( | const QualifierInfo & | Info | ) |
Definition at line 6385 of file ASTWriter.cpp.
References AddNestedNameSpecifierLoc(), AddTemplateParameterList(), clang::QualifierInfo::NumTemplParamLists, clang::QualifierInfo::QualifierLoc, and clang::QualifierInfo::TemplParamLists.
void ASTRecordWriter::AddSelectorRef | ( | Selector | S | ) |
Emit a Selector (which is a smart pointer reference).
Definition at line 6073 of file ASTWriter.cpp.
Referenced by writeSelector().
|
inline |
Emit a source location.
Definition at line 139 of file ASTRecordWriter.h.
References clang::ASTWriter::AddSourceLocation(), Loc, and clang::Seq.
Referenced by AddASTTemplateArgumentListInfo(), AddConceptReference(), AddCXXBaseSpecifier(), AddCXXDefinitionData(), AddDeclarationNameInfo(), AddDeclarationNameLoc(), AddNestedNameSpecifierLoc(), AddTemplateArgumentLocInfo(), AddTemplateParameterList(), EmitCXXCtorInitializers(), and writeSourceLocation().
|
inline |
Emit a source range.
Definition at line 152 of file ASTRecordWriter.h.
References clang::ASTWriter::AddSourceRange(), Range, and clang::Seq.
Referenced by AddCXXBaseSpecifier(), AddDeclarationNameLoc(), and AddNestedNameSpecifierLoc().
|
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 124 of file ASTRecordWriter.h.
Referenced by AddFunctionDefinition(), AddTemplateArgumentLocInfo(), EmitCXXCtorInitializers(), writeOMPChildren(), writeOpenACCClause(), writeOpenACCIntExprList(), writeOpenACCVarList(), and writeStmtRef().
|
inline |
Emit a string.
Definition at line 308 of file ASTRecordWriter.h.
References clang::ASTWriter::AddString().
|
inline |
Emit a template argument.
Definition at line 268 of file ASTRecordWriter.h.
Referenced by AddTemplateArgumentList(), and AddTemplateArgumentLoc().
void ASTRecordWriter::AddTemplateArgumentList | ( | const TemplateArgumentList * | TemplateArgs | ) |
Emit a template argument list.
Definition at line 6465 of file ASTWriter.cpp.
References AddTemplateArgument(), clang::TemplateArgumentList::get(), and clang::TemplateArgumentList::size().
void ASTRecordWriter::AddTemplateArgumentLoc | ( | const TemplateArgumentLoc & | Arg | ) |
Emits a template argument location.
Definition at line 6129 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().
void ASTRecordWriter::AddTemplateArgumentLocInfo | ( | TemplateArgument::ArgKind | Kind, |
const TemplateArgumentLocInfo & | Arg | ||
) |
Emits a template argument location info.
Definition at line 6100 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::StructuralValue, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by AddTemplateArgumentLoc().
|
inline |
Emit a template name.
Definition at line 263 of file ASTRecordWriter.h.
void ASTRecordWriter::AddTemplateParameterList | ( | const TemplateParameterList * | TemplateParams | ) |
Emit a template parameter list.
Definition at line 6446 of file ASTWriter.cpp.
References AddDeclRef(), AddSourceLocation(), clang::TemplateParameterList::getLAngleLoc(), clang::TemplateParameterList::getRAngleLoc(), clang::TemplateParameterList::getRequiresClause(), clang::TemplateParameterList::getTemplateLoc(), P, clang::TemplateParameterList::size(), and writeStmtRef().
Referenced by AddQualifierInfo().
Emits source location information for a type. Does not emit the type.
Definition at line 6152 of file ASTWriter.cpp.
References clang::TypeLoc::getNextTypeLoc(), clang::TypeLoc::isNull(), and clang::Seq.
Referenced by AddNestedNameSpecifierLoc(), and AddTypeSourceInfo().
|
inline |
Emit a reference to a type.
Definition at line 208 of file ASTRecordWriter.h.
References clang::ASTWriter::AddTypeRef(), and clang::T.
Referenced by AddNestedNameSpecifierLoc(), AddTypeSourceInfo(), and writeQualType().
void ASTRecordWriter::AddTypeSourceInfo | ( | TypeSourceInfo * | TInfo | ) |
Emits a reference to a declarator info.
Definition at line 6142 of file ASTWriter.cpp.
References AddTypeLoc(), AddTypeRef(), clang::TypeSourceInfo::getType(), and clang::TypeSourceInfo::getTypeLoc().
Referenced by AddCXXBaseSpecifier(), AddCXXDefinitionData(), AddDeclarationNameLoc(), AddTemplateArgumentLocInfo(), and EmitCXXCtorInitializers().
void ASTRecordWriter::AddUnresolvedSet | ( | const ASTUnresolvedSet & | Set | ) |
Emit a UnresolvedSet structure.
Definition at line 6484 of file ASTWriter.cpp.
References AddDeclRef(), E, and clang::Set.
Referenced by AddCXXDefinitionData().
void ASTRecordWriter::AddVarDeclInit | ( | const VarDecl * | VD | ) |
Emit information about the initializer of a VarDecl.
Definition at line 6657 of file ASTWriter.cpp.
References AddAPValue(), clang::Evaluated, clang::VarDecl::getEvaluatedStmt(), clang::VarDecl::getEvaluatedValue(), clang::VarDecl::getInit(), clang::Init, push_back(), and writeStmtRef().
|
inline |
Emit a version tuple.
Definition at line 318 of file ASTRecordWriter.h.
References clang::ASTWriter::AddVersionTuple().
|
inline |
Definition at line 83 of file ASTRecordWriter.h.
Emit the record to the stream, followed by its substatements, and return its offset.
Definition at line 94 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 103 of file ASTRecordWriter.h.
|
inline |
Definition at line 86 of file ASTRecordWriter.h.
|
inline |
Extract the underlying record storage.
Definition at line 77 of file ASTRecordWriter.h.
|
delete |
|
inline |
Definition at line 88 of file ASTRecordWriter.h.
|
inline |
Minimal vector-like interface.
Definition at line 81 of file ASTRecordWriter.h.
Referenced by AddAttributes(), AddConceptReference(), AddVarDeclInit(), EmitCXXBaseSpecifiers(), and EmitCXXCtorInitializers().
|
inline |
Definition at line 87 of file ASTRecordWriter.h.
|
inline |
Definition at line 156 of file ASTRecordWriter.h.
Referenced by writeOMPChildren(), writeOMPTraitInfo(), writeOpenACCClause(), and writeTypeCoupledDeclRefInfo().
|
inline |
Write an BTFTypeTagAttr object.
Definition at line 132 of file ASTRecordWriter.h.
References AddAttr().
|
inline |
Definition at line 239 of file ASTRecordWriter.h.
References AddDeclRef(), and D.
Referenced by writeTypeCoupledDeclRefInfo().
|
inline |
Definition at line 188 of file ASTRecordWriter.h.
References AddIdentifierRef().
void ASTRecordWriter::writeOMPChildren | ( | OMPChildren * | Data | ) |
Writes data related to the OpenMP directives.
Definition at line 7932 of file ASTWriter.cpp.
References AddStmt(), clang::Data, E, writeBool(), writeOMPClause(), and writeUInt32().
void ASTRecordWriter::writeOMPClause | ( | OMPClause * | C | ) |
Definition at line 7089 of file ASTWriter.cpp.
References clang::C.
Referenced by writeOMPChildren().
void ASTRecordWriter::writeOMPTraitInfo | ( | const OMPTraitInfo * | TI | ) |
Write an OMPTraitInfo object.
Definition at line 7915 of file ASTWriter.cpp.
References clang::Property, clang::Set, clang::OMPTraitInfo::Sets, writeBool(), clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeEnum(), and writeUInt32().
void ASTRecordWriter::writeOpenACCClause | ( | const OpenACCClause * | C | ) |
Writes out a single OpenACC Clause.
Definition at line 7958 of file ASTWriter.cpp.
References AddIdentifierRef(), AddStmt(), clang::Async, clang::Attach, clang::Auto, clang::Bind, clang::C, clang::Collapse, clang::Copy, clang::CopyIn, clang::CopyOut, clang::Create, clang::Default, clang::DefaultAsync, clang::Delete, clang::Detach, clang::Device, clang::DeviceNum, clang::DevicePtr, clang::DeviceResident, clang::DeviceType, clang::DType, E, clang::Finalize, clang::FirstPrivate, clang::Gang, clang::Host, clang::If, clang::IfPresent, clang::Independent, clang::Invalid, clang::Link, clang::NoCreate, clang::NoHost, clang::NumGangs, clang::NumWorkers, clang::PCopy, clang::PCopyIn, clang::PCopyOut, clang::PCreate, clang::Present, clang::PresentOrCopy, clang::PresentOrCopyIn, clang::PresentOrCopyOut, clang::PresentOrCreate, clang::Private, clang::Reduction, clang::Self, clang::Seq, clang::Tile, clang::UseDevice, clang::Vector, clang::VectorLength, clang::Wait, clang::Worker, writeBool(), clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeEnum(), writeOpenACCIntExprList(), writeOpenACCVarList(), writeSourceLocation(), and writeUInt32().
Referenced by writeOpenACCClauseList().
void ASTRecordWriter::writeOpenACCClauseList | ( | ArrayRef< const OpenACCClause * > | Clauses | ) |
Writes out a list of OpenACC clauses.
Definition at line 8145 of file ASTWriter.cpp.
References writeOpenACCClause().
Definition at line 7952 of file ASTWriter.cpp.
References AddStmt(), E, and writeUInt32().
Referenced by writeOpenACCClause().
void ASTRecordWriter::writeOpenACCVarList | ( | const OpenACCClauseWithVarList * | C | ) |
Definition at line 7946 of file ASTWriter.cpp.
References AddStmt(), clang::C, E, and writeUInt32().
Referenced by writeOpenACCClause().
|
inline |
Definition at line 211 of file ASTRecordWriter.h.
References AddTypeRef(), and clang::T.
|
inline |
Definition at line 194 of file ASTRecordWriter.h.
References AddSelectorRef().
|
inline |
Definition at line 142 of file ASTRecordWriter.h.
References AddSourceLocation(), and Loc.
Referenced by writeOpenACCClause().
|
inline |
Definition at line 127 of file ASTRecordWriter.h.
References AddStmt().
Referenced by AddTemplateParameterList(), and AddVarDeclInit().
|
inline |
Definition at line 146 of file ASTRecordWriter.h.
References clang::TypeCoupledDeclRefInfo::getDecl(), clang::TypeCoupledDeclRefInfo::isDeref(), writeBool(), and writeDeclRef().
|
inline |
Definition at line 160 of file ASTRecordWriter.h.
Referenced by writeOMPChildren(), writeOMPTraitInfo(), writeOpenACCClause(), writeOpenACCIntExprList(), and writeOpenACCVarList().
|
inline |
Definition at line 164 of file ASTRecordWriter.h.