LLVM  10.0.0svn
Classes | Namespaces | Macros | Functions
MinidumpYAML.cpp File Reference
#include "llvm/ObjectYAML/MinidumpYAML.h"
#include "llvm/Support/Allocator.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)
 

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

◆ 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 20 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 37 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 62 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 27 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 54 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