clang 22.0.0git
clang::serialization::DataStreamBasicReader< Impl > Class Template Reference

DataStreamBasicReader provides convenience implementations for many BasicReader methods based on the assumption that the ultimate reader implementation is based on a variable-length stream of unstructured data (like Clang's module files). More...

#include "clang/AST/AbstractBasicReader.h"

Inheritance diagram for clang::serialization::DataStreamBasicReader< Impl >:
[legend]

Public Member Functions

Impl & find (const char *propertyName)
 Implement property-find by ignoring it.
template<class T>
T readEnum ()
Impl & readObject ()
template<class T>
ArrayRef< TreadArray (llvm::SmallVectorImpl< T > &buffer)
template<class T, class... Args>
std::optional< TreadOptional (Args &&...args)
llvm::APSInt readAPSInt ()
llvm::APInt readAPInt ()
llvm::FixedPointSemantics readFixedPointSemantics ()
APValue::LValuePathSerializationHelper readLValuePathSerializationHelper (SmallVectorImpl< APValue::LValuePathEntry > &path)
Qualifiers readQualifiers ()
FunctionProtoType::ExceptionSpecInfo readExceptionSpecInfo (llvm::SmallVectorImpl< QualType > &buffer)
FunctionProtoType::ExtParameterInfo readExtParameterInfo ()
FunctionEffect readFunctionEffect ()
EffectConditionExpr readEffectConditionExpr ()
NestedNameSpecifier readNestedNameSpecifier ()

Protected Member Functions

 DataStreamBasicReader (ASTContext &ctx)

Detailed Description

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

DataStreamBasicReader provides convenience implementations for many BasicReader methods based on the assumption that the ultimate reader implementation is based on a variable-length stream of unstructured data (like Clang's module files).

It is designed to pair with DataStreamBasicWriter.

This class can also act as a PropertyReader, implementing find("...") by simply forwarding to itself.

Unimplemented methods: readBool readUInt32 readUInt64 readIdentifier readSelector readSourceLocation readQualType readStmtRef readDeclRef

Definition at line 123 of file AbstractBasicReader.h.

Constructor & Destructor Documentation

◆ DataStreamBasicReader()

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

Definition at line 126 of file AbstractBasicReader.h.

Member Function Documentation

◆ find()

template<class Impl>
Impl & clang::serialization::DataStreamBasicReader< 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 133 of file AbstractBasicReader.h.

◆ readAPInt()

template<class Impl>
llvm::APInt clang::serialization::DataStreamBasicReader< Impl >::readAPInt ( )
inline

Definition at line 170 of file AbstractBasicReader.h.

◆ readAPSInt()

template<class Impl>
llvm::APSInt clang::serialization::DataStreamBasicReader< Impl >::readAPSInt ( )
inline

Definition at line 164 of file AbstractBasicReader.h.

References isUnsigned().

◆ readArray()

template<class Impl>
template<class T>
ArrayRef< T > clang::serialization::DataStreamBasicReader< Impl >::readArray ( llvm::SmallVectorImpl< T > & buffer)
inline

Definition at line 146 of file AbstractBasicReader.h.

Referenced by readExceptionSpecInfo().

◆ readEffectConditionExpr()

template<class Impl>
EffectConditionExpr clang::serialization::DataStreamBasicReader< Impl >::readEffectConditionExpr ( )
inline

Definition at line 251 of file AbstractBasicReader.h.

◆ readEnum()

template<class Impl>
template<class T>
T clang::serialization::DataStreamBasicReader< Impl >::readEnum ( )
inline

Definition at line 138 of file AbstractBasicReader.h.

References clang::T.

◆ readExceptionSpecInfo()

◆ readExtParameterInfo()

template<class Impl>
FunctionProtoType::ExtParameterInfo clang::serialization::DataStreamBasicReader< Impl >::readExtParameterInfo ( )
inline

◆ readFixedPointSemantics()

template<class Impl>
llvm::FixedPointSemantics clang::serialization::DataStreamBasicReader< Impl >::readFixedPointSemantics ( )
inline

Definition at line 179 of file AbstractBasicReader.h.

◆ readFunctionEffect()

template<class Impl>
FunctionEffect clang::serialization::DataStreamBasicReader< Impl >::readFunctionEffect ( )
inline

Definition at line 246 of file AbstractBasicReader.h.

References clang::FunctionEffect::fromOpaqueInt32().

◆ readLValuePathSerializationHelper()

◆ readNestedNameSpecifier()

◆ readObject()

template<class Impl>
Impl & clang::serialization::DataStreamBasicReader< Impl >::readObject ( )
inline

Definition at line 144 of file AbstractBasicReader.h.

◆ readOptional()

template<class Impl>
template<class T, class... Args>
std::optional< T > clang::serialization::DataStreamBasicReader< Impl >::readOptional ( Args &&... args)
inline

Definition at line 159 of file AbstractBasicReader.h.

◆ readQualifiers()

template<class Impl>
Qualifiers clang::serialization::DataStreamBasicReader< Impl >::readQualifiers ( )
inline

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