clang 22.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 | AddLookupOffsets (const LookupBlockOffsets &Offsets) |
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) |
Emit a source location. | |
void | writeSourceLocation (SourceLocation Loc) |
void | writeTypeCoupledDeclRefInfo (TypeCoupledDeclRefInfo Info) |
void | writeHLSLSpirvOperand (SpirvOperand Op) |
void | AddSourceRange (SourceRange Range) |
Emit a source range. | |
void | writeBool (bool Value) |
void | writeUInt32 (uint32_t Value) |
void | writeUInt64 (uint64_t Value) |
void | writeUnsignedOrNone (UnsignedOrNone 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) |
Emits source location information for a type. Does not emit the type. | |
void | AddTemplateArgumentLocInfo (const TemplateArgumentLoc &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 | AddOpenACCRoutineDeclAttr (const OpenACCRoutineDeclAttr *A) |
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 (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 30 of file ASTRecordWriter.h.
|
inline |
Construct a ASTRecordWriter that uses the default encoding scheme.
Definition at line 63 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::DataStreamBasicWriter().
Referenced by ASTRecordWriter(), ASTRecordWriter(), and operator=().
|
inline |
Construct a ASTRecordWriter that uses the same encoding scheme as another ASTRecordWriter.
Definition at line 69 of file ASTRecordWriter.h.
References ASTRecordWriter(), and clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::DataStreamBasicWriter().
|
delete |
Copying an ASTRecordWriter is almost certainly a bug.
References ASTRecordWriter().
void ASTRecordWriter::AddAPFloat | ( | const llvm::APFloat & | Value | ) |
|
inline |
Emit an integral value.
Definition at line 197 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeAPInt().
Referenced by AddAPFloat().
|
inline |
Emit a signed integral value.
Definition at line 202 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 7159 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 5247 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(), clang::isa(), 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 5272 of file ASTWriter.cpp.
References AddAttr(), and push_back().
void ASTRecordWriter::AddConceptReference | ( | const ConceptReference * | CR | ) |
Definition at line 545 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 7180 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 7204 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXBaseSpecifiers().
Referenced by AddCXXDefinitionData().
void ASTRecordWriter::AddCXXCtorInitializers | ( | ArrayRef< CXXCtorInitializer * > | CtorInits | ) |
Emit a CXXCtorInitializer array.
Definition at line 7244 of file ASTWriter.cpp.
References AddOffset(), and EmitCXXCtorInitializers().
Referenced by AddFunctionDefinition().
void ASTRecordWriter::AddCXXDefinitionData | ( | const CXXRecordDecl * | D | ) |
Definition at line 7249 of file ASTWriter.cpp.
References clang::BitsPacker::addBit(), clang::BitsPacker::addBits(), AddCXXBaseSpecifiers(), AddDeclRef(), AddSourceLocation(), AddTypeSourceInfo(), AddUnresolvedSet(), clang::Data, clang::CXXRecordDecl::getDeviceLambdaManglingNumber(), clang::sema::Capture::getEllipsisLoc(), clang::sema::Capture::getLocation(), clang::CXXRecordDecl::getODRHash(), clang::CXXRecordDecl::getTemplateSpecializationKind(), clang::TagDecl::isDependentType(), clang::Decl::isInNamedModule(), clang::LCK_ByCopy, clang::LCK_ByRef, clang::LCK_StarThis, clang::LCK_This, clang::LCK_VLAType, and clang::TSK_ExplicitInstantiationDeclaration.
void ASTRecordWriter::AddCXXTemporary | ( | const CXXTemporary * | Temp | ) |
Emit a CXXTemporary.
Definition at line 6783 of file ASTWriter.cpp.
References AddDeclRef(), and clang::CXXTemporary::getDestructor().
|
inline |
Emit a declaration name.
Definition at line 271 of file ASTRecordWriter.h.
Referenced by AddDeclarationNameInfo().
void ASTRecordWriter::AddDeclarationNameInfo | ( | const DeclarationNameInfo & | NameInfo | ) |
Definition at line 7070 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 7043 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::getNameKind(), 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 263 of file ASTRecordWriter.h.
Referenced by AddConceptReference(), AddCXXDefinitionData(), AddCXXTemporary(), AddNestedNameSpecifierLoc(), AddTemplateParameterList(), AddUnresolvedSet(), EmitCXXCtorInitializers(), clang::ASTDeclWriter::VisitRedeclarable(), writeDeclRef(), and writeOpenACCClause().
void ASTRecordWriter::AddFunctionDefinition | ( | const FunctionDecl * | FD | ) |
Add a definition for the given function to the queue of statements to emit.
Definition at line 3093 of file ASTWriterDecl.cpp.
References AddCXXCtorInitializers(), AddStmt(), clang::FunctionDecl::doesThisDeclarationHaveABody(), clang::FunctionDecl::getBody(), and shouldFunctionGenerateHereOnly().
|
inline |
Emit a reference to an identifier.
Definition at line 213 of file ASTRecordWriter.h.
Referenced by writeIdentifier(), and writeOpenACCClause().
|
inline |
Definition at line 118 of file ASTRecordWriter.h.
References AddOffset(), clang::LookupBlockOffsets::LexicalOffset, clang::VisibleLookupBlockOffsets::ModuleLocalOffset, clang::VisibleLookupBlockOffsets::TULocalOffset, and clang::VisibleLookupBlockOffsets::VisibleOffset.
|
inline |
Emit a nested name specifier.
Definition at line 282 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 7084 of file ASTWriter.cpp.
References AddDeclRef(), AddSourceLocation(), AddSourceRange(), AddTypeLoc(), AddTypeRef(), clang::NestedNameSpecifierLoc::castAsTypeLoc(), clang::NestedNameSpecifierLoc::getAsNamespaceAndPrefix(), clang::SourceRange::getEnd(), clang::NestedNameSpecifierLoc::getLocalSourceRange(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::TypeLoc::getType(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::MicrosoftSuper, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::Null, clang::NamespaceAndPrefixLoc::Prefix, and clang::NestedNameSpecifier::Type.
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(), AddCXXCtorInitializers(), and AddLookupOffsets().
void ASTRecordWriter::AddOpenACCRoutineDeclAttr | ( | const OpenACCRoutineDeclAttr * | A | ) |
Definition at line 9014 of file ASTWriter.cpp.
References writeOpenACCClauseList(), and writeUInt32().
|
inline |
Emit a path.
Definition at line 342 of file ASTRecordWriter.h.
void ASTRecordWriter::AddQualifierInfo | ( | const QualifierInfo & | Info | ) |
Definition at line 7077 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 6760 of file ASTWriter.cpp.
Referenced by writeSelector().
|
inline |
Emit a source location.
Definition at line 149 of file ASTRecordWriter.h.
Referenced by AddASTTemplateArgumentListInfo(), AddConceptReference(), AddCXXBaseSpecifier(), AddCXXDefinitionData(), AddDeclarationNameInfo(), AddDeclarationNameLoc(), AddNestedNameSpecifierLoc(), AddTemplateArgumentLocInfo(), AddTemplateParameterList(), EmitCXXCtorInitializers(), and writeSourceLocation().
|
inline |
Emit a source range.
Definition at line 176 of file ASTRecordWriter.h.
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 132 of file ASTRecordWriter.h.
Referenced by AddFunctionDefinition(), AddTemplateArgumentLocInfo(), EmitCXXCtorInitializers(), writeOMPChildren(), writeOpenACCClause(), writeOpenACCIntExprList(), writeOpenACCVarList(), and writeStmtRef().
|
inline |
Emit a string.
Definition at line 337 of file ASTRecordWriter.h.
|
inline |
Emit a template argument.
Definition at line 295 of file ASTRecordWriter.h.
Referenced by AddTemplateArgumentList(), and AddTemplateArgumentLoc().
void ASTRecordWriter::AddTemplateArgumentList | ( | const TemplateArgumentList * | TemplateArgs | ) |
Emit a template argument list.
Definition at line 7151 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 6816 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 | ( | const TemplateArgumentLoc & | Arg | ) |
Emits a template argument location info.
Definition at line 6787 of file ASTWriter.cpp.
References AddNestedNameSpecifierLoc(), AddSourceLocation(), AddStmt(), AddTypeSourceInfo(), clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgumentLoc::getArgument(), clang::TemplateArgumentLocInfo::getAsExpr(), clang::TemplateArgumentLocInfo::getAsTypeSourceInfo(), clang::TemplateArgument::getKind(), clang::TemplateArgumentLoc::getLocInfo(), clang::TemplateArgumentLoc::getTemplateEllipsisLoc(), clang::TemplateArgumentLoc::getTemplateKWLoc(), clang::TemplateArgumentLoc::getTemplateNameLoc(), clang::TemplateArgumentLoc::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 290 of file ASTRecordWriter.h.
void ASTRecordWriter::AddTemplateParameterList | ( | const TemplateParameterList * | TemplateParams | ) |
Emit a template parameter list.
Definition at line 7132 of file ASTWriter.cpp.
References AddDeclRef(), AddSourceLocation(), clang::TemplateParameterList::getLAngleLoc(), clang::TemplateParameterList::getRAngleLoc(), clang::TemplateParameterList::getRequiresClause(), clang::TemplateParameterList::getTemplateLoc(), clang::TemplateParameterList::size(), and writeStmtRef().
Referenced by AddQualifierInfo().
void ASTRecordWriter::AddTypeLoc | ( | TypeLoc | TL | ) |
Emits source location information for a type. Does not emit the type.
Definition at line 6839 of file ASTWriter.cpp.
References clang::TypeLoc::getNextTypeLoc(), and clang::TypeLoc::isNull().
Referenced by AddNestedNameSpecifierLoc(), and AddTypeSourceInfo().
|
inline |
Emit a reference to a type.
Definition at line 236 of file ASTRecordWriter.h.
References clang::T.
Referenced by AddNestedNameSpecifierLoc(), AddTypeSourceInfo(), and writeQualType().
void ASTRecordWriter::AddTypeSourceInfo | ( | TypeSourceInfo * | TInfo | ) |
Emits a reference to a declarator info.
Definition at line 6829 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 7170 of file ASTWriter.cpp.
References AddDeclRef(), and clang::Set.
Referenced by AddCXXDefinitionData().
void ASTRecordWriter::AddVarDeclInit | ( | const VarDecl * | VD | ) |
Emit information about the initializer of a VarDecl.
Definition at line 7344 of file ASTWriter.cpp.
References AddAPValue(), clang::Evaluated, clang::VarDecl::getEvaluatedStmt(), clang::VarDecl::getEvaluatedValue(), clang::VarDecl::getInit(), clang::VarDecl::hasInitWithSideEffects(), clang::Init, push_back(), and writeStmtRef().
|
inline |
Emit a version tuple.
Definition at line 347 of file ASTRecordWriter.h.
|
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 |
References ASTRecordWriter().
|
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 139 of file ASTRecordWriter.h.
References AddAttr().
|
inline |
Definition at line 180 of file ASTRecordWriter.h.
Referenced by writeOMPChildren(), writeOMPTraitInfo(), writeOpenACCClause(), and writeTypeCoupledDeclRefInfo().
|
inline |
Write an BTFTypeTagAttr object.
Definition at line 142 of file ASTRecordWriter.h.
References AddAttr().
|
inline |
Definition at line 266 of file ASTRecordWriter.h.
References AddDeclRef().
Referenced by writeTypeCoupledDeclRefInfo().
|
inline |
Definition at line 161 of file ASTRecordWriter.h.
References clang::serialization::DataStreamBasicWriter< ASTRecordWriter >::writeAPInt(), and writeQualType().
|
inline |
Definition at line 216 of file ASTRecordWriter.h.
References AddIdentifierRef().
void ASTRecordWriter::writeOMPChildren | ( | OMPChildren * | Data | ) |
Writes data related to the OpenMP directives.
Definition at line 8677 of file ASTWriter.cpp.
References AddStmt(), clang::Data, writeBool(), writeOMPClause(), and writeUInt32().
void ASTRecordWriter::writeOMPClause | ( | OMPClause * | C | ) |
Definition at line 7810 of file ASTWriter.cpp.
References clang::C.
Referenced by writeOMPChildren().
void ASTRecordWriter::writeOMPTraitInfo | ( | const OMPTraitInfo * | TI | ) |
Write an OMPTraitInfo object.
Definition at line 8660 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 8703 of file ASTWriter.cpp.
References AddDeclRef(), AddIdentifierRef(), AddStmt(), clang::Async, clang::Attach, clang::Auto, clang::Bind, clang::C, clang::cast(), 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, 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::Shortloop, 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 9009 of file ASTWriter.cpp.
References writeOpenACCClause().
Referenced by AddOpenACCRoutineDeclAttr().
Definition at line 8697 of file ASTWriter.cpp.
References AddStmt(), and writeUInt32().
Referenced by writeOpenACCClause().
void ASTRecordWriter::writeOpenACCVarList | ( | const OpenACCClauseWithVarList * | C | ) |
Definition at line 8691 of file ASTWriter.cpp.
References AddStmt(), clang::C, and writeUInt32().
Referenced by writeOpenACCClause().
|
inline |
Definition at line 239 of file ASTRecordWriter.h.
References AddTypeRef(), and clang::T.
Referenced by writeHLSLSpirvOperand().
|
inline |
Definition at line 222 of file ASTRecordWriter.h.
References AddSelectorRef().
|
inline |
Definition at line 152 of file ASTRecordWriter.h.
References AddSourceLocation().
Referenced by writeOpenACCClause().
|
inline |
Definition at line 135 of file ASTRecordWriter.h.
References AddStmt().
Referenced by AddTemplateParameterList(), and AddVarDeclInit().
|
inline |
Definition at line 156 of file ASTRecordWriter.h.
References clang::TypeCoupledDeclRefInfo::getDecl(), clang::TypeCoupledDeclRefInfo::isDeref(), writeBool(), and writeDeclRef().
|
inline |
Definition at line 184 of file ASTRecordWriter.h.
Referenced by AddOpenACCRoutineDeclAttr(), writeOMPChildren(), writeOMPTraitInfo(), writeOpenACCClause(), writeOpenACCIntExprList(), and writeOpenACCVarList().
|
inline |
Definition at line 188 of file ASTRecordWriter.h.
|
inline |
Definition at line 192 of file ASTRecordWriter.h.