LLVM 19.0.0git
Classes | Namespaces | Macros | Functions
MinidumpYAML.cpp File Reference
#include "llvm/ObjectYAML/MinidumpYAML.h"
#include "llvm/Support/Allocator.h"
#include "llvm/BinaryFormat/MinidumpConstants.def"

Go to the source code of this file.

Classes

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

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::yaml
 

Macros

#define HANDLE_MDMP_PROTECT(CODE, NAME, NATIVENAME)    IO.bitSetCase(Protect, #NATIVENAME, MemoryProtection::NAME);
 
#define HANDLE_MDMP_MEMSTATE(CODE, NAME, NATIVENAME)    IO.bitSetCase(State, #NATIVENAME, MemoryState::NAME);
 
#define HANDLE_MDMP_MEMTYPE(CODE, NAME, NATIVENAME)    IO.bitSetCase(Type, #NATIVENAME, MemoryType::NAME);
 
#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.
 
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.
 
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.
 
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.
 
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.
 
static void streamMapping (yaml::IO &IO, RawContentStream &Stream)
 
static std::string streamValidate (RawContentStream &Stream)
 
static void streamMapping (yaml::IO &IO, MemoryInfoListStream &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 void streamMapping (yaml::IO &IO, MinidumpYAML::ExceptionStream &Stream)
 

Macro Definition Documentation

◆ HANDLE_MDMP_ARCH

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

◆ HANDLE_MDMP_MEMSTATE

#define HANDLE_MDMP_MEMSTATE (   CODE,
  NAME,
  NATIVENAME 
)     IO.bitSetCase(State, #NATIVENAME, MemoryState::NAME);

◆ HANDLE_MDMP_MEMTYPE

#define HANDLE_MDMP_MEMTYPE (   CODE,
  NAME,
  NATIVENAME 
)     IO.bitSetCase(Type, #NATIVENAME, MemoryType::NAME);

◆ HANDLE_MDMP_PLATFORM

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

◆ HANDLE_MDMP_PROTECT

#define HANDLE_MDMP_PROTECT (   CODE,
  NAME,
  NATIVENAME 
)     IO.bitSetCase(Protect, #NATIVENAME, MemoryProtection::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.

References Default.

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.

References Default.

◆ 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 Default.

Referenced by 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 streamMapping().

◆ streamMapping() [1/6]

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

Definition at line 307 of file MinidumpYAML.cpp.

◆ streamMapping() [2/6]

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

Definition at line 311 of file MinidumpYAML.cpp.

◆ streamMapping() [3/6]

static void streamMapping ( yaml::IO &  IO,
MinidumpYAML::ExceptionStream Stream 
)
static

Definition at line 374 of file MinidumpYAML.cpp.

References mapRequiredHex().

◆ streamMapping() [4/6]

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

Definition at line 290 of file MinidumpYAML.cpp.

◆ streamMapping() [5/6]

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

Definition at line 319 of file MinidumpYAML.cpp.

References Info, mapOptional(), and mapOptionalHex().

◆ streamMapping() [6/6]

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

Definition at line 349 of file MinidumpYAML.cpp.

◆ streamValidate()

static std::string streamValidate ( RawContentStream Stream)
static

Definition at line 295 of file MinidumpYAML.cpp.