clang 20.0.0git
|
DataStreamBasicWriter provides convenience implementations for many BasicWriter methods based on the assumption that the ultimate writer implementation is based on a variable-length stream of unstructured data (like Clang's module files). More...
#include "clang/AST/AbstractBasicWriter.h"
Public Member Functions | |
Impl & | find (const char *propertyName) |
Implement property-find by ignoring it. | |
Impl & | writeObject () |
template<class T > | |
void | writeEnum (T value) |
template<class T > | |
void | writeArray (llvm::ArrayRef< T > array) |
template<class T > | |
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) |
Protected Member Functions | |
DataStreamBasicWriter (ASTContext &ctx) | |
DataStreamBasicWriter provides convenience implementations for many BasicWriter methods based on the assumption that the ultimate writer implementation is based on a variable-length stream of unstructured data (like Clang's module files).
It is designed to pair with DataStreamBasicReader.
This class can also act as a PropertyWriter, implementing find("...") by simply forwarding to itself.
Unimplemented methods: writeBool writeUInt32 writeUInt64 writeIdentifier writeSelector writeSourceLocation writeQualType writeStmtRef writeDeclRef
Definition at line 120 of file AbstractBasicWriter.h.
|
inlineprotected |
Definition at line 123 of file AbstractBasicWriter.h.
|
inline |
Implement property-find by ignoring it.
We rely on properties being serialized and deserialized in a reliable order instead.
Definition at line 128 of file AbstractBasicWriter.h.
|
inline |
Definition at line 158 of file AbstractBasicWriter.h.
|
inline |
Definition at line 153 of file AbstractBasicWriter.h.
|
inline |
Definition at line 142 of file AbstractBasicWriter.h.
References clang::T.
|
inline |
Definition at line 229 of file AbstractBasicWriter.h.
References clang::EffectConditionExpr::getCondition().
|
inline |
Definition at line 137 of file AbstractBasicWriter.h.
|
inline |
Definition at line 204 of file AbstractBasicWriter.h.
References clang::EST_Dynamic, clang::EST_Unevaluated, clang::EST_Uninstantiated, clang::FunctionProtoType::ExceptionSpecInfo::Exceptions, clang::isComputedNoexcept(), clang::FunctionProtoType::ExceptionSpecInfo::NoexceptExpr, clang::FunctionProtoType::ExceptionSpecInfo::SourceDecl, clang::FunctionProtoType::ExceptionSpecInfo::SourceTemplate, and clang::FunctionProtoType::ExceptionSpecInfo::Type.
|
inline |
Definition at line 219 of file AbstractBasicWriter.h.
References clang::FunctionType::ExtParameterInfo::getOpaqueValue().
|
inline |
Definition at line 165 of file AbstractBasicWriter.h.
|
inline |
Definition at line 225 of file AbstractBasicWriter.h.
References E.
|
inline |
Definition at line 172 of file AbstractBasicWriter.h.
References clang::Type::getAs(), clang::APValue::LValuePathSerializationHelper::getType(), clang::APValue::LValuePathSerializationHelper::Path, clang::ast_matchers::recordDecl, and clang::ast_matchers::valueDecl.
|
inline |
Definition at line 233 of file AbstractBasicWriter.h.
References clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsNamespace(), clang::NestedNameSpecifier::getAsNamespaceAlias(), clang::NestedNameSpecifier::getAsRecordDecl(), clang::NestedNameSpecifier::getAsType(), clang::NestedNameSpecifier::getKind(), clang::NestedNameSpecifier::getPrefix(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, and clang::NestedNameSpecifier::TypeSpecWithTemplate.
|
inline |
Definition at line 134 of file AbstractBasicWriter.h.
|
inline |
Definition at line 149 of file AbstractBasicWriter.h.
|
inline |
Definition at line 198 of file AbstractBasicWriter.h.
References clang::Qualifiers::getAsOpaqueValue().