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

Methods

DataStreamBasicWriter<Impl>(
    clang::ASTContext& ctx)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:125

Parameters

clang::ASTContext& ctx

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)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:161

Parameters

const llvm::APInt& 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)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:144

Templates

T

Parameters

llvm::ArrayRef<T> array

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)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:207

Parameters

const FunctionProtoType::ExceptionSpecInfo& esi

void writeExtParameterInfo(
    FunctionProtoType::ExtParameterInfo epi)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:222

Parameters

FunctionProtoType::ExtParameterInfo epi

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)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:175

Parameters

APValue::LValuePathSerializationHelper lvaluePath

void writeNestedNameSpecifier(
    clang::NestedNameSpecifier* NNS)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:228

Parameters

clang::NestedNameSpecifier* NNS

Impl& writeObject()

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:136

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)

Declared at: clang/include/clang/AST/AbstractBasicWriter.h:201

Parameters

clang::Qualifiers value