LLVM  10.0.0svn
Classes | Namespaces | Macros | Functions
MinidumpYAML.cpp File Reference
#include "llvm/ObjectYAML/MinidumpYAML.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/ConvertUTF.h"
#include "llvm/BinaryFormat/MinidumpConstants.def"
Include dependency graph for MinidumpYAML.cpp:

Go to the source code of this file.

Classes

struct  llvm::yaml::ScalarTraits< FixedSizeHex< N > >
 
struct  llvm::yaml::ScalarTraits< FixedSizeString< N > >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::yaml
 

Macros

#define HANDLE_MDMP_ARCH(CODE, NAME)   IO.enumCase(Arch, #NAME, ProcessorArchitecture::NAME);
 
#define HANDLE_MDMP_PLATFORM(CODE, NAME)   IO.enumCase(Plat, #NAME, OSPlatform::NAME);
 
#define HANDLE_MDMP_STREAM_TYPE(CODE, NAME)   IO.enumCase(Type, #NAME, StreamType::NAME);
 

Functions

template<typename EndianType >
static void mapOptional (yaml::IO &IO, const char *Key, EndianType &Val, typename EndianType::value_type Default)
 Perform an optional yaml-mapping of an endian-aware type EndianType. More...
 
template<typename MapType , typename EndianType >
static void mapRequiredAs (yaml::IO &IO, const char *Key, EndianType &Val)
 Yaml-map an endian-aware type EndianType as some other type MapType. More...
 
template<typename MapType , typename EndianType >
static void mapOptionalAs (yaml::IO &IO, const char *Key, EndianType &Val, MapType Default)
 Perform an optional yaml-mapping of an endian-aware type EndianType as some other type MapType. More...
 
template<typename EndianType >
static void mapRequiredHex (yaml::IO &IO, const char *Key, EndianType &Val)
 Yaml-map an endian-aware type as an appropriately-sized hex value. More...
 
template<typename EndianType >
static void mapOptionalHex (yaml::IO &IO, const char *Key, EndianType &Val, typename EndianType::value_type Default)
 Perform an optional yaml-mapping of an endian-aware type as an appropriately-sized hex value. More...
 
static void streamMapping (yaml::IO &IO, RawContentStream &Stream)
 
static StringRef streamValidate (RawContentStream &Stream)
 
static void streamMapping (yaml::IO &IO, MemoryListStream &Stream)
 
static void streamMapping (yaml::IO &IO, SystemInfoStream &Stream)
 
static void streamMapping (yaml::IO &IO, TextContentStream &Stream)
 
static LocationDescriptor layout (BlobAllocator &File, yaml::BinaryRef Data)
 
static void layout (BlobAllocator &File, MemoryListStream::entry_type &Range)
 
template<typename EntryT >
static size_t layout (BlobAllocator &File, MinidumpYAML::detail::ListStream< EntryT > &S)
 
static Directory layout (BlobAllocator &File, Stream &S)
 

Macro Definition Documentation

◆ HANDLE_MDMP_ARCH

#define HANDLE_MDMP_ARCH (   CODE,
  NAME 
)    IO.enumCase(Arch, #NAME, ProcessorArchitecture::NAME);

◆ HANDLE_MDMP_PLATFORM

#define HANDLE_MDMP_PLATFORM (   CODE,
  NAME 
)    IO.enumCase(Plat, #NAME, OSPlatform::NAME);

◆ HANDLE_MDMP_STREAM_TYPE

#define HANDLE_MDMP_STREAM_TYPE (   CODE,
  NAME 
)    IO.enumCase(Type, #NAME, StreamType::NAME);

Function Documentation

◆ layout() [1/4]

static LocationDescriptor layout ( BlobAllocator &  File,
yaml::BinaryRef  Data 
)
static

◆ layout() [2/4]

static void layout ( BlobAllocator &  File,
MemoryListStream::entry_type Range 
)
static

Definition at line 487 of file MinidumpYAML.cpp.

References File, and layout().

◆ layout() [3/4]

template<typename EntryT >
static size_t layout ( BlobAllocator &  File,
MinidumpYAML::detail::ListStream< EntryT > &  S 
)
static

◆ layout() [4/4]

static Directory layout ( BlobAllocator &  File,
Stream S 
)
static

◆ mapOptional()

template<typename EndianType >
static void mapOptional ( yaml::IO &  IO,
const char Key,
EndianType &  Val,
typename EndianType::value_type  Default 
)
inlinestatic

Perform an optional yaml-mapping of an endian-aware type EndianType.

The only purpose of this function is to avoid casting the Default value to the endian type;

Definition at line 119 of file MinidumpYAML.cpp.

Referenced by streamMapping().

◆ mapOptionalAs()

template<typename MapType , typename EndianType >
static void mapOptionalAs ( yaml::IO &  IO,
const char Key,
EndianType &  Val,
MapType  Default 
)
inlinestatic

Perform an optional yaml-mapping of an endian-aware type EndianType as some other type MapType.

Definition at line 136 of file MinidumpYAML.cpp.

◆ mapOptionalHex()

template<typename EndianType >
static void mapOptionalHex ( yaml::IO &  IO,
const char Key,
EndianType &  Val,
typename EndianType::value_type  Default 
)
inlinestatic

Perform an optional yaml-mapping of an endian-aware type as an appropriately-sized hex value.

Definition at line 161 of file MinidumpYAML.cpp.

References llvm::MinidumpYAML::Stream::~Stream().

Referenced by llvm::MinidumpYAML::Stream::create(), llvm::yaml::ScalarTraits< FixedSizeString< N > >::mustQuote(), and streamMapping().

◆ mapRequiredAs()

template<typename MapType , typename EndianType >
static void mapRequiredAs ( yaml::IO &  IO,
const char Key,
EndianType &  Val 
)
inlinestatic

Yaml-map an endian-aware type EndianType as some other type MapType.

Definition at line 126 of file MinidumpYAML.cpp.

◆ mapRequiredHex()

template<typename EndianType >
static void mapRequiredHex ( yaml::IO &  IO,
const char Key,
EndianType &  Val 
)
inlinestatic

Yaml-map an endian-aware type as an appropriately-sized hex value.

Definition at line 153 of file MinidumpYAML.cpp.

Referenced by llvm::MinidumpYAML::Stream::create(), llvm::yaml::ScalarTraits< FixedSizeString< N > >::mustQuote(), and streamMapping().

◆ streamMapping() [1/4]

static void streamMapping ( yaml::IO &  IO,
RawContentStream Stream 
)
static

◆ streamMapping() [2/4]

static void streamMapping ( yaml::IO &  IO,
MemoryListStream Stream 
)
static

◆ streamMapping() [3/4]

static void streamMapping ( yaml::IO &  IO,
SystemInfoStream Stream 
)
static

◆ streamMapping() [4/4]

static void streamMapping ( yaml::IO &  IO,
TextContentStream Stream 
)
static

◆ streamValidate()

static StringRef streamValidate ( RawContentStream Stream)
static