clang 20.0.0git
Public Member Functions | Protected Member Functions | List of all members
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 >:
Inheritance graph
[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 >
llvm::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 ()
 
NestedNameSpecifierreadNestedNameSpecifier ()
 

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 171 of file AbstractBasicReader.h.

◆ readAPSInt()

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

Definition at line 165 of file AbstractBasicReader.h.

References isUnsigned().

◆ readArray()

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

Definition at line 147 of file AbstractBasicReader.h.

◆ readEffectConditionExpr()

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

Definition at line 252 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()

template<class Impl >
FunctionProtoType::ExceptionSpecInfo clang::serialization::DataStreamBasicReader< Impl >::readExceptionSpecInfo ( llvm::SmallVectorImpl< QualType > &  buffer)
inline

◆ 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 180 of file AbstractBasicReader.h.

◆ readFunctionEffect()

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

Definition at line 247 of file AbstractBasicReader.h.

References clang::FunctionEffect::fromOpaqueInt32().

◆ readLValuePathSerializationHelper()

template<class Impl >
APValue::LValuePathSerializationHelper clang::serialization::DataStreamBasicReader< Impl >::readLValuePathSerializationHelper ( SmallVectorImpl< APValue::LValuePathEntry > &  path)
inline

◆ readNestedNameSpecifier()

template<class Impl >
NestedNameSpecifier * clang::serialization::DataStreamBasicReader< Impl >::readNestedNameSpecifier ( )
inline

◆ 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 160 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: