class DataStreamBasicWriter
Declaration
template <class Impl>
class DataStreamBasicWriter { /* full declaration omitted */ };
Description
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
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:122
Templates
- Impl
Method Overview
- protected DataStreamBasicWriter<Impl>(clang::ASTContext & ctx)
- public Impl & find(const char * propertyName)
- public void writeAPInt(const llvm::APInt & value)
- public void writeAPSInt(const llvm::APSInt & value)
- public template <class T>void writeArray(llvm::ArrayRef<T> array)
- public template <class T>void writeEnum(T value)
- public void writeExceptionSpecInfo(const FunctionProtoType::ExceptionSpecInfo & esi)
- public void writeExtParameterInfo(FunctionProtoType::ExtParameterInfo epi)
- public void writeFixedPointSemantics(const llvm::FixedPointSemantics & sema)
- public void writeLValuePathSerializationHelper(APValue::LValuePathSerializationHelper lvaluePath)
- public void writeNestedNameSpecifier(clang::NestedNameSpecifier * NNS)
- public Impl & writeObject()
- public template <class T>void writeOptional(llvm::Optional<T> value)
- public void writeQualifiers(clang::Qualifiers value)
Methods
¶DataStreamBasicWriter<Impl>(
clang::ASTContext& ctx)
DataStreamBasicWriter<Impl>(
clang::ASTContext& ctx)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:125
Parameters
- clang::ASTContext& ctx
¶Impl& find(const char* propertyName)
Impl& find(const char* propertyName)
Description
Implement property-find by ignoring it. We rely on properties being serialized and deserialized in a reliable order instead.
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:130
Parameters
- const char* propertyName
¶void writeAPInt(const llvm::APInt& value)
void writeAPInt(const llvm::APInt& value)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:161
Parameters
- const llvm::APInt& value
¶void writeAPSInt(const llvm::APSInt& value)
void writeAPSInt(const llvm::APSInt& value)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:156
Parameters
- const llvm::APSInt& value
¶template <class T>
void writeArray(llvm::ArrayRef<T> array)
template <class T>
void writeArray(llvm::ArrayRef<T> array)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:144
Templates
- T
Parameters
- llvm::ArrayRef<T> array
¶template <class T>
void writeEnum(T value)
template <class T>
void writeEnum(T value)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:139
Templates
- T
Parameters
- T value
¶void writeExceptionSpecInfo(
const FunctionProtoType::ExceptionSpecInfo&
esi)
void writeExceptionSpecInfo(
const FunctionProtoType::ExceptionSpecInfo&
esi)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:207
Parameters
- const FunctionProtoType::ExceptionSpecInfo& esi
¶void writeExtParameterInfo(
FunctionProtoType::ExtParameterInfo epi)
void writeExtParameterInfo(
FunctionProtoType::ExtParameterInfo epi)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:222
Parameters
¶void writeFixedPointSemantics(
const llvm::FixedPointSemantics& sema)
void writeFixedPointSemantics(
const llvm::FixedPointSemantics& sema)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:168
Parameters
- const llvm::FixedPointSemantics& sema
¶void writeLValuePathSerializationHelper(
APValue::LValuePathSerializationHelper
lvaluePath)
void writeLValuePathSerializationHelper(
APValue::LValuePathSerializationHelper
lvaluePath)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:175
Parameters
- APValue::LValuePathSerializationHelper lvaluePath
¶void writeNestedNameSpecifier(
clang::NestedNameSpecifier* NNS)
void writeNestedNameSpecifier(
clang::NestedNameSpecifier* NNS)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:228
Parameters
¶Impl& writeObject()
Impl& writeObject()
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:136
¶template <class T>
void writeOptional(llvm::Optional<T> value)
template <class T>
void writeOptional(llvm::Optional<T> value)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:152
Templates
- T
Parameters
- llvm::Optional<T> value
¶void writeQualifiers(clang::Qualifiers value)
void writeQualifiers(clang::Qualifiers value)
Declared at: clang/include/clang/AST/AbstractBasicWriter.h:201
Parameters
- clang::Qualifiers value