LLVM 20.0.0git
|
The base class for all minidump streams. More...
#include "llvm/ObjectYAML/MinidumpYAML.h"
Public Types | |
enum class | StreamKind { Exception , MemoryInfoList , MemoryList , Memory64List , ModuleList , RawContent , SystemInfo , TextContent , ThreadList } |
Public Member Functions | |
Stream (StreamKind Kind, minidump::StreamType Type) | |
virtual | ~Stream () |
Static Public Member Functions | |
static StreamKind | getKind (minidump::StreamType Type) |
Get the stream Kind used for representing streams of a given Type. | |
static std::unique_ptr< Stream > | create (minidump::StreamType Type) |
Create an empty stream of the given Type. | |
static Expected< std::unique_ptr< Stream > > | create (const minidump::Directory &StreamDesc, const object::MinidumpFile &File) |
Create a stream from the given stream directory entry. | |
Public Attributes | |
const StreamKind | Kind |
const minidump::StreamType | Type |
The base class for all minidump streams.
The "Type" of the stream corresponds to the Stream Type field in the minidump file. The "Kind" field specifies how are we going to treat it. For highly specialized streams (e.g. SystemInfo), there is a 1:1 mapping between Types and Kinds, but in general one stream Kind can be used to represent multiple stream Types (e.g. any unrecognised stream Type will be handled via RawContentStream). The mapping from Types to Kinds is fixed and given by the static getKind function.
Definition at line 27 of file MinidumpYAML.h.
|
strong |
Enumerator | |
---|---|
Exception | |
MemoryInfoList | |
MemoryList | |
Memory64List | |
ModuleList | |
RawContent | |
SystemInfo | |
TextContent | |
ThreadList |
Definition at line 28 of file MinidumpYAML.h.
|
inline |
Definition at line 40 of file MinidumpYAML.h.
|
virtualdefault |
|
static |
Create a stream from the given stream directory entry.
Definition at line 497 of file MinidumpYAML.cpp.
References Exception, getKind(), Kind, llvm_unreachable, Memory64List, MemoryInfoList, MemoryList, ModuleList, RawContent, llvm::Error::success(), SystemInfo, llvm::Expected< T >::takeError(), TextContent, ThreadList, llvm::dwarf::toStringRef(), and llvm::minidump::Directory::Type.
|
static |
Create an empty stream of the given Type.
Definition at line 99 of file MinidumpYAML.cpp.
References Exception, getKind(), Kind, llvm_unreachable, Memory64List, MemoryInfoList, MemoryList, ModuleList, RawContent, SystemInfo, TextContent, and ThreadList.
Referenced by llvm::MinidumpYAML::Object::create().
|
static |
Get the stream Kind used for representing streams of a given Type.
Definition at line 70 of file MinidumpYAML.cpp.
References Exception, Memory64List, MemoryInfoList, MemoryList, ModuleList, RawContent, SystemInfo, TextContent, and ThreadList.
Referenced by create().
const StreamKind llvm::MinidumpYAML::Stream::Kind |
Definition at line 43 of file MinidumpYAML.h.
Referenced by llvm::MinidumpYAML::detail::ListStream< EntryT >::classof(), llvm::MinidumpYAML::ExceptionStream::classof(), llvm::MinidumpYAML::MemoryInfoListStream::classof(), llvm::MinidumpYAML::RawContentStream::classof(), llvm::MinidumpYAML::SystemInfoStream::classof(), llvm::MinidumpYAML::TextContentStream::classof(), create(), and layout().
const minidump::StreamType llvm::MinidumpYAML::Stream::Type |
Definition at line 44 of file MinidumpYAML.h.
Referenced by layout().