clang 20.0.0git
|
An object for streaming information to a record. More...
#include "clang/Serialization/ASTRecordWriter.h"
Public Member Functions | |
ASTRecordWriter (ASTContext &Context, 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 | writeAttr (const Attr *A) |
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 69 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 172 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeAPInt().
Referenced by AddAPFloat().
|
inline |
Emit a signed integral value.
Definition at line 177 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 6803 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 4907 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(), writeAttr(), and writeBTFTypeTagAttr().
Emit a list of attributes.
Emit the list of attributes to the specified record.
Definition at line 4931 of file ASTWriter.cpp.
References AddAttr(), and push_back().
void ASTRecordWriter::AddConceptReference | ( | const ConceptReference * | CR | ) |
Definition at line 549 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 6824 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 6848 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXBaseSpecifiers().
Referenced by AddCXXDefinitionData().
void ASTRecordWriter::AddCXXCtorInitializers | ( | ArrayRef< CXXCtorInitializer * > | CtorInits | ) |
Emit a CXXCtorInitializer array.
Definition at line 6888 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXCtorInitializers().
Referenced by AddFunctionDefinition().
void ASTRecordWriter::AddCXXDefinitionData | ( | const CXXRecordDecl * | D | ) |
Definition at line 6893 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 6426 of file ASTWriter.cpp.
References AddDeclRef(), and clang::CXXTemporary::getDestructor().
|
inline |
Emit a declaration name.
Definition at line 247 of file ASTRecordWriter.h.
Referenced by AddDeclarationNameInfo().
void ASTRecordWriter::AddDeclarationNameInfo | ( | const DeclarationNameInfo & | NameInfo | ) |
Definition at line 6708 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 6681 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 239 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 2933 of file ASTWriterDecl.cpp.
References AddCXXCtorInitializers(), clang::ASTWriter::AddDeclRef(), AddStmt(), clang::ASTWriter::ClearSwitchCaseIDs(), clang::FunctionDecl::doesThisDeclarationHaveABody(), clang::FunctionDecl::getBody(), clang::ASTWriter::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 188 of file ASTRecordWriter.h.
References clang::ASTWriter::AddIdentifierRef().
Referenced by AddNestedNameSpecifierLoc(), writeIdentifier(), and writeOpenACCClause().
|
inline |
Emit a nested name specifier.
Definition at line 258 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 6722 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 113 of file ASTRecordWriter.h.
Referenced by AddCXXBaseSpecifiers(), and AddCXXCtorInitializers().
|
inline |
Emit a path.
Definition at line 316 of file ASTRecordWriter.h.
References clang::ASTWriter::AddPath(), and Path.
void ASTRecordWriter::AddQualifierInfo | ( | const QualifierInfo & | Info | ) |
Definition at line 6715 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 6403 of file ASTWriter.cpp.
Referenced by writeSelector().
|
inline |
Emit a source location.
Definition at line 142 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 155 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 125 of file ASTRecordWriter.h.
Referenced by AddFunctionDefinition(), AddTemplateArgumentLocInfo(), EmitCXXCtorInitializers(), writeOMPChildren(), writeOpenACCClause(), writeOpenACCIntExprList(), writeOpenACCVarList(), and writeStmtRef().
|
inline |
Emit a string.
Definition at line 311 of file ASTRecordWriter.h.
References clang::ASTWriter::AddString().
|
inline |
Emit a template argument.
Definition at line 271 of file ASTRecordWriter.h.
Referenced by AddTemplateArgumentList(), and AddTemplateArgumentLoc().
void ASTRecordWriter::AddTemplateArgumentList | ( | const TemplateArgumentList * | TemplateArgs | ) |
Emit a template argument list.
Definition at line 6795 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 6459 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 6430 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 266 of file ASTRecordWriter.h.
void ASTRecordWriter::AddTemplateParameterList | ( | const TemplateParameterList * | TemplateParams | ) |
Emit a template parameter list.
Definition at line 6776 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 6482 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 211 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 6472 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 6814 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 6986 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 321 of file ASTRecordWriter.h.
References clang::ASTWriter::AddVersionTuple().
|
inline |
Definition at line 84 of file ASTRecordWriter.h.
Emit the record to the stream, followed by its substatements, and return its offset.
Definition at line 95 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 104 of file ASTRecordWriter.h.
|
inline |
Definition at line 87 of file ASTRecordWriter.h.
|
inline |
Extract the underlying record storage.
Definition at line 78 of file ASTRecordWriter.h.
|
delete |
|
inline |
Definition at line 89 of file ASTRecordWriter.h.
|
inline |
Minimal vector-like interface.
Definition at line 82 of file ASTRecordWriter.h.
Referenced by AddAttributes(), AddConceptReference(), AddVarDeclInit(), EmitCXXBaseSpecifiers(), and EmitCXXCtorInitializers().
|
inline |
Definition at line 88 of file ASTRecordWriter.h.
|
inline |
Definition at line 132 of file ASTRecordWriter.h.
References AddAttr().
|
inline |
Definition at line 159 of file ASTRecordWriter.h.
Referenced by writeOMPChildren(), writeOMPTraitInfo(), writeOpenACCClause(), and writeTypeCoupledDeclRefInfo().
|
inline |
Write an BTFTypeTagAttr object.
Definition at line 135 of file ASTRecordWriter.h.
References AddAttr().
|
inline |
Definition at line 242 of file ASTRecordWriter.h.
References AddDeclRef(), and D.
Referenced by writeTypeCoupledDeclRefInfo().
|
inline |
Definition at line 191 of file ASTRecordWriter.h.
References AddIdentifierRef().
void ASTRecordWriter::writeOMPChildren | ( | OMPChildren * | Data | ) |
Writes data related to the OpenMP directives.
Definition at line 8269 of file ASTWriter.cpp.
References AddStmt(), clang::Data, E, writeBool(), writeOMPClause(), and writeUInt32().
void ASTRecordWriter::writeOMPClause | ( | OMPClause * | C | ) |
Definition at line 7418 of file ASTWriter.cpp.
References clang::C.
Referenced by writeOMPChildren().
void ASTRecordWriter::writeOMPTraitInfo | ( | const OMPTraitInfo * | TI | ) |
Write an OMPTraitInfo object.
Definition at line 8252 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 8295 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 8538 of file ASTWriter.cpp.
References writeOpenACCClause().
Definition at line 8289 of file ASTWriter.cpp.
References AddStmt(), E, and writeUInt32().
Referenced by writeOpenACCClause().
void ASTRecordWriter::writeOpenACCVarList | ( | const OpenACCClauseWithVarList * | C | ) |
Definition at line 8283 of file ASTWriter.cpp.
References AddStmt(), clang::C, E, and writeUInt32().
Referenced by writeOpenACCClause().
|
inline |
Definition at line 214 of file ASTRecordWriter.h.
References AddTypeRef(), and clang::T.
|
inline |
Definition at line 197 of file ASTRecordWriter.h.
References AddSelectorRef().
|
inline |
Definition at line 145 of file ASTRecordWriter.h.
References AddSourceLocation(), and Loc.
Referenced by writeOpenACCClause().
|
inline |
Definition at line 128 of file ASTRecordWriter.h.
References AddStmt().
Referenced by AddTemplateParameterList(), and AddVarDeclInit().
|
inline |
Definition at line 149 of file ASTRecordWriter.h.
References clang::TypeCoupledDeclRefInfo::getDecl(), clang::TypeCoupledDeclRefInfo::isDeref(), writeBool(), and writeDeclRef().
|
inline |
Definition at line 163 of file ASTRecordWriter.h.
Referenced by writeOMPChildren(), writeOMPTraitInfo(), writeOpenACCClause(), writeOpenACCIntExprList(), and writeOpenACCVarList().
|
inline |
Definition at line 167 of file ASTRecordWriter.h.