clang  14.0.0git
Public Member Functions | Protected Member Functions | List of all members
clang::serialization::DataStreamBasicWriter< Impl > Class Template Reference

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"

Inheritance diagram for clang::serialization::DataStreamBasicWriter< Impl >:
Inheritance graph
[legend]
Collaboration diagram for clang::serialization::DataStreamBasicWriter< Impl >:
Collaboration graph
[legend]

Public Member Functions

Impl & find (const char *propertyName)
 Implement property-find by ignoring it. More...
 
Impl & writeObject ()
 
template<class T >
void writeEnum (T value)
 
template<class T >
void writeArray (llvm::ArrayRef< T > array)
 
template<class T >
void writeOptional (llvm::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 writeNestedNameSpecifier (NestedNameSpecifier *NNS)
 

Protected Member Functions

 DataStreamBasicWriter (ASTContext &ctx)
 

Detailed Description

template<class Impl>
class clang::serialization::DataStreamBasicWriter< Impl >

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 122 of file AbstractBasicWriter.h.

Constructor & Destructor Documentation

◆ DataStreamBasicWriter()

template<class Impl >
clang::serialization::DataStreamBasicWriter< Impl >::DataStreamBasicWriter ( ASTContext ctx)
inlineprotected

Definition at line 125 of file AbstractBasicWriter.h.

Member Function Documentation

◆ find()

template<class Impl >
Impl& clang::serialization::DataStreamBasicWriter< Impl >::find ( const char *  propertyName)
inline

Implement property-find by ignoring it.

We rely on properties being serialized and deserialized in a reliable order instead.

Definition at line 130 of file AbstractBasicWriter.h.

◆ writeAPInt()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeAPInt ( const llvm::APInt &  value)
inline

Definition at line 161 of file AbstractBasicWriter.h.

◆ writeAPSInt()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeAPSInt ( const llvm::APSInt value)
inline

Definition at line 156 of file AbstractBasicWriter.h.

◆ writeArray()

template<class Impl >
template<class T >
void clang::serialization::DataStreamBasicWriter< Impl >::writeArray ( llvm::ArrayRef< T >  array)
inline

Definition at line 144 of file AbstractBasicWriter.h.

◆ writeEnum()

template<class Impl >
template<class T >
void clang::serialization::DataStreamBasicWriter< Impl >::writeEnum ( value)
inline

Definition at line 139 of file AbstractBasicWriter.h.

◆ writeExceptionSpecInfo()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeExceptionSpecInfo ( const FunctionProtoType::ExceptionSpecInfo esi)
inline

Definition at line 207 of file AbstractBasicWriter.h.

◆ writeExtParameterInfo()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeExtParameterInfo ( FunctionProtoType::ExtParameterInfo  epi)
inline

Definition at line 222 of file AbstractBasicWriter.h.

◆ writeFixedPointSemantics()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeFixedPointSemantics ( const llvm::FixedPointSemantics &  sema)
inline

Definition at line 168 of file AbstractBasicWriter.h.

◆ writeLValuePathSerializationHelper()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeLValuePathSerializationHelper ( APValue::LValuePathSerializationHelper  lvaluePath)
inline

Definition at line 175 of file AbstractBasicWriter.h.

◆ writeNestedNameSpecifier()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeNestedNameSpecifier ( NestedNameSpecifier NNS)
inline

Definition at line 228 of file AbstractBasicWriter.h.

◆ writeObject()

template<class Impl >
Impl& clang::serialization::DataStreamBasicWriter< Impl >::writeObject ( )
inline

Definition at line 136 of file AbstractBasicWriter.h.

◆ writeOptional()

template<class Impl >
template<class T >
void clang::serialization::DataStreamBasicWriter< Impl >::writeOptional ( llvm::Optional< T >  value)
inline

Definition at line 152 of file AbstractBasicWriter.h.

◆ writeQualifiers()

template<class Impl >
void clang::serialization::DataStreamBasicWriter< Impl >::writeQualifiers ( Qualifiers  value)
inline

Definition at line 201 of file AbstractBasicWriter.h.


The documentation for this class was generated from the following file: