struct RemarkSerializer

Declaration

struct RemarkSerializer { /* full declaration omitted */ };

Description

This is the base class for a remark serializer. It includes support for using a string table while emitting.

Declared at: llvm/include/llvm/Remarks/RemarkSerializer.h:41

Member Variables

public llvm::remarks::Format SerializerFormat
The format of the serializer.
public llvm::raw_ostream& OS
The open raw_ostream that the remark diagnostics are emitted to.
public llvm::remarks::SerializerMode Mode
The serialization mode.
public Optional<llvm::remarks::StringTable> StrTab
The string table containing all the unique strings used in the output. The table can be serialized to be consumed after the compilation.

Method Overview

  • public RemarkSerializer(llvm::remarks::Format SerializerFormat, llvm::raw_ostream & OS, llvm::remarks::SerializerMode Mode)
  • public virtual void emit(const llvm::remarks::Remark & Remark)
  • public virtual std::unique_ptr<MetaSerializer> metaSerializer(llvm::raw_ostream & OS, Optional<llvm::StringRef> ExternalFilename = None)
  • public virtual ~RemarkSerializer()

Methods

RemarkSerializer(
    llvm::remarks::Format SerializerFormat,
    llvm::raw_ostream& OS,
    llvm::remarks::SerializerMode Mode)

Declared at: llvm/include/llvm/Remarks/RemarkSerializer.h:52

Parameters

llvm::remarks::Format SerializerFormat
llvm::raw_ostream& OS
llvm::remarks::SerializerMode Mode

virtual void emit(
    const llvm::remarks::Remark& Remark)

Description

Emit a remark to the stream.

Declared at: llvm/include/llvm/Remarks/RemarkSerializer.h:59

Parameters

const llvm::remarks::Remark& Remark

virtual std::unique_ptr<MetaSerializer>
metaSerializer(llvm::raw_ostream& OS,
               Optional<llvm::StringRef>
                   ExternalFilename = None)

Description

Return the corresponding metadata serializer.

Declared at: llvm/include/llvm/Remarks/RemarkSerializer.h:62

Parameters

llvm::raw_ostream& OS
Optional<llvm::StringRef> ExternalFilename = None

virtual ~RemarkSerializer()

Description

This is just an interface.

Declared at: llvm/include/llvm/Remarks/RemarkSerializer.h:57